diff --git a/pkg/terraform/exec/plugins/Gopkg.lock b/pkg/terraform/exec/plugins/Gopkg.lock index 0beab2c5491..3fe2849c6a6 100644 --- a/pkg/terraform/exec/plugins/Gopkg.lock +++ b/pkg/terraform/exec/plugins/Gopkg.lock @@ -10,7 +10,7 @@ version = "v2" [[projects]] - digest = "1:9442c4e2cb4563e33c8813929b1bc66b562629c981beeda38eaaa2d4a1d1bcb9" + digest = "1:e6d97567e560cc54e59ca39eed9651a615ea0d31cd1b104d8a4e27043afea53b" name = "github.com/aws/aws-sdk-go" packages = [ "aws", @@ -55,17 +55,20 @@ "service/acm", "service/acmpca", "service/apigateway", + "service/apigatewayv2", "service/applicationautoscaling", "service/appmesh", "service/appsync", "service/athena", "service/autoscaling", + "service/backup", "service/batch", "service/budgets", "service/cloud9", "service/cloudformation", "service/cloudfront", "service/cloudhsmv2", + "service/cloudsearch", "service/cloudtrail", "service/cloudwatch", "service/cloudwatchevents", @@ -77,13 +80,16 @@ "service/cognitoidentity", "service/cognitoidentityprovider", "service/configservice", + "service/costandusagereportservice", "service/databasemigrationservice", + "service/datapipeline", "service/datasync", "service/dax", "service/devicefarm", "service/directconnect", "service/directoryservice", "service/dlm", + "service/docdb", "service/dynamodb", "service/ec2", "service/ecr", @@ -99,37 +105,54 @@ "service/emr", "service/firehose", "service/fms", + "service/fsx", "service/gamelift", "service/glacier", + "service/globalaccelerator", "service/glue", "service/guardduty", "service/iam", "service/inspector", "service/iot", + "service/kafka", "service/kinesis", "service/kinesisanalytics", + "service/kinesisanalyticsv2", "service/kms", "service/lambda", "service/lexmodelbuildingservice", + "service/licensemanager", "service/lightsail", "service/macie", + "service/mediaconnect", + "service/mediaconvert", + "service/medialive", + "service/mediapackage", "service/mediastore", + "service/mediastoredata", "service/mq", "service/neptune", "service/opsworks", "service/organizations", "service/pinpoint", "service/pricing", + "service/ram", "service/rds", "service/redshift", + "service/resourcegroups", "service/route53", + "service/route53resolver", "service/s3", + "service/s3control", + "service/sagemaker", "service/secretsmanager", "service/securityhub", + "service/serverlessapplicationrepository", "service/servicecatalog", "service/servicediscovery", "service/ses", "service/sfn", + "service/shield", "service/simpledb", "service/sns", "service/sqs", @@ -140,19 +163,20 @@ "service/transfer", "service/waf", "service/wafregional", + "service/worklink", "service/workspaces", ] pruneopts = "NUT" - revision = "5f1ca23f3ded773a9ba214e6fac36acd9a965a53" - version = "v1.16.6" + revision = "754d07f5dfb0a42be29df8da4a5428a321377cb3" + version = "v1.17.11" [[projects]] - digest = "1:f4298c81d8a94ab68d9e387eaf6e653387df5da17702f06c6d8718a7a8e549d0" + digest = "1:15e3271f463f2f40d98bf426aabb86941fc66b10272ccfdfebe548683e37acb1" name = "github.com/beevik/etree" packages = ["."] pruneopts = "NUT" - revision = "9d7e8feddccb4ed1b8afb54e368bd323d2ff652c" - version = "v1.0.1" + revision = "8aee6516be3b1163bb6450c35c50e4969e3a3aa8" + version = "v1.1.0" [[projects]] branch = "master" @@ -175,8 +199,8 @@ name = "github.com/coreos/go-systemd" packages = ["unit"] pruneopts = "NUT" - revision = "9002847aa1425fb6ac49077c0a630b3b67e0fbfd" - version = "v18" + revision = "95778dfbb74eb7e4dbaf43bf7d71809650ef8076" + version = "v19" [[projects]] digest = "1:2b500565ed2c456d1b9349de3932052e603ef87da81f318fa57812ecf88ad29f" @@ -205,6 +229,25 @@ pruneopts = "NUT" revision = "2ad0228349b2d3b487a2ada25d1a0eb40d73b7d1" +[[projects]] + digest = "1:a1b2a5e38f79688ee8250942d5fa960525fceb1024c855c7bc76fa77b0f3cca2" + name = "github.com/gogo/protobuf" + packages = [ + "proto", + "sortkeys", + ] + pruneopts = "NUT" + revision = "ba06b47c162d49f2af050fb4c75bcbc86a159d5c" + version = "v1.2.1" + +[[projects]] + branch = "master" + digest = "1:52c5834e2bebac9030c97cc0798ac11c3aa8a39f098aeb419f142533da6cd3cc" + name = "github.com/google/gofuzz" + packages = ["."] + pruneopts = "NUT" + revision = "24818f796faf91cd76ec7bddd72458fbced7a6c1" + [[projects]] digest = "1:54d36727a1d852a38be8b8dbcfbae6aa99130d793d63dabc865f150b690144af" name = "github.com/gophercloud/gophercloud" @@ -292,11 +335,19 @@ [[projects]] branch = "master" - digest = "1:df12b635fdefd90b1d139a70c45716896552051589b004021c745dcbaf0dad96" + digest = "1:4a14c92687d36a3875744de509bae52334a00ba487eb285b8a57645ec46acc7e" name = "github.com/gophercloud/utils" packages = ["openstack/clientconfig"] pruneopts = "NUT" - revision = "34f5991525d116b3832e0d9409492274f1c06bda" + revision = "0bcc8e728cb54c9dce9ed46924688b817ab14f31" + +[[projects]] + digest = "1:df21c2ff4fa960870ca75c87a68810a6f02b245b4de81528fd02ce99d1b35953" + name = "github.com/hashicorp/aws-sdk-go-base" + packages = ["."] + pruneopts = "NUT" + revision = "51281492b48141180c0d50b814d73b7d438872db" + version = "v0.3.0" [[projects]] digest = "1:f0d9d74edbd40fdeada436d5ac9cb5197407899af3fef85ff0137077ffe8ae19" @@ -307,12 +358,12 @@ version = "v1.0.0" [[projects]] - digest = "1:a5d940c38bf56f121721bfa747c66356df387cb9d5318c570c6d4170aab62862" + digest = "1:fff05cb0c34d2decaeb27bb6ab6b73a6947c3009d725160070da55f9511fd410" name = "github.com/hashicorp/go-cleanhttp" packages = ["."] pruneopts = "NUT" - revision = "e8ab9daed8d1ddd2d3c4efba338fe2eeae2e4f18" - version = "v0.5.0" + revision = "eda1e5db218aad1db63ca4642c8906b26bcf2744" + version = "v0.5.1" [[projects]] digest = "1:2ed138049ab373f696db2081ca48f15c5abdf20893803612a284f2bdce2bf443" @@ -323,12 +374,12 @@ version = "v1.0.0" [[projects]] - digest = "1:0b06ffe0c0764e413a6738e3f045d6bb14117359aef80a09f8c60fbff2ecad6b" + digest = "1:c7d9de42b661ba85788f5f631cbac165795a2ff7dc1c59a4241d6228b129c3e4" name = "github.com/hashicorp/go-version" packages = ["."] pruneopts = "NUT" - revision = "b5a281d3160aa11950a6182bd9a9dc2cb1e02d50" - version = "v1.0.0" + revision = "d40cf49b3a77bba84a7afdbd7f1dc295d114efb1" + version = "v1.1.0" [[projects]] digest = "1:2f3840740b71b2798a9c85f191367530771debdd812900c4a088ac1f3e31b20e" @@ -354,12 +405,23 @@ revision = "c2b33e84" [[projects]] - digest = "1:e8beb54864e4f61dfbb6c74f16a9aef14205c4849f2f3f9abce1710f314fa3db" + digest = "1:92819c3dc15d822e470ba6ddddc4b3790a8bb902f65e273f7ad5a1b288e39a60" + name = "github.com/kubernetes-sigs/aws-iam-authenticator" + packages = [ + "pkg/arn", + "pkg/token", + ] + pruneopts = "NUT" + revision = "b4db1968bf8e9de634dc3e31baffc6dc3b000ee6" + version = "0.4.0-alpha" + +[[projects]] + digest = "1:041b92835a20d1839d5b0d6ee169bacf1fed943b4329e94e8f8bafbca610768d" name = "github.com/libvirt/libvirt-go-xml" packages = ["."] pruneopts = "NUT" - revision = "e0ae6c18e37fe4d1ca4cb65eb3bfb2971838fd95" - version = "v4.10.0" + revision = "559807130d581fac8a790d43176ca2639da8c08d" + version = "v5.1.0" [[projects]] digest = "1:1e5a8bf6fb005f1808852ad1a4bedb7b4b3291af90dec12c4c9e4a955a42c9b2" @@ -370,12 +432,12 @@ version = "v1.0.0" [[projects]] - digest = "1:a4df73029d2c42fabcb6b41e327d2f87e685284ec03edf76921c267d9cfc9c23" + digest = "1:f9f72e583aaacf1d1ac5d6121abd4afd3c690baa9e14e1d009df26bf831ba347" name = "github.com/mitchellh/go-homedir" packages = ["."] pruneopts = "NUT" - revision = "ae18d6b8b3205b561c79e8e5f69bff09736185f4" - version = "v1.0.0" + revision = "af06845cf3004701891bf4fdb884bfe4920b3727" + version = "v1.1.0" [[projects]] digest = "1:a45ae66dea4c899d79fceb116accfa1892105c251f0dcd9a217ddc276b42ec68" @@ -390,8 +452,8 @@ name = "github.com/mitchellh/packer" packages = ["common/uuid"] pruneopts = "NUT" - revision = "508b6efb4ababd3efa3614033f9529a30970899d" - version = "v1.3.3" + revision = "542cb1d872b4fbba57f34ebb5913a266017a38df" + version = "v1.3.5" [[projects]] digest = "1:44e35ced240c6d8316dc8d604a73774ab052d40ebe636fd8f2ba5934f6329034" @@ -402,12 +464,12 @@ version = "v1.0.0" [[projects]] - digest = "1:7f2317445e38a3e350ad8e0d6558c27534519eeaa561b536bd5bd5202e916ecd" + digest = "1:5e830986b16143dce1be1ce497124b7e0f5dc46f7033722ac4031b2224ca9bc3" name = "github.com/terraform-providers/terraform-provider-aws" packages = ["aws"] pruneopts = "NUT" - revision = "ec37d790e2a6eb5a845a2420a6706f1bf0c266ab" - version = "v1.52.0" + revision = "3cf16f8b1a1386f7f046ae40fa397e902efd4839" + version = "v2.2.0" [[projects]] digest = "1:600308f54a5a80fc98ee41e14ac6795b144562a6bfc3ef3e4c440cdda5e9c632" @@ -433,6 +495,50 @@ pruneopts = "NUT" revision = "9a301d65acbb728fcc3ace14f45f511a4cfeea9c" +[[projects]] + branch = "master" + digest = "1:18108bc7e384e395b4805632a637405a3df71fa518e22f9b39b0c08b89a52b96" + name = "golang.org/x/net" + packages = [ + "http/httpguts", + "http2", + "http2/hpack", + "idna", + ] + pruneopts = "NUT" + revision = "15845e8f865bdabdefb6e7da65b4d9e8de5e94ef" + +[[projects]] + digest = "1:e7071ed636b5422cc51c0e3a6cebc229d6c9fffc528814b519a980641422d619" + name = "golang.org/x/text" + packages = [ + "collate", + "collate/build", + "internal/colltab", + "internal/gen", + "internal/tag", + "internal/triegen", + "internal/ucd", + "language", + "secure/bidirule", + "transform", + "unicode/bidi", + "unicode/cldr", + "unicode/norm", + "unicode/rangetable", + ] + pruneopts = "NUT" + revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0" + version = "v0.3.0" + +[[projects]] + digest = "1:2d1fbdc6777e5408cabeb02bf336305e724b925ff4546ded0fa8715a7267922a" + name = "gopkg.in/inf.v0" + packages = ["."] + pruneopts = "NUT" + revision = "d2d2541c53f18d2a059457998ce2876cc8e67cbf" + version = "v0.9.1" + [[projects]] digest = "1:18108594151654e9e696b27b181b953f9a90b16bf14d253dd1b397b025a1487f" name = "gopkg.in/yaml.v2" @@ -441,6 +547,55 @@ revision = "51d6538a90f86fe93ac480b35f37b2be17fef232" version = "v2.2.2" +[[projects]] + branch = "master" + digest = "1:aaefe95d2394533638ec5319945e1cb4131bee130124c2145dc00e01247f7013" + name = "k8s.io/apimachinery" + packages = [ + "pkg/api/resource", + "pkg/apis/meta/v1", + "pkg/conversion", + "pkg/conversion/queryparams", + "pkg/fields", + "pkg/labels", + "pkg/runtime", + "pkg/runtime/schema", + "pkg/selection", + "pkg/types", + "pkg/util/errors", + "pkg/util/intstr", + "pkg/util/json", + "pkg/util/naming", + "pkg/util/net", + "pkg/util/runtime", + "pkg/util/sets", + "pkg/util/validation", + "pkg/util/validation/field", + "pkg/watch", + "third_party/forked/golang/reflect", + ] + pruneopts = "NUT" + revision = "7b3d41122501114701f8d013ea1d9533f60c5dd5" + +[[projects]] + digest = "1:8fa3ae675fe0b2f1cd2331891c8140b84d34400c2232ac6cae0ccbd257d2c774" + name = "k8s.io/client-go" + packages = [ + "pkg/apis/clientauthentication", + "pkg/apis/clientauthentication/v1alpha1", + ] + pruneopts = "NUT" + revision = "e64494209f554a6723674bd494d69445fb76a1d4" + version = "v10.0.0" + +[[projects]] + digest = "1:c263611800c3a97991dbcf9d3bc4de390f6224aaa8ca0a7226a9d734f65a416a" + name = "k8s.io/klog" + packages = ["."] + pruneopts = "NUT" + revision = "71442cd4037d612096940ceb0f3fec3f7fff66e0" + version = "v0.2.0" + [solve-meta] analyzer-name = "dep" analyzer-version = 1 diff --git a/pkg/terraform/exec/plugins/Gopkg.toml b/pkg/terraform/exec/plugins/Gopkg.toml index cabffed8339..2c4c09a92b1 100644 --- a/pkg/terraform/exec/plugins/Gopkg.toml +++ b/pkg/terraform/exec/plugins/Gopkg.toml @@ -14,19 +14,27 @@ ignored = [ [[constraint]] name = "github.com/terraform-providers/terraform-provider-aws" - version = "1.52.0" + version = "=2.2.0" + +[[override]] + name = "github.com/aws/aws-sdk-go" + version = "=1.17.11" + +[[override]] + name = "github.com/kubernetes-sigs/aws-iam-authenticator" + version = "=0.4.0-alpha" [[constraint]] name = "github.com/terraform-providers/terraform-provider-ignition" - version = "1.0.1" + version = "=1.0.1" [[constraint]] name = "github.com/terraform-providers/terraform-provider-openstack" - version = "1.12.0" + version = "=1.12.0" [[override]] name = "github.com/coreos/ignition" - version = "v0.23.0" + version = "=0.23.0" [[override]] name = "github.com/gophercloud/gophercloud" diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/client/client.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/client/client.go index 212fe25e71e..70960538409 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/client/client.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/client/client.go @@ -18,7 +18,7 @@ type Config struct { // 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 + // to determine if the signin name can be overridden based on metadata the // service has. SigningNameDerived bool } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go index ce9fb896d94..7b5e1276acf 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go @@ -118,6 +118,12 @@ var LogHTTPResponseHandler = request.NamedHandler{ func logResponse(r *request.Request) { lw := &logWriter{r.Config.Logger, bytes.NewBuffer(nil)} + if r.HTTPResponse == nil { + lw.Logger.Log(fmt.Sprintf(logRespErrMsg, + r.ClientInfo.ServiceName, r.Operation.Name, "request's HTTPResponse is nil")) + return + } + logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody) if logBody { r.HTTPResponse.Body = &teeReaderCloser{ diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_1_5.go similarity index 58% rename from pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context.go rename to pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_1_5.go index 79f426853b5..2866f9a7fb9 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_1_5.go @@ -1,8 +1,8 @@ +// +build !go1.9 + package aws -import ( - "time" -) +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" @@ -35,37 +35,3 @@ type Context interface { // 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go deleted file mode 100644 index 064f75c925c..00000000000 --- a/pkg/terraform/exec/plugins/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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_1_9.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_1_9.go new file mode 100644 index 00000000000..3718b26e101 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_1_9.go @@ -0,0 +1,11 @@ +// +build go1.9 + +package aws + +import "context" + +// Context is an alias of the Go stdlib's context.Context interface. +// It can be used within the SDK's API operation "WithContext" methods. +// +// See https://golang.org/pkg/context on how to use contexts. +type Context = context.Context diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_background_1_5.go similarity index 59% rename from pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go rename to pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_background_1_5.go index 8fdda530338..66c5945db15 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_background_1_5.go @@ -39,3 +39,18 @@ func (e *emptyCtx) String() string { var ( backgroundCtx = new(emptyCtx) ) + +// 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 +} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_background_1_7.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_background_1_7.go new file mode 100644 index 00000000000..9c29f29af17 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_background_1_7.go @@ -0,0 +1,20 @@ +// +build go1.7 + +package aws + +import "context" + +// 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 context.Background() +} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_sleep.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_sleep.go new file mode 100644 index 00000000000..304fd156120 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/context_sleep.go @@ -0,0 +1,24 @@ +package aws + +import ( + "time" +) + +// 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go index a15f496bc08..ab69c7a6f38 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go @@ -17,7 +17,7 @@ var SDKVersionUserAgentHandler = request.NamedHandler{ } const execEnvVar = `AWS_EXECUTION_ENV` -const execEnvUAKey = `exec_env` +const execEnvUAKey = `exec-env` // AddHostExecEnvUserAgentHander is a request handler appending the SDK's // execution environment to the user agent. diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go index dc82f4c3cfa..894bbc7f82c 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go @@ -49,6 +49,8 @@ package credentials import ( + "fmt" + "github.com/aws/aws-sdk-go/aws/awserr" "sync" "time" ) @@ -97,6 +99,14 @@ type Provider interface { IsExpired() bool } +// An Expirer is an interface that Providers can implement to expose the expiration +// time, if known. If the Provider cannot accurately provide this info, +// it should not implement this interface. +type Expirer interface { + // The time at which the credentials are no longer valid + ExpiresAt() time.Time +} + // 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. @@ -163,6 +173,11 @@ func (e *Expiry) IsExpired() bool { return e.expiration.Before(curTime()) } +// ExpiresAt returns the expiration time of the credential +func (e *Expiry) ExpiresAt() time.Time { + return e.expiration +} + // 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. @@ -255,3 +270,23 @@ func (c *Credentials) IsExpired() bool { func (c *Credentials) isExpired() bool { return c.forceRefresh || c.provider.IsExpired() } + +// ExpiresAt provides access to the functionality of the Expirer interface of +// the underlying Provider, if it supports that interface. Otherwise, it returns +// an error. +func (c *Credentials) ExpiresAt() (time.Time, error) { + c.m.RLock() + defer c.m.RUnlock() + + expirer, ok := c.provider.(Expirer) + if !ok { + return time.Time{}, awserr.New("ProviderNotExpirer", + fmt.Sprintf("provider %s does not support ExpiresAt()", c.creds.ProviderName), + nil) + } + if c.forceRefresh { + // set expiration time to the distant past + return time.Time{}, nil + } + return expirer.ExpiresAt(), nil +} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go index 6f57024d743..5bacc791a1e 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go @@ -3,6 +3,8 @@ package csm import ( "strconv" "time" + + "github.com/aws/aws-sdk-go/aws" ) type metricTime time.Time @@ -39,6 +41,12 @@ type metric struct { SDKException *string `json:"SdkException,omitempty"` SDKExceptionMessage *string `json:"SdkExceptionMessage,omitempty"` + FinalHTTPStatusCode *int `json:"FinalHttpStatusCode,omitempty"` + FinalAWSException *string `json:"FinalAwsException,omitempty"` + FinalAWSExceptionMessage *string `json:"FinalAwsExceptionMessage,omitempty"` + FinalSDKException *string `json:"FinalSdkException,omitempty"` + FinalSDKExceptionMessage *string `json:"FinalSdkExceptionMessage,omitempty"` + DestinationIP *string `json:"DestinationIp,omitempty"` ConnectionReused *int `json:"ConnectionReused,omitempty"` @@ -51,3 +59,51 @@ type metric struct { MaxRetriesExceeded *int `json:"MaxRetriesExceeded,omitempty"` } + +func (m *metric) TruncateFields() { + m.ClientID = truncateString(m.ClientID, 255) + m.UserAgent = truncateString(m.UserAgent, 256) + + m.AWSException = truncateString(m.AWSException, 128) + m.AWSExceptionMessage = truncateString(m.AWSExceptionMessage, 512) + + m.SDKException = truncateString(m.SDKException, 128) + m.SDKExceptionMessage = truncateString(m.SDKExceptionMessage, 512) + + m.FinalAWSException = truncateString(m.FinalAWSException, 128) + m.FinalAWSExceptionMessage = truncateString(m.FinalAWSExceptionMessage, 512) + + m.FinalSDKException = truncateString(m.FinalSDKException, 128) + m.FinalSDKExceptionMessage = truncateString(m.FinalSDKExceptionMessage, 512) +} + +func truncateString(v *string, l int) *string { + if v != nil && len(*v) > l { + nv := (*v)[:l] + return &nv + } + + return v +} + +func (m *metric) SetException(e metricException) { + switch te := e.(type) { + case awsException: + m.AWSException = aws.String(te.exception) + m.AWSExceptionMessage = aws.String(te.message) + case sdkException: + m.SDKException = aws.String(te.exception) + m.SDKExceptionMessage = aws.String(te.message) + } +} + +func (m *metric) SetFinalException(e metricException) { + switch te := e.(type) { + case awsException: + m.FinalAWSException = aws.String(te.exception) + m.FinalAWSExceptionMessage = aws.String(te.message) + case sdkException: + m.FinalSDKException = aws.String(te.exception) + m.FinalSDKExceptionMessage = aws.String(te.message) + } +} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/csm/metric_exception.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/csm/metric_exception.go new file mode 100644 index 00000000000..54a99280ce9 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/csm/metric_exception.go @@ -0,0 +1,26 @@ +package csm + +type metricException interface { + Exception() string + Message() string +} + +type requestException struct { + exception string + message string +} + +func (e requestException) Exception() string { + return e.exception +} +func (e requestException) Message() string { + return e.message +} + +type awsException struct { + requestException +} + +type sdkException struct { + requestException +} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go index 9a5697c2566..0b5571acfbf 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go @@ -82,14 +82,15 @@ func (rep *Reporter) sendAPICallAttemptMetric(r *request.Request) { if r.Error != nil { if awserr, ok := r.Error.(awserr.Error); ok { - setError(&m, awserr) + m.SetException(getMetricException(awserr)) } } + m.TruncateFields() rep.metricsCh.Push(m) } -func setError(m *metric, err awserr.Error) { +func getMetricException(err awserr.Error) metricException { msg := err.Error() code := err.Code() @@ -97,11 +98,13 @@ func setError(m *metric, err awserr.Error) { case "RequestError", "SerializationError", request.CanceledErrorCode: - m.SDKException = &code - m.SDKExceptionMessage = &msg + return sdkException{ + requestException{exception: code, message: msg}, + } default: - m.AWSException = &code - m.AWSExceptionMessage = &msg + return awsException{ + requestException{exception: code, message: msg}, + } } } @@ -116,6 +119,7 @@ func (rep *Reporter) sendAPICallMetric(r *request.Request) { API: aws.String(r.Operation.Name), Service: aws.String(r.ClientInfo.ServiceID), Timestamp: (*metricTime)(&now), + UserAgent: aws.String(r.HTTPRequest.Header.Get("User-Agent")), Type: aws.String("ApiCall"), AttemptCount: aws.Int(r.RetryCount + 1), Region: r.Config.Region, @@ -124,6 +128,18 @@ func (rep *Reporter) sendAPICallMetric(r *request.Request) { MaxRetriesExceeded: aws.Int(boolIntValue(r.RetryCount >= r.MaxRetries())), } + if r.HTTPResponse != nil { + m.FinalHTTPStatusCode = aws.Int(r.HTTPResponse.StatusCode) + } + + if r.Error != nil { + if awserr, ok := r.Error.(awserr.Error); ok { + m.SetFinalException(getMetricException(awserr)) + } + } + + m.TruncateFields() + // TODO: Probably want to figure something out for logging dropped // metrics rep.metricsCh.Push(m) @@ -223,11 +239,15 @@ func (rep *Reporter) InjectHandlers(handlers *request.Handlers) { return } - apiCallHandler := request.NamedHandler{Name: APICallMetricHandlerName, Fn: rep.sendAPICallMetric} - apiCallAttemptHandler := request.NamedHandler{Name: APICallAttemptMetricHandlerName, Fn: rep.sendAPICallAttemptMetric} + handlers.Complete.PushFrontNamed(request.NamedHandler{ + Name: APICallMetricHandlerName, + Fn: rep.sendAPICallMetric, + }) - handlers.Complete.PushFrontNamed(apiCallHandler) - handlers.CompleteAttempt.PushFrontNamed(apiCallAttemptHandler) + handlers.CompleteAttempt.PushFrontNamed(request.NamedHandler{ + Name: APICallAttemptMetricHandlerName, + Fn: rep.sendAPICallAttemptMetric, + }) } // boolIntValue return 1 for true and 0 for false. diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go index c215cd3f599..88e2fc70734 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go @@ -118,6 +118,10 @@ func (c *EC2Metadata) Region() (string, error) { return "", err } + if len(resp) == 0 { + return "", awserr.New("EC2MetadataError", "invalid Region response", nil) + } + // returns region without the suffix. Eg: us-west-2a becomes us-west-2 return resp[:len(resp)-1], nil } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go index 53457cac368..f4438eae9c9 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go @@ -4,7 +4,7 @@ // 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). +// be used while the environment variable is set to true, (case insensitive). package ec2metadata import ( @@ -92,6 +92,9 @@ func NewClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegio svc.Handlers.Send.SwapNamed(request.NamedHandler{ Name: corehandlers.SendHandler.Name, Fn: func(r *request.Request) { + r.HTTPResponse = &http.Response{ + Header: http.Header{}, + } r.Error = awserr.New( request.CanceledErrorCode, "EC2 IMDS access disabled via "+disableServiceEnvVar+" env var", diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go index 1ddeae10198..87b9ff3ffec 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go @@ -85,6 +85,7 @@ func decodeV3Endpoints(modelDef modelDefinition, opts DecodeModelOptions) (Resol custAddS3DualStack(p) custRmIotDataService(p) custFixAppAutoscalingChina(p) + custFixAppAutoscalingUsGov(p) } return ps, nil @@ -149,6 +150,33 @@ func custFixAppAutoscalingChina(p *partition) { p.Services[serviceName] = s } +func custFixAppAutoscalingUsGov(p *partition) { + if p.ID != "aws-us-gov" { + return + } + + const serviceName = "application-autoscaling" + s, ok := p.Services[serviceName] + if !ok { + return + } + + if a := s.Defaults.CredentialScope.Service; a != "" { + fmt.Printf("custFixAppAutoscalingUsGov: ignoring customization, expected empty credential scope service, got %s\n", a) + return + } + + if a := s.Defaults.Hostname; a != "" { + fmt.Printf("custFixAppAutoscalingUsGov: ignoring customization, expected empty hostname, got %s\n", a) + return + } + + s.Defaults.CredentialScope.Service = "application-autoscaling" + s.Defaults.Hostname = "autoscaling.{region}.amazonaws.com" + + p.Services[serviceName] = s +} + type decodeModelError struct { awsError } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index 9d95e146918..5d024dc8fbc 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -185,6 +185,107 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "api.ecr": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{ + Hostname: "api.ecr.ap-northeast-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-1", + }, + }, + "ap-northeast-2": endpoint{ + Hostname: "api.ecr.ap-northeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-2", + }, + }, + "ap-south-1": endpoint{ + Hostname: "api.ecr.ap-south-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-south-1", + }, + }, + "ap-southeast-1": endpoint{ + Hostname: "api.ecr.ap-southeast-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-1", + }, + }, + "ap-southeast-2": endpoint{ + Hostname: "api.ecr.ap-southeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-2", + }, + }, + "ca-central-1": endpoint{ + Hostname: "api.ecr.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoint{ + Hostname: "api.ecr.eu-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-central-1", + }, + }, + "eu-north-1": endpoint{ + Hostname: "api.ecr.eu-north-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-north-1", + }, + }, + "eu-west-1": endpoint{ + Hostname: "api.ecr.eu-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-1", + }, + }, + "eu-west-2": endpoint{ + Hostname: "api.ecr.eu-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-2", + }, + }, + "eu-west-3": endpoint{ + Hostname: "api.ecr.eu-west-3.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-3", + }, + }, + "sa-east-1": endpoint{ + Hostname: "api.ecr.sa-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "sa-east-1", + }, + }, + "us-east-1": endpoint{ + Hostname: "api.ecr.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoint{ + Hostname: "api.ecr.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "us-west-1": endpoint{ + Hostname: "api.ecr.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "us-west-2": endpoint{ + Hostname: "api.ecr.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + }, + }, "api.mediatailor": service{ Endpoints: endpoints{ @@ -193,6 +294,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "api.pricing": service{ @@ -219,9 +321,33 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "us-east-1-fips": endpoint{ + Hostname: "api-fips.sagemaker.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoint{}, + "us-east-2-fips": endpoint{ + Hostname: "api-fips.sagemaker.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "us-west-1": endpoint{}, + "us-west-1-fips": endpoint{ + Hostname: "api-fips.sagemaker.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "us-west-2": endpoint{}, + "us-west-2-fips": endpoint{ + Hostname: "api-fips.sagemaker.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, }, }, "apigateway": service{ @@ -281,6 +407,10 @@ var awsPartition = partition{ }, 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-west-2": endpoint{}, @@ -349,10 +479,18 @@ var awsPartition = partition{ }, }, 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{}, }, }, @@ -366,6 +504,7 @@ var awsPartition = partition{ "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{}, @@ -507,6 +646,7 @@ var awsPartition = partition{ "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{}, @@ -759,7 +899,10 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "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{}, @@ -803,6 +946,21 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "datasync": 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{}, + }, + }, "dax": service{ Endpoints: endpoints{ @@ -810,6 +968,7 @@ var awsPartition = partition{ "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{}, @@ -861,6 +1020,7 @@ var awsPartition = partition{ "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{}, @@ -871,6 +1031,35 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "docdb": service{ + + Endpoints: endpoints{ + "eu-west-1": endpoint{ + Hostname: "rds.eu-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-1", + }, + }, + "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", + }, + }, + }, + }, "ds": service{ Endpoints: endpoints{ @@ -954,27 +1143,6 @@ var awsPartition = partition{ }, }, }, - "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{ @@ -1033,6 +1201,7 @@ var awsPartition = partition{ "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{}, @@ -1052,6 +1221,7 @@ var awsPartition = partition{ "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-1": endpoint{}, @@ -1154,11 +1324,17 @@ var awsPartition = partition{ "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{}, + "fips": endpoint{ + Hostname: "es-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{}, }, }, "events": service{ @@ -1206,9 +1382,22 @@ var awsPartition = partition{ 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-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "fsx": service{ + Endpoints: endpoints{ "eu-west-1": endpoint{}, "us-east-1": endpoint{}, + "us-east-2": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -1266,8 +1455,10 @@ var awsPartition = partition{ "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{}, }, }, @@ -1415,6 +1606,7 @@ var awsPartition = partition{ "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, + "us-east-2": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -1431,6 +1623,12 @@ var awsPartition = partition{ "kms": service{ Endpoints: endpoints{ + "ProdFips": endpoint{ + Hostname: "kms-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1470,6 +1668,22 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "license-manager": 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{}, + }, + }, "lightsail": service{ Endpoints: endpoints{ @@ -1599,6 +1813,7 @@ var awsPartition = partition{ "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{}, @@ -1656,6 +1871,21 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "mq": 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{}, + }, + }, "mturk-requester": service{ IsRegionalized: boxedFalse, @@ -1669,12 +1899,24 @@ var awsPartition = partition{ "neptune": service{ Endpoints: endpoints{ + "ap-northeast-1": endpoint{ + Hostname: "rds.ap-northeast-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-1", + }, + }, "ap-southeast-1": endpoint{ Hostname: "rds.ap-southeast-1.amazonaws.com", CredentialScope: credentialScope{ Region: "ap-southeast-1", }, }, + "ap-southeast-2": endpoint{ + Hostname: "rds.ap-southeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-2", + }, + }, "eu-central-1": endpoint{ Hostname: "rds.eu-central-1.amazonaws.com", CredentialScope: credentialScope{ @@ -1767,9 +2009,10 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "polly": service{ @@ -1782,6 +2025,7 @@ var awsPartition = partition{ "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{}, @@ -1840,6 +2084,8 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, @@ -1895,6 +2141,27 @@ var awsPartition = partition{ "us-east-1": endpoint{}, }, }, + "route53resolver": 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-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{}, + }, + }, "runtime.lex": service{ Defaults: endpoint{ CredentialScope: credentialScope{ @@ -2198,6 +2465,26 @@ var awsPartition = partition{ }, }, }, + "securityhub": 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{}, + }, + }, "serverlessrepo": service{ Defaults: endpoint{ Protocols: []string{"https"}, @@ -2257,6 +2544,7 @@ var awsPartition = partition{ "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{}, @@ -2639,6 +2927,7 @@ var awsPartition = partition{ 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{}, @@ -2797,6 +3086,23 @@ var awscnPartition = partition{ }, }, Services: services{ + "api.ecr": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{ + Hostname: "api.ecr.cn-north-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-north-1", + }, + }, + "cn-northwest-1": endpoint{ + Hostname: "api.ecr.cn-northwest-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + }, + }, "apigateway": service{ Endpoints: endpoints{ @@ -2917,13 +3223,6 @@ var awscnPartition = partition{ }, }, }, - "ecr": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, "ecs": service{ Endpoints: endpoints{ @@ -2977,6 +3276,19 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "firehose": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, + "gamelift": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, "glacier": service{ Defaults: endpoint{ Protocols: []string{"http", "https"}, @@ -3130,6 +3442,13 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "states": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, "storagegateway": service{ Endpoints: endpoints{ @@ -3208,6 +3527,23 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "api.ecr": service{ + + Endpoints: endpoints{ + "us-gov-east-1": endpoint{ + Hostname: "api.ecr.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "us-gov-west-1": endpoint{ + Hostname: "api.ecr.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + }, + }, "api.sagemaker": service{ Endpoints: endpoints{ @@ -3222,12 +3558,23 @@ var awsusgovPartition = partition{ }, }, "application-autoscaling": service{ - + Defaults: endpoint{ + Hostname: "autoscaling.{region}.amazonaws.com", + CredentialScope: credentialScope{ + Service: "application-autoscaling", + }, + }, Endpoints: endpoints{ "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, }, + "athena": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "autoscaling": service{ Endpoints: endpoints{ @@ -3263,6 +3610,7 @@ var awsusgovPartition = partition{ }, }, Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, }, @@ -3313,6 +3661,12 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "ds": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "dynamodb": service{ Endpoints: endpoints{ @@ -3344,13 +3698,6 @@ var awsusgovPartition = partition{ }, }, }, - "ecr": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, "ecs": service{ Endpoints: endpoints{ @@ -3405,6 +3752,12 @@ var awsusgovPartition = partition{ "es": service{ Endpoints: endpoints{ + "fips": endpoint{ + Hostname: "es-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, @@ -3416,6 +3769,12 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "firehose": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "glacier": service{ Endpoints: endpoints{ @@ -3425,6 +3784,12 @@ var awsusgovPartition = partition{ }, }, }, + "glue": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "guardduty": service{ IsRegionalized: boxedTrue, Defaults: endpoint{ @@ -3474,6 +3839,12 @@ var awsusgovPartition = partition{ "kms": service{ Endpoints: endpoints{ + "ProdFips": endpoint{ + Hostname: "kms-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, @@ -3492,6 +3863,12 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "mediaconvert": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "metering.marketplace": service{ Defaults: endpoint{ CredentialScope: credentialScope{ @@ -3608,6 +3985,7 @@ var awsusgovPartition = partition{ "snowball": service{ Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, }, @@ -3702,5 +4080,11 @@ var awsusgovPartition = partition{ }, }, }, + "workspaces": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, }, } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go index e29c095121d..f82babf6f95 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go @@ -35,7 +35,7 @@ type Options struct { // // 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 + // endpoint ID with. If both the service and region are unknown 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 diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/request/request.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/request/request.go index 7d87df65c4d..8f2eb3e43c5 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/request/request.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/request/request.go @@ -4,7 +4,6 @@ import ( "bytes" "fmt" "io" - "net" "net/http" "net/url" "reflect" @@ -266,7 +265,7 @@ func (r *Request) SetReaderBody(reader io.ReadSeeker) { // 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 +// S3 API requests. All other AWS services will use a fixed expiration // time of 15 minutes. // // It is invalid to create a presigned URL with a expire duration 0 or less. An @@ -286,7 +285,7 @@ func (r *Request) Presign(expire time.Duration) (string, error) { // 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. +// expiration 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. @@ -480,7 +479,7 @@ func (r *Request) Send() error { if err := r.sendRequest(); err == nil { return nil - } else if !shouldRetryCancel(r) { + } else if !shouldRetryCancel(r.Error) { return err } else { r.Handlers.Retry.Run(r) @@ -562,30 +561,46 @@ func AddToUserAgent(r *Request, s string) { 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 { +type temporary interface { + Temporary() bool +} + +func shouldRetryCancel(err error) bool { + switch err := err.(type) { + case awserr.Error: + if err.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() + return shouldRetryCancel(err.OrigErr()) + case *url.Error: + if strings.Contains(err.Error(), "connection refused") { + // Refused connections should be retried as the service may not yet + // be running on the port. Go TCP dial considers refused + // connections as not temporary. + return true + } + // *url.Error only implements Temporary after golang 1.6 but since + // url.Error only wraps the error: + return shouldRetryCancel(err.Err) + case temporary: + // If the error is temporary, we want to allow continuation of the + // retry process + return err.Temporary() + case nil: + // `awserr.Error.OrigErr()` can be nil, meaning there was an error but + // because we don't know the cause, it is marked as retriable. See + // TestRequest4xxUnretryable for an example. + return true + default: + switch err.Error() { + case "net/http: request canceled", + "net/http: request canceled while waiting for connection": + // known 1.5 error case when an http request is cancelled + return false } + // here we don't know the error; so we allow a retry. + return true } - - // 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 diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport.go new file mode 100644 index 00000000000..ea9ebb6f6a2 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport.go @@ -0,0 +1,26 @@ +// +build go1.7 + +package session + +import ( + "net" + "net/http" + "time" +) + +// Transport that should be used when a custom CA bundle is specified with the +// SDK. +func getCABundleTransport() *http.Transport { + return &http.Transport{ + Proxy: http.ProxyFromEnvironment, + DialContext: (&net.Dialer{ + Timeout: 30 * time.Second, + KeepAlive: 30 * time.Second, + DualStack: true, + }).DialContext, + MaxIdleConns: 100, + IdleConnTimeout: 90 * time.Second, + TLSHandshakeTimeout: 10 * time.Second, + ExpectContinueTimeout: 1 * time.Second, + } +} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_5.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_5.go new file mode 100644 index 00000000000..fec39dfc126 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_5.go @@ -0,0 +1,22 @@ +// +build !go1.6,go1.5 + +package session + +import ( + "net" + "net/http" + "time" +) + +// Transport that should be used when a custom CA bundle is specified with the +// SDK. +func getCABundleTransport() *http.Transport { + return &http.Transport{ + Proxy: http.ProxyFromEnvironment, + Dial: (&net.Dialer{ + Timeout: 30 * time.Second, + KeepAlive: 30 * time.Second, + }).Dial, + TLSHandshakeTimeout: 10 * time.Second, + } +} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_6.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_6.go new file mode 100644 index 00000000000..1c5a5391e65 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_6.go @@ -0,0 +1,23 @@ +// +build !go1.7,go1.6 + +package session + +import ( + "net" + "net/http" + "time" +) + +// Transport that should be used when a custom CA bundle is specified with the +// SDK. +func getCABundleTransport() *http.Transport { + return &http.Transport{ + Proxy: http.ProxyFromEnvironment, + Dial: (&net.Dialer{ + Timeout: 30 * time.Second, + KeepAlive: 30 * time.Second, + }).Dial, + TLSHandshakeTimeout: 10 * time.Second, + ExpectContinueTimeout: 1 * time.Second, + } +} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go index 2a0e882d03a..38a7b05a621 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go @@ -183,7 +183,7 @@ be returned when creating the session. // from assumed role. svc := s3.New(sess) -To setup assume role outside of a session see the stscrds.AssumeRoleProvider +To setup assume role outside of a session see the stscreds.AssumeRoleProvider documentation. Environment Variables diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go index c94d0fb9a7c..e3959b959ef 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go @@ -80,7 +80,7 @@ type envConfig struct { // AWS_CONFIG_FILE=$HOME/my_shared_config SharedConfigFile string - // Sets the path to a custom Credentials Authroity (CA) Bundle PEM file + // Sets the path to a custom Credentials Authority (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. diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/session.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/session.go index 9bdbafd65cc..be4b5f07772 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/session.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/session/session.go @@ -407,7 +407,10 @@ func loadCustomCABundle(s *Session, bundle io.Reader) error { } } if t == nil { - t = &http.Transport{} + // Nil transport implies `http.DefaultTransport` should be used. Since + // the SDK cannot modify, nor copy the `DefaultTransport` specifying + // the values the next closest behavior. + t = getCABundleTransport() } p, err := loadCertPool(bundle) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go index 594db5b1704..523db79f8d2 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go @@ -182,7 +182,7 @@ type Signer struct { // 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 + // Disables 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. @@ -754,7 +754,7 @@ func makeSha256Reader(reader io.ReadSeeker) []byte { const doubleSpace = " " // stripExcessSpaces will rewrite the passed in slice's string values to not -// contain muliple side-by-side spaces. +// contain multiple side-by-side spaces. func stripExcessSpaces(vals []string) { var j, k, l, m, spaces int for i, str := range vals { diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/version.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/version.go index 803b94b1401..b8cb7140a99 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.16.6" +const SDKVersion = "1.17.11" diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go index 8be520ae6da..f99703372c4 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go @@ -317,7 +317,7 @@ loop: return nil, NewParseError(fmt.Sprintf("incomplete expression: %v", stack.container)) } - // returns a sublist which exludes the start symbol + // returns a sublist which excludes the start symbol return stack.List(), nil } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go index ba0af01b53b..18f3fe89317 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go @@ -15,7 +15,7 @@ func newExprStatement(ast AST) AST { return newAST(ASTKindExprStatement, ast) } -// CommentStatement represents a comment in the ini defintion. +// CommentStatement represents a comment in the ini definition. // // grammar: // comment -> #comment' | ;comment' diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.go index b63e4c2639b..7da8a49ce52 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.go @@ -7,6 +7,6 @@ const ( ) // ECSContainerCredentialsURI is the endpoint to retrieve container -// credentials. This can be overriden to test to ensure the credential process +// credentials. This can be overridden to test to ensure the credential process // is behaving correctly. var ECSContainerCredentialsURI = "http://169.254.170.2" diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go index b34f5258a4c..b80f84fbb86 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go @@ -155,6 +155,9 @@ func buildHeader(header *http.Header, v reflect.Value, name string, tag reflect. return awserr.New("SerializationError", "failed to encode REST request", err) } + name = strings.TrimSpace(name) + str = strings.TrimSpace(str) + header.Add(name, str) return nil @@ -170,8 +173,10 @@ func buildHeaderMap(header *http.Header, v reflect.Value, tag reflect.StructTag) return awserr.New("SerializationError", "failed to encode REST request", err) } + keyStr := strings.TrimSpace(key.String()) + str = strings.TrimSpace(str) - header.Add(prefix+key.String(), str) + header.Add(prefix+keyStr, str) } return nil } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/api.go index 22d62f13392..64b00304b90 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/api.go @@ -83,6 +83,10 @@ func (c *ACMPCA) CreateCertificateAuthorityRequest(input *CreateCertificateAutho // The S3 bucket policy is not valid. The policy must give ACM PCA rights to // read from and write to the bucket and find the bucket location. // +// * ErrCodeInvalidTagException "InvalidTagException" +// The tag associated with the CA is not valid. The invalid argument is contained +// in the message field. +// // * ErrCodeLimitExceededException "LimitExceededException" // An ACM PCA limit has been exceeded. See the exception message returned to // determine the limit that was exceeded. @@ -183,7 +187,8 @@ func (c *ACMPCA) CreateCertificateAuthorityAuditReportRequest(input *CreateCerti // One or more of the specified arguments was not valid. // // * ErrCodeInvalidStateException "InvalidStateException" -// The private CA is in a state during which a report cannot be generated. +// The private CA is in a state during which a report or certificate cannot +// be generated. // // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreateCertificateAuthorityAuditReport func (c *ACMPCA) CreateCertificateAuthorityAuditReport(input *CreateCertificateAuthorityAuditReportInput) (*CreateCertificateAuthorityAuditReportOutput, error) { @@ -291,7 +296,8 @@ func (c *ACMPCA) DeleteCertificateAuthorityRequest(input *DeleteCertificateAutho // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * ErrCodeInvalidStateException "InvalidStateException" -// The private CA is in a state during which a report cannot be generated. +// The private CA is in a state during which a report or certificate cannot +// be generated. // // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DeleteCertificateAuthority func (c *ACMPCA) DeleteCertificateAuthority(input *DeleteCertificateAuthorityInput) (*DeleteCertificateAuthorityOutput, error) { @@ -380,8 +386,8 @@ func (c *ACMPCA) DescribeCertificateAuthorityRequest(input *DescribeCertificateA // CA can never return to the pending state. You must create a new CA. // // * DELETED - Your private CA is within the restoration period, after which -// it will be permanently deleted. The length of time remaining in the CA's -// restoration period will also be included in this operation's output. +// it is permanently deleted. The length of time remaining in the CA's restoration +// period is also included in this operation's 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 @@ -583,7 +589,8 @@ func (c *ACMPCA) GetCertificateRequest(input *GetCertificateInput) (req *request // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * ErrCodeInvalidStateException "InvalidStateException" -// The private CA is in a state during which a report cannot be generated. +// The private CA is in a state during which a report or certificate cannot +// be generated. // // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetCertificate func (c *ACMPCA) GetCertificate(input *GetCertificateInput) (*GetCertificateOutput, error) { @@ -669,7 +676,8 @@ func (c *ACMPCA) GetCertificateAuthorityCertificateRequest(input *GetCertificate // cannot be found. // // * ErrCodeInvalidStateException "InvalidStateException" -// The private CA is in a state during which a report cannot be generated. +// The private CA is in a state during which a report or certificate cannot +// be generated. // // * ErrCodeInvalidArnException "InvalidArnException" // The requested Amazon Resource Name (ARN) does not refer to an existing resource. @@ -769,7 +777,8 @@ func (c *ACMPCA) GetCertificateAuthorityCsrRequest(input *GetCertificateAuthorit // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * ErrCodeInvalidStateException "InvalidStateException" -// The private CA is in a state during which a report cannot be generated. +// The private CA is in a state during which a report or certificate cannot +// be generated. // // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetCertificateAuthorityCsr func (c *ACMPCA) GetCertificateAuthorityCsr(input *GetCertificateAuthorityCsrInput) (*GetCertificateAuthorityCsrOutput, error) { @@ -881,7 +890,8 @@ func (c *ACMPCA) ImportCertificateAuthorityCertificateRequest(input *ImportCerti // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * ErrCodeInvalidStateException "InvalidStateException" -// The private CA is in a state during which a report cannot be generated. +// The private CA is in a state during which a report or certificate cannot +// be generated. // // * ErrCodeMalformedCertificateException "MalformedCertificateException" // One or more fields in the certificate are invalid. @@ -981,7 +991,8 @@ func (c *ACMPCA) IssueCertificateRequest(input *IssueCertificateInput) (req *req // cannot be found. // // * ErrCodeInvalidStateException "InvalidStateException" -// The private CA is in a state during which a report cannot be generated. +// The private CA is in a state during which a report or certificate cannot +// be generated. // // * ErrCodeInvalidArnException "InvalidArnException" // The requested Amazon Resource Name (ARN) does not refer to an existing resource. @@ -1045,6 +1056,12 @@ func (c *ACMPCA) ListCertificateAuthoritiesRequest(input *ListCertificateAuthori Name: opListCertificateAuthorities, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -1095,6 +1112,56 @@ func (c *ACMPCA) ListCertificateAuthoritiesWithContext(ctx aws.Context, input *L return out, req.Send() } +// ListCertificateAuthoritiesPages iterates over the pages of a ListCertificateAuthorities operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCertificateAuthorities 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 ListCertificateAuthorities operation. +// pageNum := 0 +// err := client.ListCertificateAuthoritiesPages(params, +// func(page *ListCertificateAuthoritiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ACMPCA) ListCertificateAuthoritiesPages(input *ListCertificateAuthoritiesInput, fn func(*ListCertificateAuthoritiesOutput, bool) bool) error { + return c.ListCertificateAuthoritiesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCertificateAuthoritiesPagesWithContext same as ListCertificateAuthoritiesPages 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 *ACMPCA) ListCertificateAuthoritiesPagesWithContext(ctx aws.Context, input *ListCertificateAuthoritiesInput, fn func(*ListCertificateAuthoritiesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCertificateAuthoritiesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCertificateAuthoritiesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListCertificateAuthoritiesOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListTags = "ListTags" // ListTagsRequest generates a "aws/request.Request" representing the @@ -1255,7 +1322,8 @@ func (c *ACMPCA) RestoreCertificateAuthorityRequest(input *RestoreCertificateAut // cannot be found. // // * ErrCodeInvalidStateException "InvalidStateException" -// The private CA is in a state during which a report cannot be generated. +// The private CA is in a state during which a report or certificate cannot +// be generated. // // * ErrCodeInvalidArnException "InvalidArnException" // The requested Amazon Resource Name (ARN) does not refer to an existing resource. @@ -1350,7 +1418,12 @@ func (c *ACMPCA) RevokeCertificateRequest(input *RevokeCertificateInput) (req *r // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * ErrCodeInvalidStateException "InvalidStateException" -// The private CA is in a state during which a report cannot be generated. +// The private CA is in a state during which a report or certificate cannot +// be generated. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// An ACM PCA limit has been exceeded. See the exception message returned to +// determine the limit that was exceeded. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // A resource such as a private CA, S3 bucket, certificate, or audit report @@ -1458,7 +1531,8 @@ func (c *ACMPCA) TagCertificateAuthorityRequest(input *TagCertificateAuthorityIn // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * ErrCodeInvalidStateException "InvalidStateException" -// The private CA is in a state during which a report cannot be generated. +// The private CA is in a state during which a report or certificate cannot +// be generated. // // * ErrCodeInvalidTagException "InvalidTagException" // The tag associated with the CA is not valid. The invalid argument is contained @@ -1558,7 +1632,8 @@ func (c *ACMPCA) UntagCertificateAuthorityRequest(input *UntagCertificateAuthori // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * ErrCodeInvalidStateException "InvalidStateException" -// The private CA is in a state during which a report cannot be generated. +// The private CA is in a state during which a report or certificate cannot +// be generated. // // * ErrCodeInvalidTagException "InvalidTagException" // The tag associated with the CA is not valid. The invalid argument is contained @@ -1658,7 +1733,8 @@ func (c *ACMPCA) UpdateCertificateAuthorityRequest(input *UpdateCertificateAutho // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * ErrCodeInvalidStateException "InvalidStateException" -// The private CA is in a state during which a report cannot be generated. +// The private CA is in a state during which a report or certificate cannot +// be generated. // // * ErrCodeInvalidPolicyException "InvalidPolicyException" // The S3 bucket policy is not valid. The policy must give ACM PCA rights to @@ -2185,6 +2261,10 @@ type CreateCertificateAuthorityInput struct { // your bucket in the CRL Distribution Points extension of your CA certificate. // For more information, see the CrlConfiguration structure. RevocationConfiguration *RevocationConfiguration `type:"structure"` + + // Key-value pairs that will be attached to the new private CA. You can associate + // up to 50 tags with a private CA. + Tags []*Tag `min:"1" type:"list"` } // String returns the string representation @@ -2209,6 +2289,9 @@ func (s *CreateCertificateAuthorityInput) Validate() error { if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1)) } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } if s.CertificateAuthorityConfiguration != nil { if err := s.CertificateAuthorityConfiguration.Validate(); err != nil { invalidParams.AddNested("CertificateAuthorityConfiguration", err.(request.ErrInvalidParams)) @@ -2219,6 +2302,16 @@ func (s *CreateCertificateAuthorityInput) Validate() error { invalidParams.AddNested("RevocationConfiguration", err.(request.ErrInvalidParams)) } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2250,6 +2343,12 @@ func (s *CreateCertificateAuthorityInput) SetRevocationConfiguration(v *Revocati return s } +// SetTags sets the Tags field's value. +func (s *CreateCertificateAuthorityInput) SetTags(v []*Tag) *CreateCertificateAuthorityInput { + s.Tags = v + return s +} + type CreateCertificateAuthorityOutput struct { _ struct{} `type:"structure"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/doc.go index 3ca43776465..2ad5d06682c 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/doc.go @@ -28,9 +28,13 @@ // specify a bucket policy that grants ACM PCA write permission. // // You can also call the CreateCertificateAuthorityAuditReport to create an -// optional audit report that lists every time the CA private key is used. The -// private key is used for signing when the IssueCertificate or RevokeCertificate -// operation is called. +// optional audit report, which enumerates all of the issued, valid, expired, +// and revoked certificates from the CA. +// +// Each ACM PCA API operation has a throttling limit which determines the number +// of times the operation can be called per second. For more information, see +// API Rate Limits in ACM PCA (acm-pca/latest/userguide/PcaLimits.html#PcaLimits-api) +// in the ACM PCA user guide. // // See https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22 for more information on this service. // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/errors.go index 2614b5a42f3..5ce2781c2c5 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/errors.go @@ -46,7 +46,8 @@ const ( // ErrCodeInvalidStateException for service response error code // "InvalidStateException". // - // The private CA is in a state during which a report cannot be generated. + // The private CA is in a state during which a report or certificate cannot + // be generated. ErrCodeInvalidStateException = "InvalidStateException" // ErrCodeInvalidTagException for service response error code diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/waiters.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/waiters.go new file mode 100644 index 00000000000..3c4a763368a --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/acmpca/waiters.go @@ -0,0 +1,163 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package acmpca + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" +) + +// WaitUntilAuditReportCreated uses the ACM-PCA API operation +// DescribeCertificateAuthorityAuditReport to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *ACMPCA) WaitUntilAuditReportCreated(input *DescribeCertificateAuthorityAuditReportInput) error { + return c.WaitUntilAuditReportCreatedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilAuditReportCreatedWithContext is an extended version of WaitUntilAuditReportCreated. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ACMPCA) WaitUntilAuditReportCreatedWithContext(ctx aws.Context, input *DescribeCertificateAuthorityAuditReportInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilAuditReportCreated", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(3 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "AuditReportStatus", + Expected: "SUCCESS", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "AuditReportStatus", + Expected: "FAILED", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeCertificateAuthorityAuditReportInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeCertificateAuthorityAuditReportRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilCertificateAuthorityCSRCreated uses the ACM-PCA API operation +// GetCertificateAuthorityCsr to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *ACMPCA) WaitUntilCertificateAuthorityCSRCreated(input *GetCertificateAuthorityCsrInput) error { + return c.WaitUntilCertificateAuthorityCSRCreatedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilCertificateAuthorityCSRCreatedWithContext is an extended version of WaitUntilCertificateAuthorityCSRCreated. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ACMPCA) WaitUntilCertificateAuthorityCSRCreatedWithContext(ctx aws.Context, input *GetCertificateAuthorityCsrInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilCertificateAuthorityCSRCreated", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(3 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.StatusWaiterMatch, + Expected: 200, + }, + { + State: request.RetryWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "RequestInProgressException", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *GetCertificateAuthorityCsrInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetCertificateAuthorityCsrRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilCertificateIssued uses the ACM-PCA API operation +// GetCertificate to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *ACMPCA) WaitUntilCertificateIssued(input *GetCertificateInput) error { + return c.WaitUntilCertificateIssuedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilCertificateIssuedWithContext is an extended version of WaitUntilCertificateIssued. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ACMPCA) WaitUntilCertificateIssuedWithContext(ctx aws.Context, input *GetCertificateInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilCertificateIssued", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(3 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.StatusWaiterMatch, + Expected: 200, + }, + { + State: request.RetryWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "RequestInProgressException", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *GetCertificateInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetCertificateRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/api.go new file mode 100644 index 00000000000..b1acb962162 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/api.go @@ -0,0 +1,14047 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package apigatewayv2 + +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" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreateApi = "CreateApi" + +// CreateApiRequest generates a "aws/request.Request" representing the +// client's request for the CreateApi 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 CreateApi for more information on using the CreateApi +// 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 CreateApiRequest method. +// req, resp := client.CreateApiRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateApi +func (c *ApiGatewayV2) CreateApiRequest(input *CreateApiInput) (req *request.Request, output *CreateApiOutput) { + op := &request.Operation{ + Name: opCreateApi, + HTTPMethod: "POST", + HTTPPath: "/v2/apis", + } + + if input == nil { + input = &CreateApiInput{} + } + + output = &CreateApiOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateApi API operation for AmazonApiGatewayV2. +// +// Creates an Api 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 AmazonApiGatewayV2's +// API operation CreateApi for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateApi +func (c *ApiGatewayV2) CreateApi(input *CreateApiInput) (*CreateApiOutput, error) { + req, out := c.CreateApiRequest(input) + return out, req.Send() +} + +// CreateApiWithContext is the same as CreateApi with the addition of +// the ability to pass a context and additional request options. +// +// See CreateApi 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 *ApiGatewayV2) CreateApiWithContext(ctx aws.Context, input *CreateApiInput, opts ...request.Option) (*CreateApiOutput, error) { + req, out := c.CreateApiRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateApiMapping = "CreateApiMapping" + +// CreateApiMappingRequest generates a "aws/request.Request" representing the +// client's request for the CreateApiMapping 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 CreateApiMapping for more information on using the CreateApiMapping +// 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 CreateApiMappingRequest method. +// req, resp := client.CreateApiMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateApiMapping +func (c *ApiGatewayV2) CreateApiMappingRequest(input *CreateApiMappingInput) (req *request.Request, output *CreateApiMappingOutput) { + op := &request.Operation{ + Name: opCreateApiMapping, + HTTPMethod: "POST", + HTTPPath: "/v2/domainnames/{domainName}/apimappings", + } + + if input == nil { + input = &CreateApiMappingInput{} + } + + output = &CreateApiMappingOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateApiMapping API operation for AmazonApiGatewayV2. +// +// Creates an API mapping. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation CreateApiMapping for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateApiMapping +func (c *ApiGatewayV2) CreateApiMapping(input *CreateApiMappingInput) (*CreateApiMappingOutput, error) { + req, out := c.CreateApiMappingRequest(input) + return out, req.Send() +} + +// CreateApiMappingWithContext is the same as CreateApiMapping with the addition of +// the ability to pass a context and additional request options. +// +// See CreateApiMapping 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 *ApiGatewayV2) CreateApiMappingWithContext(ctx aws.Context, input *CreateApiMappingInput, opts ...request.Option) (*CreateApiMappingOutput, error) { + req, out := c.CreateApiMappingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateAuthorizer = "CreateAuthorizer" + +// CreateAuthorizerRequest generates a "aws/request.Request" representing the +// client's request for the CreateAuthorizer 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 CreateAuthorizer for more information on using the CreateAuthorizer +// 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 CreateAuthorizerRequest method. +// req, resp := client.CreateAuthorizerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateAuthorizer +func (c *ApiGatewayV2) CreateAuthorizerRequest(input *CreateAuthorizerInput) (req *request.Request, output *CreateAuthorizerOutput) { + op := &request.Operation{ + Name: opCreateAuthorizer, + HTTPMethod: "POST", + HTTPPath: "/v2/apis/{apiId}/authorizers", + } + + if input == nil { + input = &CreateAuthorizerInput{} + } + + output = &CreateAuthorizerOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateAuthorizer API operation for AmazonApiGatewayV2. +// +// Creates an Authorizer for an 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 AmazonApiGatewayV2's +// API operation CreateAuthorizer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateAuthorizer +func (c *ApiGatewayV2) CreateAuthorizer(input *CreateAuthorizerInput) (*CreateAuthorizerOutput, error) { + req, out := c.CreateAuthorizerRequest(input) + return out, req.Send() +} + +// CreateAuthorizerWithContext is the same as CreateAuthorizer with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAuthorizer 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 *ApiGatewayV2) CreateAuthorizerWithContext(ctx aws.Context, input *CreateAuthorizerInput, opts ...request.Option) (*CreateAuthorizerOutput, error) { + req, out := c.CreateAuthorizerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDeployment = "CreateDeployment" + +// CreateDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the CreateDeployment 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 CreateDeployment for more information on using the CreateDeployment +// 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 CreateDeploymentRequest method. +// req, resp := client.CreateDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateDeployment +func (c *ApiGatewayV2) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *CreateDeploymentOutput) { + op := &request.Operation{ + Name: opCreateDeployment, + HTTPMethod: "POST", + HTTPPath: "/v2/apis/{apiId}/deployments", + } + + if input == nil { + input = &CreateDeploymentInput{} + } + + output = &CreateDeploymentOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDeployment API operation for AmazonApiGatewayV2. +// +// Creates a Deployment for an 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 AmazonApiGatewayV2's +// API operation CreateDeployment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateDeployment +func (c *ApiGatewayV2) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) { + req, out := c.CreateDeploymentRequest(input) + return out, req.Send() +} + +// CreateDeploymentWithContext is the same as CreateDeployment with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDeployment 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 *ApiGatewayV2) CreateDeploymentWithContext(ctx aws.Context, input *CreateDeploymentInput, opts ...request.Option) (*CreateDeploymentOutput, error) { + req, out := c.CreateDeploymentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDomainName = "CreateDomainName" + +// CreateDomainNameRequest generates a "aws/request.Request" representing the +// client's request for the CreateDomainName 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 CreateDomainName for more information on using the CreateDomainName +// 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 CreateDomainNameRequest method. +// req, resp := client.CreateDomainNameRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateDomainName +func (c *ApiGatewayV2) CreateDomainNameRequest(input *CreateDomainNameInput) (req *request.Request, output *CreateDomainNameOutput) { + op := &request.Operation{ + Name: opCreateDomainName, + HTTPMethod: "POST", + HTTPPath: "/v2/domainnames", + } + + if input == nil { + input = &CreateDomainNameInput{} + } + + output = &CreateDomainNameOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDomainName API operation for AmazonApiGatewayV2. +// +// Creates a domain name. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation CreateDomainName for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateDomainName +func (c *ApiGatewayV2) CreateDomainName(input *CreateDomainNameInput) (*CreateDomainNameOutput, error) { + req, out := c.CreateDomainNameRequest(input) + return out, req.Send() +} + +// CreateDomainNameWithContext is the same as CreateDomainName with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDomainName 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 *ApiGatewayV2) CreateDomainNameWithContext(ctx aws.Context, input *CreateDomainNameInput, opts ...request.Option) (*CreateDomainNameOutput, error) { + req, out := c.CreateDomainNameRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateIntegration = "CreateIntegration" + +// CreateIntegrationRequest generates a "aws/request.Request" representing the +// client's request for the CreateIntegration 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 CreateIntegration for more information on using the CreateIntegration +// 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 CreateIntegrationRequest method. +// req, resp := client.CreateIntegrationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateIntegration +func (c *ApiGatewayV2) CreateIntegrationRequest(input *CreateIntegrationInput) (req *request.Request, output *CreateIntegrationOutput) { + op := &request.Operation{ + Name: opCreateIntegration, + HTTPMethod: "POST", + HTTPPath: "/v2/apis/{apiId}/integrations", + } + + if input == nil { + input = &CreateIntegrationInput{} + } + + output = &CreateIntegrationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateIntegration API operation for AmazonApiGatewayV2. +// +// Creates an Integration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation CreateIntegration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateIntegration +func (c *ApiGatewayV2) CreateIntegration(input *CreateIntegrationInput) (*CreateIntegrationOutput, error) { + req, out := c.CreateIntegrationRequest(input) + return out, req.Send() +} + +// CreateIntegrationWithContext is the same as CreateIntegration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateIntegration 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 *ApiGatewayV2) CreateIntegrationWithContext(ctx aws.Context, input *CreateIntegrationInput, opts ...request.Option) (*CreateIntegrationOutput, error) { + req, out := c.CreateIntegrationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateIntegrationResponse = "CreateIntegrationResponse" + +// CreateIntegrationResponseRequest generates a "aws/request.Request" representing the +// client's request for the CreateIntegrationResponse 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 CreateIntegrationResponse for more information on using the CreateIntegrationResponse +// 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 CreateIntegrationResponseRequest method. +// req, resp := client.CreateIntegrationResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateIntegrationResponse +func (c *ApiGatewayV2) CreateIntegrationResponseRequest(input *CreateIntegrationResponseInput) (req *request.Request, output *CreateIntegrationResponseOutput) { + op := &request.Operation{ + Name: opCreateIntegrationResponse, + HTTPMethod: "POST", + HTTPPath: "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses", + } + + if input == nil { + input = &CreateIntegrationResponseInput{} + } + + output = &CreateIntegrationResponseOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateIntegrationResponse API operation for AmazonApiGatewayV2. +// +// Creates an IntegrationResponses. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation CreateIntegrationResponse for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateIntegrationResponse +func (c *ApiGatewayV2) CreateIntegrationResponse(input *CreateIntegrationResponseInput) (*CreateIntegrationResponseOutput, error) { + req, out := c.CreateIntegrationResponseRequest(input) + return out, req.Send() +} + +// CreateIntegrationResponseWithContext is the same as CreateIntegrationResponse with the addition of +// the ability to pass a context and additional request options. +// +// See CreateIntegrationResponse 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 *ApiGatewayV2) CreateIntegrationResponseWithContext(ctx aws.Context, input *CreateIntegrationResponseInput, opts ...request.Option) (*CreateIntegrationResponseOutput, error) { + req, out := c.CreateIntegrationResponseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateModel = "CreateModel" + +// CreateModelRequest generates a "aws/request.Request" representing the +// client's request for the CreateModel 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 CreateModel for more information on using the CreateModel +// 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 CreateModelRequest method. +// req, resp := client.CreateModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateModel +func (c *ApiGatewayV2) CreateModelRequest(input *CreateModelInput) (req *request.Request, output *CreateModelOutput) { + op := &request.Operation{ + Name: opCreateModel, + HTTPMethod: "POST", + HTTPPath: "/v2/apis/{apiId}/models", + } + + if input == nil { + input = &CreateModelInput{} + } + + output = &CreateModelOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateModel API operation for AmazonApiGatewayV2. +// +// Creates a Model for an 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 AmazonApiGatewayV2's +// API operation CreateModel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateModel +func (c *ApiGatewayV2) CreateModel(input *CreateModelInput) (*CreateModelOutput, error) { + req, out := c.CreateModelRequest(input) + return out, req.Send() +} + +// CreateModelWithContext is the same as CreateModel with the addition of +// the ability to pass a context and additional request options. +// +// See CreateModel 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 *ApiGatewayV2) CreateModelWithContext(ctx aws.Context, input *CreateModelInput, opts ...request.Option) (*CreateModelOutput, error) { + req, out := c.CreateModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateRoute = "CreateRoute" + +// CreateRouteRequest generates a "aws/request.Request" representing the +// client's request for the CreateRoute 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 CreateRoute for more information on using the CreateRoute +// 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 CreateRouteRequest method. +// req, resp := client.CreateRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateRoute +func (c *ApiGatewayV2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) { + op := &request.Operation{ + Name: opCreateRoute, + HTTPMethod: "POST", + HTTPPath: "/v2/apis/{apiId}/routes", + } + + if input == nil { + input = &CreateRouteInput{} + } + + output = &CreateRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateRoute API operation for AmazonApiGatewayV2. +// +// Creates a Route for an 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 AmazonApiGatewayV2's +// API operation CreateRoute for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateRoute +func (c *ApiGatewayV2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) { + req, out := c.CreateRouteRequest(input) + return out, req.Send() +} + +// CreateRouteWithContext is the same as CreateRoute with the addition of +// the ability to pass a context and additional request options. +// +// See CreateRoute 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 *ApiGatewayV2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) { + req, out := c.CreateRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateRouteResponse = "CreateRouteResponse" + +// CreateRouteResponseRequest generates a "aws/request.Request" representing the +// client's request for the CreateRouteResponse 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 CreateRouteResponse for more information on using the CreateRouteResponse +// 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 CreateRouteResponseRequest method. +// req, resp := client.CreateRouteResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateRouteResponse +func (c *ApiGatewayV2) CreateRouteResponseRequest(input *CreateRouteResponseInput) (req *request.Request, output *CreateRouteResponseOutput) { + op := &request.Operation{ + Name: opCreateRouteResponse, + HTTPMethod: "POST", + HTTPPath: "/v2/apis/{apiId}/routes/{routeId}/routeresponses", + } + + if input == nil { + input = &CreateRouteResponseInput{} + } + + output = &CreateRouteResponseOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateRouteResponse API operation for AmazonApiGatewayV2. +// +// Creates a RouteResponse for a Route. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation CreateRouteResponse for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateRouteResponse +func (c *ApiGatewayV2) CreateRouteResponse(input *CreateRouteResponseInput) (*CreateRouteResponseOutput, error) { + req, out := c.CreateRouteResponseRequest(input) + return out, req.Send() +} + +// CreateRouteResponseWithContext is the same as CreateRouteResponse with the addition of +// the ability to pass a context and additional request options. +// +// See CreateRouteResponse 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 *ApiGatewayV2) CreateRouteResponseWithContext(ctx aws.Context, input *CreateRouteResponseInput, opts ...request.Option) (*CreateRouteResponseOutput, error) { + req, out := c.CreateRouteResponseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateStage = "CreateStage" + +// CreateStageRequest generates a "aws/request.Request" representing the +// client's request for the CreateStage 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 CreateStage for more information on using the CreateStage +// 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 CreateStageRequest method. +// req, resp := client.CreateStageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateStage +func (c *ApiGatewayV2) CreateStageRequest(input *CreateStageInput) (req *request.Request, output *CreateStageOutput) { + op := &request.Operation{ + Name: opCreateStage, + HTTPMethod: "POST", + HTTPPath: "/v2/apis/{apiId}/stages", + } + + if input == nil { + input = &CreateStageInput{} + } + + output = &CreateStageOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateStage API operation for AmazonApiGatewayV2. +// +// Creates a Stage for an 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 AmazonApiGatewayV2's +// API operation CreateStage for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateStage +func (c *ApiGatewayV2) CreateStage(input *CreateStageInput) (*CreateStageOutput, error) { + req, out := c.CreateStageRequest(input) + return out, req.Send() +} + +// CreateStageWithContext is the same as CreateStage with the addition of +// the ability to pass a context and additional request options. +// +// See CreateStage 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 *ApiGatewayV2) CreateStageWithContext(ctx aws.Context, input *CreateStageInput, opts ...request.Option) (*CreateStageOutput, error) { + req, out := c.CreateStageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteApi = "DeleteApi" + +// DeleteApiRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApi 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 DeleteApi for more information on using the DeleteApi +// 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 DeleteApiRequest method. +// req, resp := client.DeleteApiRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteApi +func (c *ApiGatewayV2) DeleteApiRequest(input *DeleteApiInput) (req *request.Request, output *DeleteApiOutput) { + op := &request.Operation{ + Name: opDeleteApi, + HTTPMethod: "DELETE", + HTTPPath: "/v2/apis/{apiId}", + } + + if input == nil { + input = &DeleteApiInput{} + } + + output = &DeleteApiOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteApi API operation for AmazonApiGatewayV2. +// +// Deletes an Api 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 AmazonApiGatewayV2's +// API operation DeleteApi for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteApi +func (c *ApiGatewayV2) DeleteApi(input *DeleteApiInput) (*DeleteApiOutput, error) { + req, out := c.DeleteApiRequest(input) + return out, req.Send() +} + +// DeleteApiWithContext is the same as DeleteApi with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApi 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 *ApiGatewayV2) DeleteApiWithContext(ctx aws.Context, input *DeleteApiInput, opts ...request.Option) (*DeleteApiOutput, error) { + req, out := c.DeleteApiRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteApiMapping = "DeleteApiMapping" + +// DeleteApiMappingRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApiMapping 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 DeleteApiMapping for more information on using the DeleteApiMapping +// 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 DeleteApiMappingRequest method. +// req, resp := client.DeleteApiMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteApiMapping +func (c *ApiGatewayV2) DeleteApiMappingRequest(input *DeleteApiMappingInput) (req *request.Request, output *DeleteApiMappingOutput) { + op := &request.Operation{ + Name: opDeleteApiMapping, + HTTPMethod: "DELETE", + HTTPPath: "/v2/domainnames/{domainName}/apimappings/{apiMappingId}", + } + + if input == nil { + input = &DeleteApiMappingInput{} + } + + output = &DeleteApiMappingOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteApiMapping API operation for AmazonApiGatewayV2. +// +// Deletes an API mapping. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation DeleteApiMapping for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteApiMapping +func (c *ApiGatewayV2) DeleteApiMapping(input *DeleteApiMappingInput) (*DeleteApiMappingOutput, error) { + req, out := c.DeleteApiMappingRequest(input) + return out, req.Send() +} + +// DeleteApiMappingWithContext is the same as DeleteApiMapping with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApiMapping 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 *ApiGatewayV2) DeleteApiMappingWithContext(ctx aws.Context, input *DeleteApiMappingInput, opts ...request.Option) (*DeleteApiMappingOutput, error) { + req, out := c.DeleteApiMappingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteAuthorizer = "DeleteAuthorizer" + +// DeleteAuthorizerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAuthorizer 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 DeleteAuthorizer for more information on using the DeleteAuthorizer +// 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 DeleteAuthorizerRequest method. +// req, resp := client.DeleteAuthorizerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteAuthorizer +func (c *ApiGatewayV2) DeleteAuthorizerRequest(input *DeleteAuthorizerInput) (req *request.Request, output *DeleteAuthorizerOutput) { + op := &request.Operation{ + Name: opDeleteAuthorizer, + HTTPMethod: "DELETE", + HTTPPath: "/v2/apis/{apiId}/authorizers/{authorizerId}", + } + + if input == nil { + input = &DeleteAuthorizerInput{} + } + + output = &DeleteAuthorizerOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteAuthorizer API operation for AmazonApiGatewayV2. +// +// Deletes an Authorizer. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation DeleteAuthorizer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteAuthorizer +func (c *ApiGatewayV2) DeleteAuthorizer(input *DeleteAuthorizerInput) (*DeleteAuthorizerOutput, error) { + req, out := c.DeleteAuthorizerRequest(input) + return out, req.Send() +} + +// DeleteAuthorizerWithContext is the same as DeleteAuthorizer with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAuthorizer 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 *ApiGatewayV2) DeleteAuthorizerWithContext(ctx aws.Context, input *DeleteAuthorizerInput, opts ...request.Option) (*DeleteAuthorizerOutput, error) { + req, out := c.DeleteAuthorizerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDeployment = "DeleteDeployment" + +// DeleteDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDeployment 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 DeleteDeployment for more information on using the DeleteDeployment +// 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 DeleteDeploymentRequest method. +// req, resp := client.DeleteDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteDeployment +func (c *ApiGatewayV2) DeleteDeploymentRequest(input *DeleteDeploymentInput) (req *request.Request, output *DeleteDeploymentOutput) { + op := &request.Operation{ + Name: opDeleteDeployment, + HTTPMethod: "DELETE", + HTTPPath: "/v2/apis/{apiId}/deployments/{deploymentId}", + } + + if input == nil { + input = &DeleteDeploymentInput{} + } + + output = &DeleteDeploymentOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDeployment API operation for AmazonApiGatewayV2. +// +// Deletes a Deployment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation DeleteDeployment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteDeployment +func (c *ApiGatewayV2) DeleteDeployment(input *DeleteDeploymentInput) (*DeleteDeploymentOutput, error) { + req, out := c.DeleteDeploymentRequest(input) + return out, req.Send() +} + +// DeleteDeploymentWithContext is the same as DeleteDeployment with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDeployment 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 *ApiGatewayV2) DeleteDeploymentWithContext(ctx aws.Context, input *DeleteDeploymentInput, opts ...request.Option) (*DeleteDeploymentOutput, error) { + req, out := c.DeleteDeploymentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDomainName = "DeleteDomainName" + +// DeleteDomainNameRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDomainName 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 DeleteDomainName for more information on using the DeleteDomainName +// 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 DeleteDomainNameRequest method. +// req, resp := client.DeleteDomainNameRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteDomainName +func (c *ApiGatewayV2) DeleteDomainNameRequest(input *DeleteDomainNameInput) (req *request.Request, output *DeleteDomainNameOutput) { + op := &request.Operation{ + Name: opDeleteDomainName, + HTTPMethod: "DELETE", + HTTPPath: "/v2/domainnames/{domainName}", + } + + if input == nil { + input = &DeleteDomainNameInput{} + } + + output = &DeleteDomainNameOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDomainName API operation for AmazonApiGatewayV2. +// +// Deletes a domain name. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation DeleteDomainName for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteDomainName +func (c *ApiGatewayV2) DeleteDomainName(input *DeleteDomainNameInput) (*DeleteDomainNameOutput, error) { + req, out := c.DeleteDomainNameRequest(input) + return out, req.Send() +} + +// DeleteDomainNameWithContext is the same as DeleteDomainName with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDomainName 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 *ApiGatewayV2) DeleteDomainNameWithContext(ctx aws.Context, input *DeleteDomainNameInput, opts ...request.Option) (*DeleteDomainNameOutput, error) { + req, out := c.DeleteDomainNameRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteIntegration = "DeleteIntegration" + +// DeleteIntegrationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIntegration 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 DeleteIntegration for more information on using the DeleteIntegration +// 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 DeleteIntegrationRequest method. +// req, resp := client.DeleteIntegrationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteIntegration +func (c *ApiGatewayV2) DeleteIntegrationRequest(input *DeleteIntegrationInput) (req *request.Request, output *DeleteIntegrationOutput) { + op := &request.Operation{ + Name: opDeleteIntegration, + HTTPMethod: "DELETE", + HTTPPath: "/v2/apis/{apiId}/integrations/{integrationId}", + } + + if input == nil { + input = &DeleteIntegrationInput{} + } + + output = &DeleteIntegrationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteIntegration API operation for AmazonApiGatewayV2. +// +// Deletes an Integration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation DeleteIntegration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteIntegration +func (c *ApiGatewayV2) DeleteIntegration(input *DeleteIntegrationInput) (*DeleteIntegrationOutput, error) { + req, out := c.DeleteIntegrationRequest(input) + return out, req.Send() +} + +// DeleteIntegrationWithContext is the same as DeleteIntegration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteIntegration 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 *ApiGatewayV2) DeleteIntegrationWithContext(ctx aws.Context, input *DeleteIntegrationInput, opts ...request.Option) (*DeleteIntegrationOutput, error) { + req, out := c.DeleteIntegrationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteIntegrationResponse = "DeleteIntegrationResponse" + +// DeleteIntegrationResponseRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIntegrationResponse 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 DeleteIntegrationResponse for more information on using the DeleteIntegrationResponse +// 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 DeleteIntegrationResponseRequest method. +// req, resp := client.DeleteIntegrationResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteIntegrationResponse +func (c *ApiGatewayV2) DeleteIntegrationResponseRequest(input *DeleteIntegrationResponseInput) (req *request.Request, output *DeleteIntegrationResponseOutput) { + op := &request.Operation{ + Name: opDeleteIntegrationResponse, + HTTPMethod: "DELETE", + HTTPPath: "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}", + } + + if input == nil { + input = &DeleteIntegrationResponseInput{} + } + + output = &DeleteIntegrationResponseOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteIntegrationResponse API operation for AmazonApiGatewayV2. +// +// Deletes an IntegrationResponses. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation DeleteIntegrationResponse for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteIntegrationResponse +func (c *ApiGatewayV2) DeleteIntegrationResponse(input *DeleteIntegrationResponseInput) (*DeleteIntegrationResponseOutput, error) { + req, out := c.DeleteIntegrationResponseRequest(input) + return out, req.Send() +} + +// DeleteIntegrationResponseWithContext is the same as DeleteIntegrationResponse with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteIntegrationResponse 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 *ApiGatewayV2) DeleteIntegrationResponseWithContext(ctx aws.Context, input *DeleteIntegrationResponseInput, opts ...request.Option) (*DeleteIntegrationResponseOutput, error) { + req, out := c.DeleteIntegrationResponseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteModel = "DeleteModel" + +// DeleteModelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteModel 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 DeleteModel for more information on using the DeleteModel +// 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 DeleteModelRequest method. +// req, resp := client.DeleteModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteModel +func (c *ApiGatewayV2) DeleteModelRequest(input *DeleteModelInput) (req *request.Request, output *DeleteModelOutput) { + op := &request.Operation{ + Name: opDeleteModel, + HTTPMethod: "DELETE", + HTTPPath: "/v2/apis/{apiId}/models/{modelId}", + } + + if input == nil { + input = &DeleteModelInput{} + } + + output = &DeleteModelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteModel API operation for AmazonApiGatewayV2. +// +// Deletes a Model. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation DeleteModel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteModel +func (c *ApiGatewayV2) DeleteModel(input *DeleteModelInput) (*DeleteModelOutput, error) { + req, out := c.DeleteModelRequest(input) + return out, req.Send() +} + +// DeleteModelWithContext is the same as DeleteModel with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteModel 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 *ApiGatewayV2) DeleteModelWithContext(ctx aws.Context, input *DeleteModelInput, opts ...request.Option) (*DeleteModelOutput, error) { + req, out := c.DeleteModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteRoute = "DeleteRoute" + +// DeleteRouteRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRoute 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 DeleteRoute for more information on using the DeleteRoute +// 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 DeleteRouteRequest method. +// req, resp := client.DeleteRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRoute +func (c *ApiGatewayV2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) { + op := &request.Operation{ + Name: opDeleteRoute, + HTTPMethod: "DELETE", + HTTPPath: "/v2/apis/{apiId}/routes/{routeId}", + } + + if input == nil { + input = &DeleteRouteInput{} + } + + output = &DeleteRouteOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteRoute API operation for AmazonApiGatewayV2. +// +// Deletes a Route. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation DeleteRoute for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRoute +func (c *ApiGatewayV2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) { + req, out := c.DeleteRouteRequest(input) + return out, req.Send() +} + +// DeleteRouteWithContext is the same as DeleteRoute with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteRoute 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 *ApiGatewayV2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) { + req, out := c.DeleteRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteRouteResponse = "DeleteRouteResponse" + +// DeleteRouteResponseRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRouteResponse 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 DeleteRouteResponse for more information on using the DeleteRouteResponse +// 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 DeleteRouteResponseRequest method. +// req, resp := client.DeleteRouteResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteResponse +func (c *ApiGatewayV2) DeleteRouteResponseRequest(input *DeleteRouteResponseInput) (req *request.Request, output *DeleteRouteResponseOutput) { + op := &request.Operation{ + Name: opDeleteRouteResponse, + HTTPMethod: "DELETE", + HTTPPath: "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}", + } + + if input == nil { + input = &DeleteRouteResponseInput{} + } + + output = &DeleteRouteResponseOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteRouteResponse API operation for AmazonApiGatewayV2. +// +// Deletes a RouteResponse. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation DeleteRouteResponse for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteResponse +func (c *ApiGatewayV2) DeleteRouteResponse(input *DeleteRouteResponseInput) (*DeleteRouteResponseOutput, error) { + req, out := c.DeleteRouteResponseRequest(input) + return out, req.Send() +} + +// DeleteRouteResponseWithContext is the same as DeleteRouteResponse with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteRouteResponse 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 *ApiGatewayV2) DeleteRouteResponseWithContext(ctx aws.Context, input *DeleteRouteResponseInput, opts ...request.Option) (*DeleteRouteResponseOutput, error) { + req, out := c.DeleteRouteResponseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteStage = "DeleteStage" + +// DeleteStageRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStage 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 DeleteStage for more information on using the DeleteStage +// 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 DeleteStageRequest method. +// req, resp := client.DeleteStageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteStage +func (c *ApiGatewayV2) DeleteStageRequest(input *DeleteStageInput) (req *request.Request, output *DeleteStageOutput) { + op := &request.Operation{ + Name: opDeleteStage, + HTTPMethod: "DELETE", + HTTPPath: "/v2/apis/{apiId}/stages/{stageName}", + } + + if input == nil { + input = &DeleteStageInput{} + } + + output = &DeleteStageOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteStage API operation for AmazonApiGatewayV2. +// +// Deletes a Stage. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation DeleteStage for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteStage +func (c *ApiGatewayV2) DeleteStage(input *DeleteStageInput) (*DeleteStageOutput, error) { + req, out := c.DeleteStageRequest(input) + return out, req.Send() +} + +// DeleteStageWithContext is the same as DeleteStage with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteStage 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 *ApiGatewayV2) DeleteStageWithContext(ctx aws.Context, input *DeleteStageInput, opts ...request.Option) (*DeleteStageOutput, error) { + req, out := c.DeleteStageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetApi = "GetApi" + +// GetApiRequest generates a "aws/request.Request" representing the +// client's request for the GetApi 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 GetApi for more information on using the GetApi +// 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 GetApiRequest method. +// req, resp := client.GetApiRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApi +func (c *ApiGatewayV2) GetApiRequest(input *GetApiInput) (req *request.Request, output *GetApiOutput) { + op := &request.Operation{ + Name: opGetApi, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}", + } + + if input == nil { + input = &GetApiInput{} + } + + output = &GetApiOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetApi API operation for AmazonApiGatewayV2. +// +// Gets an Api 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 AmazonApiGatewayV2's +// API operation GetApi for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApi +func (c *ApiGatewayV2) GetApi(input *GetApiInput) (*GetApiOutput, error) { + req, out := c.GetApiRequest(input) + return out, req.Send() +} + +// GetApiWithContext is the same as GetApi with the addition of +// the ability to pass a context and additional request options. +// +// See GetApi 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 *ApiGatewayV2) GetApiWithContext(ctx aws.Context, input *GetApiInput, opts ...request.Option) (*GetApiOutput, error) { + req, out := c.GetApiRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetApiMapping = "GetApiMapping" + +// GetApiMappingRequest generates a "aws/request.Request" representing the +// client's request for the GetApiMapping 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 GetApiMapping for more information on using the GetApiMapping +// 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 GetApiMappingRequest method. +// req, resp := client.GetApiMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApiMapping +func (c *ApiGatewayV2) GetApiMappingRequest(input *GetApiMappingInput) (req *request.Request, output *GetApiMappingOutput) { + op := &request.Operation{ + Name: opGetApiMapping, + HTTPMethod: "GET", + HTTPPath: "/v2/domainnames/{domainName}/apimappings/{apiMappingId}", + } + + if input == nil { + input = &GetApiMappingInput{} + } + + output = &GetApiMappingOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetApiMapping API operation for AmazonApiGatewayV2. +// +// The API mapping. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetApiMapping for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApiMapping +func (c *ApiGatewayV2) GetApiMapping(input *GetApiMappingInput) (*GetApiMappingOutput, error) { + req, out := c.GetApiMappingRequest(input) + return out, req.Send() +} + +// GetApiMappingWithContext is the same as GetApiMapping with the addition of +// the ability to pass a context and additional request options. +// +// See GetApiMapping 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 *ApiGatewayV2) GetApiMappingWithContext(ctx aws.Context, input *GetApiMappingInput, opts ...request.Option) (*GetApiMappingOutput, error) { + req, out := c.GetApiMappingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetApiMappings = "GetApiMappings" + +// GetApiMappingsRequest generates a "aws/request.Request" representing the +// client's request for the GetApiMappings 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 GetApiMappings for more information on using the GetApiMappings +// 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 GetApiMappingsRequest method. +// req, resp := client.GetApiMappingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApiMappings +func (c *ApiGatewayV2) GetApiMappingsRequest(input *GetApiMappingsInput) (req *request.Request, output *GetApiMappingsOutput) { + op := &request.Operation{ + Name: opGetApiMappings, + HTTPMethod: "GET", + HTTPPath: "/v2/domainnames/{domainName}/apimappings", + } + + if input == nil { + input = &GetApiMappingsInput{} + } + + output = &GetApiMappingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetApiMappings API operation for AmazonApiGatewayV2. +// +// The API mappings. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetApiMappings for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApiMappings +func (c *ApiGatewayV2) GetApiMappings(input *GetApiMappingsInput) (*GetApiMappingsOutput, error) { + req, out := c.GetApiMappingsRequest(input) + return out, req.Send() +} + +// GetApiMappingsWithContext is the same as GetApiMappings with the addition of +// the ability to pass a context and additional request options. +// +// See GetApiMappings 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 *ApiGatewayV2) GetApiMappingsWithContext(ctx aws.Context, input *GetApiMappingsInput, opts ...request.Option) (*GetApiMappingsOutput, error) { + req, out := c.GetApiMappingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetApis = "GetApis" + +// GetApisRequest generates a "aws/request.Request" representing the +// client's request for the GetApis 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 GetApis for more information on using the GetApis +// 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 GetApisRequest method. +// req, resp := client.GetApisRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApis +func (c *ApiGatewayV2) GetApisRequest(input *GetApisInput) (req *request.Request, output *GetApisOutput) { + op := &request.Operation{ + Name: opGetApis, + HTTPMethod: "GET", + HTTPPath: "/v2/apis", + } + + if input == nil { + input = &GetApisInput{} + } + + output = &GetApisOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetApis API operation for AmazonApiGatewayV2. +// +// Gets a collection of Api resources. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetApis for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApis +func (c *ApiGatewayV2) GetApis(input *GetApisInput) (*GetApisOutput, error) { + req, out := c.GetApisRequest(input) + return out, req.Send() +} + +// GetApisWithContext is the same as GetApis with the addition of +// the ability to pass a context and additional request options. +// +// See GetApis 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 *ApiGatewayV2) GetApisWithContext(ctx aws.Context, input *GetApisInput, opts ...request.Option) (*GetApisOutput, error) { + req, out := c.GetApisRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetAuthorizer = "GetAuthorizer" + +// GetAuthorizerRequest generates a "aws/request.Request" representing the +// client's request for the GetAuthorizer 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 GetAuthorizer for more information on using the GetAuthorizer +// 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 GetAuthorizerRequest method. +// req, resp := client.GetAuthorizerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetAuthorizer +func (c *ApiGatewayV2) GetAuthorizerRequest(input *GetAuthorizerInput) (req *request.Request, output *GetAuthorizerOutput) { + op := &request.Operation{ + Name: opGetAuthorizer, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/authorizers/{authorizerId}", + } + + if input == nil { + input = &GetAuthorizerInput{} + } + + output = &GetAuthorizerOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAuthorizer API operation for AmazonApiGatewayV2. +// +// Gets an Authorizer. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetAuthorizer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetAuthorizer +func (c *ApiGatewayV2) GetAuthorizer(input *GetAuthorizerInput) (*GetAuthorizerOutput, error) { + req, out := c.GetAuthorizerRequest(input) + return out, req.Send() +} + +// GetAuthorizerWithContext is the same as GetAuthorizer with the addition of +// the ability to pass a context and additional request options. +// +// See GetAuthorizer 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 *ApiGatewayV2) GetAuthorizerWithContext(ctx aws.Context, input *GetAuthorizerInput, opts ...request.Option) (*GetAuthorizerOutput, error) { + req, out := c.GetAuthorizerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetAuthorizers = "GetAuthorizers" + +// GetAuthorizersRequest generates a "aws/request.Request" representing the +// client's request for the GetAuthorizers 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 GetAuthorizers for more information on using the GetAuthorizers +// 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 GetAuthorizersRequest method. +// req, resp := client.GetAuthorizersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetAuthorizers +func (c *ApiGatewayV2) GetAuthorizersRequest(input *GetAuthorizersInput) (req *request.Request, output *GetAuthorizersOutput) { + op := &request.Operation{ + Name: opGetAuthorizers, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/authorizers", + } + + if input == nil { + input = &GetAuthorizersInput{} + } + + output = &GetAuthorizersOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAuthorizers API operation for AmazonApiGatewayV2. +// +// Gets the Authorizers for an 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 AmazonApiGatewayV2's +// API operation GetAuthorizers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetAuthorizers +func (c *ApiGatewayV2) GetAuthorizers(input *GetAuthorizersInput) (*GetAuthorizersOutput, error) { + req, out := c.GetAuthorizersRequest(input) + return out, req.Send() +} + +// GetAuthorizersWithContext is the same as GetAuthorizers with the addition of +// the ability to pass a context and additional request options. +// +// See GetAuthorizers 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 *ApiGatewayV2) GetAuthorizersWithContext(ctx aws.Context, input *GetAuthorizersInput, opts ...request.Option) (*GetAuthorizersOutput, error) { + req, out := c.GetAuthorizersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDeployment = "GetDeployment" + +// GetDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the GetDeployment 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 GetDeployment for more information on using the GetDeployment +// 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 GetDeploymentRequest method. +// req, resp := client.GetDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDeployment +func (c *ApiGatewayV2) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *GetDeploymentOutput) { + op := &request.Operation{ + Name: opGetDeployment, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/deployments/{deploymentId}", + } + + if input == nil { + input = &GetDeploymentInput{} + } + + output = &GetDeploymentOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDeployment API operation for AmazonApiGatewayV2. +// +// Gets a Deployment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetDeployment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDeployment +func (c *ApiGatewayV2) GetDeployment(input *GetDeploymentInput) (*GetDeploymentOutput, error) { + req, out := c.GetDeploymentRequest(input) + return out, req.Send() +} + +// GetDeploymentWithContext is the same as GetDeployment with the addition of +// the ability to pass a context and additional request options. +// +// See GetDeployment 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 *ApiGatewayV2) GetDeploymentWithContext(ctx aws.Context, input *GetDeploymentInput, opts ...request.Option) (*GetDeploymentOutput, error) { + req, out := c.GetDeploymentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDeployments = "GetDeployments" + +// GetDeploymentsRequest generates a "aws/request.Request" representing the +// client's request for the GetDeployments 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 GetDeployments for more information on using the GetDeployments +// 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 GetDeploymentsRequest method. +// req, resp := client.GetDeploymentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDeployments +func (c *ApiGatewayV2) GetDeploymentsRequest(input *GetDeploymentsInput) (req *request.Request, output *GetDeploymentsOutput) { + op := &request.Operation{ + Name: opGetDeployments, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/deployments", + } + + if input == nil { + input = &GetDeploymentsInput{} + } + + output = &GetDeploymentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDeployments API operation for AmazonApiGatewayV2. +// +// Gets the Deployments for an 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 AmazonApiGatewayV2's +// API operation GetDeployments for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDeployments +func (c *ApiGatewayV2) GetDeployments(input *GetDeploymentsInput) (*GetDeploymentsOutput, error) { + req, out := c.GetDeploymentsRequest(input) + return out, req.Send() +} + +// GetDeploymentsWithContext is the same as GetDeployments with the addition of +// the ability to pass a context and additional request options. +// +// See GetDeployments 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 *ApiGatewayV2) GetDeploymentsWithContext(ctx aws.Context, input *GetDeploymentsInput, opts ...request.Option) (*GetDeploymentsOutput, error) { + req, out := c.GetDeploymentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDomainName = "GetDomainName" + +// GetDomainNameRequest generates a "aws/request.Request" representing the +// client's request for the GetDomainName 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 GetDomainName for more information on using the GetDomainName +// 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 GetDomainNameRequest method. +// req, resp := client.GetDomainNameRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDomainName +func (c *ApiGatewayV2) GetDomainNameRequest(input *GetDomainNameInput) (req *request.Request, output *GetDomainNameOutput) { + op := &request.Operation{ + Name: opGetDomainName, + HTTPMethod: "GET", + HTTPPath: "/v2/domainnames/{domainName}", + } + + if input == nil { + input = &GetDomainNameInput{} + } + + output = &GetDomainNameOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDomainName API operation for AmazonApiGatewayV2. +// +// Gets a domain name. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetDomainName for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDomainName +func (c *ApiGatewayV2) GetDomainName(input *GetDomainNameInput) (*GetDomainNameOutput, error) { + req, out := c.GetDomainNameRequest(input) + return out, req.Send() +} + +// GetDomainNameWithContext is the same as GetDomainName with the addition of +// the ability to pass a context and additional request options. +// +// See GetDomainName 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 *ApiGatewayV2) GetDomainNameWithContext(ctx aws.Context, input *GetDomainNameInput, opts ...request.Option) (*GetDomainNameOutput, error) { + req, out := c.GetDomainNameRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDomainNames = "GetDomainNames" + +// GetDomainNamesRequest generates a "aws/request.Request" representing the +// client's request for the GetDomainNames 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 GetDomainNames for more information on using the GetDomainNames +// 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 GetDomainNamesRequest method. +// req, resp := client.GetDomainNamesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDomainNames +func (c *ApiGatewayV2) GetDomainNamesRequest(input *GetDomainNamesInput) (req *request.Request, output *GetDomainNamesOutput) { + op := &request.Operation{ + Name: opGetDomainNames, + HTTPMethod: "GET", + HTTPPath: "/v2/domainnames", + } + + if input == nil { + input = &GetDomainNamesInput{} + } + + output = &GetDomainNamesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDomainNames API operation for AmazonApiGatewayV2. +// +// Gets the domain names for 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 AmazonApiGatewayV2's +// API operation GetDomainNames for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDomainNames +func (c *ApiGatewayV2) GetDomainNames(input *GetDomainNamesInput) (*GetDomainNamesOutput, error) { + req, out := c.GetDomainNamesRequest(input) + return out, req.Send() +} + +// GetDomainNamesWithContext is the same as GetDomainNames with the addition of +// the ability to pass a context and additional request options. +// +// See GetDomainNames 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 *ApiGatewayV2) GetDomainNamesWithContext(ctx aws.Context, input *GetDomainNamesInput, opts ...request.Option) (*GetDomainNamesOutput, error) { + req, out := c.GetDomainNamesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetIntegration = "GetIntegration" + +// GetIntegrationRequest generates a "aws/request.Request" representing the +// client's request for the GetIntegration 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 GetIntegration for more information on using the GetIntegration +// 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 GetIntegrationRequest method. +// req, resp := client.GetIntegrationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegration +func (c *ApiGatewayV2) GetIntegrationRequest(input *GetIntegrationInput) (req *request.Request, output *GetIntegrationOutput) { + op := &request.Operation{ + Name: opGetIntegration, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/integrations/{integrationId}", + } + + if input == nil { + input = &GetIntegrationInput{} + } + + output = &GetIntegrationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIntegration API operation for AmazonApiGatewayV2. +// +// Gets an Integration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetIntegration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegration +func (c *ApiGatewayV2) GetIntegration(input *GetIntegrationInput) (*GetIntegrationOutput, error) { + req, out := c.GetIntegrationRequest(input) + return out, req.Send() +} + +// GetIntegrationWithContext is the same as GetIntegration with the addition of +// the ability to pass a context and additional request options. +// +// See GetIntegration 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 *ApiGatewayV2) GetIntegrationWithContext(ctx aws.Context, input *GetIntegrationInput, opts ...request.Option) (*GetIntegrationOutput, error) { + req, out := c.GetIntegrationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetIntegrationResponse = "GetIntegrationResponse" + +// GetIntegrationResponseRequest generates a "aws/request.Request" representing the +// client's request for the GetIntegrationResponse 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 GetIntegrationResponse for more information on using the GetIntegrationResponse +// 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 GetIntegrationResponseRequest method. +// req, resp := client.GetIntegrationResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrationResponse +func (c *ApiGatewayV2) GetIntegrationResponseRequest(input *GetIntegrationResponseInput) (req *request.Request, output *GetIntegrationResponseOutput) { + op := &request.Operation{ + Name: opGetIntegrationResponse, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}", + } + + if input == nil { + input = &GetIntegrationResponseInput{} + } + + output = &GetIntegrationResponseOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIntegrationResponse API operation for AmazonApiGatewayV2. +// +// Gets an IntegrationResponses. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetIntegrationResponse for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrationResponse +func (c *ApiGatewayV2) GetIntegrationResponse(input *GetIntegrationResponseInput) (*GetIntegrationResponseOutput, error) { + req, out := c.GetIntegrationResponseRequest(input) + return out, req.Send() +} + +// GetIntegrationResponseWithContext is the same as GetIntegrationResponse with the addition of +// the ability to pass a context and additional request options. +// +// See GetIntegrationResponse 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 *ApiGatewayV2) GetIntegrationResponseWithContext(ctx aws.Context, input *GetIntegrationResponseInput, opts ...request.Option) (*GetIntegrationResponseOutput, error) { + req, out := c.GetIntegrationResponseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetIntegrationResponses = "GetIntegrationResponses" + +// GetIntegrationResponsesRequest generates a "aws/request.Request" representing the +// client's request for the GetIntegrationResponses 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 GetIntegrationResponses for more information on using the GetIntegrationResponses +// 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 GetIntegrationResponsesRequest method. +// req, resp := client.GetIntegrationResponsesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrationResponses +func (c *ApiGatewayV2) GetIntegrationResponsesRequest(input *GetIntegrationResponsesInput) (req *request.Request, output *GetIntegrationResponsesOutput) { + op := &request.Operation{ + Name: opGetIntegrationResponses, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses", + } + + if input == nil { + input = &GetIntegrationResponsesInput{} + } + + output = &GetIntegrationResponsesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIntegrationResponses API operation for AmazonApiGatewayV2. +// +// Gets the IntegrationResponses for an Integration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetIntegrationResponses for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrationResponses +func (c *ApiGatewayV2) GetIntegrationResponses(input *GetIntegrationResponsesInput) (*GetIntegrationResponsesOutput, error) { + req, out := c.GetIntegrationResponsesRequest(input) + return out, req.Send() +} + +// GetIntegrationResponsesWithContext is the same as GetIntegrationResponses with the addition of +// the ability to pass a context and additional request options. +// +// See GetIntegrationResponses 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 *ApiGatewayV2) GetIntegrationResponsesWithContext(ctx aws.Context, input *GetIntegrationResponsesInput, opts ...request.Option) (*GetIntegrationResponsesOutput, error) { + req, out := c.GetIntegrationResponsesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetIntegrations = "GetIntegrations" + +// GetIntegrationsRequest generates a "aws/request.Request" representing the +// client's request for the GetIntegrations 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 GetIntegrations for more information on using the GetIntegrations +// 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 GetIntegrationsRequest method. +// req, resp := client.GetIntegrationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrations +func (c *ApiGatewayV2) GetIntegrationsRequest(input *GetIntegrationsInput) (req *request.Request, output *GetIntegrationsOutput) { + op := &request.Operation{ + Name: opGetIntegrations, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/integrations", + } + + if input == nil { + input = &GetIntegrationsInput{} + } + + output = &GetIntegrationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIntegrations API operation for AmazonApiGatewayV2. +// +// Gets the Integrations for an 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 AmazonApiGatewayV2's +// API operation GetIntegrations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrations +func (c *ApiGatewayV2) GetIntegrations(input *GetIntegrationsInput) (*GetIntegrationsOutput, error) { + req, out := c.GetIntegrationsRequest(input) + return out, req.Send() +} + +// GetIntegrationsWithContext is the same as GetIntegrations with the addition of +// the ability to pass a context and additional request options. +// +// See GetIntegrations 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 *ApiGatewayV2) GetIntegrationsWithContext(ctx aws.Context, input *GetIntegrationsInput, opts ...request.Option) (*GetIntegrationsOutput, error) { + req, out := c.GetIntegrationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetModel = "GetModel" + +// GetModelRequest generates a "aws/request.Request" representing the +// client's request for the GetModel 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 GetModel for more information on using the GetModel +// 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 GetModelRequest method. +// req, resp := client.GetModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModel +func (c *ApiGatewayV2) GetModelRequest(input *GetModelInput) (req *request.Request, output *GetModelOutput) { + op := &request.Operation{ + Name: opGetModel, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/models/{modelId}", + } + + if input == nil { + input = &GetModelInput{} + } + + output = &GetModelOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetModel API operation for AmazonApiGatewayV2. +// +// Gets a Model. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetModel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModel +func (c *ApiGatewayV2) GetModel(input *GetModelInput) (*GetModelOutput, error) { + req, out := c.GetModelRequest(input) + return out, req.Send() +} + +// GetModelWithContext is the same as GetModel with the addition of +// the ability to pass a context and additional request options. +// +// See GetModel 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 *ApiGatewayV2) GetModelWithContext(ctx aws.Context, input *GetModelInput, opts ...request.Option) (*GetModelOutput, error) { + req, out := c.GetModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetModelTemplate = "GetModelTemplate" + +// GetModelTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetModelTemplate 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 GetModelTemplate for more information on using the GetModelTemplate +// 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 GetModelTemplateRequest method. +// req, resp := client.GetModelTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModelTemplate +func (c *ApiGatewayV2) GetModelTemplateRequest(input *GetModelTemplateInput) (req *request.Request, output *GetModelTemplateOutput) { + op := &request.Operation{ + Name: opGetModelTemplate, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/models/{modelId}/template", + } + + if input == nil { + input = &GetModelTemplateInput{} + } + + output = &GetModelTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetModelTemplate API operation for AmazonApiGatewayV2. +// +// Gets a model template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetModelTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModelTemplate +func (c *ApiGatewayV2) GetModelTemplate(input *GetModelTemplateInput) (*GetModelTemplateOutput, error) { + req, out := c.GetModelTemplateRequest(input) + return out, req.Send() +} + +// GetModelTemplateWithContext is the same as GetModelTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetModelTemplate 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 *ApiGatewayV2) GetModelTemplateWithContext(ctx aws.Context, input *GetModelTemplateInput, opts ...request.Option) (*GetModelTemplateOutput, error) { + req, out := c.GetModelTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetModels = "GetModels" + +// GetModelsRequest generates a "aws/request.Request" representing the +// client's request for the GetModels 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 GetModels for more information on using the GetModels +// 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 GetModelsRequest method. +// req, resp := client.GetModelsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModels +func (c *ApiGatewayV2) GetModelsRequest(input *GetModelsInput) (req *request.Request, output *GetModelsOutput) { + op := &request.Operation{ + Name: opGetModels, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/models", + } + + if input == nil { + input = &GetModelsInput{} + } + + output = &GetModelsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetModels API operation for AmazonApiGatewayV2. +// +// Gets the Models for an 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 AmazonApiGatewayV2's +// API operation GetModels for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModels +func (c *ApiGatewayV2) GetModels(input *GetModelsInput) (*GetModelsOutput, error) { + req, out := c.GetModelsRequest(input) + return out, req.Send() +} + +// GetModelsWithContext is the same as GetModels with the addition of +// the ability to pass a context and additional request options. +// +// See GetModels 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 *ApiGatewayV2) GetModelsWithContext(ctx aws.Context, input *GetModelsInput, opts ...request.Option) (*GetModelsOutput, error) { + req, out := c.GetModelsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetRoute = "GetRoute" + +// GetRouteRequest generates a "aws/request.Request" representing the +// client's request for the GetRoute 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 GetRoute for more information on using the GetRoute +// 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 GetRouteRequest method. +// req, resp := client.GetRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRoute +func (c *ApiGatewayV2) GetRouteRequest(input *GetRouteInput) (req *request.Request, output *GetRouteOutput) { + op := &request.Operation{ + Name: opGetRoute, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/routes/{routeId}", + } + + if input == nil { + input = &GetRouteInput{} + } + + output = &GetRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetRoute API operation for AmazonApiGatewayV2. +// +// Gets a Route. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetRoute for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRoute +func (c *ApiGatewayV2) GetRoute(input *GetRouteInput) (*GetRouteOutput, error) { + req, out := c.GetRouteRequest(input) + return out, req.Send() +} + +// GetRouteWithContext is the same as GetRoute with the addition of +// the ability to pass a context and additional request options. +// +// See GetRoute 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 *ApiGatewayV2) GetRouteWithContext(ctx aws.Context, input *GetRouteInput, opts ...request.Option) (*GetRouteOutput, error) { + req, out := c.GetRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetRouteResponse = "GetRouteResponse" + +// GetRouteResponseRequest generates a "aws/request.Request" representing the +// client's request for the GetRouteResponse 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 GetRouteResponse for more information on using the GetRouteResponse +// 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 GetRouteResponseRequest method. +// req, resp := client.GetRouteResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRouteResponse +func (c *ApiGatewayV2) GetRouteResponseRequest(input *GetRouteResponseInput) (req *request.Request, output *GetRouteResponseOutput) { + op := &request.Operation{ + Name: opGetRouteResponse, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}", + } + + if input == nil { + input = &GetRouteResponseInput{} + } + + output = &GetRouteResponseOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetRouteResponse API operation for AmazonApiGatewayV2. +// +// Gets a RouteResponse. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetRouteResponse for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRouteResponse +func (c *ApiGatewayV2) GetRouteResponse(input *GetRouteResponseInput) (*GetRouteResponseOutput, error) { + req, out := c.GetRouteResponseRequest(input) + return out, req.Send() +} + +// GetRouteResponseWithContext is the same as GetRouteResponse with the addition of +// the ability to pass a context and additional request options. +// +// See GetRouteResponse 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 *ApiGatewayV2) GetRouteResponseWithContext(ctx aws.Context, input *GetRouteResponseInput, opts ...request.Option) (*GetRouteResponseOutput, error) { + req, out := c.GetRouteResponseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetRouteResponses = "GetRouteResponses" + +// GetRouteResponsesRequest generates a "aws/request.Request" representing the +// client's request for the GetRouteResponses 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 GetRouteResponses for more information on using the GetRouteResponses +// 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 GetRouteResponsesRequest method. +// req, resp := client.GetRouteResponsesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRouteResponses +func (c *ApiGatewayV2) GetRouteResponsesRequest(input *GetRouteResponsesInput) (req *request.Request, output *GetRouteResponsesOutput) { + op := &request.Operation{ + Name: opGetRouteResponses, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/routes/{routeId}/routeresponses", + } + + if input == nil { + input = &GetRouteResponsesInput{} + } + + output = &GetRouteResponsesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetRouteResponses API operation for AmazonApiGatewayV2. +// +// Gets the RouteResponses for a Route. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetRouteResponses for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRouteResponses +func (c *ApiGatewayV2) GetRouteResponses(input *GetRouteResponsesInput) (*GetRouteResponsesOutput, error) { + req, out := c.GetRouteResponsesRequest(input) + return out, req.Send() +} + +// GetRouteResponsesWithContext is the same as GetRouteResponses with the addition of +// the ability to pass a context and additional request options. +// +// See GetRouteResponses 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 *ApiGatewayV2) GetRouteResponsesWithContext(ctx aws.Context, input *GetRouteResponsesInput, opts ...request.Option) (*GetRouteResponsesOutput, error) { + req, out := c.GetRouteResponsesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetRoutes = "GetRoutes" + +// GetRoutesRequest generates a "aws/request.Request" representing the +// client's request for the GetRoutes 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 GetRoutes for more information on using the GetRoutes +// 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 GetRoutesRequest method. +// req, resp := client.GetRoutesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRoutes +func (c *ApiGatewayV2) GetRoutesRequest(input *GetRoutesInput) (req *request.Request, output *GetRoutesOutput) { + op := &request.Operation{ + Name: opGetRoutes, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/routes", + } + + if input == nil { + input = &GetRoutesInput{} + } + + output = &GetRoutesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetRoutes API operation for AmazonApiGatewayV2. +// +// Gets the Routes for an 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 AmazonApiGatewayV2's +// API operation GetRoutes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRoutes +func (c *ApiGatewayV2) GetRoutes(input *GetRoutesInput) (*GetRoutesOutput, error) { + req, out := c.GetRoutesRequest(input) + return out, req.Send() +} + +// GetRoutesWithContext is the same as GetRoutes with the addition of +// the ability to pass a context and additional request options. +// +// See GetRoutes 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 *ApiGatewayV2) GetRoutesWithContext(ctx aws.Context, input *GetRoutesInput, opts ...request.Option) (*GetRoutesOutput, error) { + req, out := c.GetRoutesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetStage = "GetStage" + +// GetStageRequest generates a "aws/request.Request" representing the +// client's request for the GetStage 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 GetStage for more information on using the GetStage +// 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 GetStageRequest method. +// req, resp := client.GetStageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetStage +func (c *ApiGatewayV2) GetStageRequest(input *GetStageInput) (req *request.Request, output *GetStageOutput) { + op := &request.Operation{ + Name: opGetStage, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/stages/{stageName}", + } + + if input == nil { + input = &GetStageInput{} + } + + output = &GetStageOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetStage API operation for AmazonApiGatewayV2. +// +// Gets a Stage. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation GetStage for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetStage +func (c *ApiGatewayV2) GetStage(input *GetStageInput) (*GetStageOutput, error) { + req, out := c.GetStageRequest(input) + return out, req.Send() +} + +// GetStageWithContext is the same as GetStage with the addition of +// the ability to pass a context and additional request options. +// +// See GetStage 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 *ApiGatewayV2) GetStageWithContext(ctx aws.Context, input *GetStageInput, opts ...request.Option) (*GetStageOutput, error) { + req, out := c.GetStageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetStages = "GetStages" + +// GetStagesRequest generates a "aws/request.Request" representing the +// client's request for the GetStages 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 GetStages for more information on using the GetStages +// 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 GetStagesRequest method. +// req, resp := client.GetStagesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetStages +func (c *ApiGatewayV2) GetStagesRequest(input *GetStagesInput) (req *request.Request, output *GetStagesOutput) { + op := &request.Operation{ + Name: opGetStages, + HTTPMethod: "GET", + HTTPPath: "/v2/apis/{apiId}/stages", + } + + if input == nil { + input = &GetStagesInput{} + } + + output = &GetStagesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetStages API operation for AmazonApiGatewayV2. +// +// Gets the Stages for an 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 AmazonApiGatewayV2's +// API operation GetStages for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetStages +func (c *ApiGatewayV2) GetStages(input *GetStagesInput) (*GetStagesOutput, error) { + req, out := c.GetStagesRequest(input) + return out, req.Send() +} + +// GetStagesWithContext is the same as GetStages with the addition of +// the ability to pass a context and additional request options. +// +// See GetStages 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 *ApiGatewayV2) GetStagesWithContext(ctx aws.Context, input *GetStagesInput, opts ...request.Option) (*GetStagesOutput, error) { + req, out := c.GetStagesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateApi = "UpdateApi" + +// UpdateApiRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApi 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 UpdateApi for more information on using the UpdateApi +// 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 UpdateApiRequest method. +// req, resp := client.UpdateApiRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateApi +func (c *ApiGatewayV2) UpdateApiRequest(input *UpdateApiInput) (req *request.Request, output *UpdateApiOutput) { + op := &request.Operation{ + Name: opUpdateApi, + HTTPMethod: "PATCH", + HTTPPath: "/v2/apis/{apiId}", + } + + if input == nil { + input = &UpdateApiInput{} + } + + output = &UpdateApiOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateApi API operation for AmazonApiGatewayV2. +// +// Updates an Api 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 AmazonApiGatewayV2's +// API operation UpdateApi for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateApi +func (c *ApiGatewayV2) UpdateApi(input *UpdateApiInput) (*UpdateApiOutput, error) { + req, out := c.UpdateApiRequest(input) + return out, req.Send() +} + +// UpdateApiWithContext is the same as UpdateApi with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateApi 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 *ApiGatewayV2) UpdateApiWithContext(ctx aws.Context, input *UpdateApiInput, opts ...request.Option) (*UpdateApiOutput, error) { + req, out := c.UpdateApiRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateApiMapping = "UpdateApiMapping" + +// UpdateApiMappingRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApiMapping 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 UpdateApiMapping for more information on using the UpdateApiMapping +// 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 UpdateApiMappingRequest method. +// req, resp := client.UpdateApiMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateApiMapping +func (c *ApiGatewayV2) UpdateApiMappingRequest(input *UpdateApiMappingInput) (req *request.Request, output *UpdateApiMappingOutput) { + op := &request.Operation{ + Name: opUpdateApiMapping, + HTTPMethod: "PATCH", + HTTPPath: "/v2/domainnames/{domainName}/apimappings/{apiMappingId}", + } + + if input == nil { + input = &UpdateApiMappingInput{} + } + + output = &UpdateApiMappingOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateApiMapping API operation for AmazonApiGatewayV2. +// +// The API mapping. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation UpdateApiMapping for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateApiMapping +func (c *ApiGatewayV2) UpdateApiMapping(input *UpdateApiMappingInput) (*UpdateApiMappingOutput, error) { + req, out := c.UpdateApiMappingRequest(input) + return out, req.Send() +} + +// UpdateApiMappingWithContext is the same as UpdateApiMapping with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateApiMapping 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 *ApiGatewayV2) UpdateApiMappingWithContext(ctx aws.Context, input *UpdateApiMappingInput, opts ...request.Option) (*UpdateApiMappingOutput, error) { + req, out := c.UpdateApiMappingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAuthorizer = "UpdateAuthorizer" + +// UpdateAuthorizerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAuthorizer 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 UpdateAuthorizer for more information on using the UpdateAuthorizer +// 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 UpdateAuthorizerRequest method. +// req, resp := client.UpdateAuthorizerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateAuthorizer +func (c *ApiGatewayV2) UpdateAuthorizerRequest(input *UpdateAuthorizerInput) (req *request.Request, output *UpdateAuthorizerOutput) { + op := &request.Operation{ + Name: opUpdateAuthorizer, + HTTPMethod: "PATCH", + HTTPPath: "/v2/apis/{apiId}/authorizers/{authorizerId}", + } + + if input == nil { + input = &UpdateAuthorizerInput{} + } + + output = &UpdateAuthorizerOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAuthorizer API operation for AmazonApiGatewayV2. +// +// Updates an Authorizer. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation UpdateAuthorizer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateAuthorizer +func (c *ApiGatewayV2) UpdateAuthorizer(input *UpdateAuthorizerInput) (*UpdateAuthorizerOutput, error) { + req, out := c.UpdateAuthorizerRequest(input) + return out, req.Send() +} + +// UpdateAuthorizerWithContext is the same as UpdateAuthorizer with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAuthorizer 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 *ApiGatewayV2) UpdateAuthorizerWithContext(ctx aws.Context, input *UpdateAuthorizerInput, opts ...request.Option) (*UpdateAuthorizerOutput, error) { + req, out := c.UpdateAuthorizerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDeployment = "UpdateDeployment" + +// UpdateDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDeployment 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 UpdateDeployment for more information on using the UpdateDeployment +// 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 UpdateDeploymentRequest method. +// req, resp := client.UpdateDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateDeployment +func (c *ApiGatewayV2) UpdateDeploymentRequest(input *UpdateDeploymentInput) (req *request.Request, output *UpdateDeploymentOutput) { + op := &request.Operation{ + Name: opUpdateDeployment, + HTTPMethod: "PATCH", + HTTPPath: "/v2/apis/{apiId}/deployments/{deploymentId}", + } + + if input == nil { + input = &UpdateDeploymentInput{} + } + + output = &UpdateDeploymentOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDeployment API operation for AmazonApiGatewayV2. +// +// Updates a Deployment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation UpdateDeployment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateDeployment +func (c *ApiGatewayV2) UpdateDeployment(input *UpdateDeploymentInput) (*UpdateDeploymentOutput, error) { + req, out := c.UpdateDeploymentRequest(input) + return out, req.Send() +} + +// UpdateDeploymentWithContext is the same as UpdateDeployment with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDeployment 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 *ApiGatewayV2) UpdateDeploymentWithContext(ctx aws.Context, input *UpdateDeploymentInput, opts ...request.Option) (*UpdateDeploymentOutput, error) { + req, out := c.UpdateDeploymentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDomainName = "UpdateDomainName" + +// UpdateDomainNameRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDomainName 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 UpdateDomainName for more information on using the UpdateDomainName +// 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 UpdateDomainNameRequest method. +// req, resp := client.UpdateDomainNameRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateDomainName +func (c *ApiGatewayV2) UpdateDomainNameRequest(input *UpdateDomainNameInput) (req *request.Request, output *UpdateDomainNameOutput) { + op := &request.Operation{ + Name: opUpdateDomainName, + HTTPMethod: "PATCH", + HTTPPath: "/v2/domainnames/{domainName}", + } + + if input == nil { + input = &UpdateDomainNameInput{} + } + + output = &UpdateDomainNameOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDomainName API operation for AmazonApiGatewayV2. +// +// Updates a domain name. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation UpdateDomainName for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateDomainName +func (c *ApiGatewayV2) UpdateDomainName(input *UpdateDomainNameInput) (*UpdateDomainNameOutput, error) { + req, out := c.UpdateDomainNameRequest(input) + return out, req.Send() +} + +// UpdateDomainNameWithContext is the same as UpdateDomainName with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDomainName 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 *ApiGatewayV2) UpdateDomainNameWithContext(ctx aws.Context, input *UpdateDomainNameInput, opts ...request.Option) (*UpdateDomainNameOutput, error) { + req, out := c.UpdateDomainNameRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateIntegration = "UpdateIntegration" + +// UpdateIntegrationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateIntegration 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 UpdateIntegration for more information on using the UpdateIntegration +// 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 UpdateIntegrationRequest method. +// req, resp := client.UpdateIntegrationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateIntegration +func (c *ApiGatewayV2) UpdateIntegrationRequest(input *UpdateIntegrationInput) (req *request.Request, output *UpdateIntegrationOutput) { + op := &request.Operation{ + Name: opUpdateIntegration, + HTTPMethod: "PATCH", + HTTPPath: "/v2/apis/{apiId}/integrations/{integrationId}", + } + + if input == nil { + input = &UpdateIntegrationInput{} + } + + output = &UpdateIntegrationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateIntegration API operation for AmazonApiGatewayV2. +// +// Updates an Integration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation UpdateIntegration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateIntegration +func (c *ApiGatewayV2) UpdateIntegration(input *UpdateIntegrationInput) (*UpdateIntegrationOutput, error) { + req, out := c.UpdateIntegrationRequest(input) + return out, req.Send() +} + +// UpdateIntegrationWithContext is the same as UpdateIntegration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateIntegration 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 *ApiGatewayV2) UpdateIntegrationWithContext(ctx aws.Context, input *UpdateIntegrationInput, opts ...request.Option) (*UpdateIntegrationOutput, error) { + req, out := c.UpdateIntegrationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateIntegrationResponse = "UpdateIntegrationResponse" + +// UpdateIntegrationResponseRequest generates a "aws/request.Request" representing the +// client's request for the UpdateIntegrationResponse 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 UpdateIntegrationResponse for more information on using the UpdateIntegrationResponse +// 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 UpdateIntegrationResponseRequest method. +// req, resp := client.UpdateIntegrationResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateIntegrationResponse +func (c *ApiGatewayV2) UpdateIntegrationResponseRequest(input *UpdateIntegrationResponseInput) (req *request.Request, output *UpdateIntegrationResponseOutput) { + op := &request.Operation{ + Name: opUpdateIntegrationResponse, + HTTPMethod: "PATCH", + HTTPPath: "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}", + } + + if input == nil { + input = &UpdateIntegrationResponseInput{} + } + + output = &UpdateIntegrationResponseOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateIntegrationResponse API operation for AmazonApiGatewayV2. +// +// Updates an IntegrationResponses. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation UpdateIntegrationResponse for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateIntegrationResponse +func (c *ApiGatewayV2) UpdateIntegrationResponse(input *UpdateIntegrationResponseInput) (*UpdateIntegrationResponseOutput, error) { + req, out := c.UpdateIntegrationResponseRequest(input) + return out, req.Send() +} + +// UpdateIntegrationResponseWithContext is the same as UpdateIntegrationResponse with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateIntegrationResponse 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 *ApiGatewayV2) UpdateIntegrationResponseWithContext(ctx aws.Context, input *UpdateIntegrationResponseInput, opts ...request.Option) (*UpdateIntegrationResponseOutput, error) { + req, out := c.UpdateIntegrationResponseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateModel = "UpdateModel" + +// UpdateModelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateModel 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 UpdateModel for more information on using the UpdateModel +// 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 UpdateModelRequest method. +// req, resp := client.UpdateModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateModel +func (c *ApiGatewayV2) UpdateModelRequest(input *UpdateModelInput) (req *request.Request, output *UpdateModelOutput) { + op := &request.Operation{ + Name: opUpdateModel, + HTTPMethod: "PATCH", + HTTPPath: "/v2/apis/{apiId}/models/{modelId}", + } + + if input == nil { + input = &UpdateModelInput{} + } + + output = &UpdateModelOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateModel API operation for AmazonApiGatewayV2. +// +// Updates a Model. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation UpdateModel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateModel +func (c *ApiGatewayV2) UpdateModel(input *UpdateModelInput) (*UpdateModelOutput, error) { + req, out := c.UpdateModelRequest(input) + return out, req.Send() +} + +// UpdateModelWithContext is the same as UpdateModel with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateModel 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 *ApiGatewayV2) UpdateModelWithContext(ctx aws.Context, input *UpdateModelInput, opts ...request.Option) (*UpdateModelOutput, error) { + req, out := c.UpdateModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRoute = "UpdateRoute" + +// UpdateRouteRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRoute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateRoute for more information on using the UpdateRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateRouteRequest method. +// req, resp := client.UpdateRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateRoute +func (c *ApiGatewayV2) UpdateRouteRequest(input *UpdateRouteInput) (req *request.Request, output *UpdateRouteOutput) { + op := &request.Operation{ + Name: opUpdateRoute, + HTTPMethod: "PATCH", + HTTPPath: "/v2/apis/{apiId}/routes/{routeId}", + } + + if input == nil { + input = &UpdateRouteInput{} + } + + output = &UpdateRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateRoute API operation for AmazonApiGatewayV2. +// +// Updates a Route. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation UpdateRoute for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateRoute +func (c *ApiGatewayV2) UpdateRoute(input *UpdateRouteInput) (*UpdateRouteOutput, error) { + req, out := c.UpdateRouteRequest(input) + return out, req.Send() +} + +// UpdateRouteWithContext is the same as UpdateRoute with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRoute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ApiGatewayV2) UpdateRouteWithContext(ctx aws.Context, input *UpdateRouteInput, opts ...request.Option) (*UpdateRouteOutput, error) { + req, out := c.UpdateRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRouteResponse = "UpdateRouteResponse" + +// UpdateRouteResponseRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRouteResponse 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 UpdateRouteResponse for more information on using the UpdateRouteResponse +// 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 UpdateRouteResponseRequest method. +// req, resp := client.UpdateRouteResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateRouteResponse +func (c *ApiGatewayV2) UpdateRouteResponseRequest(input *UpdateRouteResponseInput) (req *request.Request, output *UpdateRouteResponseOutput) { + op := &request.Operation{ + Name: opUpdateRouteResponse, + HTTPMethod: "PATCH", + HTTPPath: "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}", + } + + if input == nil { + input = &UpdateRouteResponseInput{} + } + + output = &UpdateRouteResponseOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateRouteResponse API operation for AmazonApiGatewayV2. +// +// Updates a RouteResponse. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation UpdateRouteResponse for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateRouteResponse +func (c *ApiGatewayV2) UpdateRouteResponse(input *UpdateRouteResponseInput) (*UpdateRouteResponseOutput, error) { + req, out := c.UpdateRouteResponseRequest(input) + return out, req.Send() +} + +// UpdateRouteResponseWithContext is the same as UpdateRouteResponse with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRouteResponse 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 *ApiGatewayV2) UpdateRouteResponseWithContext(ctx aws.Context, input *UpdateRouteResponseInput, opts ...request.Option) (*UpdateRouteResponseOutput, error) { + req, out := c.UpdateRouteResponseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateStage = "UpdateStage" + +// UpdateStageRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStage 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 UpdateStage for more information on using the UpdateStage +// 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 UpdateStageRequest method. +// req, resp := client.UpdateStageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateStage +func (c *ApiGatewayV2) UpdateStageRequest(input *UpdateStageInput) (req *request.Request, output *UpdateStageOutput) { + op := &request.Operation{ + Name: opUpdateStage, + HTTPMethod: "PATCH", + HTTPPath: "/v2/apis/{apiId}/stages/{stageName}", + } + + if input == nil { + input = &UpdateStageInput{} + } + + output = &UpdateStageOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateStage API operation for AmazonApiGatewayV2. +// +// Updates a Stage. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmazonApiGatewayV2's +// API operation UpdateStage for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. See the message field +// for more information. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// A limit has been exceeded. See the accompanying error message for details. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not valid, for example, the input is incomplete or incorrect. +// See the accompanying error message for details. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. See the accompanying error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateStage +func (c *ApiGatewayV2) UpdateStage(input *UpdateStageInput) (*UpdateStageOutput, error) { + req, out := c.UpdateStageRequest(input) + return out, req.Send() +} + +// UpdateStageWithContext is the same as UpdateStage with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateStage 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 *ApiGatewayV2) UpdateStageWithContext(ctx aws.Context, input *UpdateStageInput, opts ...request.Option) (*UpdateStageOutput, error) { + req, out := c.UpdateStageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Settings for logging access in a stage. +type AccessLogSettings struct { + _ struct{} `type:"structure"` + + // The ARN of the CloudWatch Logs log group to receive access logs. + DestinationArn *string `locationName:"destinationArn" type:"string"` + + // A single line format of the access logs of data, as specified by selected + // $context variables. The format must include at least $context.requestId. + Format *string `locationName:"format" type:"string"` +} + +// String returns the string representation +func (s AccessLogSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessLogSettings) GoString() string { + return s.String() +} + +// SetDestinationArn sets the DestinationArn field's value. +func (s *AccessLogSettings) SetDestinationArn(v string) *AccessLogSettings { + s.DestinationArn = &v + return s +} + +// SetFormat sets the Format field's value. +func (s *AccessLogSettings) SetFormat(v string) *AccessLogSettings { + s.Format = &v + return s +} + +// Represents an API. +type Api struct { + _ struct{} `type:"structure"` + + // The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. + // The stage name is typically appended to this URI to form a complete path + // to a deployed API stage. + ApiEndpoint *string `locationName:"apiEndpoint" type:"string"` + + // The API ID. + ApiId *string `locationName:"apiId" type:"string"` + + // An API key selection expression. See API Key Selection Expressions (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions). + ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"` + + // The timestamp when the API was created. + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"` + + // The description of the API. + Description *string `locationName:"description" type:"string"` + + // Avoid validating models when creating a deployment. + DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"` + + // The name of the API. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The API protocol: Currently only WEBSOCKET is supported. + // + // ProtocolType is a required field + ProtocolType *string `locationName:"protocolType" type:"string" required:"true" enum:"ProtocolType"` + + // The route selection expression for the API. + // + // RouteSelectionExpression is a required field + RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string" required:"true"` + + // A version identifier for the API. + Version *string `locationName:"version" type:"string"` + + // The warning messages reported when failonwarnings is turned on during API + // import. + Warnings []*string `locationName:"warnings" type:"list"` +} + +// String returns the string representation +func (s Api) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Api) GoString() string { + return s.String() +} + +// SetApiEndpoint sets the ApiEndpoint field's value. +func (s *Api) SetApiEndpoint(v string) *Api { + s.ApiEndpoint = &v + return s +} + +// SetApiId sets the ApiId field's value. +func (s *Api) SetApiId(v string) *Api { + s.ApiId = &v + return s +} + +// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value. +func (s *Api) SetApiKeySelectionExpression(v string) *Api { + s.ApiKeySelectionExpression = &v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *Api) SetCreatedDate(v time.Time) *Api { + s.CreatedDate = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Api) SetDescription(v string) *Api { + s.Description = &v + return s +} + +// SetDisableSchemaValidation sets the DisableSchemaValidation field's value. +func (s *Api) SetDisableSchemaValidation(v bool) *Api { + s.DisableSchemaValidation = &v + return s +} + +// SetName sets the Name field's value. +func (s *Api) SetName(v string) *Api { + s.Name = &v + return s +} + +// SetProtocolType sets the ProtocolType field's value. +func (s *Api) SetProtocolType(v string) *Api { + s.ProtocolType = &v + return s +} + +// SetRouteSelectionExpression sets the RouteSelectionExpression field's value. +func (s *Api) SetRouteSelectionExpression(v string) *Api { + s.RouteSelectionExpression = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *Api) SetVersion(v string) *Api { + s.Version = &v + return s +} + +// SetWarnings sets the Warnings field's value. +func (s *Api) SetWarnings(v []*string) *Api { + s.Warnings = v + return s +} + +// Represents an API mapping. +type ApiMapping struct { + _ struct{} `type:"structure"` + + // The API identifier. + // + // ApiId is a required field + ApiId *string `locationName:"apiId" type:"string" required:"true"` + + // The API mapping identifier. + ApiMappingId *string `locationName:"apiMappingId" type:"string"` + + // The API mapping key. + ApiMappingKey *string `locationName:"apiMappingKey" type:"string"` + + // The API stage. + // + // Stage is a required field + Stage *string `locationName:"stage" type:"string" required:"true"` +} + +// String returns the string representation +func (s ApiMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApiMapping) GoString() string { + return s.String() +} + +// SetApiId sets the ApiId field's value. +func (s *ApiMapping) SetApiId(v string) *ApiMapping { + s.ApiId = &v + return s +} + +// SetApiMappingId sets the ApiMappingId field's value. +func (s *ApiMapping) SetApiMappingId(v string) *ApiMapping { + s.ApiMappingId = &v + return s +} + +// SetApiMappingKey sets the ApiMappingKey field's value. +func (s *ApiMapping) SetApiMappingKey(v string) *ApiMapping { + s.ApiMappingKey = &v + return s +} + +// SetStage sets the Stage field's value. +func (s *ApiMapping) SetStage(v string) *ApiMapping { + s.Stage = &v + return s +} + +// Represents an authorizer. +type Authorizer struct { + _ struct{} `type:"structure"` + + // Specifies the required credentials as an IAM role for API Gateway to invoke + // the authorizer. To specify an IAM role for API Gateway to assume, use the + // role's Amazon Resource Name (ARN). To use resource-based permissions on the + // Lambda function, specify null. + AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"` + + // The authorizer identifier. + AuthorizerId *string `locationName:"authorizerId" type:"string"` + + // The time to live (TTL), in seconds, of cached authorizer results. If it equals + // 0, authorization caching is disabled. If it is greater than 0, API Gateway + // will cache authorizer responses. If this field is not set, the default value + // is 300. The maximum value is 3600, or 1 hour. + AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"` + + // The authorizer type. Currently the only valid value is REQUEST, for a Lambda + // function using incoming request parameters. + AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"` + + // The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, + // this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. + // In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api} + // , where {region} is the same as the region hosting the Lambda function, path + // indicates that the remaining substring in the URI should be treated as the + // path to the resource, including the initial /. For Lambda functions, this + // is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. + AuthorizerUri *string `locationName:"authorizerUri" type:"string"` + + // The identity source for which authorization is requested. + // + // For the REQUEST authorizer, this is required when authorization caching is + // enabled. The value is a comma-separated string of one or more mapping expressions + // of the specified request parameters. For example, if an Auth header and a + // Name query string parameters are defined as identity sources, this value + // is method.request.header.Auth, method.request.querystring.Name. These parameters + // will be used to derive the authorization caching key and to perform runtime + // validation of the REQUEST authorizer by verifying all of the identity-related + // request parameters are present, not null, and non-empty. Only when this is + // true does the authorizer invoke the authorizer Lambda function, otherwise, + // it returns a 401 Unauthorized response without calling the Lambda function. + // The valid value is a string of comma-separated mapping expressions of the + // specified request parameters. When the authorization caching is not enabled, + // this property is optional. + IdentitySource []*string `locationName:"identitySource" type:"list"` + + // The validation expression does not apply to the REQUEST authorizer. + IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"` + + // The name of the authorizer. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // For REQUEST authorizer, this is not defined. + ProviderArns []*string `locationName:"providerArns" type:"list"` +} + +// String returns the string representation +func (s Authorizer) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Authorizer) GoString() string { + return s.String() +} + +// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value. +func (s *Authorizer) SetAuthorizerCredentialsArn(v string) *Authorizer { + s.AuthorizerCredentialsArn = &v + return s +} + +// SetAuthorizerId sets the AuthorizerId field's value. +func (s *Authorizer) SetAuthorizerId(v string) *Authorizer { + s.AuthorizerId = &v + return s +} + +// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value. +func (s *Authorizer) SetAuthorizerResultTtlInSeconds(v int64) *Authorizer { + s.AuthorizerResultTtlInSeconds = &v + return s +} + +// SetAuthorizerType sets the AuthorizerType field's value. +func (s *Authorizer) SetAuthorizerType(v string) *Authorizer { + s.AuthorizerType = &v + return s +} + +// SetAuthorizerUri sets the AuthorizerUri field's value. +func (s *Authorizer) SetAuthorizerUri(v string) *Authorizer { + s.AuthorizerUri = &v + return s +} + +// SetIdentitySource sets the IdentitySource field's value. +func (s *Authorizer) SetIdentitySource(v []*string) *Authorizer { + s.IdentitySource = v + return s +} + +// SetIdentityValidationExpression sets the IdentityValidationExpression field's value. +func (s *Authorizer) SetIdentityValidationExpression(v string) *Authorizer { + s.IdentityValidationExpression = &v + return s +} + +// SetName sets the Name field's value. +func (s *Authorizer) SetName(v string) *Authorizer { + s.Name = &v + return s +} + +// SetProviderArns sets the ProviderArns field's value. +func (s *Authorizer) SetProviderArns(v []*string) *Authorizer { + s.ProviderArns = v + return s +} + +type CreateApiInput struct { + _ struct{} `type:"structure"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"` + + // A string with a length between [1-128]. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // ProtocolType is a required field + ProtocolType *string `locationName:"protocolType" type:"string" required:"true" enum:"ProtocolType"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + // + // RouteSelectionExpression is a required field + RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string" required:"true"` + + // A string with a length between [1-64]. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s CreateApiInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApiInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateApiInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateApiInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ProtocolType == nil { + invalidParams.Add(request.NewErrParamRequired("ProtocolType")) + } + if s.RouteSelectionExpression == nil { + invalidParams.Add(request.NewErrParamRequired("RouteSelectionExpression")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value. +func (s *CreateApiInput) SetApiKeySelectionExpression(v string) *CreateApiInput { + s.ApiKeySelectionExpression = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateApiInput) SetDescription(v string) *CreateApiInput { + s.Description = &v + return s +} + +// SetDisableSchemaValidation sets the DisableSchemaValidation field's value. +func (s *CreateApiInput) SetDisableSchemaValidation(v bool) *CreateApiInput { + s.DisableSchemaValidation = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateApiInput) SetName(v string) *CreateApiInput { + s.Name = &v + return s +} + +// SetProtocolType sets the ProtocolType field's value. +func (s *CreateApiInput) SetProtocolType(v string) *CreateApiInput { + s.ProtocolType = &v + return s +} + +// SetRouteSelectionExpression sets the RouteSelectionExpression field's value. +func (s *CreateApiInput) SetRouteSelectionExpression(v string) *CreateApiInput { + s.RouteSelectionExpression = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *CreateApiInput) SetVersion(v string) *CreateApiInput { + s.Version = &v + return s +} + +type CreateApiMappingInput struct { + _ struct{} `type:"structure"` + + // The identifier. + // + // ApiId is a required field + ApiId *string `locationName:"apiId" type:"string" required:"true"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + ApiMappingKey *string `locationName:"apiMappingKey" type:"string"` + + // DomainName is a required field + DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"` + + // A string with a length between [1-128]. + // + // Stage is a required field + Stage *string `locationName:"stage" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateApiMappingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApiMappingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateApiMappingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateApiMappingInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + if s.Stage == nil { + invalidParams.Add(request.NewErrParamRequired("Stage")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *CreateApiMappingInput) SetApiId(v string) *CreateApiMappingInput { + s.ApiId = &v + return s +} + +// SetApiMappingKey sets the ApiMappingKey field's value. +func (s *CreateApiMappingInput) SetApiMappingKey(v string) *CreateApiMappingInput { + s.ApiMappingKey = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *CreateApiMappingInput) SetDomainName(v string) *CreateApiMappingInput { + s.DomainName = &v + return s +} + +// SetStage sets the Stage field's value. +func (s *CreateApiMappingInput) SetStage(v string) *CreateApiMappingInput { + s.Stage = &v + return s +} + +type CreateApiMappingOutput struct { + _ struct{} `type:"structure"` + + // The identifier. + ApiId *string `locationName:"apiId" type:"string"` + + // The identifier. + ApiMappingId *string `locationName:"apiMappingId" type:"string"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + ApiMappingKey *string `locationName:"apiMappingKey" type:"string"` + + // A string with a length between [1-128]. + Stage *string `locationName:"stage" type:"string"` +} + +// String returns the string representation +func (s CreateApiMappingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApiMappingOutput) GoString() string { + return s.String() +} + +// SetApiId sets the ApiId field's value. +func (s *CreateApiMappingOutput) SetApiId(v string) *CreateApiMappingOutput { + s.ApiId = &v + return s +} + +// SetApiMappingId sets the ApiMappingId field's value. +func (s *CreateApiMappingOutput) SetApiMappingId(v string) *CreateApiMappingOutput { + s.ApiMappingId = &v + return s +} + +// SetApiMappingKey sets the ApiMappingKey field's value. +func (s *CreateApiMappingOutput) SetApiMappingKey(v string) *CreateApiMappingOutput { + s.ApiMappingKey = &v + return s +} + +// SetStage sets the Stage field's value. +func (s *CreateApiMappingOutput) SetStage(v string) *CreateApiMappingOutput { + s.Stage = &v + return s +} + +type CreateApiOutput struct { + _ struct{} `type:"structure"` + + ApiEndpoint *string `locationName:"apiEndpoint" type:"string"` + + // The identifier. + ApiId *string `locationName:"apiId" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"` + + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"` + + // A string with a length between [1-128]. + Name *string `locationName:"name" type:"string"` + + ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"` + + // A string with a length between [1-64]. + Version *string `locationName:"version" type:"string"` + + Warnings []*string `locationName:"warnings" type:"list"` +} + +// String returns the string representation +func (s CreateApiOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApiOutput) GoString() string { + return s.String() +} + +// SetApiEndpoint sets the ApiEndpoint field's value. +func (s *CreateApiOutput) SetApiEndpoint(v string) *CreateApiOutput { + s.ApiEndpoint = &v + return s +} + +// SetApiId sets the ApiId field's value. +func (s *CreateApiOutput) SetApiId(v string) *CreateApiOutput { + s.ApiId = &v + return s +} + +// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value. +func (s *CreateApiOutput) SetApiKeySelectionExpression(v string) *CreateApiOutput { + s.ApiKeySelectionExpression = &v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *CreateApiOutput) SetCreatedDate(v time.Time) *CreateApiOutput { + s.CreatedDate = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateApiOutput) SetDescription(v string) *CreateApiOutput { + s.Description = &v + return s +} + +// SetDisableSchemaValidation sets the DisableSchemaValidation field's value. +func (s *CreateApiOutput) SetDisableSchemaValidation(v bool) *CreateApiOutput { + s.DisableSchemaValidation = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateApiOutput) SetName(v string) *CreateApiOutput { + s.Name = &v + return s +} + +// SetProtocolType sets the ProtocolType field's value. +func (s *CreateApiOutput) SetProtocolType(v string) *CreateApiOutput { + s.ProtocolType = &v + return s +} + +// SetRouteSelectionExpression sets the RouteSelectionExpression field's value. +func (s *CreateApiOutput) SetRouteSelectionExpression(v string) *CreateApiOutput { + s.RouteSelectionExpression = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *CreateApiOutput) SetVersion(v string) *CreateApiOutput { + s.Version = &v + return s +} + +// SetWarnings sets the Warnings field's value. +func (s *CreateApiOutput) SetWarnings(v []*string) *CreateApiOutput { + s.Warnings = v + return s +} + +type CreateAuthorizerInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // Represents an Amazon Resource Name (ARN). + AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"` + + // An integer with a value between [0-3600]. + AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"` + + // The authorizer type. Currently the only valid value is REQUEST, for a Lambda + // function using incoming request parameters. + // + // AuthorizerType is a required field + AuthorizerType *string `locationName:"authorizerType" type:"string" required:"true" enum:"AuthorizerType"` + + // A string representation of a URI with a length between [1-2048]. + // + // AuthorizerUri is a required field + AuthorizerUri *string `locationName:"authorizerUri" type:"string" required:"true"` + + // The identity source for which authorization is requested. For the REQUEST + // authorizer, this is required when authorization caching is enabled. The value + // is a comma-separated string of one or more mapping expressions of the specified + // request parameters. For example, if an Auth header, a Name query string parameter + // are defined as identity sources, this value is $method.request.header.Auth, + // $method.request.querystring.Name. These parameters will be used to derive + // the authorization caching key and to perform runtime validation of the REQUEST + // authorizer by verifying all of the identity-related request parameters are + // present, not null and non-empty. Only when this is true does the authorizer + // invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized + // response without calling the Lambda function. The valid value is a string + // of comma-separated mapping expressions of the specified request parameters. + // When the authorization caching is not enabled, this property is optional. + // + // IdentitySource is a required field + IdentitySource []*string `locationName:"identitySource" type:"list" required:"true"` + + // A string with a length between [0-1024]. + IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"` + + // A string with a length between [1-128]. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // For REQUEST authorizer, this is not defined. + ProviderArns []*string `locationName:"providerArns" type:"list"` +} + +// String returns the string representation +func (s CreateAuthorizerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAuthorizerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAuthorizerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAuthorizerInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.AuthorizerType == nil { + invalidParams.Add(request.NewErrParamRequired("AuthorizerType")) + } + if s.AuthorizerUri == nil { + invalidParams.Add(request.NewErrParamRequired("AuthorizerUri")) + } + if s.IdentitySource == nil { + invalidParams.Add(request.NewErrParamRequired("IdentitySource")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *CreateAuthorizerInput) SetApiId(v string) *CreateAuthorizerInput { + s.ApiId = &v + return s +} + +// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value. +func (s *CreateAuthorizerInput) SetAuthorizerCredentialsArn(v string) *CreateAuthorizerInput { + s.AuthorizerCredentialsArn = &v + return s +} + +// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value. +func (s *CreateAuthorizerInput) SetAuthorizerResultTtlInSeconds(v int64) *CreateAuthorizerInput { + s.AuthorizerResultTtlInSeconds = &v + return s +} + +// SetAuthorizerType sets the AuthorizerType field's value. +func (s *CreateAuthorizerInput) SetAuthorizerType(v string) *CreateAuthorizerInput { + s.AuthorizerType = &v + return s +} + +// SetAuthorizerUri sets the AuthorizerUri field's value. +func (s *CreateAuthorizerInput) SetAuthorizerUri(v string) *CreateAuthorizerInput { + s.AuthorizerUri = &v + return s +} + +// SetIdentitySource sets the IdentitySource field's value. +func (s *CreateAuthorizerInput) SetIdentitySource(v []*string) *CreateAuthorizerInput { + s.IdentitySource = v + return s +} + +// SetIdentityValidationExpression sets the IdentityValidationExpression field's value. +func (s *CreateAuthorizerInput) SetIdentityValidationExpression(v string) *CreateAuthorizerInput { + s.IdentityValidationExpression = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateAuthorizerInput) SetName(v string) *CreateAuthorizerInput { + s.Name = &v + return s +} + +// SetProviderArns sets the ProviderArns field's value. +func (s *CreateAuthorizerInput) SetProviderArns(v []*string) *CreateAuthorizerInput { + s.ProviderArns = v + return s +} + +type CreateAuthorizerOutput struct { + _ struct{} `type:"structure"` + + // Represents an Amazon Resource Name (ARN). + AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"` + + // The identifier. + AuthorizerId *string `locationName:"authorizerId" type:"string"` + + // An integer with a value between [0-3600]. + AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"` + + // The authorizer type. Currently the only valid value is REQUEST, for a Lambda + // function using incoming request parameters. + AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"` + + // A string representation of a URI with a length between [1-2048]. + AuthorizerUri *string `locationName:"authorizerUri" type:"string"` + + // The identity source for which authorization is requested. For the REQUEST + // authorizer, this is required when authorization caching is enabled. The value + // is a comma-separated string of one or more mapping expressions of the specified + // request parameters. For example, if an Auth header, a Name query string parameter + // are defined as identity sources, this value is $method.request.header.Auth, + // $method.request.querystring.Name. These parameters will be used to derive + // the authorization caching key and to perform runtime validation of the REQUEST + // authorizer by verifying all of the identity-related request parameters are + // present, not null and non-empty. Only when this is true does the authorizer + // invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized + // response without calling the Lambda function. The valid value is a string + // of comma-separated mapping expressions of the specified request parameters. + // When the authorization caching is not enabled, this property is optional. + IdentitySource []*string `locationName:"identitySource" type:"list"` + + // A string with a length between [0-1024]. + IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"` + + // A string with a length between [1-128]. + Name *string `locationName:"name" type:"string"` + + // For REQUEST authorizer, this is not defined. + ProviderArns []*string `locationName:"providerArns" type:"list"` +} + +// String returns the string representation +func (s CreateAuthorizerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAuthorizerOutput) GoString() string { + return s.String() +} + +// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value. +func (s *CreateAuthorizerOutput) SetAuthorizerCredentialsArn(v string) *CreateAuthorizerOutput { + s.AuthorizerCredentialsArn = &v + return s +} + +// SetAuthorizerId sets the AuthorizerId field's value. +func (s *CreateAuthorizerOutput) SetAuthorizerId(v string) *CreateAuthorizerOutput { + s.AuthorizerId = &v + return s +} + +// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value. +func (s *CreateAuthorizerOutput) SetAuthorizerResultTtlInSeconds(v int64) *CreateAuthorizerOutput { + s.AuthorizerResultTtlInSeconds = &v + return s +} + +// SetAuthorizerType sets the AuthorizerType field's value. +func (s *CreateAuthorizerOutput) SetAuthorizerType(v string) *CreateAuthorizerOutput { + s.AuthorizerType = &v + return s +} + +// SetAuthorizerUri sets the AuthorizerUri field's value. +func (s *CreateAuthorizerOutput) SetAuthorizerUri(v string) *CreateAuthorizerOutput { + s.AuthorizerUri = &v + return s +} + +// SetIdentitySource sets the IdentitySource field's value. +func (s *CreateAuthorizerOutput) SetIdentitySource(v []*string) *CreateAuthorizerOutput { + s.IdentitySource = v + return s +} + +// SetIdentityValidationExpression sets the IdentityValidationExpression field's value. +func (s *CreateAuthorizerOutput) SetIdentityValidationExpression(v string) *CreateAuthorizerOutput { + s.IdentityValidationExpression = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateAuthorizerOutput) SetName(v string) *CreateAuthorizerOutput { + s.Name = &v + return s +} + +// SetProviderArns sets the ProviderArns field's value. +func (s *CreateAuthorizerOutput) SetProviderArns(v []*string) *CreateAuthorizerOutput { + s.ProviderArns = v + return s +} + +type CreateDeploymentInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + // A string with a length between [1-128]. + StageName *string `locationName:"stageName" type:"string"` +} + +// String returns the string representation +func (s CreateDeploymentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDeploymentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDeploymentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *CreateDeploymentInput) SetApiId(v string) *CreateDeploymentInput { + s.ApiId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateDeploymentInput) SetDescription(v string) *CreateDeploymentInput { + s.Description = &v + return s +} + +// SetStageName sets the StageName field's value. +func (s *CreateDeploymentInput) SetStageName(v string) *CreateDeploymentInput { + s.StageName = &v + return s +} + +type CreateDeploymentOutput struct { + _ struct{} `type:"structure"` + + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"` + + // The identifier. + DeploymentId *string `locationName:"deploymentId" type:"string"` + + // Represents a deployment status. + DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"` + + DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` +} + +// String returns the string representation +func (s CreateDeploymentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDeploymentOutput) GoString() string { + return s.String() +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *CreateDeploymentOutput) SetCreatedDate(v time.Time) *CreateDeploymentOutput { + s.CreatedDate = &v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutput { + s.DeploymentId = &v + return s +} + +// SetDeploymentStatus sets the DeploymentStatus field's value. +func (s *CreateDeploymentOutput) SetDeploymentStatus(v string) *CreateDeploymentOutput { + s.DeploymentStatus = &v + return s +} + +// SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value. +func (s *CreateDeploymentOutput) SetDeploymentStatusMessage(v string) *CreateDeploymentOutput { + s.DeploymentStatusMessage = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateDeploymentOutput) SetDescription(v string) *CreateDeploymentOutput { + s.Description = &v + return s +} + +type CreateDomainNameInput struct { + _ struct{} `type:"structure"` + + // A string with a length between [1-512]. + // + // DomainName is a required field + DomainName *string `locationName:"domainName" type:"string" required:"true"` + + // The domain name configurations. + DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"` +} + +// String returns the string representation +func (s CreateDomainNameInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDomainNameInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDomainNameInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDomainNameInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *CreateDomainNameInput) SetDomainName(v string) *CreateDomainNameInput { + s.DomainName = &v + return s +} + +// SetDomainNameConfigurations sets the DomainNameConfigurations field's value. +func (s *CreateDomainNameInput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *CreateDomainNameInput { + s.DomainNameConfigurations = v + return s +} + +type CreateDomainNameOutput struct { + _ struct{} `type:"structure"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"` + + // A string with a length between [1-512]. + DomainName *string `locationName:"domainName" type:"string"` + + // The domain name configurations. + DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"` +} + +// String returns the string representation +func (s CreateDomainNameOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDomainNameOutput) GoString() string { + return s.String() +} + +// SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value. +func (s *CreateDomainNameOutput) SetApiMappingSelectionExpression(v string) *CreateDomainNameOutput { + s.ApiMappingSelectionExpression = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *CreateDomainNameOutput) SetDomainName(v string) *CreateDomainNameOutput { + s.DomainName = &v + return s +} + +// SetDomainNameConfigurations sets the DomainNameConfigurations field's value. +func (s *CreateDomainNameOutput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *CreateDomainNameOutput { + s.DomainNameConfigurations = v + return s +} + +type CreateIntegrationInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // A string with a length between [1-1024]. + ConnectionId *string `locationName:"connectionId" type:"string"` + + // Represents a connection type. + ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"` + + // Specifies how to handle response payload content type conversions. + ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"` + + // Represents an Amazon Resource Name (ARN). + CredentialsArn *string `locationName:"credentialsArn" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + // A string with a length between [1-64]. + IntegrationMethod *string `locationName:"integrationMethod" type:"string"` + + // Represents an API method integration type. + // + // IntegrationType is a required field + IntegrationType *string `locationName:"integrationType" type:"string" required:"true" enum:"IntegrationType"` + + // A string representation of a URI with a length between [1-2048]. + IntegrationUri *string `locationName:"integrationUri" type:"string"` + + // Represents passthrough behavior for an integration response. + PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"` + + // A key-value map specifying response parameters that are passed to the method + // response from the backend. The key is a method response header parameter + // name and the mapped value is an integration response header value, a static + // value enclosed within a pair of single quotes, or a JSON expression from + // the integration response body. The mapping key must match the pattern of + // method.response.header.{name}, where name is a valid and unique header name. + // The mapped non-static value must match the pattern of integration.response.header.{name} + // or integration.response.body.{JSON-expression}, where name is a valid and + // unique response header name and JSON-expression is a valid JSON expression + // without the $ prefix. + RequestParameters map[string]*string `locationName:"requestParameters" type:"map"` + + // A mapping of identifier keys to templates. The value is an actual template + // script. The key is typically a SelectionKey which is chosen based on evaluating + // a selection expression. + RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"` + + // An integer with a value between [50-29000]. + TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"` +} + +// String returns the string representation +func (s CreateIntegrationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIntegrationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateIntegrationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateIntegrationInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.IntegrationType == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationType")) + } + if s.TimeoutInMillis != nil && *s.TimeoutInMillis < 50 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutInMillis", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *CreateIntegrationInput) SetApiId(v string) *CreateIntegrationInput { + s.ApiId = &v + return s +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *CreateIntegrationInput) SetConnectionId(v string) *CreateIntegrationInput { + s.ConnectionId = &v + return s +} + +// SetConnectionType sets the ConnectionType field's value. +func (s *CreateIntegrationInput) SetConnectionType(v string) *CreateIntegrationInput { + s.ConnectionType = &v + return s +} + +// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value. +func (s *CreateIntegrationInput) SetContentHandlingStrategy(v string) *CreateIntegrationInput { + s.ContentHandlingStrategy = &v + return s +} + +// SetCredentialsArn sets the CredentialsArn field's value. +func (s *CreateIntegrationInput) SetCredentialsArn(v string) *CreateIntegrationInput { + s.CredentialsArn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateIntegrationInput) SetDescription(v string) *CreateIntegrationInput { + s.Description = &v + return s +} + +// SetIntegrationMethod sets the IntegrationMethod field's value. +func (s *CreateIntegrationInput) SetIntegrationMethod(v string) *CreateIntegrationInput { + s.IntegrationMethod = &v + return s +} + +// SetIntegrationType sets the IntegrationType field's value. +func (s *CreateIntegrationInput) SetIntegrationType(v string) *CreateIntegrationInput { + s.IntegrationType = &v + return s +} + +// SetIntegrationUri sets the IntegrationUri field's value. +func (s *CreateIntegrationInput) SetIntegrationUri(v string) *CreateIntegrationInput { + s.IntegrationUri = &v + return s +} + +// SetPassthroughBehavior sets the PassthroughBehavior field's value. +func (s *CreateIntegrationInput) SetPassthroughBehavior(v string) *CreateIntegrationInput { + s.PassthroughBehavior = &v + return s +} + +// SetRequestParameters sets the RequestParameters field's value. +func (s *CreateIntegrationInput) SetRequestParameters(v map[string]*string) *CreateIntegrationInput { + s.RequestParameters = v + return s +} + +// SetRequestTemplates sets the RequestTemplates field's value. +func (s *CreateIntegrationInput) SetRequestTemplates(v map[string]*string) *CreateIntegrationInput { + s.RequestTemplates = v + return s +} + +// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value. +func (s *CreateIntegrationInput) SetTemplateSelectionExpression(v string) *CreateIntegrationInput { + s.TemplateSelectionExpression = &v + return s +} + +// SetTimeoutInMillis sets the TimeoutInMillis field's value. +func (s *CreateIntegrationInput) SetTimeoutInMillis(v int64) *CreateIntegrationInput { + s.TimeoutInMillis = &v + return s +} + +type CreateIntegrationOutput struct { + _ struct{} `type:"structure"` + + // A string with a length between [1-1024]. + ConnectionId *string `locationName:"connectionId" type:"string"` + + // Represents a connection type. + ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"` + + // Specifies how to handle response payload content type conversions. + ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"` + + // Represents an Amazon Resource Name (ARN). + CredentialsArn *string `locationName:"credentialsArn" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + // The identifier. + IntegrationId *string `locationName:"integrationId" type:"string"` + + // A string with a length between [1-64]. + IntegrationMethod *string `locationName:"integrationMethod" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"` + + // Represents an API method integration type. + IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"` + + // A string representation of a URI with a length between [1-2048]. + IntegrationUri *string `locationName:"integrationUri" type:"string"` + + // Represents passthrough behavior for an integration response. + PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"` + + // A key-value map specifying response parameters that are passed to the method + // response from the backend. The key is a method response header parameter + // name and the mapped value is an integration response header value, a static + // value enclosed within a pair of single quotes, or a JSON expression from + // the integration response body. The mapping key must match the pattern of + // method.response.header.{name}, where name is a valid and unique header name. + // The mapped non-static value must match the pattern of integration.response.header.{name} + // or integration.response.body.{JSON-expression}, where name is a valid and + // unique response header name and JSON-expression is a valid JSON expression + // without the $ prefix. + RequestParameters map[string]*string `locationName:"requestParameters" type:"map"` + + // A mapping of identifier keys to templates. The value is an actual template + // script. The key is typically a SelectionKey which is chosen based on evaluating + // a selection expression. + RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"` + + // An integer with a value between [50-29000]. + TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"` +} + +// String returns the string representation +func (s CreateIntegrationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIntegrationOutput) GoString() string { + return s.String() +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *CreateIntegrationOutput) SetConnectionId(v string) *CreateIntegrationOutput { + s.ConnectionId = &v + return s +} + +// SetConnectionType sets the ConnectionType field's value. +func (s *CreateIntegrationOutput) SetConnectionType(v string) *CreateIntegrationOutput { + s.ConnectionType = &v + return s +} + +// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value. +func (s *CreateIntegrationOutput) SetContentHandlingStrategy(v string) *CreateIntegrationOutput { + s.ContentHandlingStrategy = &v + return s +} + +// SetCredentialsArn sets the CredentialsArn field's value. +func (s *CreateIntegrationOutput) SetCredentialsArn(v string) *CreateIntegrationOutput { + s.CredentialsArn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateIntegrationOutput) SetDescription(v string) *CreateIntegrationOutput { + s.Description = &v + return s +} + +// SetIntegrationId sets the IntegrationId field's value. +func (s *CreateIntegrationOutput) SetIntegrationId(v string) *CreateIntegrationOutput { + s.IntegrationId = &v + return s +} + +// SetIntegrationMethod sets the IntegrationMethod field's value. +func (s *CreateIntegrationOutput) SetIntegrationMethod(v string) *CreateIntegrationOutput { + s.IntegrationMethod = &v + return s +} + +// SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value. +func (s *CreateIntegrationOutput) SetIntegrationResponseSelectionExpression(v string) *CreateIntegrationOutput { + s.IntegrationResponseSelectionExpression = &v + return s +} + +// SetIntegrationType sets the IntegrationType field's value. +func (s *CreateIntegrationOutput) SetIntegrationType(v string) *CreateIntegrationOutput { + s.IntegrationType = &v + return s +} + +// SetIntegrationUri sets the IntegrationUri field's value. +func (s *CreateIntegrationOutput) SetIntegrationUri(v string) *CreateIntegrationOutput { + s.IntegrationUri = &v + return s +} + +// SetPassthroughBehavior sets the PassthroughBehavior field's value. +func (s *CreateIntegrationOutput) SetPassthroughBehavior(v string) *CreateIntegrationOutput { + s.PassthroughBehavior = &v + return s +} + +// SetRequestParameters sets the RequestParameters field's value. +func (s *CreateIntegrationOutput) SetRequestParameters(v map[string]*string) *CreateIntegrationOutput { + s.RequestParameters = v + return s +} + +// SetRequestTemplates sets the RequestTemplates field's value. +func (s *CreateIntegrationOutput) SetRequestTemplates(v map[string]*string) *CreateIntegrationOutput { + s.RequestTemplates = v + return s +} + +// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value. +func (s *CreateIntegrationOutput) SetTemplateSelectionExpression(v string) *CreateIntegrationOutput { + s.TemplateSelectionExpression = &v + return s +} + +// SetTimeoutInMillis sets the TimeoutInMillis field's value. +func (s *CreateIntegrationOutput) SetTimeoutInMillis(v int64) *CreateIntegrationOutput { + s.TimeoutInMillis = &v + return s +} + +type CreateIntegrationResponseInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // Specifies how to handle response payload content type conversions. + ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"` + + // IntegrationId is a required field + IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + // + // IntegrationResponseKey is a required field + IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string" required:"true"` + + // A key-value map specifying response parameters that are passed to the method + // response from the backend. The key is a method response header parameter + // name and the mapped value is an integration response header value, a static + // value enclosed within a pair of single quotes, or a JSON expression from + // the integration response body. The mapping key must match the pattern of + // method.response.header.{name}, where name is a valid and unique header name. + // The mapped non-static value must match the pattern of integration.response.header.{name} + // or integration.response.body.{JSON-expression}, where name is a valid and + // unique response header name and JSON-expression is a valid JSON expression + // without the $ prefix. + ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"` + + // A mapping of identifier keys to templates. The value is an actual template + // script. The key is typically a SelectionKey which is chosen based on evaluating + // a selection expression. + ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"` +} + +// String returns the string representation +func (s CreateIntegrationResponseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIntegrationResponseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateIntegrationResponseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateIntegrationResponseInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.IntegrationId == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationId")) + } + if s.IntegrationId != nil && len(*s.IntegrationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1)) + } + if s.IntegrationResponseKey == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationResponseKey")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *CreateIntegrationResponseInput) SetApiId(v string) *CreateIntegrationResponseInput { + s.ApiId = &v + return s +} + +// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value. +func (s *CreateIntegrationResponseInput) SetContentHandlingStrategy(v string) *CreateIntegrationResponseInput { + s.ContentHandlingStrategy = &v + return s +} + +// SetIntegrationId sets the IntegrationId field's value. +func (s *CreateIntegrationResponseInput) SetIntegrationId(v string) *CreateIntegrationResponseInput { + s.IntegrationId = &v + return s +} + +// SetIntegrationResponseKey sets the IntegrationResponseKey field's value. +func (s *CreateIntegrationResponseInput) SetIntegrationResponseKey(v string) *CreateIntegrationResponseInput { + s.IntegrationResponseKey = &v + return s +} + +// SetResponseParameters sets the ResponseParameters field's value. +func (s *CreateIntegrationResponseInput) SetResponseParameters(v map[string]*string) *CreateIntegrationResponseInput { + s.ResponseParameters = v + return s +} + +// SetResponseTemplates sets the ResponseTemplates field's value. +func (s *CreateIntegrationResponseInput) SetResponseTemplates(v map[string]*string) *CreateIntegrationResponseInput { + s.ResponseTemplates = v + return s +} + +// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value. +func (s *CreateIntegrationResponseInput) SetTemplateSelectionExpression(v string) *CreateIntegrationResponseInput { + s.TemplateSelectionExpression = &v + return s +} + +type CreateIntegrationResponseOutput struct { + _ struct{} `type:"structure"` + + // Specifies how to handle response payload content type conversions. + ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"` + + // The identifier. + IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"` + + // A key-value map specifying response parameters that are passed to the method + // response from the backend. The key is a method response header parameter + // name and the mapped value is an integration response header value, a static + // value enclosed within a pair of single quotes, or a JSON expression from + // the integration response body. The mapping key must match the pattern of + // method.response.header.{name}, where name is a valid and unique header name. + // The mapped non-static value must match the pattern of integration.response.header.{name} + // or integration.response.body.{JSON-expression}, where name is a valid and + // unique response header name and JSON-expression is a valid JSON expression + // without the $ prefix. + ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"` + + // A mapping of identifier keys to templates. The value is an actual template + // script. The key is typically a SelectionKey which is chosen based on evaluating + // a selection expression. + ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"` +} + +// String returns the string representation +func (s CreateIntegrationResponseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIntegrationResponseOutput) GoString() string { + return s.String() +} + +// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value. +func (s *CreateIntegrationResponseOutput) SetContentHandlingStrategy(v string) *CreateIntegrationResponseOutput { + s.ContentHandlingStrategy = &v + return s +} + +// SetIntegrationResponseId sets the IntegrationResponseId field's value. +func (s *CreateIntegrationResponseOutput) SetIntegrationResponseId(v string) *CreateIntegrationResponseOutput { + s.IntegrationResponseId = &v + return s +} + +// SetIntegrationResponseKey sets the IntegrationResponseKey field's value. +func (s *CreateIntegrationResponseOutput) SetIntegrationResponseKey(v string) *CreateIntegrationResponseOutput { + s.IntegrationResponseKey = &v + return s +} + +// SetResponseParameters sets the ResponseParameters field's value. +func (s *CreateIntegrationResponseOutput) SetResponseParameters(v map[string]*string) *CreateIntegrationResponseOutput { + s.ResponseParameters = v + return s +} + +// SetResponseTemplates sets the ResponseTemplates field's value. +func (s *CreateIntegrationResponseOutput) SetResponseTemplates(v map[string]*string) *CreateIntegrationResponseOutput { + s.ResponseTemplates = v + return s +} + +// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value. +func (s *CreateIntegrationResponseOutput) SetTemplateSelectionExpression(v string) *CreateIntegrationResponseOutput { + s.TemplateSelectionExpression = &v + return s +} + +type CreateModelInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // A string with a length between [1-256]. + ContentType *string `locationName:"contentType" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + // A string with a length between [1-128]. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // A string with a length between [0-32768]. + // + // Schema is a required field + Schema *string `locationName:"schema" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateModelInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Schema == nil { + invalidParams.Add(request.NewErrParamRequired("Schema")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *CreateModelInput) SetApiId(v string) *CreateModelInput { + s.ApiId = &v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *CreateModelInput) SetContentType(v string) *CreateModelInput { + s.ContentType = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateModelInput) SetDescription(v string) *CreateModelInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateModelInput) SetName(v string) *CreateModelInput { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *CreateModelInput) SetSchema(v string) *CreateModelInput { + s.Schema = &v + return s +} + +type CreateModelOutput struct { + _ struct{} `type:"structure"` + + // A string with a length between [1-256]. + ContentType *string `locationName:"contentType" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + // The identifier. + ModelId *string `locationName:"modelId" type:"string"` + + // A string with a length between [1-128]. + Name *string `locationName:"name" type:"string"` + + // A string with a length between [0-32768]. + Schema *string `locationName:"schema" type:"string"` +} + +// String returns the string representation +func (s CreateModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateModelOutput) GoString() string { + return s.String() +} + +// SetContentType sets the ContentType field's value. +func (s *CreateModelOutput) SetContentType(v string) *CreateModelOutput { + s.ContentType = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateModelOutput) SetDescription(v string) *CreateModelOutput { + s.Description = &v + return s +} + +// SetModelId sets the ModelId field's value. +func (s *CreateModelOutput) SetModelId(v string) *CreateModelOutput { + s.ModelId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateModelOutput) SetName(v string) *CreateModelOutput { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *CreateModelOutput) SetSchema(v string) *CreateModelOutput { + s.Schema = &v + return s +} + +type CreateRouteInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"` + + // A list of authorization scopes configured on a route. The scopes are used + // with a COGNITO_USER_POOLS authorizer to authorize the method invocation. + // The authorization works by matching the route scopes against the scopes parsed + // from the access token in the incoming request. The method invocation is authorized + // if any route scope matches a claimed scope in the access token. Otherwise, + // the invocation is not authorized. When the route scope is configured, the + // client must provide an access token instead of an identity token for authorization + // purposes. + AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"` + + // The authorization type. Valid values are NONE for open access, AWS_IAM for + // using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. + AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"` + + // The identifier. + AuthorizerId *string `locationName:"authorizerId" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"` + + // A string with a length between [1-64]. + OperationName *string `locationName:"operationName" type:"string"` + + // The route models. + RequestModels map[string]*string `locationName:"requestModels" type:"map"` + + // The route parameters. + RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + // + // RouteKey is a required field + RouteKey *string `locationName:"routeKey" type:"string" required:"true"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"` + + // A string with a length between [1-128]. + Target *string `locationName:"target" type:"string"` +} + +// String returns the string representation +func (s CreateRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.RouteKey == nil { + invalidParams.Add(request.NewErrParamRequired("RouteKey")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *CreateRouteInput) SetApiId(v string) *CreateRouteInput { + s.ApiId = &v + return s +} + +// SetApiKeyRequired sets the ApiKeyRequired field's value. +func (s *CreateRouteInput) SetApiKeyRequired(v bool) *CreateRouteInput { + s.ApiKeyRequired = &v + return s +} + +// SetAuthorizationScopes sets the AuthorizationScopes field's value. +func (s *CreateRouteInput) SetAuthorizationScopes(v []*string) *CreateRouteInput { + s.AuthorizationScopes = v + return s +} + +// SetAuthorizationType sets the AuthorizationType field's value. +func (s *CreateRouteInput) SetAuthorizationType(v string) *CreateRouteInput { + s.AuthorizationType = &v + return s +} + +// SetAuthorizerId sets the AuthorizerId field's value. +func (s *CreateRouteInput) SetAuthorizerId(v string) *CreateRouteInput { + s.AuthorizerId = &v + return s +} + +// SetModelSelectionExpression sets the ModelSelectionExpression field's value. +func (s *CreateRouteInput) SetModelSelectionExpression(v string) *CreateRouteInput { + s.ModelSelectionExpression = &v + return s +} + +// SetOperationName sets the OperationName field's value. +func (s *CreateRouteInput) SetOperationName(v string) *CreateRouteInput { + s.OperationName = &v + return s +} + +// SetRequestModels sets the RequestModels field's value. +func (s *CreateRouteInput) SetRequestModels(v map[string]*string) *CreateRouteInput { + s.RequestModels = v + return s +} + +// SetRequestParameters sets the RequestParameters field's value. +func (s *CreateRouteInput) SetRequestParameters(v map[string]*ParameterConstraints) *CreateRouteInput { + s.RequestParameters = v + return s +} + +// SetRouteKey sets the RouteKey field's value. +func (s *CreateRouteInput) SetRouteKey(v string) *CreateRouteInput { + s.RouteKey = &v + return s +} + +// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value. +func (s *CreateRouteInput) SetRouteResponseSelectionExpression(v string) *CreateRouteInput { + s.RouteResponseSelectionExpression = &v + return s +} + +// SetTarget sets the Target field's value. +func (s *CreateRouteInput) SetTarget(v string) *CreateRouteInput { + s.Target = &v + return s +} + +type CreateRouteOutput struct { + _ struct{} `type:"structure"` + + ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"` + + // A list of authorization scopes configured on a route. The scopes are used + // with a COGNITO_USER_POOLS authorizer to authorize the method invocation. + // The authorization works by matching the route scopes against the scopes parsed + // from the access token in the incoming request. The method invocation is authorized + // if any route scope matches a claimed scope in the access token. Otherwise, + // the invocation is not authorized. When the route scope is configured, the + // client must provide an access token instead of an identity token for authorization + // purposes. + AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"` + + // The authorization type. Valid values are NONE for open access, AWS_IAM for + // using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. + AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"` + + // The identifier. + AuthorizerId *string `locationName:"authorizerId" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"` + + // A string with a length between [1-64]. + OperationName *string `locationName:"operationName" type:"string"` + + // The route models. + RequestModels map[string]*string `locationName:"requestModels" type:"map"` + + // The route parameters. + RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"` + + // The identifier. + RouteId *string `locationName:"routeId" type:"string"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + RouteKey *string `locationName:"routeKey" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"` + + // A string with a length between [1-128]. + Target *string `locationName:"target" type:"string"` +} + +// String returns the string representation +func (s CreateRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRouteOutput) GoString() string { + return s.String() +} + +// SetApiKeyRequired sets the ApiKeyRequired field's value. +func (s *CreateRouteOutput) SetApiKeyRequired(v bool) *CreateRouteOutput { + s.ApiKeyRequired = &v + return s +} + +// SetAuthorizationScopes sets the AuthorizationScopes field's value. +func (s *CreateRouteOutput) SetAuthorizationScopes(v []*string) *CreateRouteOutput { + s.AuthorizationScopes = v + return s +} + +// SetAuthorizationType sets the AuthorizationType field's value. +func (s *CreateRouteOutput) SetAuthorizationType(v string) *CreateRouteOutput { + s.AuthorizationType = &v + return s +} + +// SetAuthorizerId sets the AuthorizerId field's value. +func (s *CreateRouteOutput) SetAuthorizerId(v string) *CreateRouteOutput { + s.AuthorizerId = &v + return s +} + +// SetModelSelectionExpression sets the ModelSelectionExpression field's value. +func (s *CreateRouteOutput) SetModelSelectionExpression(v string) *CreateRouteOutput { + s.ModelSelectionExpression = &v + return s +} + +// SetOperationName sets the OperationName field's value. +func (s *CreateRouteOutput) SetOperationName(v string) *CreateRouteOutput { + s.OperationName = &v + return s +} + +// SetRequestModels sets the RequestModels field's value. +func (s *CreateRouteOutput) SetRequestModels(v map[string]*string) *CreateRouteOutput { + s.RequestModels = v + return s +} + +// SetRequestParameters sets the RequestParameters field's value. +func (s *CreateRouteOutput) SetRequestParameters(v map[string]*ParameterConstraints) *CreateRouteOutput { + s.RequestParameters = v + return s +} + +// SetRouteId sets the RouteId field's value. +func (s *CreateRouteOutput) SetRouteId(v string) *CreateRouteOutput { + s.RouteId = &v + return s +} + +// SetRouteKey sets the RouteKey field's value. +func (s *CreateRouteOutput) SetRouteKey(v string) *CreateRouteOutput { + s.RouteKey = &v + return s +} + +// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value. +func (s *CreateRouteOutput) SetRouteResponseSelectionExpression(v string) *CreateRouteOutput { + s.RouteResponseSelectionExpression = &v + return s +} + +// SetTarget sets the Target field's value. +func (s *CreateRouteOutput) SetTarget(v string) *CreateRouteOutput { + s.Target = &v + return s +} + +type CreateRouteResponseInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"` + + // The route models. + ResponseModels map[string]*string `locationName:"responseModels" type:"map"` + + // The route parameters. + ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"` + + // RouteId is a required field + RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + // + // RouteResponseKey is a required field + RouteResponseKey *string `locationName:"routeResponseKey" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateRouteResponseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRouteResponseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRouteResponseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRouteResponseInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.RouteId == nil { + invalidParams.Add(request.NewErrParamRequired("RouteId")) + } + if s.RouteId != nil && len(*s.RouteId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteId", 1)) + } + if s.RouteResponseKey == nil { + invalidParams.Add(request.NewErrParamRequired("RouteResponseKey")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *CreateRouteResponseInput) SetApiId(v string) *CreateRouteResponseInput { + s.ApiId = &v + return s +} + +// SetModelSelectionExpression sets the ModelSelectionExpression field's value. +func (s *CreateRouteResponseInput) SetModelSelectionExpression(v string) *CreateRouteResponseInput { + s.ModelSelectionExpression = &v + return s +} + +// SetResponseModels sets the ResponseModels field's value. +func (s *CreateRouteResponseInput) SetResponseModels(v map[string]*string) *CreateRouteResponseInput { + s.ResponseModels = v + return s +} + +// SetResponseParameters sets the ResponseParameters field's value. +func (s *CreateRouteResponseInput) SetResponseParameters(v map[string]*ParameterConstraints) *CreateRouteResponseInput { + s.ResponseParameters = v + return s +} + +// SetRouteId sets the RouteId field's value. +func (s *CreateRouteResponseInput) SetRouteId(v string) *CreateRouteResponseInput { + s.RouteId = &v + return s +} + +// SetRouteResponseKey sets the RouteResponseKey field's value. +func (s *CreateRouteResponseInput) SetRouteResponseKey(v string) *CreateRouteResponseInput { + s.RouteResponseKey = &v + return s +} + +type CreateRouteResponseOutput struct { + _ struct{} `type:"structure"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"` + + // The route models. + ResponseModels map[string]*string `locationName:"responseModels" type:"map"` + + // The route parameters. + ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"` + + // The identifier. + RouteResponseId *string `locationName:"routeResponseId" type:"string"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + RouteResponseKey *string `locationName:"routeResponseKey" type:"string"` +} + +// String returns the string representation +func (s CreateRouteResponseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRouteResponseOutput) GoString() string { + return s.String() +} + +// SetModelSelectionExpression sets the ModelSelectionExpression field's value. +func (s *CreateRouteResponseOutput) SetModelSelectionExpression(v string) *CreateRouteResponseOutput { + s.ModelSelectionExpression = &v + return s +} + +// SetResponseModels sets the ResponseModels field's value. +func (s *CreateRouteResponseOutput) SetResponseModels(v map[string]*string) *CreateRouteResponseOutput { + s.ResponseModels = v + return s +} + +// SetResponseParameters sets the ResponseParameters field's value. +func (s *CreateRouteResponseOutput) SetResponseParameters(v map[string]*ParameterConstraints) *CreateRouteResponseOutput { + s.ResponseParameters = v + return s +} + +// SetRouteResponseId sets the RouteResponseId field's value. +func (s *CreateRouteResponseOutput) SetRouteResponseId(v string) *CreateRouteResponseOutput { + s.RouteResponseId = &v + return s +} + +// SetRouteResponseKey sets the RouteResponseKey field's value. +func (s *CreateRouteResponseOutput) SetRouteResponseKey(v string) *CreateRouteResponseOutput { + s.RouteResponseKey = &v + return s +} + +type CreateStageInput struct { + _ struct{} `type:"structure"` + + // Settings for logging access in a stage. + AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // The identifier. + ClientCertificateId *string `locationName:"clientCertificateId" type:"string"` + + // Represents a collection of route settings. + DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"` + + // The identifier. + DeploymentId *string `locationName:"deploymentId" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + // The route settings map. + RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"` + + // A string with a length between [1-128]. + // + // StageName is a required field + StageName *string `locationName:"stageName" type:"string" required:"true"` + + // The stage variable map. + StageVariables map[string]*string `locationName:"stageVariables" type:"map"` +} + +// String returns the string representation +func (s CreateStageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStageInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.StageName == nil { + invalidParams.Add(request.NewErrParamRequired("StageName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessLogSettings sets the AccessLogSettings field's value. +func (s *CreateStageInput) SetAccessLogSettings(v *AccessLogSettings) *CreateStageInput { + s.AccessLogSettings = v + return s +} + +// SetApiId sets the ApiId field's value. +func (s *CreateStageInput) SetApiId(v string) *CreateStageInput { + s.ApiId = &v + return s +} + +// SetClientCertificateId sets the ClientCertificateId field's value. +func (s *CreateStageInput) SetClientCertificateId(v string) *CreateStageInput { + s.ClientCertificateId = &v + return s +} + +// SetDefaultRouteSettings sets the DefaultRouteSettings field's value. +func (s *CreateStageInput) SetDefaultRouteSettings(v *RouteSettings) *CreateStageInput { + s.DefaultRouteSettings = v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *CreateStageInput) SetDeploymentId(v string) *CreateStageInput { + s.DeploymentId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateStageInput) SetDescription(v string) *CreateStageInput { + s.Description = &v + return s +} + +// SetRouteSettings sets the RouteSettings field's value. +func (s *CreateStageInput) SetRouteSettings(v map[string]*RouteSettings) *CreateStageInput { + s.RouteSettings = v + return s +} + +// SetStageName sets the StageName field's value. +func (s *CreateStageInput) SetStageName(v string) *CreateStageInput { + s.StageName = &v + return s +} + +// SetStageVariables sets the StageVariables field's value. +func (s *CreateStageInput) SetStageVariables(v map[string]*string) *CreateStageInput { + s.StageVariables = v + return s +} + +type CreateStageOutput struct { + _ struct{} `type:"structure"` + + // Settings for logging access in a stage. + AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"` + + // The identifier. + ClientCertificateId *string `locationName:"clientCertificateId" type:"string"` + + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"` + + // Represents a collection of route settings. + DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"` + + // The identifier. + DeploymentId *string `locationName:"deploymentId" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"` + + // The route settings map. + RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"` + + // A string with a length between [1-128]. + StageName *string `locationName:"stageName" type:"string"` + + // The stage variable map. + StageVariables map[string]*string `locationName:"stageVariables" type:"map"` +} + +// String returns the string representation +func (s CreateStageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStageOutput) GoString() string { + return s.String() +} + +// SetAccessLogSettings sets the AccessLogSettings field's value. +func (s *CreateStageOutput) SetAccessLogSettings(v *AccessLogSettings) *CreateStageOutput { + s.AccessLogSettings = v + return s +} + +// SetClientCertificateId sets the ClientCertificateId field's value. +func (s *CreateStageOutput) SetClientCertificateId(v string) *CreateStageOutput { + s.ClientCertificateId = &v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *CreateStageOutput) SetCreatedDate(v time.Time) *CreateStageOutput { + s.CreatedDate = &v + return s +} + +// SetDefaultRouteSettings sets the DefaultRouteSettings field's value. +func (s *CreateStageOutput) SetDefaultRouteSettings(v *RouteSettings) *CreateStageOutput { + s.DefaultRouteSettings = v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *CreateStageOutput) SetDeploymentId(v string) *CreateStageOutput { + s.DeploymentId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateStageOutput) SetDescription(v string) *CreateStageOutput { + s.Description = &v + return s +} + +// SetLastUpdatedDate sets the LastUpdatedDate field's value. +func (s *CreateStageOutput) SetLastUpdatedDate(v time.Time) *CreateStageOutput { + s.LastUpdatedDate = &v + return s +} + +// SetRouteSettings sets the RouteSettings field's value. +func (s *CreateStageOutput) SetRouteSettings(v map[string]*RouteSettings) *CreateStageOutput { + s.RouteSettings = v + return s +} + +// SetStageName sets the StageName field's value. +func (s *CreateStageOutput) SetStageName(v string) *CreateStageOutput { + s.StageName = &v + return s +} + +// SetStageVariables sets the StageVariables field's value. +func (s *CreateStageOutput) SetStageVariables(v map[string]*string) *CreateStageOutput { + s.StageVariables = v + return s +} + +type DeleteApiInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteApiInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApiInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApiInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApiInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *DeleteApiInput) SetApiId(v string) *DeleteApiInput { + s.ApiId = &v + return s +} + +type DeleteApiMappingInput struct { + _ struct{} `type:"structure"` + + // ApiMappingId is a required field + ApiMappingId *string `location:"uri" locationName:"apiMappingId" type:"string" required:"true"` + + // DomainName is a required field + DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteApiMappingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApiMappingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApiMappingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApiMappingInput"} + if s.ApiMappingId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiMappingId")) + } + if s.ApiMappingId != nil && len(*s.ApiMappingId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiMappingId", 1)) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiMappingId sets the ApiMappingId field's value. +func (s *DeleteApiMappingInput) SetApiMappingId(v string) *DeleteApiMappingInput { + s.ApiMappingId = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DeleteApiMappingInput) SetDomainName(v string) *DeleteApiMappingInput { + s.DomainName = &v + return s +} + +type DeleteApiMappingOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteApiMappingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApiMappingOutput) GoString() string { + return s.String() +} + +type DeleteApiOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteApiOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApiOutput) GoString() string { + return s.String() +} + +type DeleteAuthorizerInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // AuthorizerId is a required field + AuthorizerId *string `location:"uri" locationName:"authorizerId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAuthorizerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAuthorizerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAuthorizerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAuthorizerInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.AuthorizerId == nil { + invalidParams.Add(request.NewErrParamRequired("AuthorizerId")) + } + if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *DeleteAuthorizerInput) SetApiId(v string) *DeleteAuthorizerInput { + s.ApiId = &v + return s +} + +// SetAuthorizerId sets the AuthorizerId field's value. +func (s *DeleteAuthorizerInput) SetAuthorizerId(v string) *DeleteAuthorizerInput { + s.AuthorizerId = &v + return s +} + +type DeleteAuthorizerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteAuthorizerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAuthorizerOutput) GoString() string { + return s.String() +} + +type DeleteDeploymentInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // DeploymentId is a required field + DeploymentId *string `location:"uri" locationName:"deploymentId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDeploymentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDeploymentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDeploymentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.DeploymentId == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentId")) + } + if s.DeploymentId != nil && len(*s.DeploymentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *DeleteDeploymentInput) SetApiId(v string) *DeleteDeploymentInput { + s.ApiId = &v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *DeleteDeploymentInput) SetDeploymentId(v string) *DeleteDeploymentInput { + s.DeploymentId = &v + return s +} + +type DeleteDeploymentOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDeploymentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDeploymentOutput) GoString() string { + return s.String() +} + +type DeleteDomainNameInput struct { + _ struct{} `type:"structure"` + + // DomainName is a required field + DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDomainNameInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDomainNameInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDomainNameInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDomainNameInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DeleteDomainNameInput) SetDomainName(v string) *DeleteDomainNameInput { + s.DomainName = &v + return s +} + +type DeleteDomainNameOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDomainNameOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDomainNameOutput) GoString() string { + return s.String() +} + +type DeleteIntegrationInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // IntegrationId is a required field + IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteIntegrationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIntegrationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIntegrationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.IntegrationId == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationId")) + } + if s.IntegrationId != nil && len(*s.IntegrationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *DeleteIntegrationInput) SetApiId(v string) *DeleteIntegrationInput { + s.ApiId = &v + return s +} + +// SetIntegrationId sets the IntegrationId field's value. +func (s *DeleteIntegrationInput) SetIntegrationId(v string) *DeleteIntegrationInput { + s.IntegrationId = &v + return s +} + +type DeleteIntegrationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteIntegrationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIntegrationOutput) GoString() string { + return s.String() +} + +type DeleteIntegrationResponseInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // IntegrationId is a required field + IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"` + + // IntegrationResponseId is a required field + IntegrationResponseId *string `location:"uri" locationName:"integrationResponseId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteIntegrationResponseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIntegrationResponseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIntegrationResponseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationResponseInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.IntegrationId == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationId")) + } + if s.IntegrationId != nil && len(*s.IntegrationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1)) + } + if s.IntegrationResponseId == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationResponseId")) + } + if s.IntegrationResponseId != nil && len(*s.IntegrationResponseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationResponseId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *DeleteIntegrationResponseInput) SetApiId(v string) *DeleteIntegrationResponseInput { + s.ApiId = &v + return s +} + +// SetIntegrationId sets the IntegrationId field's value. +func (s *DeleteIntegrationResponseInput) SetIntegrationId(v string) *DeleteIntegrationResponseInput { + s.IntegrationId = &v + return s +} + +// SetIntegrationResponseId sets the IntegrationResponseId field's value. +func (s *DeleteIntegrationResponseInput) SetIntegrationResponseId(v string) *DeleteIntegrationResponseInput { + s.IntegrationResponseId = &v + return s +} + +type DeleteIntegrationResponseOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteIntegrationResponseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIntegrationResponseOutput) GoString() string { + return s.String() +} + +type DeleteModelInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // ModelId is a required field + ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteModelInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.ModelId == nil { + invalidParams.Add(request.NewErrParamRequired("ModelId")) + } + if s.ModelId != nil && len(*s.ModelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *DeleteModelInput) SetApiId(v string) *DeleteModelInput { + s.ApiId = &v + return s +} + +// SetModelId sets the ModelId field's value. +func (s *DeleteModelInput) SetModelId(v string) *DeleteModelInput { + s.ModelId = &v + return s +} + +type DeleteModelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteModelOutput) GoString() string { + return s.String() +} + +type DeleteRouteInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // RouteId is a required field + RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.RouteId == nil { + invalidParams.Add(request.NewErrParamRequired("RouteId")) + } + if s.RouteId != nil && len(*s.RouteId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *DeleteRouteInput) SetApiId(v string) *DeleteRouteInput { + s.ApiId = &v + return s +} + +// SetRouteId sets the RouteId field's value. +func (s *DeleteRouteInput) SetRouteId(v string) *DeleteRouteInput { + s.RouteId = &v + return s +} + +type DeleteRouteOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRouteOutput) GoString() string { + return s.String() +} + +type DeleteRouteResponseInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // RouteId is a required field + RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"` + + // RouteResponseId is a required field + RouteResponseId *string `location:"uri" locationName:"routeResponseId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteRouteResponseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRouteResponseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRouteResponseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRouteResponseInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.RouteId == nil { + invalidParams.Add(request.NewErrParamRequired("RouteId")) + } + if s.RouteId != nil && len(*s.RouteId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteId", 1)) + } + if s.RouteResponseId == nil { + invalidParams.Add(request.NewErrParamRequired("RouteResponseId")) + } + if s.RouteResponseId != nil && len(*s.RouteResponseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteResponseId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *DeleteRouteResponseInput) SetApiId(v string) *DeleteRouteResponseInput { + s.ApiId = &v + return s +} + +// SetRouteId sets the RouteId field's value. +func (s *DeleteRouteResponseInput) SetRouteId(v string) *DeleteRouteResponseInput { + s.RouteId = &v + return s +} + +// SetRouteResponseId sets the RouteResponseId field's value. +func (s *DeleteRouteResponseInput) SetRouteResponseId(v string) *DeleteRouteResponseInput { + s.RouteResponseId = &v + return s +} + +type DeleteRouteResponseOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteRouteResponseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRouteResponseOutput) GoString() string { + return s.String() +} + +type DeleteStageInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // StageName is a required field + StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteStageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStageInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.StageName == nil { + invalidParams.Add(request.NewErrParamRequired("StageName")) + } + if s.StageName != nil && len(*s.StageName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StageName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *DeleteStageInput) SetApiId(v string) *DeleteStageInput { + s.ApiId = &v + return s +} + +// SetStageName sets the StageName field's value. +func (s *DeleteStageInput) SetStageName(v string) *DeleteStageInput { + s.StageName = &v + return s +} + +type DeleteStageOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteStageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStageOutput) GoString() string { + return s.String() +} + +// An immutable representation of an API that can be called by users. A Deployment +// must be associated with a Stage for it to be callable over the internet. +type Deployment struct { + _ struct{} `type:"structure"` + + // The date and time when the Deployment resource was created. + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"` + + // The identifier for the deployment. + DeploymentId *string `locationName:"deploymentId" type:"string"` + + // The status of the deployment: PENDING, FAILED, or SUCCEEDED. + DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"` + + // May contain additional feedback on the status of an API deployment. + DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"` + + // The description for the deployment. + Description *string `locationName:"description" type:"string"` +} + +// String returns the string representation +func (s Deployment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Deployment) GoString() string { + return s.String() +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *Deployment) SetCreatedDate(v time.Time) *Deployment { + s.CreatedDate = &v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *Deployment) SetDeploymentId(v string) *Deployment { + s.DeploymentId = &v + return s +} + +// SetDeploymentStatus sets the DeploymentStatus field's value. +func (s *Deployment) SetDeploymentStatus(v string) *Deployment { + s.DeploymentStatus = &v + return s +} + +// SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value. +func (s *Deployment) SetDeploymentStatusMessage(v string) *Deployment { + s.DeploymentStatusMessage = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Deployment) SetDescription(v string) *Deployment { + s.Description = &v + return s +} + +// Represents a domain name. +type DomainName struct { + _ struct{} `type:"structure"` + + // The API mapping selection expression. + ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"` + + // The name of the DomainName resource. + // + // DomainName is a required field + DomainName *string `locationName:"domainName" type:"string" required:"true"` + + // The domain name configurations. + DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"` +} + +// String returns the string representation +func (s DomainName) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DomainName) GoString() string { + return s.String() +} + +// SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value. +func (s *DomainName) SetApiMappingSelectionExpression(v string) *DomainName { + s.ApiMappingSelectionExpression = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DomainName) SetDomainName(v string) *DomainName { + s.DomainName = &v + return s +} + +// SetDomainNameConfigurations sets the DomainNameConfigurations field's value. +func (s *DomainName) SetDomainNameConfigurations(v []*DomainNameConfiguration) *DomainName { + s.DomainNameConfigurations = v + return s +} + +// The domain name configuration. +type DomainNameConfiguration struct { + _ struct{} `type:"structure"` + + // A domain name for the WebSocket API. + ApiGatewayDomainName *string `locationName:"apiGatewayDomainName" type:"string"` + + // An AWS-managed certificate that will be used by the edge-optimized endpoint + // for this domain name. AWS Certificate Manager is the only supported source. + CertificateArn *string `locationName:"certificateArn" type:"string"` + + // The user-friendly name of the certificate that will be used by the edge-optimized + // endpoint for this domain name. + CertificateName *string `locationName:"certificateName" type:"string"` + + // The timestamp when the certificate that was used by edge-optimized endpoint + // for this domain name was uploaded. + CertificateUploadDate *time.Time `locationName:"certificateUploadDate" type:"timestamp" timestampFormat:"iso8601"` + + // The endpoint type. + EndpointType *string `locationName:"endpointType" type:"string" enum:"EndpointType"` + + // The Amazon Route 53 Hosted Zone ID of the endpoint. + HostedZoneId *string `locationName:"hostedZoneId" type:"string"` +} + +// String returns the string representation +func (s DomainNameConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DomainNameConfiguration) GoString() string { + return s.String() +} + +// SetApiGatewayDomainName sets the ApiGatewayDomainName field's value. +func (s *DomainNameConfiguration) SetApiGatewayDomainName(v string) *DomainNameConfiguration { + s.ApiGatewayDomainName = &v + return s +} + +// SetCertificateArn sets the CertificateArn field's value. +func (s *DomainNameConfiguration) SetCertificateArn(v string) *DomainNameConfiguration { + s.CertificateArn = &v + return s +} + +// SetCertificateName sets the CertificateName field's value. +func (s *DomainNameConfiguration) SetCertificateName(v string) *DomainNameConfiguration { + s.CertificateName = &v + return s +} + +// SetCertificateUploadDate sets the CertificateUploadDate field's value. +func (s *DomainNameConfiguration) SetCertificateUploadDate(v time.Time) *DomainNameConfiguration { + s.CertificateUploadDate = &v + return s +} + +// SetEndpointType sets the EndpointType field's value. +func (s *DomainNameConfiguration) SetEndpointType(v string) *DomainNameConfiguration { + s.EndpointType = &v + return s +} + +// SetHostedZoneId sets the HostedZoneId field's value. +func (s *DomainNameConfiguration) SetHostedZoneId(v string) *DomainNameConfiguration { + s.HostedZoneId = &v + return s +} + +type GetApiInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetApiInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApiInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApiInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApiInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetApiInput) SetApiId(v string) *GetApiInput { + s.ApiId = &v + return s +} + +type GetApiMappingInput struct { + _ struct{} `type:"structure"` + + // ApiMappingId is a required field + ApiMappingId *string `location:"uri" locationName:"apiMappingId" type:"string" required:"true"` + + // DomainName is a required field + DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetApiMappingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApiMappingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApiMappingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApiMappingInput"} + if s.ApiMappingId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiMappingId")) + } + if s.ApiMappingId != nil && len(*s.ApiMappingId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiMappingId", 1)) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiMappingId sets the ApiMappingId field's value. +func (s *GetApiMappingInput) SetApiMappingId(v string) *GetApiMappingInput { + s.ApiMappingId = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *GetApiMappingInput) SetDomainName(v string) *GetApiMappingInput { + s.DomainName = &v + return s +} + +type GetApiMappingOutput struct { + _ struct{} `type:"structure"` + + // The identifier. + ApiId *string `locationName:"apiId" type:"string"` + + // The identifier. + ApiMappingId *string `locationName:"apiMappingId" type:"string"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + ApiMappingKey *string `locationName:"apiMappingKey" type:"string"` + + // A string with a length between [1-128]. + Stage *string `locationName:"stage" type:"string"` +} + +// String returns the string representation +func (s GetApiMappingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApiMappingOutput) GoString() string { + return s.String() +} + +// SetApiId sets the ApiId field's value. +func (s *GetApiMappingOutput) SetApiId(v string) *GetApiMappingOutput { + s.ApiId = &v + return s +} + +// SetApiMappingId sets the ApiMappingId field's value. +func (s *GetApiMappingOutput) SetApiMappingId(v string) *GetApiMappingOutput { + s.ApiMappingId = &v + return s +} + +// SetApiMappingKey sets the ApiMappingKey field's value. +func (s *GetApiMappingOutput) SetApiMappingKey(v string) *GetApiMappingOutput { + s.ApiMappingKey = &v + return s +} + +// SetStage sets the Stage field's value. +func (s *GetApiMappingOutput) SetStage(v string) *GetApiMappingOutput { + s.Stage = &v + return s +} + +type GetApiMappingsInput struct { + _ struct{} `type:"structure"` + + // DomainName is a required field + DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"` + + MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetApiMappingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApiMappingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApiMappingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApiMappingsInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *GetApiMappingsInput) SetDomainName(v string) *GetApiMappingsInput { + s.DomainName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetApiMappingsInput) SetMaxResults(v string) *GetApiMappingsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetApiMappingsInput) SetNextToken(v string) *GetApiMappingsInput { + s.NextToken = &v + return s +} + +type GetApiMappingsOutput struct { + _ struct{} `type:"structure"` + + Items []*ApiMapping `locationName:"items" type:"list"` + + // The next page of elements from this collection. Not valid for the last element + // of the collection. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetApiMappingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApiMappingsOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *GetApiMappingsOutput) SetItems(v []*ApiMapping) *GetApiMappingsOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetApiMappingsOutput) SetNextToken(v string) *GetApiMappingsOutput { + s.NextToken = &v + return s +} + +type GetApiOutput struct { + _ struct{} `type:"structure"` + + ApiEndpoint *string `locationName:"apiEndpoint" type:"string"` + + // The identifier. + ApiId *string `locationName:"apiId" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"` + + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"` + + // A string with a length between [1-128]. + Name *string `locationName:"name" type:"string"` + + ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"` + + // A string with a length between [1-64]. + Version *string `locationName:"version" type:"string"` + + Warnings []*string `locationName:"warnings" type:"list"` +} + +// String returns the string representation +func (s GetApiOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApiOutput) GoString() string { + return s.String() +} + +// SetApiEndpoint sets the ApiEndpoint field's value. +func (s *GetApiOutput) SetApiEndpoint(v string) *GetApiOutput { + s.ApiEndpoint = &v + return s +} + +// SetApiId sets the ApiId field's value. +func (s *GetApiOutput) SetApiId(v string) *GetApiOutput { + s.ApiId = &v + return s +} + +// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value. +func (s *GetApiOutput) SetApiKeySelectionExpression(v string) *GetApiOutput { + s.ApiKeySelectionExpression = &v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *GetApiOutput) SetCreatedDate(v time.Time) *GetApiOutput { + s.CreatedDate = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetApiOutput) SetDescription(v string) *GetApiOutput { + s.Description = &v + return s +} + +// SetDisableSchemaValidation sets the DisableSchemaValidation field's value. +func (s *GetApiOutput) SetDisableSchemaValidation(v bool) *GetApiOutput { + s.DisableSchemaValidation = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetApiOutput) SetName(v string) *GetApiOutput { + s.Name = &v + return s +} + +// SetProtocolType sets the ProtocolType field's value. +func (s *GetApiOutput) SetProtocolType(v string) *GetApiOutput { + s.ProtocolType = &v + return s +} + +// SetRouteSelectionExpression sets the RouteSelectionExpression field's value. +func (s *GetApiOutput) SetRouteSelectionExpression(v string) *GetApiOutput { + s.RouteSelectionExpression = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *GetApiOutput) SetVersion(v string) *GetApiOutput { + s.Version = &v + return s +} + +// SetWarnings sets the Warnings field's value. +func (s *GetApiOutput) SetWarnings(v []*string) *GetApiOutput { + s.Warnings = v + return s +} + +type GetApisInput struct { + _ struct{} `type:"structure"` + + MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetApisInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApisInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetApisInput) SetMaxResults(v string) *GetApisInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetApisInput) SetNextToken(v string) *GetApisInput { + s.NextToken = &v + return s +} + +type GetApisOutput struct { + _ struct{} `type:"structure"` + + Items []*Api `locationName:"items" type:"list"` + + // The next page of elements from this collection. Not valid for the last element + // of the collection. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetApisOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApisOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *GetApisOutput) SetItems(v []*Api) *GetApisOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetApisOutput) SetNextToken(v string) *GetApisOutput { + s.NextToken = &v + return s +} + +type GetAuthorizerInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // AuthorizerId is a required field + AuthorizerId *string `location:"uri" locationName:"authorizerId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetAuthorizerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAuthorizerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAuthorizerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAuthorizerInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.AuthorizerId == nil { + invalidParams.Add(request.NewErrParamRequired("AuthorizerId")) + } + if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetAuthorizerInput) SetApiId(v string) *GetAuthorizerInput { + s.ApiId = &v + return s +} + +// SetAuthorizerId sets the AuthorizerId field's value. +func (s *GetAuthorizerInput) SetAuthorizerId(v string) *GetAuthorizerInput { + s.AuthorizerId = &v + return s +} + +type GetAuthorizerOutput struct { + _ struct{} `type:"structure"` + + // Represents an Amazon Resource Name (ARN). + AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"` + + // The identifier. + AuthorizerId *string `locationName:"authorizerId" type:"string"` + + // An integer with a value between [0-3600]. + AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"` + + // The authorizer type. Currently the only valid value is REQUEST, for a Lambda + // function using incoming request parameters. + AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"` + + // A string representation of a URI with a length between [1-2048]. + AuthorizerUri *string `locationName:"authorizerUri" type:"string"` + + // The identity source for which authorization is requested. For the REQUEST + // authorizer, this is required when authorization caching is enabled. The value + // is a comma-separated string of one or more mapping expressions of the specified + // request parameters. For example, if an Auth header, a Name query string parameter + // are defined as identity sources, this value is $method.request.header.Auth, + // $method.request.querystring.Name. These parameters will be used to derive + // the authorization caching key and to perform runtime validation of the REQUEST + // authorizer by verifying all of the identity-related request parameters are + // present, not null and non-empty. Only when this is true does the authorizer + // invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized + // response without calling the Lambda function. The valid value is a string + // of comma-separated mapping expressions of the specified request parameters. + // When the authorization caching is not enabled, this property is optional. + IdentitySource []*string `locationName:"identitySource" type:"list"` + + // A string with a length between [0-1024]. + IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"` + + // A string with a length between [1-128]. + Name *string `locationName:"name" type:"string"` + + // For REQUEST authorizer, this is not defined. + ProviderArns []*string `locationName:"providerArns" type:"list"` +} + +// String returns the string representation +func (s GetAuthorizerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAuthorizerOutput) GoString() string { + return s.String() +} + +// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value. +func (s *GetAuthorizerOutput) SetAuthorizerCredentialsArn(v string) *GetAuthorizerOutput { + s.AuthorizerCredentialsArn = &v + return s +} + +// SetAuthorizerId sets the AuthorizerId field's value. +func (s *GetAuthorizerOutput) SetAuthorizerId(v string) *GetAuthorizerOutput { + s.AuthorizerId = &v + return s +} + +// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value. +func (s *GetAuthorizerOutput) SetAuthorizerResultTtlInSeconds(v int64) *GetAuthorizerOutput { + s.AuthorizerResultTtlInSeconds = &v + return s +} + +// SetAuthorizerType sets the AuthorizerType field's value. +func (s *GetAuthorizerOutput) SetAuthorizerType(v string) *GetAuthorizerOutput { + s.AuthorizerType = &v + return s +} + +// SetAuthorizerUri sets the AuthorizerUri field's value. +func (s *GetAuthorizerOutput) SetAuthorizerUri(v string) *GetAuthorizerOutput { + s.AuthorizerUri = &v + return s +} + +// SetIdentitySource sets the IdentitySource field's value. +func (s *GetAuthorizerOutput) SetIdentitySource(v []*string) *GetAuthorizerOutput { + s.IdentitySource = v + return s +} + +// SetIdentityValidationExpression sets the IdentityValidationExpression field's value. +func (s *GetAuthorizerOutput) SetIdentityValidationExpression(v string) *GetAuthorizerOutput { + s.IdentityValidationExpression = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetAuthorizerOutput) SetName(v string) *GetAuthorizerOutput { + s.Name = &v + return s +} + +// SetProviderArns sets the ProviderArns field's value. +func (s *GetAuthorizerOutput) SetProviderArns(v []*string) *GetAuthorizerOutput { + s.ProviderArns = v + return s +} + +type GetAuthorizersInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetAuthorizersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAuthorizersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAuthorizersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAuthorizersInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetAuthorizersInput) SetApiId(v string) *GetAuthorizersInput { + s.ApiId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetAuthorizersInput) SetMaxResults(v string) *GetAuthorizersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetAuthorizersInput) SetNextToken(v string) *GetAuthorizersInput { + s.NextToken = &v + return s +} + +type GetAuthorizersOutput struct { + _ struct{} `type:"structure"` + + Items []*Authorizer `locationName:"items" type:"list"` + + // The next page of elements from this collection. Not valid for the last element + // of the collection. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetAuthorizersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAuthorizersOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *GetAuthorizersOutput) SetItems(v []*Authorizer) *GetAuthorizersOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetAuthorizersOutput) SetNextToken(v string) *GetAuthorizersOutput { + s.NextToken = &v + return s +} + +type GetDeploymentInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // DeploymentId is a required field + DeploymentId *string `location:"uri" locationName:"deploymentId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDeploymentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDeploymentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDeploymentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.DeploymentId == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentId")) + } + if s.DeploymentId != nil && len(*s.DeploymentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetDeploymentInput) SetApiId(v string) *GetDeploymentInput { + s.ApiId = &v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *GetDeploymentInput) SetDeploymentId(v string) *GetDeploymentInput { + s.DeploymentId = &v + return s +} + +type GetDeploymentOutput struct { + _ struct{} `type:"structure"` + + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"` + + // The identifier. + DeploymentId *string `locationName:"deploymentId" type:"string"` + + // Represents a deployment status. + DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"` + + DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` +} + +// String returns the string representation +func (s GetDeploymentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDeploymentOutput) GoString() string { + return s.String() +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *GetDeploymentOutput) SetCreatedDate(v time.Time) *GetDeploymentOutput { + s.CreatedDate = &v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *GetDeploymentOutput) SetDeploymentId(v string) *GetDeploymentOutput { + s.DeploymentId = &v + return s +} + +// SetDeploymentStatus sets the DeploymentStatus field's value. +func (s *GetDeploymentOutput) SetDeploymentStatus(v string) *GetDeploymentOutput { + s.DeploymentStatus = &v + return s +} + +// SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value. +func (s *GetDeploymentOutput) SetDeploymentStatusMessage(v string) *GetDeploymentOutput { + s.DeploymentStatusMessage = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetDeploymentOutput) SetDescription(v string) *GetDeploymentOutput { + s.Description = &v + return s +} + +type GetDeploymentsInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetDeploymentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDeploymentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDeploymentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDeploymentsInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetDeploymentsInput) SetApiId(v string) *GetDeploymentsInput { + s.ApiId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetDeploymentsInput) SetMaxResults(v string) *GetDeploymentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetDeploymentsInput) SetNextToken(v string) *GetDeploymentsInput { + s.NextToken = &v + return s +} + +type GetDeploymentsOutput struct { + _ struct{} `type:"structure"` + + Items []*Deployment `locationName:"items" type:"list"` + + // The next page of elements from this collection. Not valid for the last element + // of the collection. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetDeploymentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDeploymentsOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *GetDeploymentsOutput) SetItems(v []*Deployment) *GetDeploymentsOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetDeploymentsOutput) SetNextToken(v string) *GetDeploymentsOutput { + s.NextToken = &v + return s +} + +type GetDomainNameInput struct { + _ struct{} `type:"structure"` + + // DomainName is a required field + DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDomainNameInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDomainNameInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDomainNameInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDomainNameInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *GetDomainNameInput) SetDomainName(v string) *GetDomainNameInput { + s.DomainName = &v + return s +} + +type GetDomainNameOutput struct { + _ struct{} `type:"structure"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"` + + // A string with a length between [1-512]. + DomainName *string `locationName:"domainName" type:"string"` + + // The domain name configurations. + DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"` +} + +// String returns the string representation +func (s GetDomainNameOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDomainNameOutput) GoString() string { + return s.String() +} + +// SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value. +func (s *GetDomainNameOutput) SetApiMappingSelectionExpression(v string) *GetDomainNameOutput { + s.ApiMappingSelectionExpression = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *GetDomainNameOutput) SetDomainName(v string) *GetDomainNameOutput { + s.DomainName = &v + return s +} + +// SetDomainNameConfigurations sets the DomainNameConfigurations field's value. +func (s *GetDomainNameOutput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *GetDomainNameOutput { + s.DomainNameConfigurations = v + return s +} + +type GetDomainNamesInput struct { + _ struct{} `type:"structure"` + + MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetDomainNamesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDomainNamesInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetDomainNamesInput) SetMaxResults(v string) *GetDomainNamesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetDomainNamesInput) SetNextToken(v string) *GetDomainNamesInput { + s.NextToken = &v + return s +} + +type GetDomainNamesOutput struct { + _ struct{} `type:"structure"` + + Items []*DomainName `locationName:"items" type:"list"` + + // The next page of elements from this collection. Not valid for the last element + // of the collection. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetDomainNamesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDomainNamesOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *GetDomainNamesOutput) SetItems(v []*DomainName) *GetDomainNamesOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetDomainNamesOutput) SetNextToken(v string) *GetDomainNamesOutput { + s.NextToken = &v + return s +} + +type GetIntegrationInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // IntegrationId is a required field + IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetIntegrationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIntegrationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIntegrationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIntegrationInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.IntegrationId == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationId")) + } + if s.IntegrationId != nil && len(*s.IntegrationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetIntegrationInput) SetApiId(v string) *GetIntegrationInput { + s.ApiId = &v + return s +} + +// SetIntegrationId sets the IntegrationId field's value. +func (s *GetIntegrationInput) SetIntegrationId(v string) *GetIntegrationInput { + s.IntegrationId = &v + return s +} + +type GetIntegrationOutput struct { + _ struct{} `type:"structure"` + + // A string with a length between [1-1024]. + ConnectionId *string `locationName:"connectionId" type:"string"` + + // Represents a connection type. + ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"` + + // Specifies how to handle response payload content type conversions. + ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"` + + // Represents an Amazon Resource Name (ARN). + CredentialsArn *string `locationName:"credentialsArn" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + // The identifier. + IntegrationId *string `locationName:"integrationId" type:"string"` + + // A string with a length between [1-64]. + IntegrationMethod *string `locationName:"integrationMethod" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"` + + // Represents an API method integration type. + IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"` + + // A string representation of a URI with a length between [1-2048]. + IntegrationUri *string `locationName:"integrationUri" type:"string"` + + // Represents passthrough behavior for an integration response. + PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"` + + // A key-value map specifying response parameters that are passed to the method + // response from the backend. The key is a method response header parameter + // name and the mapped value is an integration response header value, a static + // value enclosed within a pair of single quotes, or a JSON expression from + // the integration response body. The mapping key must match the pattern of + // method.response.header.{name}, where name is a valid and unique header name. + // The mapped non-static value must match the pattern of integration.response.header.{name} + // or integration.response.body.{JSON-expression}, where name is a valid and + // unique response header name and JSON-expression is a valid JSON expression + // without the $ prefix. + RequestParameters map[string]*string `locationName:"requestParameters" type:"map"` + + // A mapping of identifier keys to templates. The value is an actual template + // script. The key is typically a SelectionKey which is chosen based on evaluating + // a selection expression. + RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"` + + // An integer with a value between [50-29000]. + TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"` +} + +// String returns the string representation +func (s GetIntegrationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIntegrationOutput) GoString() string { + return s.String() +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *GetIntegrationOutput) SetConnectionId(v string) *GetIntegrationOutput { + s.ConnectionId = &v + return s +} + +// SetConnectionType sets the ConnectionType field's value. +func (s *GetIntegrationOutput) SetConnectionType(v string) *GetIntegrationOutput { + s.ConnectionType = &v + return s +} + +// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value. +func (s *GetIntegrationOutput) SetContentHandlingStrategy(v string) *GetIntegrationOutput { + s.ContentHandlingStrategy = &v + return s +} + +// SetCredentialsArn sets the CredentialsArn field's value. +func (s *GetIntegrationOutput) SetCredentialsArn(v string) *GetIntegrationOutput { + s.CredentialsArn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetIntegrationOutput) SetDescription(v string) *GetIntegrationOutput { + s.Description = &v + return s +} + +// SetIntegrationId sets the IntegrationId field's value. +func (s *GetIntegrationOutput) SetIntegrationId(v string) *GetIntegrationOutput { + s.IntegrationId = &v + return s +} + +// SetIntegrationMethod sets the IntegrationMethod field's value. +func (s *GetIntegrationOutput) SetIntegrationMethod(v string) *GetIntegrationOutput { + s.IntegrationMethod = &v + return s +} + +// SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value. +func (s *GetIntegrationOutput) SetIntegrationResponseSelectionExpression(v string) *GetIntegrationOutput { + s.IntegrationResponseSelectionExpression = &v + return s +} + +// SetIntegrationType sets the IntegrationType field's value. +func (s *GetIntegrationOutput) SetIntegrationType(v string) *GetIntegrationOutput { + s.IntegrationType = &v + return s +} + +// SetIntegrationUri sets the IntegrationUri field's value. +func (s *GetIntegrationOutput) SetIntegrationUri(v string) *GetIntegrationOutput { + s.IntegrationUri = &v + return s +} + +// SetPassthroughBehavior sets the PassthroughBehavior field's value. +func (s *GetIntegrationOutput) SetPassthroughBehavior(v string) *GetIntegrationOutput { + s.PassthroughBehavior = &v + return s +} + +// SetRequestParameters sets the RequestParameters field's value. +func (s *GetIntegrationOutput) SetRequestParameters(v map[string]*string) *GetIntegrationOutput { + s.RequestParameters = v + return s +} + +// SetRequestTemplates sets the RequestTemplates field's value. +func (s *GetIntegrationOutput) SetRequestTemplates(v map[string]*string) *GetIntegrationOutput { + s.RequestTemplates = v + return s +} + +// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value. +func (s *GetIntegrationOutput) SetTemplateSelectionExpression(v string) *GetIntegrationOutput { + s.TemplateSelectionExpression = &v + return s +} + +// SetTimeoutInMillis sets the TimeoutInMillis field's value. +func (s *GetIntegrationOutput) SetTimeoutInMillis(v int64) *GetIntegrationOutput { + s.TimeoutInMillis = &v + return s +} + +type GetIntegrationResponseInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // IntegrationId is a required field + IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"` + + // IntegrationResponseId is a required field + IntegrationResponseId *string `location:"uri" locationName:"integrationResponseId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetIntegrationResponseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIntegrationResponseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIntegrationResponseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIntegrationResponseInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.IntegrationId == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationId")) + } + if s.IntegrationId != nil && len(*s.IntegrationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1)) + } + if s.IntegrationResponseId == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationResponseId")) + } + if s.IntegrationResponseId != nil && len(*s.IntegrationResponseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationResponseId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetIntegrationResponseInput) SetApiId(v string) *GetIntegrationResponseInput { + s.ApiId = &v + return s +} + +// SetIntegrationId sets the IntegrationId field's value. +func (s *GetIntegrationResponseInput) SetIntegrationId(v string) *GetIntegrationResponseInput { + s.IntegrationId = &v + return s +} + +// SetIntegrationResponseId sets the IntegrationResponseId field's value. +func (s *GetIntegrationResponseInput) SetIntegrationResponseId(v string) *GetIntegrationResponseInput { + s.IntegrationResponseId = &v + return s +} + +type GetIntegrationResponseOutput struct { + _ struct{} `type:"structure"` + + // Specifies how to handle response payload content type conversions. + ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"` + + // The identifier. + IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"` + + // A key-value map specifying response parameters that are passed to the method + // response from the backend. The key is a method response header parameter + // name and the mapped value is an integration response header value, a static + // value enclosed within a pair of single quotes, or a JSON expression from + // the integration response body. The mapping key must match the pattern of + // method.response.header.{name}, where name is a valid and unique header name. + // The mapped non-static value must match the pattern of integration.response.header.{name} + // or integration.response.body.{JSON-expression}, where name is a valid and + // unique response header name and JSON-expression is a valid JSON expression + // without the $ prefix. + ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"` + + // A mapping of identifier keys to templates. The value is an actual template + // script. The key is typically a SelectionKey which is chosen based on evaluating + // a selection expression. + ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"` +} + +// String returns the string representation +func (s GetIntegrationResponseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIntegrationResponseOutput) GoString() string { + return s.String() +} + +// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value. +func (s *GetIntegrationResponseOutput) SetContentHandlingStrategy(v string) *GetIntegrationResponseOutput { + s.ContentHandlingStrategy = &v + return s +} + +// SetIntegrationResponseId sets the IntegrationResponseId field's value. +func (s *GetIntegrationResponseOutput) SetIntegrationResponseId(v string) *GetIntegrationResponseOutput { + s.IntegrationResponseId = &v + return s +} + +// SetIntegrationResponseKey sets the IntegrationResponseKey field's value. +func (s *GetIntegrationResponseOutput) SetIntegrationResponseKey(v string) *GetIntegrationResponseOutput { + s.IntegrationResponseKey = &v + return s +} + +// SetResponseParameters sets the ResponseParameters field's value. +func (s *GetIntegrationResponseOutput) SetResponseParameters(v map[string]*string) *GetIntegrationResponseOutput { + s.ResponseParameters = v + return s +} + +// SetResponseTemplates sets the ResponseTemplates field's value. +func (s *GetIntegrationResponseOutput) SetResponseTemplates(v map[string]*string) *GetIntegrationResponseOutput { + s.ResponseTemplates = v + return s +} + +// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value. +func (s *GetIntegrationResponseOutput) SetTemplateSelectionExpression(v string) *GetIntegrationResponseOutput { + s.TemplateSelectionExpression = &v + return s +} + +type GetIntegrationResponsesInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // IntegrationId is a required field + IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"` + + MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetIntegrationResponsesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIntegrationResponsesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIntegrationResponsesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIntegrationResponsesInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.IntegrationId == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationId")) + } + if s.IntegrationId != nil && len(*s.IntegrationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetIntegrationResponsesInput) SetApiId(v string) *GetIntegrationResponsesInput { + s.ApiId = &v + return s +} + +// SetIntegrationId sets the IntegrationId field's value. +func (s *GetIntegrationResponsesInput) SetIntegrationId(v string) *GetIntegrationResponsesInput { + s.IntegrationId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetIntegrationResponsesInput) SetMaxResults(v string) *GetIntegrationResponsesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIntegrationResponsesInput) SetNextToken(v string) *GetIntegrationResponsesInput { + s.NextToken = &v + return s +} + +type GetIntegrationResponsesOutput struct { + _ struct{} `type:"structure"` + + Items []*IntegrationResponse `locationName:"items" type:"list"` + + // The next page of elements from this collection. Not valid for the last element + // of the collection. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetIntegrationResponsesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIntegrationResponsesOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *GetIntegrationResponsesOutput) SetItems(v []*IntegrationResponse) *GetIntegrationResponsesOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIntegrationResponsesOutput) SetNextToken(v string) *GetIntegrationResponsesOutput { + s.NextToken = &v + return s +} + +type GetIntegrationsInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetIntegrationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIntegrationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIntegrationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIntegrationsInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetIntegrationsInput) SetApiId(v string) *GetIntegrationsInput { + s.ApiId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetIntegrationsInput) SetMaxResults(v string) *GetIntegrationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIntegrationsInput) SetNextToken(v string) *GetIntegrationsInput { + s.NextToken = &v + return s +} + +type GetIntegrationsOutput struct { + _ struct{} `type:"structure"` + + Items []*Integration `locationName:"items" type:"list"` + + // The next page of elements from this collection. Not valid for the last element + // of the collection. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetIntegrationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIntegrationsOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *GetIntegrationsOutput) SetItems(v []*Integration) *GetIntegrationsOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIntegrationsOutput) SetNextToken(v string) *GetIntegrationsOutput { + s.NextToken = &v + return s +} + +type GetModelInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // ModelId is a required field + ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetModelInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.ModelId == nil { + invalidParams.Add(request.NewErrParamRequired("ModelId")) + } + if s.ModelId != nil && len(*s.ModelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetModelInput) SetApiId(v string) *GetModelInput { + s.ApiId = &v + return s +} + +// SetModelId sets the ModelId field's value. +func (s *GetModelInput) SetModelId(v string) *GetModelInput { + s.ModelId = &v + return s +} + +type GetModelOutput struct { + _ struct{} `type:"structure"` + + // A string with a length between [1-256]. + ContentType *string `locationName:"contentType" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + // The identifier. + ModelId *string `locationName:"modelId" type:"string"` + + // A string with a length between [1-128]. + Name *string `locationName:"name" type:"string"` + + // A string with a length between [0-32768]. + Schema *string `locationName:"schema" type:"string"` +} + +// String returns the string representation +func (s GetModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetModelOutput) GoString() string { + return s.String() +} + +// SetContentType sets the ContentType field's value. +func (s *GetModelOutput) SetContentType(v string) *GetModelOutput { + s.ContentType = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetModelOutput) SetDescription(v string) *GetModelOutput { + s.Description = &v + return s +} + +// SetModelId sets the ModelId field's value. +func (s *GetModelOutput) SetModelId(v string) *GetModelOutput { + s.ModelId = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetModelOutput) SetName(v string) *GetModelOutput { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *GetModelOutput) SetSchema(v string) *GetModelOutput { + s.Schema = &v + return s +} + +type GetModelTemplateInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // ModelId is a required field + ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetModelTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetModelTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetModelTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetModelTemplateInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.ModelId == nil { + invalidParams.Add(request.NewErrParamRequired("ModelId")) + } + if s.ModelId != nil && len(*s.ModelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetModelTemplateInput) SetApiId(v string) *GetModelTemplateInput { + s.ApiId = &v + return s +} + +// SetModelId sets the ModelId field's value. +func (s *GetModelTemplateInput) SetModelId(v string) *GetModelTemplateInput { + s.ModelId = &v + return s +} + +type GetModelTemplateOutput struct { + _ struct{} `type:"structure"` + + Value *string `locationName:"value" type:"string"` +} + +// String returns the string representation +func (s GetModelTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetModelTemplateOutput) GoString() string { + return s.String() +} + +// SetValue sets the Value field's value. +func (s *GetModelTemplateOutput) SetValue(v string) *GetModelTemplateOutput { + s.Value = &v + return s +} + +type GetModelsInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetModelsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetModelsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetModelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetModelsInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetModelsInput) SetApiId(v string) *GetModelsInput { + s.ApiId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetModelsInput) SetMaxResults(v string) *GetModelsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetModelsInput) SetNextToken(v string) *GetModelsInput { + s.NextToken = &v + return s +} + +type GetModelsOutput struct { + _ struct{} `type:"structure"` + + Items []*Model `locationName:"items" type:"list"` + + // The next page of elements from this collection. Not valid for the last element + // of the collection. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetModelsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetModelsOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *GetModelsOutput) SetItems(v []*Model) *GetModelsOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetModelsOutput) SetNextToken(v string) *GetModelsOutput { + s.NextToken = &v + return s +} + +type GetRouteInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // RouteId is a required field + RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRouteInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.RouteId == nil { + invalidParams.Add(request.NewErrParamRequired("RouteId")) + } + if s.RouteId != nil && len(*s.RouteId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetRouteInput) SetApiId(v string) *GetRouteInput { + s.ApiId = &v + return s +} + +// SetRouteId sets the RouteId field's value. +func (s *GetRouteInput) SetRouteId(v string) *GetRouteInput { + s.RouteId = &v + return s +} + +type GetRouteOutput struct { + _ struct{} `type:"structure"` + + ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"` + + // A list of authorization scopes configured on a route. The scopes are used + // with a COGNITO_USER_POOLS authorizer to authorize the method invocation. + // The authorization works by matching the route scopes against the scopes parsed + // from the access token in the incoming request. The method invocation is authorized + // if any route scope matches a claimed scope in the access token. Otherwise, + // the invocation is not authorized. When the route scope is configured, the + // client must provide an access token instead of an identity token for authorization + // purposes. + AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"` + + // The authorization type. Valid values are NONE for open access, AWS_IAM for + // using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. + AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"` + + // The identifier. + AuthorizerId *string `locationName:"authorizerId" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"` + + // A string with a length between [1-64]. + OperationName *string `locationName:"operationName" type:"string"` + + // The route models. + RequestModels map[string]*string `locationName:"requestModels" type:"map"` + + // The route parameters. + RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"` + + // The identifier. + RouteId *string `locationName:"routeId" type:"string"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + RouteKey *string `locationName:"routeKey" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"` + + // A string with a length between [1-128]. + Target *string `locationName:"target" type:"string"` +} + +// String returns the string representation +func (s GetRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRouteOutput) GoString() string { + return s.String() +} + +// SetApiKeyRequired sets the ApiKeyRequired field's value. +func (s *GetRouteOutput) SetApiKeyRequired(v bool) *GetRouteOutput { + s.ApiKeyRequired = &v + return s +} + +// SetAuthorizationScopes sets the AuthorizationScopes field's value. +func (s *GetRouteOutput) SetAuthorizationScopes(v []*string) *GetRouteOutput { + s.AuthorizationScopes = v + return s +} + +// SetAuthorizationType sets the AuthorizationType field's value. +func (s *GetRouteOutput) SetAuthorizationType(v string) *GetRouteOutput { + s.AuthorizationType = &v + return s +} + +// SetAuthorizerId sets the AuthorizerId field's value. +func (s *GetRouteOutput) SetAuthorizerId(v string) *GetRouteOutput { + s.AuthorizerId = &v + return s +} + +// SetModelSelectionExpression sets the ModelSelectionExpression field's value. +func (s *GetRouteOutput) SetModelSelectionExpression(v string) *GetRouteOutput { + s.ModelSelectionExpression = &v + return s +} + +// SetOperationName sets the OperationName field's value. +func (s *GetRouteOutput) SetOperationName(v string) *GetRouteOutput { + s.OperationName = &v + return s +} + +// SetRequestModels sets the RequestModels field's value. +func (s *GetRouteOutput) SetRequestModels(v map[string]*string) *GetRouteOutput { + s.RequestModels = v + return s +} + +// SetRequestParameters sets the RequestParameters field's value. +func (s *GetRouteOutput) SetRequestParameters(v map[string]*ParameterConstraints) *GetRouteOutput { + s.RequestParameters = v + return s +} + +// SetRouteId sets the RouteId field's value. +func (s *GetRouteOutput) SetRouteId(v string) *GetRouteOutput { + s.RouteId = &v + return s +} + +// SetRouteKey sets the RouteKey field's value. +func (s *GetRouteOutput) SetRouteKey(v string) *GetRouteOutput { + s.RouteKey = &v + return s +} + +// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value. +func (s *GetRouteOutput) SetRouteResponseSelectionExpression(v string) *GetRouteOutput { + s.RouteResponseSelectionExpression = &v + return s +} + +// SetTarget sets the Target field's value. +func (s *GetRouteOutput) SetTarget(v string) *GetRouteOutput { + s.Target = &v + return s +} + +type GetRouteResponseInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // RouteId is a required field + RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"` + + // RouteResponseId is a required field + RouteResponseId *string `location:"uri" locationName:"routeResponseId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetRouteResponseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRouteResponseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRouteResponseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRouteResponseInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.RouteId == nil { + invalidParams.Add(request.NewErrParamRequired("RouteId")) + } + if s.RouteId != nil && len(*s.RouteId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteId", 1)) + } + if s.RouteResponseId == nil { + invalidParams.Add(request.NewErrParamRequired("RouteResponseId")) + } + if s.RouteResponseId != nil && len(*s.RouteResponseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteResponseId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetRouteResponseInput) SetApiId(v string) *GetRouteResponseInput { + s.ApiId = &v + return s +} + +// SetRouteId sets the RouteId field's value. +func (s *GetRouteResponseInput) SetRouteId(v string) *GetRouteResponseInput { + s.RouteId = &v + return s +} + +// SetRouteResponseId sets the RouteResponseId field's value. +func (s *GetRouteResponseInput) SetRouteResponseId(v string) *GetRouteResponseInput { + s.RouteResponseId = &v + return s +} + +type GetRouteResponseOutput struct { + _ struct{} `type:"structure"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"` + + // The route models. + ResponseModels map[string]*string `locationName:"responseModels" type:"map"` + + // The route parameters. + ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"` + + // The identifier. + RouteResponseId *string `locationName:"routeResponseId" type:"string"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + RouteResponseKey *string `locationName:"routeResponseKey" type:"string"` +} + +// String returns the string representation +func (s GetRouteResponseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRouteResponseOutput) GoString() string { + return s.String() +} + +// SetModelSelectionExpression sets the ModelSelectionExpression field's value. +func (s *GetRouteResponseOutput) SetModelSelectionExpression(v string) *GetRouteResponseOutput { + s.ModelSelectionExpression = &v + return s +} + +// SetResponseModels sets the ResponseModels field's value. +func (s *GetRouteResponseOutput) SetResponseModels(v map[string]*string) *GetRouteResponseOutput { + s.ResponseModels = v + return s +} + +// SetResponseParameters sets the ResponseParameters field's value. +func (s *GetRouteResponseOutput) SetResponseParameters(v map[string]*ParameterConstraints) *GetRouteResponseOutput { + s.ResponseParameters = v + return s +} + +// SetRouteResponseId sets the RouteResponseId field's value. +func (s *GetRouteResponseOutput) SetRouteResponseId(v string) *GetRouteResponseOutput { + s.RouteResponseId = &v + return s +} + +// SetRouteResponseKey sets the RouteResponseKey field's value. +func (s *GetRouteResponseOutput) SetRouteResponseKey(v string) *GetRouteResponseOutput { + s.RouteResponseKey = &v + return s +} + +type GetRouteResponsesInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // RouteId is a required field + RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetRouteResponsesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRouteResponsesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRouteResponsesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRouteResponsesInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.RouteId == nil { + invalidParams.Add(request.NewErrParamRequired("RouteId")) + } + if s.RouteId != nil && len(*s.RouteId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetRouteResponsesInput) SetApiId(v string) *GetRouteResponsesInput { + s.ApiId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetRouteResponsesInput) SetMaxResults(v string) *GetRouteResponsesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetRouteResponsesInput) SetNextToken(v string) *GetRouteResponsesInput { + s.NextToken = &v + return s +} + +// SetRouteId sets the RouteId field's value. +func (s *GetRouteResponsesInput) SetRouteId(v string) *GetRouteResponsesInput { + s.RouteId = &v + return s +} + +type GetRouteResponsesOutput struct { + _ struct{} `type:"structure"` + + Items []*RouteResponse `locationName:"items" type:"list"` + + // The next page of elements from this collection. Not valid for the last element + // of the collection. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetRouteResponsesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRouteResponsesOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *GetRouteResponsesOutput) SetItems(v []*RouteResponse) *GetRouteResponsesOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetRouteResponsesOutput) SetNextToken(v string) *GetRouteResponsesOutput { + s.NextToken = &v + return s +} + +type GetRoutesInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetRoutesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRoutesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRoutesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRoutesInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetRoutesInput) SetApiId(v string) *GetRoutesInput { + s.ApiId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetRoutesInput) SetMaxResults(v string) *GetRoutesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetRoutesInput) SetNextToken(v string) *GetRoutesInput { + s.NextToken = &v + return s +} + +type GetRoutesOutput struct { + _ struct{} `type:"structure"` + + Items []*Route `locationName:"items" type:"list"` + + // The next page of elements from this collection. Not valid for the last element + // of the collection. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetRoutesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRoutesOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *GetRoutesOutput) SetItems(v []*Route) *GetRoutesOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetRoutesOutput) SetNextToken(v string) *GetRoutesOutput { + s.NextToken = &v + return s +} + +type GetStageInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // StageName is a required field + StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetStageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetStageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStageInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.StageName == nil { + invalidParams.Add(request.NewErrParamRequired("StageName")) + } + if s.StageName != nil && len(*s.StageName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StageName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetStageInput) SetApiId(v string) *GetStageInput { + s.ApiId = &v + return s +} + +// SetStageName sets the StageName field's value. +func (s *GetStageInput) SetStageName(v string) *GetStageInput { + s.StageName = &v + return s +} + +type GetStageOutput struct { + _ struct{} `type:"structure"` + + // Settings for logging access in a stage. + AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"` + + // The identifier. + ClientCertificateId *string `locationName:"clientCertificateId" type:"string"` + + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"` + + // Represents a collection of route settings. + DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"` + + // The identifier. + DeploymentId *string `locationName:"deploymentId" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"` + + // The route settings map. + RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"` + + // A string with a length between [1-128]. + StageName *string `locationName:"stageName" type:"string"` + + // The stage variable map. + StageVariables map[string]*string `locationName:"stageVariables" type:"map"` +} + +// String returns the string representation +func (s GetStageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStageOutput) GoString() string { + return s.String() +} + +// SetAccessLogSettings sets the AccessLogSettings field's value. +func (s *GetStageOutput) SetAccessLogSettings(v *AccessLogSettings) *GetStageOutput { + s.AccessLogSettings = v + return s +} + +// SetClientCertificateId sets the ClientCertificateId field's value. +func (s *GetStageOutput) SetClientCertificateId(v string) *GetStageOutput { + s.ClientCertificateId = &v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *GetStageOutput) SetCreatedDate(v time.Time) *GetStageOutput { + s.CreatedDate = &v + return s +} + +// SetDefaultRouteSettings sets the DefaultRouteSettings field's value. +func (s *GetStageOutput) SetDefaultRouteSettings(v *RouteSettings) *GetStageOutput { + s.DefaultRouteSettings = v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *GetStageOutput) SetDeploymentId(v string) *GetStageOutput { + s.DeploymentId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetStageOutput) SetDescription(v string) *GetStageOutput { + s.Description = &v + return s +} + +// SetLastUpdatedDate sets the LastUpdatedDate field's value. +func (s *GetStageOutput) SetLastUpdatedDate(v time.Time) *GetStageOutput { + s.LastUpdatedDate = &v + return s +} + +// SetRouteSettings sets the RouteSettings field's value. +func (s *GetStageOutput) SetRouteSettings(v map[string]*RouteSettings) *GetStageOutput { + s.RouteSettings = v + return s +} + +// SetStageName sets the StageName field's value. +func (s *GetStageOutput) SetStageName(v string) *GetStageOutput { + s.StageName = &v + return s +} + +// SetStageVariables sets the StageVariables field's value. +func (s *GetStageOutput) SetStageVariables(v map[string]*string) *GetStageOutput { + s.StageVariables = v + return s +} + +type GetStagesInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetStagesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStagesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetStagesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStagesInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetStagesInput) SetApiId(v string) *GetStagesInput { + s.ApiId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetStagesInput) SetMaxResults(v string) *GetStagesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetStagesInput) SetNextToken(v string) *GetStagesInput { + s.NextToken = &v + return s +} + +type GetStagesOutput struct { + _ struct{} `type:"structure"` + + Items []*Stage `locationName:"items" type:"list"` + + // The next page of elements from this collection. Not valid for the last element + // of the collection. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s GetStagesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStagesOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *GetStagesOutput) SetItems(v []*Stage) *GetStagesOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetStagesOutput) SetNextToken(v string) *GetStagesOutput { + s.NextToken = &v + return s +} + +// Represents an integration. +type Integration struct { + _ struct{} `type:"structure"` + + // The connection ID. + ConnectionId *string `locationName:"connectionId" type:"string"` + + // The type of the network connection to the integration endpoint. Currently + // the only valid value is INTERNET, for connections through the public routable + // internet. + ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"` + + // Specifies how to handle response payload content type conversions. Supported + // values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: + // + // CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string + // to the corresponding binary blob. + // + // CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded + // string. + // + // If this property is not defined, the response payload will be passed through + // from the integration response to the route response or method response without + // modification. + ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"` + + // Specifies the credentials required for the integration, if any. For AWS integrations, + // three options are available. To specify an IAM Role for API Gateway to assume, + // use the role's Amazon Resource Name (ARN). To require that the caller's identity + // be passed through from the request, specify the string arn:aws:iam::*:user/*. + // To use resource-based permissions on supported AWS services, specify null. + CredentialsArn *string `locationName:"credentialsArn" type:"string"` + + // Represents the description of an integration. + Description *string `locationName:"description" type:"string"` + + // Represents the identifier of an integration. + IntegrationId *string `locationName:"integrationId" type:"string"` + + // Specifies the integration's HTTP method type. + IntegrationMethod *string `locationName:"integrationMethod" type:"string"` + + // The integration response selection expression for the integration. See Integration + // Response Selection Expressions (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-integration-response-selection-expressions). + IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"` + + // The integration type of an integration. One of the following: + // + // AWS: for integrating the route or method request with an AWS service action, + // including the Lambda function-invoking action. With the Lambda function-invoking + // action, this is referred to as the Lambda custom integration. With any other + // AWS service action, this is known as AWS integration. + // + // AWS_PROXY: for integrating the route or method request with the Lambda function-invoking + // action with the client request passed through as-is. This integration is + // also referred to as Lambda proxy integration. + // + // HTTP: for integrating the route or method request with an HTTP endpoint. + // This integration is also referred to as the HTTP custom integration. + // + // HTTP_PROXY: for integrating route or method request with an HTTP endpoint, + // with the client request passed through as-is. This is also referred to as + // HTTP proxy integration. + // + // MOCK: for integrating the route or method request with API Gateway as a "loopback" + // endpoint without invoking any backend. + IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"` + + // For a Lambda proxy integration, this is the URI of the Lambda function. + IntegrationUri *string `locationName:"integrationUri" type:"string"` + + // Specifies the pass-through behavior for incoming requests based on the Content-Type + // header in the request, and the available mapping templates specified as the + // requestTemplates property on the Integration resource. There are three valid + // values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. + // + // WHEN_NO_MATCH passes the request body for unmapped content types through + // to the integration backend without transformation. + // + // NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type + // response. + // + // WHEN_NO_TEMPLATES allows pass-through when the integration has no content + // types mapped to templates. However, if there is at least one content type + // defined, unmapped content types will be rejected with the same HTTP 415 Unsupported + // Media Type response. + PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"` + + // A key-value map specifying request parameters that are passed from the method + // request to the backend. The key is an integration request parameter name + // and the associated value is a method request parameter value or static value + // that must be enclosed within single quotes and pre-encoded as required by + // the backend. The method request parameter value must match the pattern of + // method.request.{location}.{name} , where {location} is querystring, path, + // or header; and {name} must be a valid and unique method request parameter + // name. + RequestParameters map[string]*string `locationName:"requestParameters" type:"map"` + + // Represents a map of Velocity templates that are applied on the request payload + // based on the value of the Content-Type header sent by the client. The content + // type value is the key in this map, and the template (as a String) is the + // value. + RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"` + + // The template selection expression for the integration. + TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"` + + // Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 + // milliseconds or 29 seconds. + TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"` +} + +// String returns the string representation +func (s Integration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Integration) GoString() string { + return s.String() +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *Integration) SetConnectionId(v string) *Integration { + s.ConnectionId = &v + return s +} + +// SetConnectionType sets the ConnectionType field's value. +func (s *Integration) SetConnectionType(v string) *Integration { + s.ConnectionType = &v + return s +} + +// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value. +func (s *Integration) SetContentHandlingStrategy(v string) *Integration { + s.ContentHandlingStrategy = &v + return s +} + +// SetCredentialsArn sets the CredentialsArn field's value. +func (s *Integration) SetCredentialsArn(v string) *Integration { + s.CredentialsArn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Integration) SetDescription(v string) *Integration { + s.Description = &v + return s +} + +// SetIntegrationId sets the IntegrationId field's value. +func (s *Integration) SetIntegrationId(v string) *Integration { + s.IntegrationId = &v + return s +} + +// SetIntegrationMethod sets the IntegrationMethod field's value. +func (s *Integration) SetIntegrationMethod(v string) *Integration { + s.IntegrationMethod = &v + return s +} + +// SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value. +func (s *Integration) SetIntegrationResponseSelectionExpression(v string) *Integration { + s.IntegrationResponseSelectionExpression = &v + return s +} + +// SetIntegrationType sets the IntegrationType field's value. +func (s *Integration) SetIntegrationType(v string) *Integration { + s.IntegrationType = &v + return s +} + +// SetIntegrationUri sets the IntegrationUri field's value. +func (s *Integration) SetIntegrationUri(v string) *Integration { + s.IntegrationUri = &v + return s +} + +// SetPassthroughBehavior sets the PassthroughBehavior field's value. +func (s *Integration) SetPassthroughBehavior(v string) *Integration { + s.PassthroughBehavior = &v + return s +} + +// SetRequestParameters sets the RequestParameters field's value. +func (s *Integration) SetRequestParameters(v map[string]*string) *Integration { + s.RequestParameters = v + return s +} + +// SetRequestTemplates sets the RequestTemplates field's value. +func (s *Integration) SetRequestTemplates(v map[string]*string) *Integration { + s.RequestTemplates = v + return s +} + +// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value. +func (s *Integration) SetTemplateSelectionExpression(v string) *Integration { + s.TemplateSelectionExpression = &v + return s +} + +// SetTimeoutInMillis sets the TimeoutInMillis field's value. +func (s *Integration) SetTimeoutInMillis(v int64) *Integration { + s.TimeoutInMillis = &v + return s +} + +// Represents an integration response. +type IntegrationResponse struct { + _ struct{} `type:"structure"` + + // Specifies how to handle response payload content type conversions. Supported + // values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: + // + // CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string + // to the corresponding binary blob. + // + // CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded + // string. + // + // If this property is not defined, the response payload will be passed through + // from the integration response to the route response or method response without + // modification. + ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"` + + // The integration response ID. + IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"` + + // The integration response key. + // + // IntegrationResponseKey is a required field + IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string" required:"true"` + + // A key-value map specifying response parameters that are passed to the method + // response from the backend. The key is a method response header parameter + // name and the mapped value is an integration response header value, a static + // value enclosed within a pair of single quotes, or a JSON expression from + // the integration response body. The mapping key must match the pattern of + // method.response.header.{name}, where name is a valid and unique header name. + // The mapped non-static value must match the pattern of integration.response.header.{name} + // or integration.response.body.{JSON-expression}, where name is a valid and + // unique response header name and JSON-expression is a valid JSON expression + // without the $ prefix. + ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"` + + // The collection of response templates for the integration response as a string-to-string + // map of key-value pairs. Response templates are represented as a key/value + // map, with a content-type as the key and a template as the value. + ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"` + + // The template selection expressions for the integration response. + TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"` +} + +// String returns the string representation +func (s IntegrationResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IntegrationResponse) GoString() string { + return s.String() +} + +// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value. +func (s *IntegrationResponse) SetContentHandlingStrategy(v string) *IntegrationResponse { + s.ContentHandlingStrategy = &v + return s +} + +// SetIntegrationResponseId sets the IntegrationResponseId field's value. +func (s *IntegrationResponse) SetIntegrationResponseId(v string) *IntegrationResponse { + s.IntegrationResponseId = &v + return s +} + +// SetIntegrationResponseKey sets the IntegrationResponseKey field's value. +func (s *IntegrationResponse) SetIntegrationResponseKey(v string) *IntegrationResponse { + s.IntegrationResponseKey = &v + return s +} + +// SetResponseParameters sets the ResponseParameters field's value. +func (s *IntegrationResponse) SetResponseParameters(v map[string]*string) *IntegrationResponse { + s.ResponseParameters = v + return s +} + +// SetResponseTemplates sets the ResponseTemplates field's value. +func (s *IntegrationResponse) SetResponseTemplates(v map[string]*string) *IntegrationResponse { + s.ResponseTemplates = v + return s +} + +// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value. +func (s *IntegrationResponse) SetTemplateSelectionExpression(v string) *IntegrationResponse { + s.TemplateSelectionExpression = &v + return s +} + +// Represents a data model for an API. See Create Models and Mapping Templates +// for Request and Response Mappings (https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html). +type Model struct { + _ struct{} `type:"structure"` + + // The content-type for the model, for example, "application/json". + ContentType *string `locationName:"contentType" type:"string"` + + // The description of the model. + Description *string `locationName:"description" type:"string"` + + // The model identifier. + ModelId *string `locationName:"modelId" type:"string"` + + // The name of the model. Must be alphanumeric. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The schema for the model. For application/json models, this should be JSON + // schema draft 4 model. + Schema *string `locationName:"schema" type:"string"` +} + +// String returns the string representation +func (s Model) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Model) GoString() string { + return s.String() +} + +// SetContentType sets the ContentType field's value. +func (s *Model) SetContentType(v string) *Model { + s.ContentType = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Model) SetDescription(v string) *Model { + s.Description = &v + return s +} + +// SetModelId sets the ModelId field's value. +func (s *Model) SetModelId(v string) *Model { + s.ModelId = &v + return s +} + +// SetName sets the Name field's value. +func (s *Model) SetName(v string) *Model { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *Model) SetSchema(v string) *Model { + s.Schema = &v + return s +} + +// Validation constraints imposed on parameters of a request (path, query string, +// headers). +type ParameterConstraints struct { + _ struct{} `type:"structure"` + + // Whether or not the parameter is required. + Required *bool `locationName:"required" type:"boolean"` +} + +// String returns the string representation +func (s ParameterConstraints) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterConstraints) GoString() string { + return s.String() +} + +// SetRequired sets the Required field's value. +func (s *ParameterConstraints) SetRequired(v bool) *ParameterConstraints { + s.Required = &v + return s +} + +// Represents a route. +type Route struct { + _ struct{} `type:"structure"` + + // Specifies whether an API key is required for this route. + ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"` + + // A list of authorization scopes configured on a route. The scopes are used + // with a COGNITO_USER_POOLS authorizer to authorize the method invocation. + // The authorization works by matching the route scopes against the scopes parsed + // from the access token in the incoming request. The method invocation is authorized + // if any route scope matches a claimed scope in the access token. Otherwise, + // the invocation is not authorized. When the route scope is configured, the + // client must provide an access token instead of an identity token for authorization + // purposes. + AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"` + + // The authorization type for the route. Valid values are NONE for open access, + // AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer + AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"` + + // The identifier of the Authorizer resource to be associated with this route, + // if the authorizationType is CUSTOM . The authorizer identifier is generated + // by API Gateway when you created the authorizer. + AuthorizerId *string `locationName:"authorizerId" type:"string"` + + // The model selection expression for the route. + ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"` + + // The operation name for the route. + OperationName *string `locationName:"operationName" type:"string"` + + // The request models for the route. + RequestModels map[string]*string `locationName:"requestModels" type:"map"` + + // The request parameters for the route. + RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"` + + // The route ID. + RouteId *string `locationName:"routeId" type:"string"` + + // The route key for the route. + // + // RouteKey is a required field + RouteKey *string `locationName:"routeKey" type:"string" required:"true"` + + // The route response selection expression for the route. + RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"` + + // The target for the route. + Target *string `locationName:"target" type:"string"` +} + +// String returns the string representation +func (s Route) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Route) GoString() string { + return s.String() +} + +// SetApiKeyRequired sets the ApiKeyRequired field's value. +func (s *Route) SetApiKeyRequired(v bool) *Route { + s.ApiKeyRequired = &v + return s +} + +// SetAuthorizationScopes sets the AuthorizationScopes field's value. +func (s *Route) SetAuthorizationScopes(v []*string) *Route { + s.AuthorizationScopes = v + return s +} + +// SetAuthorizationType sets the AuthorizationType field's value. +func (s *Route) SetAuthorizationType(v string) *Route { + s.AuthorizationType = &v + return s +} + +// SetAuthorizerId sets the AuthorizerId field's value. +func (s *Route) SetAuthorizerId(v string) *Route { + s.AuthorizerId = &v + return s +} + +// SetModelSelectionExpression sets the ModelSelectionExpression field's value. +func (s *Route) SetModelSelectionExpression(v string) *Route { + s.ModelSelectionExpression = &v + return s +} + +// SetOperationName sets the OperationName field's value. +func (s *Route) SetOperationName(v string) *Route { + s.OperationName = &v + return s +} + +// SetRequestModels sets the RequestModels field's value. +func (s *Route) SetRequestModels(v map[string]*string) *Route { + s.RequestModels = v + return s +} + +// SetRequestParameters sets the RequestParameters field's value. +func (s *Route) SetRequestParameters(v map[string]*ParameterConstraints) *Route { + s.RequestParameters = v + return s +} + +// SetRouteId sets the RouteId field's value. +func (s *Route) SetRouteId(v string) *Route { + s.RouteId = &v + return s +} + +// SetRouteKey sets the RouteKey field's value. +func (s *Route) SetRouteKey(v string) *Route { + s.RouteKey = &v + return s +} + +// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value. +func (s *Route) SetRouteResponseSelectionExpression(v string) *Route { + s.RouteResponseSelectionExpression = &v + return s +} + +// SetTarget sets the Target field's value. +func (s *Route) SetTarget(v string) *Route { + s.Target = &v + return s +} + +// Represents a route response. +type RouteResponse struct { + _ struct{} `type:"structure"` + + // Represents the model selection expression of a route response. + ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"` + + // Represents the response models of a route response. + ResponseModels map[string]*string `locationName:"responseModels" type:"map"` + + // Represents the response parameters of a route response. + ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"` + + // Represents the identifier of a route response. + RouteResponseId *string `locationName:"routeResponseId" type:"string"` + + // Represents the route response key of a route response. + // + // RouteResponseKey is a required field + RouteResponseKey *string `locationName:"routeResponseKey" type:"string" required:"true"` +} + +// String returns the string representation +func (s RouteResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RouteResponse) GoString() string { + return s.String() +} + +// SetModelSelectionExpression sets the ModelSelectionExpression field's value. +func (s *RouteResponse) SetModelSelectionExpression(v string) *RouteResponse { + s.ModelSelectionExpression = &v + return s +} + +// SetResponseModels sets the ResponseModels field's value. +func (s *RouteResponse) SetResponseModels(v map[string]*string) *RouteResponse { + s.ResponseModels = v + return s +} + +// SetResponseParameters sets the ResponseParameters field's value. +func (s *RouteResponse) SetResponseParameters(v map[string]*ParameterConstraints) *RouteResponse { + s.ResponseParameters = v + return s +} + +// SetRouteResponseId sets the RouteResponseId field's value. +func (s *RouteResponse) SetRouteResponseId(v string) *RouteResponse { + s.RouteResponseId = &v + return s +} + +// SetRouteResponseKey sets the RouteResponseKey field's value. +func (s *RouteResponse) SetRouteResponseKey(v string) *RouteResponse { + s.RouteResponseKey = &v + return s +} + +// Represents a collection of route settings. +type RouteSettings struct { + _ struct{} `type:"structure"` + + // Specifies whether (true) or not (false) data trace logging is enabled for + // this route. This property affects the log entries pushed to Amazon CloudWatch + // Logs. + DataTraceEnabled *bool `locationName:"dataTraceEnabled" type:"boolean"` + + // Specifies whether detailed metrics are enabled. + DetailedMetricsEnabled *bool `locationName:"detailedMetricsEnabled" type:"boolean"` + + // Specifies the logging level for this route: DEBUG, INFO, or WARN. This property + // affects the log entries pushed to Amazon CloudWatch Logs. + LoggingLevel *string `locationName:"loggingLevel" type:"string" enum:"LoggingLevel"` + + // Specifies the throttling burst limit. + ThrottlingBurstLimit *int64 `locationName:"throttlingBurstLimit" type:"integer"` + + // Specifies the throttling rate limit. + ThrottlingRateLimit *float64 `locationName:"throttlingRateLimit" type:"double"` +} + +// String returns the string representation +func (s RouteSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RouteSettings) GoString() string { + return s.String() +} + +// SetDataTraceEnabled sets the DataTraceEnabled field's value. +func (s *RouteSettings) SetDataTraceEnabled(v bool) *RouteSettings { + s.DataTraceEnabled = &v + return s +} + +// SetDetailedMetricsEnabled sets the DetailedMetricsEnabled field's value. +func (s *RouteSettings) SetDetailedMetricsEnabled(v bool) *RouteSettings { + s.DetailedMetricsEnabled = &v + return s +} + +// SetLoggingLevel sets the LoggingLevel field's value. +func (s *RouteSettings) SetLoggingLevel(v string) *RouteSettings { + s.LoggingLevel = &v + return s +} + +// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value. +func (s *RouteSettings) SetThrottlingBurstLimit(v int64) *RouteSettings { + s.ThrottlingBurstLimit = &v + return s +} + +// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value. +func (s *RouteSettings) SetThrottlingRateLimit(v float64) *RouteSettings { + s.ThrottlingRateLimit = &v + return s +} + +// Represents an API stage. +type Stage struct { + _ struct{} `type:"structure"` + + // Settings for logging access in this stage. + AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"` + + // The identifier of a client certificate for a Stage. + ClientCertificateId *string `locationName:"clientCertificateId" type:"string"` + + // The timestamp when the stage was created. + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"` + + // Default route settings for the stage. + DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"` + + // The identifier of the Deployment that the Stage is associated with. + DeploymentId *string `locationName:"deploymentId" type:"string"` + + // The description of the stage. + Description *string `locationName:"description" type:"string"` + + // The timestamp when the stage was last updated. + LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"` + + // Route settings for the stage. + RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"` + + // The name of the stage. + // + // StageName is a required field + StageName *string `locationName:"stageName" type:"string" required:"true"` + + // A map that defines the stage variables for a stage resource. Variable names + // can have alphanumeric and underscore characters, and the values must match + // [A-Za-z0-9-._~:/?#&=,]+. + StageVariables map[string]*string `locationName:"stageVariables" type:"map"` +} + +// String returns the string representation +func (s Stage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Stage) GoString() string { + return s.String() +} + +// SetAccessLogSettings sets the AccessLogSettings field's value. +func (s *Stage) SetAccessLogSettings(v *AccessLogSettings) *Stage { + s.AccessLogSettings = v + return s +} + +// SetClientCertificateId sets the ClientCertificateId field's value. +func (s *Stage) SetClientCertificateId(v string) *Stage { + s.ClientCertificateId = &v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *Stage) SetCreatedDate(v time.Time) *Stage { + s.CreatedDate = &v + return s +} + +// SetDefaultRouteSettings sets the DefaultRouteSettings field's value. +func (s *Stage) SetDefaultRouteSettings(v *RouteSettings) *Stage { + s.DefaultRouteSettings = v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *Stage) SetDeploymentId(v string) *Stage { + s.DeploymentId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Stage) SetDescription(v string) *Stage { + s.Description = &v + return s +} + +// SetLastUpdatedDate sets the LastUpdatedDate field's value. +func (s *Stage) SetLastUpdatedDate(v time.Time) *Stage { + s.LastUpdatedDate = &v + return s +} + +// SetRouteSettings sets the RouteSettings field's value. +func (s *Stage) SetRouteSettings(v map[string]*RouteSettings) *Stage { + s.RouteSettings = v + return s +} + +// SetStageName sets the StageName field's value. +func (s *Stage) SetStageName(v string) *Stage { + s.StageName = &v + return s +} + +// SetStageVariables sets the StageVariables field's value. +func (s *Stage) SetStageVariables(v map[string]*string) *Stage { + s.StageVariables = v + return s +} + +type UpdateApiInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"` + + // A string with a length between [1-128]. + Name *string `locationName:"name" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"` + + // A string with a length between [1-64]. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s UpdateApiInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApiInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateApiInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateApiInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *UpdateApiInput) SetApiId(v string) *UpdateApiInput { + s.ApiId = &v + return s +} + +// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value. +func (s *UpdateApiInput) SetApiKeySelectionExpression(v string) *UpdateApiInput { + s.ApiKeySelectionExpression = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateApiInput) SetDescription(v string) *UpdateApiInput { + s.Description = &v + return s +} + +// SetDisableSchemaValidation sets the DisableSchemaValidation field's value. +func (s *UpdateApiInput) SetDisableSchemaValidation(v bool) *UpdateApiInput { + s.DisableSchemaValidation = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateApiInput) SetName(v string) *UpdateApiInput { + s.Name = &v + return s +} + +// SetRouteSelectionExpression sets the RouteSelectionExpression field's value. +func (s *UpdateApiInput) SetRouteSelectionExpression(v string) *UpdateApiInput { + s.RouteSelectionExpression = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *UpdateApiInput) SetVersion(v string) *UpdateApiInput { + s.Version = &v + return s +} + +type UpdateApiMappingInput struct { + _ struct{} `type:"structure"` + + // The identifier. + // + // ApiId is a required field + ApiId *string `locationName:"apiId" type:"string" required:"true"` + + // ApiMappingId is a required field + ApiMappingId *string `location:"uri" locationName:"apiMappingId" type:"string" required:"true"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + ApiMappingKey *string `locationName:"apiMappingKey" type:"string"` + + // DomainName is a required field + DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"` + + // A string with a length between [1-128]. + Stage *string `locationName:"stage" type:"string"` +} + +// String returns the string representation +func (s UpdateApiMappingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApiMappingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateApiMappingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateApiMappingInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiMappingId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiMappingId")) + } + if s.ApiMappingId != nil && len(*s.ApiMappingId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiMappingId", 1)) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *UpdateApiMappingInput) SetApiId(v string) *UpdateApiMappingInput { + s.ApiId = &v + return s +} + +// SetApiMappingId sets the ApiMappingId field's value. +func (s *UpdateApiMappingInput) SetApiMappingId(v string) *UpdateApiMappingInput { + s.ApiMappingId = &v + return s +} + +// SetApiMappingKey sets the ApiMappingKey field's value. +func (s *UpdateApiMappingInput) SetApiMappingKey(v string) *UpdateApiMappingInput { + s.ApiMappingKey = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *UpdateApiMappingInput) SetDomainName(v string) *UpdateApiMappingInput { + s.DomainName = &v + return s +} + +// SetStage sets the Stage field's value. +func (s *UpdateApiMappingInput) SetStage(v string) *UpdateApiMappingInput { + s.Stage = &v + return s +} + +type UpdateApiMappingOutput struct { + _ struct{} `type:"structure"` + + // The identifier. + ApiId *string `locationName:"apiId" type:"string"` + + // The identifier. + ApiMappingId *string `locationName:"apiMappingId" type:"string"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + ApiMappingKey *string `locationName:"apiMappingKey" type:"string"` + + // A string with a length between [1-128]. + Stage *string `locationName:"stage" type:"string"` +} + +// String returns the string representation +func (s UpdateApiMappingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApiMappingOutput) GoString() string { + return s.String() +} + +// SetApiId sets the ApiId field's value. +func (s *UpdateApiMappingOutput) SetApiId(v string) *UpdateApiMappingOutput { + s.ApiId = &v + return s +} + +// SetApiMappingId sets the ApiMappingId field's value. +func (s *UpdateApiMappingOutput) SetApiMappingId(v string) *UpdateApiMappingOutput { + s.ApiMappingId = &v + return s +} + +// SetApiMappingKey sets the ApiMappingKey field's value. +func (s *UpdateApiMappingOutput) SetApiMappingKey(v string) *UpdateApiMappingOutput { + s.ApiMappingKey = &v + return s +} + +// SetStage sets the Stage field's value. +func (s *UpdateApiMappingOutput) SetStage(v string) *UpdateApiMappingOutput { + s.Stage = &v + return s +} + +type UpdateApiOutput struct { + _ struct{} `type:"structure"` + + ApiEndpoint *string `locationName:"apiEndpoint" type:"string"` + + // The identifier. + ApiId *string `locationName:"apiId" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"` + + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"` + + // A string with a length between [1-128]. + Name *string `locationName:"name" type:"string"` + + ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"` + + // A string with a length between [1-64]. + Version *string `locationName:"version" type:"string"` + + Warnings []*string `locationName:"warnings" type:"list"` +} + +// String returns the string representation +func (s UpdateApiOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApiOutput) GoString() string { + return s.String() +} + +// SetApiEndpoint sets the ApiEndpoint field's value. +func (s *UpdateApiOutput) SetApiEndpoint(v string) *UpdateApiOutput { + s.ApiEndpoint = &v + return s +} + +// SetApiId sets the ApiId field's value. +func (s *UpdateApiOutput) SetApiId(v string) *UpdateApiOutput { + s.ApiId = &v + return s +} + +// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value. +func (s *UpdateApiOutput) SetApiKeySelectionExpression(v string) *UpdateApiOutput { + s.ApiKeySelectionExpression = &v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *UpdateApiOutput) SetCreatedDate(v time.Time) *UpdateApiOutput { + s.CreatedDate = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateApiOutput) SetDescription(v string) *UpdateApiOutput { + s.Description = &v + return s +} + +// SetDisableSchemaValidation sets the DisableSchemaValidation field's value. +func (s *UpdateApiOutput) SetDisableSchemaValidation(v bool) *UpdateApiOutput { + s.DisableSchemaValidation = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateApiOutput) SetName(v string) *UpdateApiOutput { + s.Name = &v + return s +} + +// SetProtocolType sets the ProtocolType field's value. +func (s *UpdateApiOutput) SetProtocolType(v string) *UpdateApiOutput { + s.ProtocolType = &v + return s +} + +// SetRouteSelectionExpression sets the RouteSelectionExpression field's value. +func (s *UpdateApiOutput) SetRouteSelectionExpression(v string) *UpdateApiOutput { + s.RouteSelectionExpression = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *UpdateApiOutput) SetVersion(v string) *UpdateApiOutput { + s.Version = &v + return s +} + +// SetWarnings sets the Warnings field's value. +func (s *UpdateApiOutput) SetWarnings(v []*string) *UpdateApiOutput { + s.Warnings = v + return s +} + +type UpdateAuthorizerInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // Represents an Amazon Resource Name (ARN). + AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"` + + // AuthorizerId is a required field + AuthorizerId *string `location:"uri" locationName:"authorizerId" type:"string" required:"true"` + + // An integer with a value between [0-3600]. + AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"` + + // The authorizer type. Currently the only valid value is REQUEST, for a Lambda + // function using incoming request parameters. + AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"` + + // A string representation of a URI with a length between [1-2048]. + AuthorizerUri *string `locationName:"authorizerUri" type:"string"` + + // The identity source for which authorization is requested. For the REQUEST + // authorizer, this is required when authorization caching is enabled. The value + // is a comma-separated string of one or more mapping expressions of the specified + // request parameters. For example, if an Auth header, a Name query string parameter + // are defined as identity sources, this value is $method.request.header.Auth, + // $method.request.querystring.Name. These parameters will be used to derive + // the authorization caching key and to perform runtime validation of the REQUEST + // authorizer by verifying all of the identity-related request parameters are + // present, not null and non-empty. Only when this is true does the authorizer + // invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized + // response without calling the Lambda function. The valid value is a string + // of comma-separated mapping expressions of the specified request parameters. + // When the authorization caching is not enabled, this property is optional. + IdentitySource []*string `locationName:"identitySource" type:"list"` + + // A string with a length between [0-1024]. + IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"` + + // A string with a length between [1-128]. + Name *string `locationName:"name" type:"string"` + + // For REQUEST authorizer, this is not defined. + ProviderArns []*string `locationName:"providerArns" type:"list"` +} + +// String returns the string representation +func (s UpdateAuthorizerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAuthorizerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAuthorizerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAuthorizerInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.AuthorizerId == nil { + invalidParams.Add(request.NewErrParamRequired("AuthorizerId")) + } + if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *UpdateAuthorizerInput) SetApiId(v string) *UpdateAuthorizerInput { + s.ApiId = &v + return s +} + +// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value. +func (s *UpdateAuthorizerInput) SetAuthorizerCredentialsArn(v string) *UpdateAuthorizerInput { + s.AuthorizerCredentialsArn = &v + return s +} + +// SetAuthorizerId sets the AuthorizerId field's value. +func (s *UpdateAuthorizerInput) SetAuthorizerId(v string) *UpdateAuthorizerInput { + s.AuthorizerId = &v + return s +} + +// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value. +func (s *UpdateAuthorizerInput) SetAuthorizerResultTtlInSeconds(v int64) *UpdateAuthorizerInput { + s.AuthorizerResultTtlInSeconds = &v + return s +} + +// SetAuthorizerType sets the AuthorizerType field's value. +func (s *UpdateAuthorizerInput) SetAuthorizerType(v string) *UpdateAuthorizerInput { + s.AuthorizerType = &v + return s +} + +// SetAuthorizerUri sets the AuthorizerUri field's value. +func (s *UpdateAuthorizerInput) SetAuthorizerUri(v string) *UpdateAuthorizerInput { + s.AuthorizerUri = &v + return s +} + +// SetIdentitySource sets the IdentitySource field's value. +func (s *UpdateAuthorizerInput) SetIdentitySource(v []*string) *UpdateAuthorizerInput { + s.IdentitySource = v + return s +} + +// SetIdentityValidationExpression sets the IdentityValidationExpression field's value. +func (s *UpdateAuthorizerInput) SetIdentityValidationExpression(v string) *UpdateAuthorizerInput { + s.IdentityValidationExpression = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateAuthorizerInput) SetName(v string) *UpdateAuthorizerInput { + s.Name = &v + return s +} + +// SetProviderArns sets the ProviderArns field's value. +func (s *UpdateAuthorizerInput) SetProviderArns(v []*string) *UpdateAuthorizerInput { + s.ProviderArns = v + return s +} + +type UpdateAuthorizerOutput struct { + _ struct{} `type:"structure"` + + // Represents an Amazon Resource Name (ARN). + AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"` + + // The identifier. + AuthorizerId *string `locationName:"authorizerId" type:"string"` + + // An integer with a value between [0-3600]. + AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"` + + // The authorizer type. Currently the only valid value is REQUEST, for a Lambda + // function using incoming request parameters. + AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"` + + // A string representation of a URI with a length between [1-2048]. + AuthorizerUri *string `locationName:"authorizerUri" type:"string"` + + // The identity source for which authorization is requested. For the REQUEST + // authorizer, this is required when authorization caching is enabled. The value + // is a comma-separated string of one or more mapping expressions of the specified + // request parameters. For example, if an Auth header, a Name query string parameter + // are defined as identity sources, this value is $method.request.header.Auth, + // $method.request.querystring.Name. These parameters will be used to derive + // the authorization caching key and to perform runtime validation of the REQUEST + // authorizer by verifying all of the identity-related request parameters are + // present, not null and non-empty. Only when this is true does the authorizer + // invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized + // response without calling the Lambda function. The valid value is a string + // of comma-separated mapping expressions of the specified request parameters. + // When the authorization caching is not enabled, this property is optional. + IdentitySource []*string `locationName:"identitySource" type:"list"` + + // A string with a length between [0-1024]. + IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"` + + // A string with a length between [1-128]. + Name *string `locationName:"name" type:"string"` + + // For REQUEST authorizer, this is not defined. + ProviderArns []*string `locationName:"providerArns" type:"list"` +} + +// String returns the string representation +func (s UpdateAuthorizerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAuthorizerOutput) GoString() string { + return s.String() +} + +// SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value. +func (s *UpdateAuthorizerOutput) SetAuthorizerCredentialsArn(v string) *UpdateAuthorizerOutput { + s.AuthorizerCredentialsArn = &v + return s +} + +// SetAuthorizerId sets the AuthorizerId field's value. +func (s *UpdateAuthorizerOutput) SetAuthorizerId(v string) *UpdateAuthorizerOutput { + s.AuthorizerId = &v + return s +} + +// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value. +func (s *UpdateAuthorizerOutput) SetAuthorizerResultTtlInSeconds(v int64) *UpdateAuthorizerOutput { + s.AuthorizerResultTtlInSeconds = &v + return s +} + +// SetAuthorizerType sets the AuthorizerType field's value. +func (s *UpdateAuthorizerOutput) SetAuthorizerType(v string) *UpdateAuthorizerOutput { + s.AuthorizerType = &v + return s +} + +// SetAuthorizerUri sets the AuthorizerUri field's value. +func (s *UpdateAuthorizerOutput) SetAuthorizerUri(v string) *UpdateAuthorizerOutput { + s.AuthorizerUri = &v + return s +} + +// SetIdentitySource sets the IdentitySource field's value. +func (s *UpdateAuthorizerOutput) SetIdentitySource(v []*string) *UpdateAuthorizerOutput { + s.IdentitySource = v + return s +} + +// SetIdentityValidationExpression sets the IdentityValidationExpression field's value. +func (s *UpdateAuthorizerOutput) SetIdentityValidationExpression(v string) *UpdateAuthorizerOutput { + s.IdentityValidationExpression = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateAuthorizerOutput) SetName(v string) *UpdateAuthorizerOutput { + s.Name = &v + return s +} + +// SetProviderArns sets the ProviderArns field's value. +func (s *UpdateAuthorizerOutput) SetProviderArns(v []*string) *UpdateAuthorizerOutput { + s.ProviderArns = v + return s +} + +type UpdateDeploymentInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // DeploymentId is a required field + DeploymentId *string `location:"uri" locationName:"deploymentId" type:"string" required:"true"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` +} + +// String returns the string representation +func (s UpdateDeploymentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDeploymentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDeploymentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDeploymentInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.DeploymentId == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentId")) + } + if s.DeploymentId != nil && len(*s.DeploymentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *UpdateDeploymentInput) SetApiId(v string) *UpdateDeploymentInput { + s.ApiId = &v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *UpdateDeploymentInput) SetDeploymentId(v string) *UpdateDeploymentInput { + s.DeploymentId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateDeploymentInput) SetDescription(v string) *UpdateDeploymentInput { + s.Description = &v + return s +} + +type UpdateDeploymentOutput struct { + _ struct{} `type:"structure"` + + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"` + + // The identifier. + DeploymentId *string `locationName:"deploymentId" type:"string"` + + // Represents a deployment status. + DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"` + + DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` +} + +// String returns the string representation +func (s UpdateDeploymentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDeploymentOutput) GoString() string { + return s.String() +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *UpdateDeploymentOutput) SetCreatedDate(v time.Time) *UpdateDeploymentOutput { + s.CreatedDate = &v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *UpdateDeploymentOutput) SetDeploymentId(v string) *UpdateDeploymentOutput { + s.DeploymentId = &v + return s +} + +// SetDeploymentStatus sets the DeploymentStatus field's value. +func (s *UpdateDeploymentOutput) SetDeploymentStatus(v string) *UpdateDeploymentOutput { + s.DeploymentStatus = &v + return s +} + +// SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value. +func (s *UpdateDeploymentOutput) SetDeploymentStatusMessage(v string) *UpdateDeploymentOutput { + s.DeploymentStatusMessage = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateDeploymentOutput) SetDescription(v string) *UpdateDeploymentOutput { + s.Description = &v + return s +} + +type UpdateDomainNameInput struct { + _ struct{} `type:"structure"` + + // DomainName is a required field + DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"` + + // The domain name configurations. + DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"` +} + +// String returns the string representation +func (s UpdateDomainNameInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDomainNameInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDomainNameInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDomainNameInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *UpdateDomainNameInput) SetDomainName(v string) *UpdateDomainNameInput { + s.DomainName = &v + return s +} + +// SetDomainNameConfigurations sets the DomainNameConfigurations field's value. +func (s *UpdateDomainNameInput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *UpdateDomainNameInput { + s.DomainNameConfigurations = v + return s +} + +type UpdateDomainNameOutput struct { + _ struct{} `type:"structure"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"` + + // A string with a length between [1-512]. + DomainName *string `locationName:"domainName" type:"string"` + + // The domain name configurations. + DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"` +} + +// String returns the string representation +func (s UpdateDomainNameOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDomainNameOutput) GoString() string { + return s.String() +} + +// SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value. +func (s *UpdateDomainNameOutput) SetApiMappingSelectionExpression(v string) *UpdateDomainNameOutput { + s.ApiMappingSelectionExpression = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *UpdateDomainNameOutput) SetDomainName(v string) *UpdateDomainNameOutput { + s.DomainName = &v + return s +} + +// SetDomainNameConfigurations sets the DomainNameConfigurations field's value. +func (s *UpdateDomainNameOutput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *UpdateDomainNameOutput { + s.DomainNameConfigurations = v + return s +} + +type UpdateIntegrationInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // A string with a length between [1-1024]. + ConnectionId *string `locationName:"connectionId" type:"string"` + + // Represents a connection type. + ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"` + + // Specifies how to handle response payload content type conversions. + ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"` + + // Represents an Amazon Resource Name (ARN). + CredentialsArn *string `locationName:"credentialsArn" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + // IntegrationId is a required field + IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"` + + // A string with a length between [1-64]. + IntegrationMethod *string `locationName:"integrationMethod" type:"string"` + + // Represents an API method integration type. + IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"` + + // A string representation of a URI with a length between [1-2048]. + IntegrationUri *string `locationName:"integrationUri" type:"string"` + + // Represents passthrough behavior for an integration response. + PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"` + + // A key-value map specifying response parameters that are passed to the method + // response from the backend. The key is a method response header parameter + // name and the mapped value is an integration response header value, a static + // value enclosed within a pair of single quotes, or a JSON expression from + // the integration response body. The mapping key must match the pattern of + // method.response.header.{name}, where name is a valid and unique header name. + // The mapped non-static value must match the pattern of integration.response.header.{name} + // or integration.response.body.{JSON-expression}, where name is a valid and + // unique response header name and JSON-expression is a valid JSON expression + // without the $ prefix. + RequestParameters map[string]*string `locationName:"requestParameters" type:"map"` + + // A mapping of identifier keys to templates. The value is an actual template + // script. The key is typically a SelectionKey which is chosen based on evaluating + // a selection expression. + RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"` + + // An integer with a value between [50-29000]. + TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"` +} + +// String returns the string representation +func (s UpdateIntegrationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateIntegrationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateIntegrationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.IntegrationId == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationId")) + } + if s.IntegrationId != nil && len(*s.IntegrationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1)) + } + if s.TimeoutInMillis != nil && *s.TimeoutInMillis < 50 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutInMillis", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *UpdateIntegrationInput) SetApiId(v string) *UpdateIntegrationInput { + s.ApiId = &v + return s +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *UpdateIntegrationInput) SetConnectionId(v string) *UpdateIntegrationInput { + s.ConnectionId = &v + return s +} + +// SetConnectionType sets the ConnectionType field's value. +func (s *UpdateIntegrationInput) SetConnectionType(v string) *UpdateIntegrationInput { + s.ConnectionType = &v + return s +} + +// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value. +func (s *UpdateIntegrationInput) SetContentHandlingStrategy(v string) *UpdateIntegrationInput { + s.ContentHandlingStrategy = &v + return s +} + +// SetCredentialsArn sets the CredentialsArn field's value. +func (s *UpdateIntegrationInput) SetCredentialsArn(v string) *UpdateIntegrationInput { + s.CredentialsArn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateIntegrationInput) SetDescription(v string) *UpdateIntegrationInput { + s.Description = &v + return s +} + +// SetIntegrationId sets the IntegrationId field's value. +func (s *UpdateIntegrationInput) SetIntegrationId(v string) *UpdateIntegrationInput { + s.IntegrationId = &v + return s +} + +// SetIntegrationMethod sets the IntegrationMethod field's value. +func (s *UpdateIntegrationInput) SetIntegrationMethod(v string) *UpdateIntegrationInput { + s.IntegrationMethod = &v + return s +} + +// SetIntegrationType sets the IntegrationType field's value. +func (s *UpdateIntegrationInput) SetIntegrationType(v string) *UpdateIntegrationInput { + s.IntegrationType = &v + return s +} + +// SetIntegrationUri sets the IntegrationUri field's value. +func (s *UpdateIntegrationInput) SetIntegrationUri(v string) *UpdateIntegrationInput { + s.IntegrationUri = &v + return s +} + +// SetPassthroughBehavior sets the PassthroughBehavior field's value. +func (s *UpdateIntegrationInput) SetPassthroughBehavior(v string) *UpdateIntegrationInput { + s.PassthroughBehavior = &v + return s +} + +// SetRequestParameters sets the RequestParameters field's value. +func (s *UpdateIntegrationInput) SetRequestParameters(v map[string]*string) *UpdateIntegrationInput { + s.RequestParameters = v + return s +} + +// SetRequestTemplates sets the RequestTemplates field's value. +func (s *UpdateIntegrationInput) SetRequestTemplates(v map[string]*string) *UpdateIntegrationInput { + s.RequestTemplates = v + return s +} + +// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value. +func (s *UpdateIntegrationInput) SetTemplateSelectionExpression(v string) *UpdateIntegrationInput { + s.TemplateSelectionExpression = &v + return s +} + +// SetTimeoutInMillis sets the TimeoutInMillis field's value. +func (s *UpdateIntegrationInput) SetTimeoutInMillis(v int64) *UpdateIntegrationInput { + s.TimeoutInMillis = &v + return s +} + +type UpdateIntegrationOutput struct { + _ struct{} `type:"structure"` + + // A string with a length between [1-1024]. + ConnectionId *string `locationName:"connectionId" type:"string"` + + // Represents a connection type. + ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"` + + // Specifies how to handle response payload content type conversions. + ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"` + + // Represents an Amazon Resource Name (ARN). + CredentialsArn *string `locationName:"credentialsArn" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + // The identifier. + IntegrationId *string `locationName:"integrationId" type:"string"` + + // A string with a length between [1-64]. + IntegrationMethod *string `locationName:"integrationMethod" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"` + + // Represents an API method integration type. + IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"` + + // A string representation of a URI with a length between [1-2048]. + IntegrationUri *string `locationName:"integrationUri" type:"string"` + + // Represents passthrough behavior for an integration response. + PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"` + + // A key-value map specifying response parameters that are passed to the method + // response from the backend. The key is a method response header parameter + // name and the mapped value is an integration response header value, a static + // value enclosed within a pair of single quotes, or a JSON expression from + // the integration response body. The mapping key must match the pattern of + // method.response.header.{name}, where name is a valid and unique header name. + // The mapped non-static value must match the pattern of integration.response.header.{name} + // or integration.response.body.{JSON-expression}, where name is a valid and + // unique response header name and JSON-expression is a valid JSON expression + // without the $ prefix. + RequestParameters map[string]*string `locationName:"requestParameters" type:"map"` + + // A mapping of identifier keys to templates. The value is an actual template + // script. The key is typically a SelectionKey which is chosen based on evaluating + // a selection expression. + RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"` + + // An integer with a value between [50-29000]. + TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"` +} + +// String returns the string representation +func (s UpdateIntegrationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateIntegrationOutput) GoString() string { + return s.String() +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *UpdateIntegrationOutput) SetConnectionId(v string) *UpdateIntegrationOutput { + s.ConnectionId = &v + return s +} + +// SetConnectionType sets the ConnectionType field's value. +func (s *UpdateIntegrationOutput) SetConnectionType(v string) *UpdateIntegrationOutput { + s.ConnectionType = &v + return s +} + +// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value. +func (s *UpdateIntegrationOutput) SetContentHandlingStrategy(v string) *UpdateIntegrationOutput { + s.ContentHandlingStrategy = &v + return s +} + +// SetCredentialsArn sets the CredentialsArn field's value. +func (s *UpdateIntegrationOutput) SetCredentialsArn(v string) *UpdateIntegrationOutput { + s.CredentialsArn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateIntegrationOutput) SetDescription(v string) *UpdateIntegrationOutput { + s.Description = &v + return s +} + +// SetIntegrationId sets the IntegrationId field's value. +func (s *UpdateIntegrationOutput) SetIntegrationId(v string) *UpdateIntegrationOutput { + s.IntegrationId = &v + return s +} + +// SetIntegrationMethod sets the IntegrationMethod field's value. +func (s *UpdateIntegrationOutput) SetIntegrationMethod(v string) *UpdateIntegrationOutput { + s.IntegrationMethod = &v + return s +} + +// SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value. +func (s *UpdateIntegrationOutput) SetIntegrationResponseSelectionExpression(v string) *UpdateIntegrationOutput { + s.IntegrationResponseSelectionExpression = &v + return s +} + +// SetIntegrationType sets the IntegrationType field's value. +func (s *UpdateIntegrationOutput) SetIntegrationType(v string) *UpdateIntegrationOutput { + s.IntegrationType = &v + return s +} + +// SetIntegrationUri sets the IntegrationUri field's value. +func (s *UpdateIntegrationOutput) SetIntegrationUri(v string) *UpdateIntegrationOutput { + s.IntegrationUri = &v + return s +} + +// SetPassthroughBehavior sets the PassthroughBehavior field's value. +func (s *UpdateIntegrationOutput) SetPassthroughBehavior(v string) *UpdateIntegrationOutput { + s.PassthroughBehavior = &v + return s +} + +// SetRequestParameters sets the RequestParameters field's value. +func (s *UpdateIntegrationOutput) SetRequestParameters(v map[string]*string) *UpdateIntegrationOutput { + s.RequestParameters = v + return s +} + +// SetRequestTemplates sets the RequestTemplates field's value. +func (s *UpdateIntegrationOutput) SetRequestTemplates(v map[string]*string) *UpdateIntegrationOutput { + s.RequestTemplates = v + return s +} + +// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value. +func (s *UpdateIntegrationOutput) SetTemplateSelectionExpression(v string) *UpdateIntegrationOutput { + s.TemplateSelectionExpression = &v + return s +} + +// SetTimeoutInMillis sets the TimeoutInMillis field's value. +func (s *UpdateIntegrationOutput) SetTimeoutInMillis(v int64) *UpdateIntegrationOutput { + s.TimeoutInMillis = &v + return s +} + +type UpdateIntegrationResponseInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // Specifies how to handle response payload content type conversions. + ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"` + + // IntegrationId is a required field + IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"` + + // IntegrationResponseId is a required field + IntegrationResponseId *string `location:"uri" locationName:"integrationResponseId" type:"string" required:"true"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"` + + // A key-value map specifying response parameters that are passed to the method + // response from the backend. The key is a method response header parameter + // name and the mapped value is an integration response header value, a static + // value enclosed within a pair of single quotes, or a JSON expression from + // the integration response body. The mapping key must match the pattern of + // method.response.header.{name}, where name is a valid and unique header name. + // The mapped non-static value must match the pattern of integration.response.header.{name} + // or integration.response.body.{JSON-expression}, where name is a valid and + // unique response header name and JSON-expression is a valid JSON expression + // without the $ prefix. + ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"` + + // A mapping of identifier keys to templates. The value is an actual template + // script. The key is typically a SelectionKey which is chosen based on evaluating + // a selection expression. + ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"` +} + +// String returns the string representation +func (s UpdateIntegrationResponseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateIntegrationResponseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateIntegrationResponseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationResponseInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.IntegrationId == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationId")) + } + if s.IntegrationId != nil && len(*s.IntegrationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1)) + } + if s.IntegrationResponseId == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationResponseId")) + } + if s.IntegrationResponseId != nil && len(*s.IntegrationResponseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationResponseId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *UpdateIntegrationResponseInput) SetApiId(v string) *UpdateIntegrationResponseInput { + s.ApiId = &v + return s +} + +// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value. +func (s *UpdateIntegrationResponseInput) SetContentHandlingStrategy(v string) *UpdateIntegrationResponseInput { + s.ContentHandlingStrategy = &v + return s +} + +// SetIntegrationId sets the IntegrationId field's value. +func (s *UpdateIntegrationResponseInput) SetIntegrationId(v string) *UpdateIntegrationResponseInput { + s.IntegrationId = &v + return s +} + +// SetIntegrationResponseId sets the IntegrationResponseId field's value. +func (s *UpdateIntegrationResponseInput) SetIntegrationResponseId(v string) *UpdateIntegrationResponseInput { + s.IntegrationResponseId = &v + return s +} + +// SetIntegrationResponseKey sets the IntegrationResponseKey field's value. +func (s *UpdateIntegrationResponseInput) SetIntegrationResponseKey(v string) *UpdateIntegrationResponseInput { + s.IntegrationResponseKey = &v + return s +} + +// SetResponseParameters sets the ResponseParameters field's value. +func (s *UpdateIntegrationResponseInput) SetResponseParameters(v map[string]*string) *UpdateIntegrationResponseInput { + s.ResponseParameters = v + return s +} + +// SetResponseTemplates sets the ResponseTemplates field's value. +func (s *UpdateIntegrationResponseInput) SetResponseTemplates(v map[string]*string) *UpdateIntegrationResponseInput { + s.ResponseTemplates = v + return s +} + +// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value. +func (s *UpdateIntegrationResponseInput) SetTemplateSelectionExpression(v string) *UpdateIntegrationResponseInput { + s.TemplateSelectionExpression = &v + return s +} + +type UpdateIntegrationResponseOutput struct { + _ struct{} `type:"structure"` + + // Specifies how to handle response payload content type conversions. + ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"` + + // The identifier. + IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"` + + // A key-value map specifying response parameters that are passed to the method + // response from the backend. The key is a method response header parameter + // name and the mapped value is an integration response header value, a static + // value enclosed within a pair of single quotes, or a JSON expression from + // the integration response body. The mapping key must match the pattern of + // method.response.header.{name}, where name is a valid and unique header name. + // The mapped non-static value must match the pattern of integration.response.header.{name} + // or integration.response.body.{JSON-expression}, where name is a valid and + // unique response header name and JSON-expression is a valid JSON expression + // without the $ prefix. + ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"` + + // A mapping of identifier keys to templates. The value is an actual template + // script. The key is typically a SelectionKey which is chosen based on evaluating + // a selection expression. + ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"` +} + +// String returns the string representation +func (s UpdateIntegrationResponseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateIntegrationResponseOutput) GoString() string { + return s.String() +} + +// SetContentHandlingStrategy sets the ContentHandlingStrategy field's value. +func (s *UpdateIntegrationResponseOutput) SetContentHandlingStrategy(v string) *UpdateIntegrationResponseOutput { + s.ContentHandlingStrategy = &v + return s +} + +// SetIntegrationResponseId sets the IntegrationResponseId field's value. +func (s *UpdateIntegrationResponseOutput) SetIntegrationResponseId(v string) *UpdateIntegrationResponseOutput { + s.IntegrationResponseId = &v + return s +} + +// SetIntegrationResponseKey sets the IntegrationResponseKey field's value. +func (s *UpdateIntegrationResponseOutput) SetIntegrationResponseKey(v string) *UpdateIntegrationResponseOutput { + s.IntegrationResponseKey = &v + return s +} + +// SetResponseParameters sets the ResponseParameters field's value. +func (s *UpdateIntegrationResponseOutput) SetResponseParameters(v map[string]*string) *UpdateIntegrationResponseOutput { + s.ResponseParameters = v + return s +} + +// SetResponseTemplates sets the ResponseTemplates field's value. +func (s *UpdateIntegrationResponseOutput) SetResponseTemplates(v map[string]*string) *UpdateIntegrationResponseOutput { + s.ResponseTemplates = v + return s +} + +// SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value. +func (s *UpdateIntegrationResponseOutput) SetTemplateSelectionExpression(v string) *UpdateIntegrationResponseOutput { + s.TemplateSelectionExpression = &v + return s +} + +type UpdateModelInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // A string with a length between [1-256]. + ContentType *string `locationName:"contentType" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + // ModelId is a required field + ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"` + + // A string with a length between [1-128]. + Name *string `locationName:"name" type:"string"` + + // A string with a length between [0-32768]. + Schema *string `locationName:"schema" type:"string"` +} + +// String returns the string representation +func (s UpdateModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateModelInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.ModelId == nil { + invalidParams.Add(request.NewErrParamRequired("ModelId")) + } + if s.ModelId != nil && len(*s.ModelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *UpdateModelInput) SetApiId(v string) *UpdateModelInput { + s.ApiId = &v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *UpdateModelInput) SetContentType(v string) *UpdateModelInput { + s.ContentType = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateModelInput) SetDescription(v string) *UpdateModelInput { + s.Description = &v + return s +} + +// SetModelId sets the ModelId field's value. +func (s *UpdateModelInput) SetModelId(v string) *UpdateModelInput { + s.ModelId = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateModelInput) SetName(v string) *UpdateModelInput { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *UpdateModelInput) SetSchema(v string) *UpdateModelInput { + s.Schema = &v + return s +} + +type UpdateModelOutput struct { + _ struct{} `type:"structure"` + + // A string with a length between [1-256]. + ContentType *string `locationName:"contentType" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + // The identifier. + ModelId *string `locationName:"modelId" type:"string"` + + // A string with a length between [1-128]. + Name *string `locationName:"name" type:"string"` + + // A string with a length between [0-32768]. + Schema *string `locationName:"schema" type:"string"` +} + +// String returns the string representation +func (s UpdateModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateModelOutput) GoString() string { + return s.String() +} + +// SetContentType sets the ContentType field's value. +func (s *UpdateModelOutput) SetContentType(v string) *UpdateModelOutput { + s.ContentType = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateModelOutput) SetDescription(v string) *UpdateModelOutput { + s.Description = &v + return s +} + +// SetModelId sets the ModelId field's value. +func (s *UpdateModelOutput) SetModelId(v string) *UpdateModelOutput { + s.ModelId = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateModelOutput) SetName(v string) *UpdateModelOutput { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *UpdateModelOutput) SetSchema(v string) *UpdateModelOutput { + s.Schema = &v + return s +} + +type UpdateRouteInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"` + + // A list of authorization scopes configured on a route. The scopes are used + // with a COGNITO_USER_POOLS authorizer to authorize the method invocation. + // The authorization works by matching the route scopes against the scopes parsed + // from the access token in the incoming request. The method invocation is authorized + // if any route scope matches a claimed scope in the access token. Otherwise, + // the invocation is not authorized. When the route scope is configured, the + // client must provide an access token instead of an identity token for authorization + // purposes. + AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"` + + // The authorization type. Valid values are NONE for open access, AWS_IAM for + // using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. + AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"` + + // The identifier. + AuthorizerId *string `locationName:"authorizerId" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"` + + // A string with a length between [1-64]. + OperationName *string `locationName:"operationName" type:"string"` + + // The route models. + RequestModels map[string]*string `locationName:"requestModels" type:"map"` + + // The route parameters. + RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"` + + // RouteId is a required field + RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + RouteKey *string `locationName:"routeKey" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"` + + // A string with a length between [1-128]. + Target *string `locationName:"target" type:"string"` +} + +// String returns the string representation +func (s UpdateRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.RouteId == nil { + invalidParams.Add(request.NewErrParamRequired("RouteId")) + } + if s.RouteId != nil && len(*s.RouteId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *UpdateRouteInput) SetApiId(v string) *UpdateRouteInput { + s.ApiId = &v + return s +} + +// SetApiKeyRequired sets the ApiKeyRequired field's value. +func (s *UpdateRouteInput) SetApiKeyRequired(v bool) *UpdateRouteInput { + s.ApiKeyRequired = &v + return s +} + +// SetAuthorizationScopes sets the AuthorizationScopes field's value. +func (s *UpdateRouteInput) SetAuthorizationScopes(v []*string) *UpdateRouteInput { + s.AuthorizationScopes = v + return s +} + +// SetAuthorizationType sets the AuthorizationType field's value. +func (s *UpdateRouteInput) SetAuthorizationType(v string) *UpdateRouteInput { + s.AuthorizationType = &v + return s +} + +// SetAuthorizerId sets the AuthorizerId field's value. +func (s *UpdateRouteInput) SetAuthorizerId(v string) *UpdateRouteInput { + s.AuthorizerId = &v + return s +} + +// SetModelSelectionExpression sets the ModelSelectionExpression field's value. +func (s *UpdateRouteInput) SetModelSelectionExpression(v string) *UpdateRouteInput { + s.ModelSelectionExpression = &v + return s +} + +// SetOperationName sets the OperationName field's value. +func (s *UpdateRouteInput) SetOperationName(v string) *UpdateRouteInput { + s.OperationName = &v + return s +} + +// SetRequestModels sets the RequestModels field's value. +func (s *UpdateRouteInput) SetRequestModels(v map[string]*string) *UpdateRouteInput { + s.RequestModels = v + return s +} + +// SetRequestParameters sets the RequestParameters field's value. +func (s *UpdateRouteInput) SetRequestParameters(v map[string]*ParameterConstraints) *UpdateRouteInput { + s.RequestParameters = v + return s +} + +// SetRouteId sets the RouteId field's value. +func (s *UpdateRouteInput) SetRouteId(v string) *UpdateRouteInput { + s.RouteId = &v + return s +} + +// SetRouteKey sets the RouteKey field's value. +func (s *UpdateRouteInput) SetRouteKey(v string) *UpdateRouteInput { + s.RouteKey = &v + return s +} + +// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value. +func (s *UpdateRouteInput) SetRouteResponseSelectionExpression(v string) *UpdateRouteInput { + s.RouteResponseSelectionExpression = &v + return s +} + +// SetTarget sets the Target field's value. +func (s *UpdateRouteInput) SetTarget(v string) *UpdateRouteInput { + s.Target = &v + return s +} + +type UpdateRouteOutput struct { + _ struct{} `type:"structure"` + + ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"` + + // A list of authorization scopes configured on a route. The scopes are used + // with a COGNITO_USER_POOLS authorizer to authorize the method invocation. + // The authorization works by matching the route scopes against the scopes parsed + // from the access token in the incoming request. The method invocation is authorized + // if any route scope matches a claimed scope in the access token. Otherwise, + // the invocation is not authorized. When the route scope is configured, the + // client must provide an access token instead of an identity token for authorization + // purposes. + AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"` + + // The authorization type. Valid values are NONE for open access, AWS_IAM for + // using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. + AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"` + + // The identifier. + AuthorizerId *string `locationName:"authorizerId" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"` + + // A string with a length between [1-64]. + OperationName *string `locationName:"operationName" type:"string"` + + // The route models. + RequestModels map[string]*string `locationName:"requestModels" type:"map"` + + // The route parameters. + RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"` + + // The identifier. + RouteId *string `locationName:"routeId" type:"string"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + RouteKey *string `locationName:"routeKey" type:"string"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"` + + // A string with a length between [1-128]. + Target *string `locationName:"target" type:"string"` +} + +// String returns the string representation +func (s UpdateRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRouteOutput) GoString() string { + return s.String() +} + +// SetApiKeyRequired sets the ApiKeyRequired field's value. +func (s *UpdateRouteOutput) SetApiKeyRequired(v bool) *UpdateRouteOutput { + s.ApiKeyRequired = &v + return s +} + +// SetAuthorizationScopes sets the AuthorizationScopes field's value. +func (s *UpdateRouteOutput) SetAuthorizationScopes(v []*string) *UpdateRouteOutput { + s.AuthorizationScopes = v + return s +} + +// SetAuthorizationType sets the AuthorizationType field's value. +func (s *UpdateRouteOutput) SetAuthorizationType(v string) *UpdateRouteOutput { + s.AuthorizationType = &v + return s +} + +// SetAuthorizerId sets the AuthorizerId field's value. +func (s *UpdateRouteOutput) SetAuthorizerId(v string) *UpdateRouteOutput { + s.AuthorizerId = &v + return s +} + +// SetModelSelectionExpression sets the ModelSelectionExpression field's value. +func (s *UpdateRouteOutput) SetModelSelectionExpression(v string) *UpdateRouteOutput { + s.ModelSelectionExpression = &v + return s +} + +// SetOperationName sets the OperationName field's value. +func (s *UpdateRouteOutput) SetOperationName(v string) *UpdateRouteOutput { + s.OperationName = &v + return s +} + +// SetRequestModels sets the RequestModels field's value. +func (s *UpdateRouteOutput) SetRequestModels(v map[string]*string) *UpdateRouteOutput { + s.RequestModels = v + return s +} + +// SetRequestParameters sets the RequestParameters field's value. +func (s *UpdateRouteOutput) SetRequestParameters(v map[string]*ParameterConstraints) *UpdateRouteOutput { + s.RequestParameters = v + return s +} + +// SetRouteId sets the RouteId field's value. +func (s *UpdateRouteOutput) SetRouteId(v string) *UpdateRouteOutput { + s.RouteId = &v + return s +} + +// SetRouteKey sets the RouteKey field's value. +func (s *UpdateRouteOutput) SetRouteKey(v string) *UpdateRouteOutput { + s.RouteKey = &v + return s +} + +// SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value. +func (s *UpdateRouteOutput) SetRouteResponseSelectionExpression(v string) *UpdateRouteOutput { + s.RouteResponseSelectionExpression = &v + return s +} + +// SetTarget sets the Target field's value. +func (s *UpdateRouteOutput) SetTarget(v string) *UpdateRouteOutput { + s.Target = &v + return s +} + +type UpdateRouteResponseInput struct { + _ struct{} `type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"` + + // The route models. + ResponseModels map[string]*string `locationName:"responseModels" type:"map"` + + // The route parameters. + ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"` + + // RouteId is a required field + RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"` + + // RouteResponseId is a required field + RouteResponseId *string `location:"uri" locationName:"routeResponseId" type:"string" required:"true"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + RouteResponseKey *string `locationName:"routeResponseKey" type:"string"` +} + +// String returns the string representation +func (s UpdateRouteResponseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRouteResponseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRouteResponseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRouteResponseInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.RouteId == nil { + invalidParams.Add(request.NewErrParamRequired("RouteId")) + } + if s.RouteId != nil && len(*s.RouteId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteId", 1)) + } + if s.RouteResponseId == nil { + invalidParams.Add(request.NewErrParamRequired("RouteResponseId")) + } + if s.RouteResponseId != nil && len(*s.RouteResponseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteResponseId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *UpdateRouteResponseInput) SetApiId(v string) *UpdateRouteResponseInput { + s.ApiId = &v + return s +} + +// SetModelSelectionExpression sets the ModelSelectionExpression field's value. +func (s *UpdateRouteResponseInput) SetModelSelectionExpression(v string) *UpdateRouteResponseInput { + s.ModelSelectionExpression = &v + return s +} + +// SetResponseModels sets the ResponseModels field's value. +func (s *UpdateRouteResponseInput) SetResponseModels(v map[string]*string) *UpdateRouteResponseInput { + s.ResponseModels = v + return s +} + +// SetResponseParameters sets the ResponseParameters field's value. +func (s *UpdateRouteResponseInput) SetResponseParameters(v map[string]*ParameterConstraints) *UpdateRouteResponseInput { + s.ResponseParameters = v + return s +} + +// SetRouteId sets the RouteId field's value. +func (s *UpdateRouteResponseInput) SetRouteId(v string) *UpdateRouteResponseInput { + s.RouteId = &v + return s +} + +// SetRouteResponseId sets the RouteResponseId field's value. +func (s *UpdateRouteResponseInput) SetRouteResponseId(v string) *UpdateRouteResponseInput { + s.RouteResponseId = &v + return s +} + +// SetRouteResponseKey sets the RouteResponseKey field's value. +func (s *UpdateRouteResponseInput) SetRouteResponseKey(v string) *UpdateRouteResponseInput { + s.RouteResponseKey = &v + return s +} + +type UpdateRouteResponseOutput struct { + _ struct{} `type:"structure"` + + // An expression used to extract information at runtime. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for more information. + ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"` + + // The route models. + ResponseModels map[string]*string `locationName:"responseModels" type:"map"` + + // The route parameters. + ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"` + + // The identifier. + RouteResponseId *string `locationName:"routeResponseId" type:"string"` + + // After evaulating a selection expression, the result is compared against one + // or more selection keys to find a matching key. See Selection Expressions + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) + // for a list of expressions and each expression's associated selection key + // type. + RouteResponseKey *string `locationName:"routeResponseKey" type:"string"` +} + +// String returns the string representation +func (s UpdateRouteResponseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRouteResponseOutput) GoString() string { + return s.String() +} + +// SetModelSelectionExpression sets the ModelSelectionExpression field's value. +func (s *UpdateRouteResponseOutput) SetModelSelectionExpression(v string) *UpdateRouteResponseOutput { + s.ModelSelectionExpression = &v + return s +} + +// SetResponseModels sets the ResponseModels field's value. +func (s *UpdateRouteResponseOutput) SetResponseModels(v map[string]*string) *UpdateRouteResponseOutput { + s.ResponseModels = v + return s +} + +// SetResponseParameters sets the ResponseParameters field's value. +func (s *UpdateRouteResponseOutput) SetResponseParameters(v map[string]*ParameterConstraints) *UpdateRouteResponseOutput { + s.ResponseParameters = v + return s +} + +// SetRouteResponseId sets the RouteResponseId field's value. +func (s *UpdateRouteResponseOutput) SetRouteResponseId(v string) *UpdateRouteResponseOutput { + s.RouteResponseId = &v + return s +} + +// SetRouteResponseKey sets the RouteResponseKey field's value. +func (s *UpdateRouteResponseOutput) SetRouteResponseKey(v string) *UpdateRouteResponseOutput { + s.RouteResponseKey = &v + return s +} + +type UpdateStageInput struct { + _ struct{} `type:"structure"` + + // Settings for logging access in a stage. + AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"` + + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // The identifier. + ClientCertificateId *string `locationName:"clientCertificateId" type:"string"` + + // Represents a collection of route settings. + DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"` + + // The identifier. + DeploymentId *string `locationName:"deploymentId" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + // The route settings map. + RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"` + + // StageName is a required field + StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"` + + // The stage variable map. + StageVariables map[string]*string `locationName:"stageVariables" type:"map"` +} + +// String returns the string representation +func (s UpdateStageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateStageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateStageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateStageInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.StageName == nil { + invalidParams.Add(request.NewErrParamRequired("StageName")) + } + if s.StageName != nil && len(*s.StageName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StageName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessLogSettings sets the AccessLogSettings field's value. +func (s *UpdateStageInput) SetAccessLogSettings(v *AccessLogSettings) *UpdateStageInput { + s.AccessLogSettings = v + return s +} + +// SetApiId sets the ApiId field's value. +func (s *UpdateStageInput) SetApiId(v string) *UpdateStageInput { + s.ApiId = &v + return s +} + +// SetClientCertificateId sets the ClientCertificateId field's value. +func (s *UpdateStageInput) SetClientCertificateId(v string) *UpdateStageInput { + s.ClientCertificateId = &v + return s +} + +// SetDefaultRouteSettings sets the DefaultRouteSettings field's value. +func (s *UpdateStageInput) SetDefaultRouteSettings(v *RouteSettings) *UpdateStageInput { + s.DefaultRouteSettings = v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *UpdateStageInput) SetDeploymentId(v string) *UpdateStageInput { + s.DeploymentId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateStageInput) SetDescription(v string) *UpdateStageInput { + s.Description = &v + return s +} + +// SetRouteSettings sets the RouteSettings field's value. +func (s *UpdateStageInput) SetRouteSettings(v map[string]*RouteSettings) *UpdateStageInput { + s.RouteSettings = v + return s +} + +// SetStageName sets the StageName field's value. +func (s *UpdateStageInput) SetStageName(v string) *UpdateStageInput { + s.StageName = &v + return s +} + +// SetStageVariables sets the StageVariables field's value. +func (s *UpdateStageInput) SetStageVariables(v map[string]*string) *UpdateStageInput { + s.StageVariables = v + return s +} + +type UpdateStageOutput struct { + _ struct{} `type:"structure"` + + // Settings for logging access in a stage. + AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"` + + // The identifier. + ClientCertificateId *string `locationName:"clientCertificateId" type:"string"` + + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"` + + // Represents a collection of route settings. + DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"` + + // The identifier. + DeploymentId *string `locationName:"deploymentId" type:"string"` + + // A string with a length between [0-1024]. + Description *string `locationName:"description" type:"string"` + + LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"` + + // The route settings map. + RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"` + + // A string with a length between [1-128]. + StageName *string `locationName:"stageName" type:"string"` + + // The stage variable map. + StageVariables map[string]*string `locationName:"stageVariables" type:"map"` +} + +// String returns the string representation +func (s UpdateStageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateStageOutput) GoString() string { + return s.String() +} + +// SetAccessLogSettings sets the AccessLogSettings field's value. +func (s *UpdateStageOutput) SetAccessLogSettings(v *AccessLogSettings) *UpdateStageOutput { + s.AccessLogSettings = v + return s +} + +// SetClientCertificateId sets the ClientCertificateId field's value. +func (s *UpdateStageOutput) SetClientCertificateId(v string) *UpdateStageOutput { + s.ClientCertificateId = &v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *UpdateStageOutput) SetCreatedDate(v time.Time) *UpdateStageOutput { + s.CreatedDate = &v + return s +} + +// SetDefaultRouteSettings sets the DefaultRouteSettings field's value. +func (s *UpdateStageOutput) SetDefaultRouteSettings(v *RouteSettings) *UpdateStageOutput { + s.DefaultRouteSettings = v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *UpdateStageOutput) SetDeploymentId(v string) *UpdateStageOutput { + s.DeploymentId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateStageOutput) SetDescription(v string) *UpdateStageOutput { + s.Description = &v + return s +} + +// SetLastUpdatedDate sets the LastUpdatedDate field's value. +func (s *UpdateStageOutput) SetLastUpdatedDate(v time.Time) *UpdateStageOutput { + s.LastUpdatedDate = &v + return s +} + +// SetRouteSettings sets the RouteSettings field's value. +func (s *UpdateStageOutput) SetRouteSettings(v map[string]*RouteSettings) *UpdateStageOutput { + s.RouteSettings = v + return s +} + +// SetStageName sets the StageName field's value. +func (s *UpdateStageOutput) SetStageName(v string) *UpdateStageOutput { + s.StageName = &v + return s +} + +// SetStageVariables sets the StageVariables field's value. +func (s *UpdateStageOutput) SetStageVariables(v map[string]*string) *UpdateStageOutput { + s.StageVariables = v + return s +} + +// The authorization type. Valid values are NONE for open access, AWS_IAM for +// using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. +const ( + // AuthorizationTypeNone is a AuthorizationType enum value + AuthorizationTypeNone = "NONE" + + // AuthorizationTypeAwsIam is a AuthorizationType enum value + AuthorizationTypeAwsIam = "AWS_IAM" + + // AuthorizationTypeCustom is a AuthorizationType enum value + AuthorizationTypeCustom = "CUSTOM" +) + +// The authorizer type. Currently the only valid value is REQUEST, for a Lambda +// function using incoming request parameters. +const ( + // AuthorizerTypeRequest is a AuthorizerType enum value + AuthorizerTypeRequest = "REQUEST" +) + +// Represents a connection type. +const ( + // ConnectionTypeInternet is a ConnectionType enum value + ConnectionTypeInternet = "INTERNET" + + // ConnectionTypeVpcLink is a ConnectionType enum value + ConnectionTypeVpcLink = "VPC_LINK" +) + +// Specifies how to handle response payload content type conversions. +const ( + // ContentHandlingStrategyConvertToBinary is a ContentHandlingStrategy enum value + ContentHandlingStrategyConvertToBinary = "CONVERT_TO_BINARY" + + // ContentHandlingStrategyConvertToText is a ContentHandlingStrategy enum value + ContentHandlingStrategyConvertToText = "CONVERT_TO_TEXT" +) + +// Represents a deployment status. +const ( + // DeploymentStatusPending is a DeploymentStatus enum value + DeploymentStatusPending = "PENDING" + + // DeploymentStatusFailed is a DeploymentStatus enum value + DeploymentStatusFailed = "FAILED" + + // DeploymentStatusDeployed is a DeploymentStatus enum value + DeploymentStatusDeployed = "DEPLOYED" +) + +// Represents an endpoint type. +const ( + // EndpointTypeRegional is a EndpointType enum value + EndpointTypeRegional = "REGIONAL" + + // EndpointTypeEdge is a EndpointType enum value + EndpointTypeEdge = "EDGE" +) + +// Represents an API method integration type. +const ( + // IntegrationTypeAws is a IntegrationType enum value + IntegrationTypeAws = "AWS" + + // IntegrationTypeHttp is a IntegrationType enum value + IntegrationTypeHttp = "HTTP" + + // IntegrationTypeMock is a IntegrationType enum value + IntegrationTypeMock = "MOCK" + + // IntegrationTypeHttpProxy is a IntegrationType enum value + IntegrationTypeHttpProxy = "HTTP_PROXY" + + // IntegrationTypeAwsProxy is a IntegrationType enum value + IntegrationTypeAwsProxy = "AWS_PROXY" +) + +// The logging level. +const ( + // LoggingLevelError is a LoggingLevel enum value + LoggingLevelError = "ERROR" + + // LoggingLevelInfo is a LoggingLevel enum value + LoggingLevelInfo = "INFO" + + // LoggingLevelFalse is a LoggingLevel enum value + LoggingLevelFalse = "false" +) + +// Represents passthrough behavior for an integration response. +const ( + // PassthroughBehaviorWhenNoMatch is a PassthroughBehavior enum value + PassthroughBehaviorWhenNoMatch = "WHEN_NO_MATCH" + + // PassthroughBehaviorNever is a PassthroughBehavior enum value + PassthroughBehaviorNever = "NEVER" + + // PassthroughBehaviorWhenNoTemplates is a PassthroughBehavior enum value + PassthroughBehaviorWhenNoTemplates = "WHEN_NO_TEMPLATES" +) + +const ( + // ProtocolTypeWebsocket is a ProtocolType enum value + ProtocolTypeWebsocket = "WEBSOCKET" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/doc.go new file mode 100644 index 00000000000..009cd801c2d --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package apigatewayv2 provides the client and types for making API +// requests to AmazonApiGatewayV2. +// +// Amazon API Gateway V2 +// +// See https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29 for more information on this service. +// +// See apigatewayv2 package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/apigatewayv2/ +// +// Using the Client +// +// To contact AmazonApiGatewayV2 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 AmazonApiGatewayV2 client ApiGatewayV2 for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/apigatewayv2/#New +package apigatewayv2 diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/errors.go new file mode 100644 index 00000000000..141b1bab7df --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/errors.go @@ -0,0 +1,34 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package apigatewayv2 + +const ( + + // ErrCodeBadRequestException for service response error code + // "BadRequestException". + // + // The request is not valid, for example, the input is incomplete or incorrect. + // See the accompanying error message for details. + ErrCodeBadRequestException = "BadRequestException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The requested operation would cause a conflict with the current state of + // a service resource associated with the request. Resolve the conflict before + // retrying this request. See the accompanying error message for details. + ErrCodeConflictException = "ConflictException" + + // ErrCodeNotFoundException for service response error code + // "NotFoundException". + // + // The resource specified in the request was not found. See the message field + // for more information. + ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + // + // A limit has been exceeded. See the accompanying error message for details. + ErrCodeTooManyRequestsException = "TooManyRequestsException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/service.go new file mode 100644 index 00000000000..4a722afe903 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/service.go @@ -0,0 +1,99 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package apigatewayv2 + +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/restjson" +) + +// ApiGatewayV2 provides the API operation methods for making requests to +// AmazonApiGatewayV2. See this package's package overview docs +// for details on the service. +// +// ApiGatewayV2 methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type ApiGatewayV2 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 = "ApiGatewayV2" // Name of service. + EndpointsID = "apigateway" // ID to lookup a service endpoint with. + ServiceID = "ApiGatewayV2" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the ApiGatewayV2 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 ApiGatewayV2 client from just a session. +// svc := apigatewayv2.New(mySession) +// +// // Create a ApiGatewayV2 client with additional configuration +// svc := apigatewayv2.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *ApiGatewayV2 { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "apigateway" + } + 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) *ApiGatewayV2 { + svc := &ApiGatewayV2{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-11-29", + JSONVersion: "1.1", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a ApiGatewayV2 operation and runs any +// custom request initialization. +func (c *ApiGatewayV2) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go index 5fa02a90d12..87e230ce880 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go @@ -690,7 +690,7 @@ func (c *ApplicationAutoScaling) DescribeScalingPoliciesRequest(input *DescribeS // when Application Auto Scaling is unable to retrieve the alarms associated // with a scaling policy due to a client error, for example, if the role ARN // specified for a scalable target does not have permission to call the CloudWatch -// DescribeAlarms (http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) +// DescribeAlarms (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) // on your behalf. // // * ErrCodeInvalidNextTokenException "InvalidNextTokenException" @@ -919,8 +919,8 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // // Each scalable target is identified by a service namespace, resource ID, and // scalable dimension. A scaling policy applies to the scalable target identified -// by those three attributes. You cannot create a scaling policy until you register -// the scalable target using RegisterScalableTarget. +// by those three attributes. You cannot create a scaling policy until you have +// registered the resource as a scalable target using RegisterScalableTarget. // // To update a policy, specify its policy name and the parameters that you want // to change. Any parameters that you don't specify are not changed by this @@ -929,6 +929,20 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // You can view the scaling policies for a service namespace using DescribeScalingPolicies. // If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy. // +// Multiple scaling policies can be in force at the same time for the same scalable +// target. You can have one or more target tracking scaling policies, one or +// more step scaling policies, or both. However, there is a chance that multiple +// policies could conflict, instructing the scalable target to scale out or +// in at the same time. Application Auto Scaling gives precedence to the policy +// that provides the largest capacity for both scale in and scale out. For example, +// if one policy increases capacity by 3, another policy increases capacity +// by 200 percent, and the current capacity is 10, Application Auto Scaling +// uses the policy with the highest calculated capacity (200% of 10 = 20) and +// scales out to 30. +// +// Learn more about how to work with scaling policies in the Application Auto +// Scaling User Guide (https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.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. @@ -943,7 +957,7 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // // * ErrCodeLimitExceededException "LimitExceededException" // A per-account resource limit is exceeded. For more information, see Application -// Auto Scaling Limits (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). +// Auto Scaling Limits (https://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). // // * ErrCodeObjectNotFoundException "ObjectNotFoundException" // The specified object could not be found. For any operation that depends on @@ -961,7 +975,7 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // when Application Auto Scaling is unable to retrieve the alarms associated // with a scaling policy due to a client error, for example, if the role ARN // specified for a scalable target does not have permission to call the CloudWatch -// DescribeAlarms (http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) +// DescribeAlarms (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) // on your behalf. // // * ErrCodeInternalServiceException "InternalServiceException" @@ -1040,7 +1054,7 @@ func (c *ApplicationAutoScaling) PutScheduledActionRequest(input *PutScheduledAc // Each scalable target is identified by a service namespace, resource ID, and // scalable dimension. A scheduled action applies to the scalable target identified // by those three attributes. You cannot create a scheduled action until you -// register the scalable target using RegisterScalableTarget. +// have registered the resource as a scalable target using RegisterScalableTarget. // // To update an action, specify its name and the parameters that you want to // change. If you don't specify start and end times, the old values are deleted. @@ -1050,6 +1064,9 @@ func (c *ApplicationAutoScaling) PutScheduledActionRequest(input *PutScheduledAc // You can view the scheduled actions using DescribeScheduledActions. If you // are no longer using a scheduled action, you can delete it using DeleteScheduledAction. // +// Learn more about how to work with scheduled actions in the Application Auto +// Scaling User Guide (https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.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. @@ -1064,7 +1081,7 @@ func (c *ApplicationAutoScaling) PutScheduledActionRequest(input *PutScheduledAc // // * ErrCodeLimitExceededException "LimitExceededException" // A per-account resource limit is exceeded. For more information, see Application -// Auto Scaling Limits (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). +// Auto Scaling Limits (https://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). // // * ErrCodeObjectNotFoundException "ObjectNotFoundException" // The specified object could not be found. For any operation that depends on @@ -1148,14 +1165,16 @@ func (c *ApplicationAutoScaling) RegisterScalableTargetRequest(input *RegisterSc // RegisterScalableTarget API operation for Application Auto Scaling. // // Registers or updates a scalable target. A scalable target is a resource that -// Application Auto Scaling can scale out or scale in. After you have registered -// a scalable target, you can use this operation to update the minimum and maximum -// values for its scalable dimension. +// Application Auto Scaling can scale out and scale in. Each scalable target +// has a resource ID, scalable dimension, and namespace, as well as values for +// minimum and maximum capacity. +// +// After you register a scalable target, you do not need to register it again +// to use other Application Auto Scaling operations. To see which resources +// have been registered, use DescribeScalableTargets. You can also view the +// scaling policies for a service namespace using DescribeScalableTargets. // -// After you register a scalable target, you can create and apply scaling policies -// using PutScalingPolicy. You can view the scaling policies for a service namespace -// using DescribeScalableTargets. If you no longer need a scalable target, you -// can deregister it using DeregisterScalableTarget. +// If you no longer need a scalable target, you can deregister it using DeregisterScalableTarget. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1171,7 +1190,7 @@ func (c *ApplicationAutoScaling) RegisterScalableTargetRequest(input *RegisterSc // // * ErrCodeLimitExceededException "LimitExceededException" // A per-account resource limit is exceeded. For more information, see Application -// Auto Scaling Limits (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). +// Auto Scaling Limits (https://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). // // * ErrCodeConcurrentUpdateException "ConcurrentUpdateException" // Concurrent updates caused an exception, for example, if you request an update @@ -1239,11 +1258,30 @@ func (s *Alarm) SetAlarmName(v string) *Alarm { return s } -// Configures a customized metric for a target tracking policy. +// Represents a CloudWatch metric of your choosing for a target tracking scaling +// policy to use with Application Auto Scaling. +// +// To create your customized metric specification: +// +// * Add values for each required parameter from CloudWatch. You can use +// an existing metric, or a new metric that you create. To use your own metric, +// you must first publish the metric to CloudWatch. For more information, +// see Publish Custom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) +// in the Amazon CloudWatch User Guide. +// +// * Choose a metric that changes proportionally with capacity. The value +// of the metric should increase or decrease in inverse proportion to the +// number of capacity units. That is, the value of the metric should decrease +// when capacity increases. +// +// For more information about CloudWatch, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html). type CustomizedMetricSpecification struct { _ struct{} `type:"structure"` // The dimensions of the metric. + // + // Conditional: If you published your metric with dimensions, you must specify + // the same dimensions in your scaling policy. Dimensions []*MetricDimension `type:"list"` // The name of the metric. @@ -1372,7 +1410,7 @@ type DeleteScalingPolicyInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1404,7 +1442,8 @@ type DeleteScalingPolicyInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -1417,7 +1456,7 @@ type DeleteScalingPolicyInput struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -1533,7 +1572,7 @@ type DeleteScheduledActionInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1565,14 +1604,17 @@ type DeleteScheduledActionInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. - ScalableDimension *string `type:"string" enum:"ScalableDimension"` + // + // ScalableDimension is a required field + ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` // The name of the scheduled action. // @@ -1581,7 +1623,7 @@ type DeleteScheduledActionInput struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -1607,6 +1649,9 @@ func (s *DeleteScheduledActionInput) Validate() error { if s.ResourceId != nil && len(*s.ResourceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) } + if s.ScalableDimension == nil { + invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) + } if s.ScheduledActionName == nil { invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) } @@ -1694,7 +1739,7 @@ type DeregisterScalableTargetInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1726,7 +1771,8 @@ type DeregisterScalableTargetInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -1739,7 +1785,7 @@ type DeregisterScalableTargetInput struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -1856,7 +1902,7 @@ type DescribeScalableTargetsInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). ResourceIds []*string `type:"list"` // The scalable dimension associated with the scalable target. This string consists @@ -1887,7 +1933,8 @@ type DescribeScalableTargetsInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -1898,7 +1945,7 @@ type DescribeScalableTargetsInput struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -2037,7 +2084,7 @@ type DescribeScalingActivitiesInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2068,7 +2115,8 @@ type DescribeScalingActivitiesInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -2079,7 +2127,7 @@ type DescribeScalingActivitiesInput struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -2224,7 +2272,7 @@ type DescribeScalingPoliciesInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2255,7 +2303,8 @@ type DescribeScalingPoliciesInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -2266,7 +2315,7 @@ type DescribeScalingPoliciesInput struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -2414,7 +2463,7 @@ type DescribeScheduledActionsInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2445,7 +2494,8 @@ type DescribeScheduledActionsInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -2459,7 +2509,7 @@ type DescribeScheduledActionsInput struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -2561,7 +2611,7 @@ func (s *DescribeScheduledActionsOutput) SetScheduledActions(v []*ScheduledActio return s } -// Describes the dimension of a metric. +// Describes the dimension names and values associated with a metric. type MetricDimension struct { _ struct{} `type:"structure"` @@ -2614,7 +2664,8 @@ func (s *MetricDimension) SetValue(v string) *MetricDimension { return s } -// Configures a predefined metric for a target tracking policy. +// Represents a predefined metric for a target tracking scaling policy to use +// with Application Auto Scaling. type PredefinedMetricSpecification struct { _ struct{} `type:"structure"` @@ -2685,11 +2736,13 @@ type PutScalingPolicyInput struct { // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` - // The policy type. This parameter is required if you are creating a policy. + // The policy type. This parameter is required if you are creating a scaling + // policy. // - // For DynamoDB, only TargetTrackingScaling is supported. For Amazon ECS, Spot - // Fleet, and Amazon RDS, both StepScaling and TargetTrackingScaling are supported. - // For any other service, only StepScaling is supported. + // For information on which services do not support StepScaling or TargetTrackingScaling, + // see the information about Limits in Step Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) + // and Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) + // in the Application Auto Scaling User Guide. PolicyType *string `type:"string" enum:"PolicyType"` // The identifier of the resource associated with the scaling policy. This string @@ -2722,7 +2775,7 @@ type PutScalingPolicyInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -2754,7 +2807,8 @@ type PutScalingPolicyInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -2767,7 +2821,7 @@ type PutScalingPolicyInput struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -2779,7 +2833,8 @@ type PutScalingPolicyInput struct { // is StepScaling. StepScalingPolicyConfiguration *StepScalingPolicyConfiguration `type:"structure"` - // A target tracking policy. + // A target tracking scaling policy. Includes support for predefined or customized + // metrics. // // This parameter is required if you are creating a policy and the policy type // is TargetTrackingScaling. @@ -2879,7 +2934,7 @@ func (s *PutScalingPolicyInput) SetTargetTrackingScalingPolicyConfiguration(v *T type PutScalingPolicyOutput struct { _ struct{} `type:"structure"` - // The CloudWatch alarms created for the target tracking policy. + // The CloudWatch alarms created for the target tracking scaling policy. Alarms []*Alarm `type:"list"` // The Amazon Resource Name (ARN) of the resulting scaling policy. @@ -2946,13 +3001,12 @@ type PutScheduledActionInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` - // The scalable dimension. This parameter is required if you are creating a - // scheduled action. This string consists of the service namespace, resource + // The scalable dimension. This string consists of the service namespace, resource // type, and scaling property. // // * ecs:service:DesiredCount - The desired task count of an ECS service. @@ -2979,14 +3033,17 @@ type PutScheduledActionInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. - ScalableDimension *string `type:"string" enum:"ScalableDimension"` + // + // ScalableDimension is a required field + ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` // The new minimum and maximum capacity. You can set both values or just one. // During the scheduled time, if the current capacity is below the minimum capacity, @@ -2997,18 +3054,18 @@ type PutScheduledActionInput struct { // The schedule for this action. The following formats are supported: // - // * At expressions - at(yyyy-mm-ddThh:mm:ss) + // * At expressions - "at(yyyy-mm-ddThh:mm:ss)" // - // * Rate expressions - rate(valueunit) + // * Rate expressions - "rate(valueunit)" // - // * Cron expressions - cron(fields) + // * Cron expressions - "cron(fields)" // // At expressions are useful for one-time schedules. Specify the time, in UTC. // // For rate expressions, value is a positive integer and unit is minute | minutes // | hour | hours | day | days. // - // For more information about cron expressions, see Cron Expressions (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // For more information about cron expressions, see Cron Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) // in the Amazon CloudWatch Events User Guide. Schedule *string `min:"1" type:"string"` @@ -3019,7 +3076,7 @@ type PutScheduledActionInput struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -3048,6 +3105,9 @@ func (s *PutScheduledActionInput) Validate() error { if s.ResourceId != nil && len(*s.ResourceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) } + if s.ScalableDimension == nil { + invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) + } if s.Schedule != nil && len(*s.Schedule) < 1 { invalidParams.Add(request.NewErrParamMinLen("Schedule", 1)) } @@ -3132,12 +3192,12 @@ func (s PutScheduledActionOutput) GoString() string { type RegisterScalableTargetInput struct { _ struct{} `type:"structure"` - // The maximum value to scale to in response to a scale out event. This parameter - // is required if you are registering a scalable target. + // The maximum value to scale to in response to a scale-out event. This parameter + // is required to register a scalable target. MaxCapacity *int64 `type:"integer"` - // The minimum value to scale to in response to a scale in event. This parameter - // is required if you are registering a scalable target. + // The minimum value to scale to in response to a scale-in event. This parameter + // is required to register a scalable target. MinCapacity *int64 `type:"integer"` // The identifier of the resource associated with the scalable target. This @@ -3170,14 +3230,14 @@ type RegisterScalableTargetInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` // Application Auto Scaling creates a service-linked role that grants it permissions // to modify the scalable target on your behalf. For more information, see Service-Linked - // Roles for Application Auto Scaling (http://docs.aws.amazon.com/autoscaling/application/userguide/application-autoscaling-service-linked-roles.html). + // Roles for Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html). // // For resources that are not supported using a service-linked role, this parameter // is required and must specify the ARN of an IAM role that allows Application @@ -3211,7 +3271,8 @@ type RegisterScalableTargetInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -3224,7 +3285,7 @@ type RegisterScalableTargetInput struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -3325,12 +3386,12 @@ type ScalableTarget struct { // CreationTime is a required field CreationTime *time.Time `type:"timestamp" required:"true"` - // The maximum value to scale to in response to a scale out event. + // The maximum value to scale to in response to a scale-out event. // // MaxCapacity is a required field MaxCapacity *int64 `type:"integer" required:"true"` - // The minimum value to scale to in response to a scale in event. + // The minimum value to scale to in response to a scale-in event. // // MinCapacity is a required field MinCapacity *int64 `type:"integer" required:"true"` @@ -3365,7 +3426,7 @@ type ScalableTarget struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3403,7 +3464,8 @@ type ScalableTarget struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -3416,7 +3478,7 @@ type ScalableTarget struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -3563,7 +3625,7 @@ type ScalingActivity struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3595,7 +3657,8 @@ type ScalingActivity struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -3608,7 +3671,7 @@ type ScalingActivity struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -3704,7 +3767,7 @@ func (s *ScalingActivity) SetStatusMessage(v string) *ScalingActivity { return s } -// Represents a scaling policy. +// Represents a scaling policy to use with Application Auto Scaling. type ScalingPolicy struct { _ struct{} `type:"structure"` @@ -3761,7 +3824,7 @@ type ScalingPolicy struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3793,7 +3856,8 @@ type ScalingPolicy struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -3806,7 +3870,7 @@ type ScalingPolicy struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -3815,7 +3879,7 @@ type ScalingPolicy struct { // A step scaling policy. StepScalingPolicyConfiguration *StepScalingPolicyConfiguration `type:"structure"` - // A target tracking policy. + // A target tracking scaling policy. TargetTrackingScalingPolicyConfiguration *TargetTrackingScalingPolicyConfiguration `type:"structure"` } @@ -3931,7 +3995,7 @@ type ScheduledAction struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3963,7 +4027,8 @@ type ScheduledAction struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -3981,18 +4046,18 @@ type ScheduledAction struct { // The schedule for this action. The following formats are supported: // - // * At expressions - at(yyyy-mm-ddThh:mm:ss) + // * At expressions - "at(yyyy-mm-ddThh:mm:ss)" // - // * Rate expressions - rate(valueunit) + // * Rate expressions - "rate(valueunit)" // - // * Cron expressions - cron(fields) + // * Cron expressions - "cron(fields)" // // At expressions are useful for one-time schedules. Specify the time, in UTC. // // For rate expressions, value is a positive integer and unit is minute | minutes // | hour | hours | day | days. // - // For more information about cron expressions, see Cron Expressions (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // For more information about cron expressions, see Cron Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) // in the Amazon CloudWatch Events User Guide. // // Schedule is a required field @@ -4010,7 +4075,7 @@ type ScheduledAction struct { // The namespace of the AWS service that provides the resource or custom-resource // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) // in the Amazon Web Services General Reference. // // ServiceNamespace is a required field @@ -4187,7 +4252,8 @@ func (s *StepAdjustment) SetScalingAdjustment(v int64) *StepAdjustment { return s } -// Represents a step scaling policy configuration. +// Represents a step scaling policy configuration to use with Application Auto +// Scaling. type StepScalingPolicyConfiguration struct { _ struct{} `type:"structure"` @@ -4199,32 +4265,39 @@ type StepScalingPolicyConfiguration struct { // previous trigger-related scaling activities can influence future scaling // events. // - // For scale out policies, while the cooldown period is in effect, the capacity - // that has been added by the previous scale out event that initiated the cooldown + // For scale-out policies, while the cooldown period is in effect, the capacity + // that has been added by the previous scale-out event that initiated the cooldown // is calculated as part of the desired capacity for the next scale out. The // intention is to continuously (but not excessively) scale out. For example, // an alarm triggers a step scaling policy to scale out an Amazon ECS service // by 2 tasks, the scaling activity completes successfully, and a cooldown period - // of 5 minutes starts. During the Cooldown period, if the alarm triggers the + // of 5 minutes starts. During the cooldown period, if the alarm triggers the // same policy again but at a more aggressive step adjustment to scale out the - // service by 3 tasks, the 2 tasks that were added in the previous scale out + // service by 3 tasks, the 2 tasks that were added in the previous scale-out // event are considered part of that capacity and only 1 additional task is // added to the desired count. // - // For scale in policies, the cooldown period is used to block subsequent scale - // in requests until it has expired. The intention is to scale in conservatively + // For scale-in policies, the cooldown period is used to block subsequent scale-in + // requests until it has expired. The intention is to scale in conservatively // to protect your application's availability. However, if another alarm triggers - // a scale out policy during the cooldown period after a scale-in, Application + // a scale-out policy during the cooldown period after a scale-in, Application // Auto Scaling scales out your scalable target immediately. Cooldown *int64 `type:"integer"` // The aggregation type for the CloudWatch metrics. Valid values are Minimum, - // Maximum, and Average. + // Maximum, and Average. If the aggregation type is null, the value is treated + // as Average. MetricAggregationType *string `type:"string" enum:"MetricAggregationType"` // The minimum number to adjust your scalable dimension as a result of a scaling // activity. If the adjustment type is PercentChangeInCapacity, the scaling // policy changes the scalable dimension of the scalable target by this amount. + // + // For example, suppose that you create a step scaling policy to scale out an + // Amazon ECS service by 25 percent and you specify a MinAdjustmentMagnitude + // of 2. If the service has 4 tasks and the scaling policy is performed, 25 + // percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude + // of 2, Application Auto Scaling scales out the service by 2 tasks. MinAdjustmentMagnitude *int64 `type:"integer"` // A set of adjustments that enable you to scale based on the size of the alarm @@ -4292,38 +4365,41 @@ func (s *StepScalingPolicyConfiguration) SetStepAdjustments(v []*StepAdjustment) return s } -// Represents a target tracking scaling policy configuration. +// Represents a target tracking scaling policy configuration to use with Application +// Auto Scaling. type TargetTrackingScalingPolicyConfiguration struct { _ struct{} `type:"structure"` - // A customized metric. + // A customized metric. You can specify either a predefined metric or a customized + // metric. CustomizedMetricSpecification *CustomizedMetricSpecification `type:"structure"` - // Indicates whether scale in by the target tracking policy is disabled. If - // the value is true, scale in is disabled and the target tracking policy won't - // remove capacity from the scalable resource. Otherwise, scale in is enabled - // and the target tracking policy can remove capacity from the scalable resource. - // The default value is false. + // Indicates whether scale in by the target tracking scaling policy is disabled. + // If the value is true, scale in is disabled and the target tracking scaling + // policy won't remove capacity from the scalable resource. Otherwise, scale + // in is enabled and the target tracking scaling policy can remove capacity + // from the scalable resource. The default value is false. DisableScaleIn *bool `type:"boolean"` - // A predefined metric. + // A predefined metric. You can specify either a predefined metric or a customized + // metric. PredefinedMetricSpecification *PredefinedMetricSpecification `type:"structure"` - // The amount of time, in seconds, after a scale in activity completes before + // The amount of time, in seconds, after a scale-in activity completes before // another scale in activity can start. // - // The cooldown period is used to block subsequent scale in requests until it + // The cooldown period is used to block subsequent scale-in requests until it // has expired. The intention is to scale in conservatively to protect your - // application's availability. However, if another alarm triggers a scale out + // application's availability. However, if another alarm triggers a scale-out // policy during the cooldown period after a scale-in, Application Auto Scaling // scales out your scalable target immediately. ScaleInCooldown *int64 `type:"integer"` - // The amount of time, in seconds, after a scale out activity completes before - // another scale out activity can start. + // The amount of time, in seconds, after a scale-out activity completes before + // another scale-out activity can start. // // While the cooldown period is in effect, the capacity that has been added - // by the previous scale out event that initiated the cooldown is calculated + // by the previous scale-out event that initiated the cooldown is calculated // as part of the desired capacity for the next scale out. The intention is // to continuously (but not excessively) scale out. ScaleOutCooldown *int64 `type:"integer"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go index 9d1c051a255..6083bac0928 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go @@ -18,42 +18,39 @@ // Application Auto Scaling can scale the following resources: // // * Amazon ECS services. For more information, see Service Auto Scaling -// (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html) +// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html) // in the Amazon Elastic Container Service Developer Guide. // // * Amazon EC2 Spot fleets. For more information, see Automatic Scaling -// for Spot Fleet (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fleet-auto-scaling.html) +// for Spot Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fleet-auto-scaling.html) // in the Amazon EC2 User Guide. // // * Amazon EMR clusters. For more information, see Using Automatic Scaling -// in Amazon EMR (http://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide/emr-automatic-scaling.html) +// in Amazon EMR (https://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide/emr-automatic-scaling.html) // in the Amazon EMR Management Guide. // // * AppStream 2.0 fleets. For more information, see Fleet Auto Scaling for -// Amazon AppStream 2.0 (http://docs.aws.amazon.com/appstream2/latest/developerguide/autoscaling.html) +// Amazon AppStream 2.0 (https://docs.aws.amazon.com/appstream2/latest/developerguide/autoscaling.html) // in the Amazon AppStream 2.0 Developer Guide. // // * Provisioned read and write capacity for Amazon DynamoDB tables and global // secondary indexes. For more information, see Managing Throughput Capacity -// Automatically with DynamoDB Auto Scaling (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) +// Automatically with DynamoDB Auto Scaling (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) // in the Amazon DynamoDB Developer Guide. // // * Amazon Aurora Replicas. For more information, see Using Amazon Aurora -// Auto Scaling with Aurora Replicas (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Integrating.AutoScaling.html). +// Auto Scaling with Aurora Replicas (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Integrating.AutoScaling.html). // // * Amazon SageMaker endpoint variants. For more information, see Automatically -// Scaling Amazon SageMaker Models (http://docs.aws.amazon.com/sagemaker/latest/dg/endpoint-auto-scaling.html). +// Scaling Amazon SageMaker Models (https://docs.aws.amazon.com/sagemaker/latest/dg/endpoint-auto-scaling.html). // // * Custom resources provided by your own applications or services. More // information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // -// To learn more about Application Auto Scaling, see the Application Auto Scaling -// User Guide (http://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html). -// -// To configure automatic scaling for multiple resources across multiple services, -// use AWS Auto Scaling to create a scaling plan for your application. For more -// information, see the AWS Auto Scaling User Guide (http://docs.aws.amazon.com/autoscaling/plans/userguide/what-is-aws-auto-scaling.html). +// To learn more about Application Auto Scaling, including information about +// granting IAM users required permissions for Application Auto Scaling actions, +// see the Application Auto Scaling User Guide (https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html). // // See https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06 for more information on this service. // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/errors.go index bf1476bd7e6..7d410101382 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/errors.go @@ -18,7 +18,7 @@ const ( // when Application Auto Scaling is unable to retrieve the alarms associated // with a scaling policy due to a client error, for example, if the role ARN // specified for a scalable target does not have permission to call the CloudWatch - // DescribeAlarms (http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) + // DescribeAlarms (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) // on your behalf. ErrCodeFailedResourceAccessException = "FailedResourceAccessException" @@ -38,7 +38,7 @@ const ( // "LimitExceededException". // // A per-account resource limit is exceeded. For more information, see Application - // Auto Scaling Limits (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). + // Auto Scaling Limits (https://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). ErrCodeLimitExceededException = "LimitExceededException" // ErrCodeObjectNotFoundException for service response error code diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go index 8f57f444400..79b45590cf7 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go @@ -937,7 +937,7 @@ func (c *AppMesh) DescribeMeshRequest(input *DescribeMeshInput) (req *request.Re // DescribeMesh API operation for AWS App Mesh. // -// Describes an existing cluster. +// Describes an existing service mesh. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3314,34 +3314,45 @@ func (s *DnsServiceDiscovery) SetServiceName(v string) *DnsServiceDiscovery { } // An object representing the health check policy for a virtual node's listener. -// -// Listener health checks are not available during the App Mesh preview. type HealthCheckPolicy struct { _ struct{} `type:"structure"` // The number of consecutive successful health checks that must occur before // declaring listener healthy. - HealthyThreshold *int64 `locationName:"healthyThreshold" type:"integer"` + // + // HealthyThreshold is a required field + HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` // The time period in milliseconds between each health check execution. - IntervalMillis *int64 `locationName:"intervalMillis" type:"long"` + // + // IntervalMillis is a required field + IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` - // The destination path for the health check request. + // The destination path for the health check request. This is only required + // if the specified protocol is HTTP; if the protocol is TCP, then this parameter + // is ignored. Path *string `locationName:"path" type:"string"` - // The destination port for the health check request. + // The destination port for the health check request. This port must match the + // port defined in the PortMapping for the listener. Port *int64 `locationName:"port" min:"1" type:"integer"` // The protocol for the health check request. - Protocol *string `locationName:"protocol" type:"string" enum:"PortProtocol"` + // + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` // The amount of time to wait when receiving a response from the health check, // in milliseconds. - TimeoutMillis *int64 `locationName:"timeoutMillis" type:"long"` + // + // TimeoutMillis is a required field + TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` // The number of consecutive failed health checks that must occur before declaring // a virtual node unhealthy. - UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" type:"integer"` + // + // UnhealthyThreshold is a required field + UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"` } // String returns the string representation @@ -3357,9 +3368,36 @@ func (s HealthCheckPolicy) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *HealthCheckPolicy) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HealthCheckPolicy"} + if s.HealthyThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) + } + if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { + invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) + } + if s.IntervalMillis == nil { + invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) + } + if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { + invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) + } if s.Port != nil && *s.Port < 1 { invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.TimeoutMillis == nil { + invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) + } + if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) + } + if s.UnhealthyThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) + } + if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { + invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3974,8 +4012,6 @@ type Listener struct { _ struct{} `type:"structure"` // The health check information for the listener. - // - // Listener health checks are not available during the App Mesh preview. HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"` // The port mapping information for the listener. @@ -4190,10 +4226,10 @@ type ResourceMetadata struct { // with the APPMESH_VIRTUAL_NODE_CLUSTER environment variable. Arn *string `locationName:"arn" type:"string"` - // The Unix epoch timestamp in seconds for when the cluster was created. + // The Unix epoch timestamp in seconds for when the resource was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - // The Unix epoch timestamp in seconds for when the cluster was last updated. + // The Unix epoch timestamp in seconds for when the resource was last updated. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // The unique identifier for the resource. diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/appmesh/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/appmesh/doc.go index c0c1ce50aab..c8217e7b25f 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/appmesh/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/appmesh/doc.go @@ -16,7 +16,7 @@ // discovery naming for their components. To use App Mesh, you must have a containerized // application running on Amazon EC2 instances, hosted in either Amazon ECS, // Amazon EKS, or Kubernetes on AWS. For more information about service discovery -// on Amazon ECS, see Service Discovery (http://docs.aws.amazon.com/AmazonECS/latest/developerguideservice-discovery.html) +// on Amazon ECS, see Service Discovery (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) // in the Amazon Elastic Container Service Developer Guide. Kubernetes kube-dns // is supported. For more information, see DNS for Services and Pods (https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/) // in the Kubernetes documentation. diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/athena/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/athena/api.go index 77ba49c811f..a05d7b4f8ad 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/athena/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/athena/api.go @@ -3,6 +3,7 @@ package athena import ( + "fmt" "time" "github.com/aws/aws-sdk-go/aws" @@ -57,12 +58,14 @@ func (c *Athena) BatchGetNamedQueryRequest(input *BatchGetNamedQueryInput) (req // BatchGetNamedQuery API operation for Amazon Athena. // // Returns the details of a single named query or a list of up to 50 queries, -// which you provide as an array of query ID strings. Use ListNamedQueries to -// get the list of named query IDs. If information could not be retrieved for -// a submitted query ID, information about the query ID submitted is listed -// under UnprocessedNamedQueryId. Named queries are different from executed -// queries. Use BatchGetQueryExecution to get details about each unique query -// execution, and ListQueryExecutions to get a list of query execution IDs. +// which you provide as an array of query ID strings. Requires you to have access +// to the workgroup in which the queries were saved. Use ListNamedQueriesInput +// to get the list of named query IDs in the specified workgroup. If information +// could not be retrieved for a submitted query ID, information about the query +// ID submitted is listed under UnprocessedNamedQueryId. Named queries differ +// from executed queries. Use BatchGetQueryExecutionInput to get details about +// each unique query execution, and ListQueryExecutionsInput to get a list of +// query execution IDs. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -148,9 +151,10 @@ func (c *Athena) BatchGetQueryExecutionRequest(input *BatchGetQueryExecutionInpu // // Returns the details of a single query execution or a list of up to 50 query // executions, which you provide as an array of query execution ID strings. -// To get a list of query execution IDs, use ListQueryExecutions. Query executions -// are different from named (saved) queries. Use BatchGetNamedQuery to get details -// about named queries. +// Requires you to have access to the workgroup in which the queries ran. To +// get a list of query execution IDs, use ListQueryExecutionsInput$WorkGroup. +// Query executions differ from named (saved) queries. Use BatchGetNamedQueryInput +// to get details about named queries. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -234,7 +238,8 @@ func (c *Athena) CreateNamedQueryRequest(input *CreateNamedQueryInput) (req *req // CreateNamedQuery API operation for Amazon Athena. // -// Creates a named query. +// Creates a named query in the specified workgroup. Requires that you have +// access to the workgroup. // // For code samples using the AWS SDK for Java, see Examples and Code Samples // (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon @@ -278,6 +283,91 @@ func (c *Athena) CreateNamedQueryWithContext(ctx aws.Context, input *CreateNamed return out, req.Send() } +const opCreateWorkGroup = "CreateWorkGroup" + +// CreateWorkGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateWorkGroup 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 CreateWorkGroup for more information on using the CreateWorkGroup +// 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 CreateWorkGroupRequest method. +// req, resp := client.CreateWorkGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateWorkGroup +func (c *Athena) CreateWorkGroupRequest(input *CreateWorkGroupInput) (req *request.Request, output *CreateWorkGroupOutput) { + op := &request.Operation{ + Name: opCreateWorkGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateWorkGroupInput{} + } + + output = &CreateWorkGroupOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreateWorkGroup API operation for Amazon Athena. +// +// Creates a workgroup with the specified name. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation CreateWorkGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateWorkGroup +func (c *Athena) CreateWorkGroup(input *CreateWorkGroupInput) (*CreateWorkGroupOutput, error) { + req, out := c.CreateWorkGroupRequest(input) + return out, req.Send() +} + +// CreateWorkGroupWithContext is the same as CreateWorkGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWorkGroup 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 *Athena) CreateWorkGroupWithContext(ctx aws.Context, input *CreateWorkGroupInput, opts ...request.Option) (*CreateWorkGroupOutput, error) { + req, out := c.CreateWorkGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteNamedQuery = "DeleteNamedQuery" // DeleteNamedQueryRequest generates a "aws/request.Request" representing the @@ -323,7 +413,8 @@ func (c *Athena) DeleteNamedQueryRequest(input *DeleteNamedQueryInput) (req *req // DeleteNamedQuery API operation for Amazon Athena. // -// Deletes a named query. +// Deletes the named query if you have access to the workgroup in which the +// query was saved. // // For code samples using the AWS SDK for Java, see Examples and Code Samples // (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon @@ -367,6 +458,92 @@ func (c *Athena) DeleteNamedQueryWithContext(ctx aws.Context, input *DeleteNamed return out, req.Send() } +const opDeleteWorkGroup = "DeleteWorkGroup" + +// DeleteWorkGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWorkGroup 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 DeleteWorkGroup for more information on using the DeleteWorkGroup +// 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 DeleteWorkGroupRequest method. +// req, resp := client.DeleteWorkGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteWorkGroup +func (c *Athena) DeleteWorkGroupRequest(input *DeleteWorkGroupInput) (req *request.Request, output *DeleteWorkGroupOutput) { + op := &request.Operation{ + Name: opDeleteWorkGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteWorkGroupInput{} + } + + output = &DeleteWorkGroupOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteWorkGroup API operation for Amazon Athena. +// +// Deletes the workgroup with the specified name. The primary workgroup cannot +// be deleted. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation DeleteWorkGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteWorkGroup +func (c *Athena) DeleteWorkGroup(input *DeleteWorkGroupInput) (*DeleteWorkGroupOutput, error) { + req, out := c.DeleteWorkGroupRequest(input) + return out, req.Send() +} + +// DeleteWorkGroupWithContext is the same as DeleteWorkGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWorkGroup 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 *Athena) DeleteWorkGroupWithContext(ctx aws.Context, input *DeleteWorkGroupInput, opts ...request.Option) (*DeleteWorkGroupOutput, error) { + req, out := c.DeleteWorkGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetNamedQuery = "GetNamedQuery" // GetNamedQueryRequest generates a "aws/request.Request" representing the @@ -411,7 +588,8 @@ func (c *Athena) GetNamedQueryRequest(input *GetNamedQueryInput) (req *request.R // GetNamedQuery API operation for Amazon Athena. // -// Returns information about a single query. +// Returns information about a single query. Requires that you have access to +// the workgroup in which the query was saved. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -495,8 +673,9 @@ func (c *Athena) GetQueryExecutionRequest(input *GetQueryExecutionInput) (req *r // GetQueryExecution API operation for Amazon Athena. // -// Returns information about a single execution of a query. Each time a query -// executes, information about the query execution is saved with a unique ID. +// Returns information about a single execution of a query if you have access +// to the workgroup in which the query ran. Each time a query executes, information +// about the query execution is saved with a unique 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 @@ -586,9 +765,10 @@ func (c *Athena) GetQueryResultsRequest(input *GetQueryResultsInput) (req *reque // GetQueryResults API operation for Amazon Athena. // -// Returns the results of a single query execution specified by QueryExecutionId. -// This request does not execute the query but returns results. Use StartQueryExecution -// to run a query. +// Returns the results of a single query execution specified by QueryExecutionId +// if you have access to the workgroup in which the query ran. This request +// does not execute the query but returns results. Use StartQueryExecution to +// run a query. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -678,6 +858,90 @@ func (c *Athena) GetQueryResultsPagesWithContext(ctx aws.Context, input *GetQuer return p.Err() } +const opGetWorkGroup = "GetWorkGroup" + +// GetWorkGroupRequest generates a "aws/request.Request" representing the +// client's request for the GetWorkGroup 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 GetWorkGroup for more information on using the GetWorkGroup +// 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 GetWorkGroupRequest method. +// req, resp := client.GetWorkGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetWorkGroup +func (c *Athena) GetWorkGroupRequest(input *GetWorkGroupInput) (req *request.Request, output *GetWorkGroupOutput) { + op := &request.Operation{ + Name: opGetWorkGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetWorkGroupInput{} + } + + output = &GetWorkGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetWorkGroup API operation for Amazon Athena. +// +// Returns information about the workgroup with the specified name. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation GetWorkGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetWorkGroup +func (c *Athena) GetWorkGroup(input *GetWorkGroupInput) (*GetWorkGroupOutput, error) { + req, out := c.GetWorkGroupRequest(input) + return out, req.Send() +} + +// GetWorkGroupWithContext is the same as GetWorkGroup with the addition of +// the ability to pass a context and additional request options. +// +// See GetWorkGroup 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 *Athena) GetWorkGroupWithContext(ctx aws.Context, input *GetWorkGroupInput, opts ...request.Option) (*GetWorkGroupOutput, error) { + req, out := c.GetWorkGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListNamedQueries = "ListNamedQueries" // ListNamedQueriesRequest generates a "aws/request.Request" representing the @@ -728,7 +992,8 @@ func (c *Athena) ListNamedQueriesRequest(input *ListNamedQueriesInput) (req *req // ListNamedQueries API operation for Amazon Athena. // -// Provides a list of all available query IDs. +// Provides a list of available query IDs only for queries saved in the specified +// workgroup. Requires that you have access to the workgroup. // // For code samples using the AWS SDK for Java, see Examples and Code Samples // (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon @@ -872,7 +1137,9 @@ func (c *Athena) ListQueryExecutionsRequest(input *ListQueryExecutionsInput) (re // ListQueryExecutions API operation for Amazon Athena. // -// Provides a list of all available query execution IDs. +// Provides a list of available query execution IDs for the queries in the specified +// workgroup. Requires you to have access to the workgroup in which the queries +// ran. // // For code samples using the AWS SDK for Java, see Examples and Code Samples // (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon @@ -966,62 +1233,58 @@ func (c *Athena) ListQueryExecutionsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opStartQueryExecution = "StartQueryExecution" +const opListTagsForResource = "ListTagsForResource" -// StartQueryExecutionRequest generates a "aws/request.Request" representing the -// client's request for the StartQueryExecution operation. The "output" return +// 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 StartQueryExecution for more information on using the StartQueryExecution +// 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 StartQueryExecutionRequest method. -// req, resp := client.StartQueryExecutionRequest(params) +// // 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/athena-2017-05-18/StartQueryExecution -func (c *Athena) StartQueryExecutionRequest(input *StartQueryExecutionInput) (req *request.Request, output *StartQueryExecutionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTagsForResource +func (c *Athena) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ - Name: opStartQueryExecution, + Name: opListTagsForResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StartQueryExecutionInput{} + input = &ListTagsForResourceInput{} } - output = &StartQueryExecutionOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } -// StartQueryExecution API operation for Amazon Athena. -// -// Runs (executes) the SQL query statements contained in the Query string. +// ListTagsForResource API operation for Amazon Athena. // -// For code samples using the AWS SDK for Java, see Examples and Code Samples -// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon -// Athena User Guide. +// Lists the tags associated with this workgroup. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Athena's -// API operation StartQueryExecution for usage and error information. +// API operation ListTagsForResource for usage and error information. // // Returned Error Codes: // * ErrCodeInternalServerException "InternalServerException" @@ -1032,89 +1295,89 @@ func (c *Athena) StartQueryExecutionRequest(input *StartQueryExecutionInput) (re // Indicates that something is wrong with the input to the request. For example, // a required parameter may be missing or out of range. // -// * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Indicates that the request was throttled and includes the reason for throttling, -// for example, the limit of concurrent queries has been exceeded. +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource, such as a workgroup, was not found. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartQueryExecution -func (c *Athena) StartQueryExecution(input *StartQueryExecutionInput) (*StartQueryExecutionOutput, error) { - req, out := c.StartQueryExecutionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTagsForResource +func (c *Athena) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } -// StartQueryExecutionWithContext is the same as StartQueryExecution with the addition of +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // -// See StartQueryExecution for details on how to use this API operation. +// 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 *Athena) StartQueryExecutionWithContext(ctx aws.Context, input *StartQueryExecutionInput, opts ...request.Option) (*StartQueryExecutionOutput, error) { - req, out := c.StartQueryExecutionRequest(input) +func (c *Athena) 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 opStopQueryExecution = "StopQueryExecution" +const opListWorkGroups = "ListWorkGroups" -// StopQueryExecutionRequest generates a "aws/request.Request" representing the -// client's request for the StopQueryExecution operation. The "output" return +// ListWorkGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkGroups 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 StopQueryExecution for more information on using the StopQueryExecution +// See ListWorkGroups for more information on using the ListWorkGroups // 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 StopQueryExecutionRequest method. -// req, resp := client.StopQueryExecutionRequest(params) +// // Example sending a request using the ListWorkGroupsRequest method. +// req, resp := client.ListWorkGroupsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StopQueryExecution -func (c *Athena) StopQueryExecutionRequest(input *StopQueryExecutionInput) (req *request.Request, output *StopQueryExecutionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListWorkGroups +func (c *Athena) ListWorkGroupsRequest(input *ListWorkGroupsInput) (req *request.Request, output *ListWorkGroupsOutput) { op := &request.Operation{ - Name: opStopQueryExecution, + Name: opListWorkGroups, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &StopQueryExecutionInput{} + input = &ListWorkGroupsInput{} } - output = &StopQueryExecutionOutput{} + output = &ListWorkGroupsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// StopQueryExecution API operation for Amazon Athena. -// -// Stops a query execution. +// ListWorkGroups API operation for Amazon Athena. // -// For code samples using the AWS SDK for Java, see Examples and Code Samples -// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon -// Athena User Guide. +// Lists available workgroups for the 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 Athena's -// API operation StopQueryExecution for usage and error information. +// API operation ListWorkGroups for usage and error information. // // Returned Error Codes: // * ErrCodeInternalServerException "InternalServerException" @@ -1125,55 +1388,1523 @@ func (c *Athena) StopQueryExecutionRequest(input *StopQueryExecutionInput) (req // Indicates that something is wrong with the input to the request. For example, // a required parameter may be missing or out of range. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StopQueryExecution -func (c *Athena) StopQueryExecution(input *StopQueryExecutionInput) (*StopQueryExecutionOutput, error) { - req, out := c.StopQueryExecutionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListWorkGroups +func (c *Athena) ListWorkGroups(input *ListWorkGroupsInput) (*ListWorkGroupsOutput, error) { + req, out := c.ListWorkGroupsRequest(input) return out, req.Send() } -// StopQueryExecutionWithContext is the same as StopQueryExecution with the addition of +// ListWorkGroupsWithContext is the same as ListWorkGroups with the addition of // the ability to pass a context and additional request options. // -// See StopQueryExecution for details on how to use this API operation. +// See ListWorkGroups 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 *Athena) StopQueryExecutionWithContext(ctx aws.Context, input *StopQueryExecutionInput, opts ...request.Option) (*StopQueryExecutionOutput, error) { - req, out := c.StopQueryExecutionRequest(input) +func (c *Athena) ListWorkGroupsWithContext(ctx aws.Context, input *ListWorkGroupsInput, opts ...request.Option) (*ListWorkGroupsOutput, error) { + req, out := c.ListWorkGroupsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -type BatchGetNamedQueryInput struct { - _ struct{} `type:"structure"` - - // An array of query IDs. - // - // NamedQueryIds is a required field - NamedQueryIds []*string `min:"1" type:"list" required:"true"` -} - +// ListWorkGroupsPages iterates over the pages of a ListWorkGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWorkGroups 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 ListWorkGroups operation. +// pageNum := 0 +// err := client.ListWorkGroupsPages(params, +// func(page *ListWorkGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Athena) ListWorkGroupsPages(input *ListWorkGroupsInput, fn func(*ListWorkGroupsOutput, bool) bool) error { + return c.ListWorkGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListWorkGroupsPagesWithContext same as ListWorkGroupsPages 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 *Athena) ListWorkGroupsPagesWithContext(ctx aws.Context, input *ListWorkGroupsInput, fn func(*ListWorkGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWorkGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWorkGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListWorkGroupsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opStartQueryExecution = "StartQueryExecution" + +// StartQueryExecutionRequest generates a "aws/request.Request" representing the +// client's request for the StartQueryExecution 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 StartQueryExecution for more information on using the StartQueryExecution +// 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 StartQueryExecutionRequest method. +// req, resp := client.StartQueryExecutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartQueryExecution +func (c *Athena) StartQueryExecutionRequest(input *StartQueryExecutionInput) (req *request.Request, output *StartQueryExecutionOutput) { + op := &request.Operation{ + Name: opStartQueryExecution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartQueryExecutionInput{} + } + + output = &StartQueryExecutionOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartQueryExecution API operation for Amazon Athena. +// +// Runs the SQL query statements contained in the Query. Requires you to have +// access to the workgroup in which the query ran. +// +// For code samples using the AWS SDK for Java, see Examples and Code Samples +// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon +// Athena 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 Athena's +// API operation StartQueryExecution for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Indicates that the request was throttled. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartQueryExecution +func (c *Athena) StartQueryExecution(input *StartQueryExecutionInput) (*StartQueryExecutionOutput, error) { + req, out := c.StartQueryExecutionRequest(input) + return out, req.Send() +} + +// StartQueryExecutionWithContext is the same as StartQueryExecution with the addition of +// the ability to pass a context and additional request options. +// +// See StartQueryExecution 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 *Athena) StartQueryExecutionWithContext(ctx aws.Context, input *StartQueryExecutionInput, opts ...request.Option) (*StartQueryExecutionOutput, error) { + req, out := c.StartQueryExecutionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopQueryExecution = "StopQueryExecution" + +// StopQueryExecutionRequest generates a "aws/request.Request" representing the +// client's request for the StopQueryExecution 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 StopQueryExecution for more information on using the StopQueryExecution +// 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 StopQueryExecutionRequest method. +// req, resp := client.StopQueryExecutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StopQueryExecution +func (c *Athena) StopQueryExecutionRequest(input *StopQueryExecutionInput) (req *request.Request, output *StopQueryExecutionOutput) { + op := &request.Operation{ + Name: opStopQueryExecution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopQueryExecutionInput{} + } + + output = &StopQueryExecutionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopQueryExecution API operation for Amazon Athena. +// +// Stops a query execution. Requires you to have access to the workgroup in +// which the query ran. +// +// For code samples using the AWS SDK for Java, see Examples and Code Samples +// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon +// Athena 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 Athena's +// API operation StopQueryExecution for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StopQueryExecution +func (c *Athena) StopQueryExecution(input *StopQueryExecutionInput) (*StopQueryExecutionOutput, error) { + req, out := c.StopQueryExecutionRequest(input) + return out, req.Send() +} + +// StopQueryExecutionWithContext is the same as StopQueryExecution with the addition of +// the ability to pass a context and additional request options. +// +// See StopQueryExecution 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 *Athena) StopQueryExecutionWithContext(ctx aws.Context, input *StopQueryExecutionInput, opts ...request.Option) (*StopQueryExecutionOutput, error) { + req, out := c.StopQueryExecutionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/TagResource +func (c *Athena) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon Athena. +// +// Adds one or more tags to the resource, such as a workgroup. A tag is a label +// that you assign to an AWS Athena resource (a workgroup). Each tag consists +// of a key and an optional value, both of which you define. Tags enable you +// to categorize resources (workgroups) in Athena, for example, by purpose, +// owner, or environment. Use a consistent set of tag keys to make it easier +// to search and filter workgroups in your account. For best practices, see +// AWS Tagging Strategies (https://aws.amazon.com/answers/account-management/aws-tagging-strategies/). +// The key length is from 1 (minimum) to 128 (maximum) Unicode characters in +// UTF-8. The tag value length is from 0 (minimum) to 256 (maximum) Unicode +// characters in UTF-8. You can use letters and numbers representable in UTF-8, +// and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. +// Tag keys must be unique per resource. If you specify more than one, separate +// them by commas. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource, such as a workgroup, was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/TagResource +func (c *Athena) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UntagResource +func (c *Athena) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon Athena. +// +// Removes one or more tags from the workgroup resource. Takes as an input a +// list of TagKey Strings separated by commas, and removes their tags at the +// same time. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource, such as a workgroup, was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UntagResource +func (c *Athena) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateWorkGroup = "UpdateWorkGroup" + +// UpdateWorkGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWorkGroup 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 UpdateWorkGroup for more information on using the UpdateWorkGroup +// 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 UpdateWorkGroupRequest method. +// req, resp := client.UpdateWorkGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateWorkGroup +func (c *Athena) UpdateWorkGroupRequest(input *UpdateWorkGroupInput) (req *request.Request, output *UpdateWorkGroupOutput) { + op := &request.Operation{ + Name: opUpdateWorkGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateWorkGroupInput{} + } + + output = &UpdateWorkGroupOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateWorkGroup API operation for Amazon Athena. +// +// Updates the workgroup with the specified name. The workgroup's name cannot +// be changed. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation UpdateWorkGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateWorkGroup +func (c *Athena) UpdateWorkGroup(input *UpdateWorkGroupInput) (*UpdateWorkGroupOutput, error) { + req, out := c.UpdateWorkGroupRequest(input) + return out, req.Send() +} + +// UpdateWorkGroupWithContext is the same as UpdateWorkGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateWorkGroup 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 *Athena) UpdateWorkGroupWithContext(ctx aws.Context, input *UpdateWorkGroupInput, opts ...request.Option) (*UpdateWorkGroupOutput, error) { + req, out := c.UpdateWorkGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type BatchGetNamedQueryInput struct { + _ struct{} `type:"structure"` + + // An array of query IDs. + // + // NamedQueryIds is a required field + NamedQueryIds []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetNamedQueryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetNamedQueryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetNamedQueryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetNamedQueryInput"} + if s.NamedQueryIds == nil { + invalidParams.Add(request.NewErrParamRequired("NamedQueryIds")) + } + if s.NamedQueryIds != nil && len(s.NamedQueryIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NamedQueryIds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNamedQueryIds sets the NamedQueryIds field's value. +func (s *BatchGetNamedQueryInput) SetNamedQueryIds(v []*string) *BatchGetNamedQueryInput { + s.NamedQueryIds = v + return s +} + +type BatchGetNamedQueryOutput struct { + _ struct{} `type:"structure"` + + // Information about the named query IDs submitted. + NamedQueries []*NamedQuery `type:"list"` + + // Information about provided query IDs. + UnprocessedNamedQueryIds []*UnprocessedNamedQueryId `type:"list"` +} + +// String returns the string representation +func (s BatchGetNamedQueryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetNamedQueryOutput) GoString() string { + return s.String() +} + +// SetNamedQueries sets the NamedQueries field's value. +func (s *BatchGetNamedQueryOutput) SetNamedQueries(v []*NamedQuery) *BatchGetNamedQueryOutput { + s.NamedQueries = v + return s +} + +// SetUnprocessedNamedQueryIds sets the UnprocessedNamedQueryIds field's value. +func (s *BatchGetNamedQueryOutput) SetUnprocessedNamedQueryIds(v []*UnprocessedNamedQueryId) *BatchGetNamedQueryOutput { + s.UnprocessedNamedQueryIds = v + return s +} + +type BatchGetQueryExecutionInput struct { + _ struct{} `type:"structure"` + + // An array of query execution IDs. + // + // QueryExecutionIds is a required field + QueryExecutionIds []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetQueryExecutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetQueryExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetQueryExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetQueryExecutionInput"} + if s.QueryExecutionIds == nil { + invalidParams.Add(request.NewErrParamRequired("QueryExecutionIds")) + } + if s.QueryExecutionIds != nil && len(s.QueryExecutionIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryExecutionIds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetQueryExecutionIds sets the QueryExecutionIds field's value. +func (s *BatchGetQueryExecutionInput) SetQueryExecutionIds(v []*string) *BatchGetQueryExecutionInput { + s.QueryExecutionIds = v + return s +} + +type BatchGetQueryExecutionOutput struct { + _ struct{} `type:"structure"` + + // Information about a query execution. + QueryExecutions []*QueryExecution `type:"list"` + + // Information about the query executions that failed to run. + UnprocessedQueryExecutionIds []*UnprocessedQueryExecutionId `type:"list"` +} + +// String returns the string representation +func (s BatchGetQueryExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetQueryExecutionOutput) GoString() string { + return s.String() +} + +// SetQueryExecutions sets the QueryExecutions field's value. +func (s *BatchGetQueryExecutionOutput) SetQueryExecutions(v []*QueryExecution) *BatchGetQueryExecutionOutput { + s.QueryExecutions = v + return s +} + +// SetUnprocessedQueryExecutionIds sets the UnprocessedQueryExecutionIds field's value. +func (s *BatchGetQueryExecutionOutput) SetUnprocessedQueryExecutionIds(v []*UnprocessedQueryExecutionId) *BatchGetQueryExecutionOutput { + s.UnprocessedQueryExecutionIds = v + return s +} + +// Information about the columns in a query execution result. +type ColumnInfo struct { + _ struct{} `type:"structure"` + + // Indicates whether values in the column are case-sensitive. + CaseSensitive *bool `type:"boolean"` + + // The catalog to which the query results belong. + CatalogName *string `type:"string"` + + // A column label. + Label *string `type:"string"` + + // The name of the column. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // Indicates the column's nullable status. + Nullable *string `type:"string" enum:"ColumnNullable"` + + // For DECIMAL data types, specifies the total number of digits, up to 38. For + // performance reasons, we recommend up to 18 digits. + Precision *int64 `type:"integer"` + + // For DECIMAL data types, specifies the total number of digits in the fractional + // part of the value. Defaults to 0. + Scale *int64 `type:"integer"` + + // The schema name (database name) to which the query results belong. + SchemaName *string `type:"string"` + + // The table name for the query results. + TableName *string `type:"string"` + + // The data type of the column. + // + // Type is a required field + Type *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ColumnInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnInfo) GoString() string { + return s.String() +} + +// SetCaseSensitive sets the CaseSensitive field's value. +func (s *ColumnInfo) SetCaseSensitive(v bool) *ColumnInfo { + s.CaseSensitive = &v + return s +} + +// SetCatalogName sets the CatalogName field's value. +func (s *ColumnInfo) SetCatalogName(v string) *ColumnInfo { + s.CatalogName = &v + return s +} + +// SetLabel sets the Label field's value. +func (s *ColumnInfo) SetLabel(v string) *ColumnInfo { + s.Label = &v + return s +} + +// SetName sets the Name field's value. +func (s *ColumnInfo) SetName(v string) *ColumnInfo { + s.Name = &v + return s +} + +// SetNullable sets the Nullable field's value. +func (s *ColumnInfo) SetNullable(v string) *ColumnInfo { + s.Nullable = &v + return s +} + +// SetPrecision sets the Precision field's value. +func (s *ColumnInfo) SetPrecision(v int64) *ColumnInfo { + s.Precision = &v + return s +} + +// SetScale sets the Scale field's value. +func (s *ColumnInfo) SetScale(v int64) *ColumnInfo { + s.Scale = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *ColumnInfo) SetSchemaName(v string) *ColumnInfo { + s.SchemaName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *ColumnInfo) SetTableName(v string) *ColumnInfo { + s.TableName = &v + return s +} + +// SetType sets the Type field's value. +func (s *ColumnInfo) SetType(v string) *ColumnInfo { + s.Type = &v + return s +} + +type CreateNamedQueryInput struct { + _ struct{} `type:"structure"` + + // A unique case-sensitive string used to ensure the request to create the query + // is idempotent (executes only once). If another CreateNamedQuery request is + // received, the same response is returned and another query is not created. + // If a parameter has changed, for example, the QueryString, an error is returned. + // + // This token is listed as not required because AWS SDKs (for example the AWS + // SDK for Java) auto-generate the token for users. If you are not using the + // AWS SDK or the AWS CLI, you must provide this token or the action will fail. + ClientRequestToken *string `min:"32" type:"string" idempotencyToken:"true"` + + // The database to which the query belongs. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` + + // The query description. + Description *string `min:"1" type:"string"` + + // The query name. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The contents of the query with all query statements. + // + // QueryString is a required field + QueryString *string `min:"1" type:"string" required:"true"` + + // The name of the workgroup in which the named query is being created. + WorkGroup *string `type:"string"` +} + +// String returns the string representation +func (s CreateNamedQueryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateNamedQueryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateNamedQueryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateNamedQueryInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 32 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 32)) + } + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 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) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.QueryString == nil { + invalidParams.Add(request.NewErrParamRequired("QueryString")) + } + if s.QueryString != nil && len(*s.QueryString) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryString", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateNamedQueryInput) SetClientRequestToken(v string) *CreateNamedQueryInput { + s.ClientRequestToken = &v + return s +} + +// SetDatabase sets the Database field's value. +func (s *CreateNamedQueryInput) SetDatabase(v string) *CreateNamedQueryInput { + s.Database = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateNamedQueryInput) SetDescription(v string) *CreateNamedQueryInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateNamedQueryInput) SetName(v string) *CreateNamedQueryInput { + s.Name = &v + return s +} + +// SetQueryString sets the QueryString field's value. +func (s *CreateNamedQueryInput) SetQueryString(v string) *CreateNamedQueryInput { + s.QueryString = &v + return s +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *CreateNamedQueryInput) SetWorkGroup(v string) *CreateNamedQueryInput { + s.WorkGroup = &v + return s +} + +type CreateNamedQueryOutput struct { + _ struct{} `type:"structure"` + + // The unique ID of the query. + NamedQueryId *string `type:"string"` +} + +// String returns the string representation +func (s CreateNamedQueryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateNamedQueryOutput) GoString() string { + return s.String() +} + +// SetNamedQueryId sets the NamedQueryId field's value. +func (s *CreateNamedQueryOutput) SetNamedQueryId(v string) *CreateNamedQueryOutput { + s.NamedQueryId = &v + return s +} + +type CreateWorkGroupInput struct { + _ struct{} `type:"structure"` + + // The configuration for the workgroup, which includes the location in Amazon + // S3 where query results are stored, the encryption configuration, if any, + // used for encrypting query results, whether the Amazon CloudWatch Metrics + // are enabled for the workgroup, the limit for the amount of bytes scanned + // (cutoff) per query, if it is specified, and whether workgroup's settings + // (specified with EnforceWorkGroupConfiguration) in the WorkGroupConfiguration + // override client-side settings. See WorkGroupConfiguration$EnforceWorkGroupConfiguration. + Configuration *WorkGroupConfiguration `type:"structure"` + + // The workgroup description. + Description *string `type:"string"` + + // The workgroup name. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // One or more tags, separated by commas, that you want to attach to the workgroup + // as you create it. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateWorkGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWorkGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWorkGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWorkGroupInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Configuration != nil { + if err := s.Configuration.Validate(); err != nil { + invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguration sets the Configuration field's value. +func (s *CreateWorkGroupInput) SetConfiguration(v *WorkGroupConfiguration) *CreateWorkGroupInput { + s.Configuration = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateWorkGroupInput) SetDescription(v string) *CreateWorkGroupInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateWorkGroupInput) SetName(v string) *CreateWorkGroupInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateWorkGroupInput) SetTags(v []*Tag) *CreateWorkGroupInput { + s.Tags = v + return s +} + +type CreateWorkGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateWorkGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWorkGroupOutput) GoString() string { + return s.String() +} + +// A piece of data (a field in the table). +type Datum struct { + _ struct{} `type:"structure"` + + // The value of the datum. + VarCharValue *string `type:"string"` +} + +// String returns the string representation +func (s Datum) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Datum) GoString() string { + return s.String() +} + +// SetVarCharValue sets the VarCharValue field's value. +func (s *Datum) SetVarCharValue(v string) *Datum { + s.VarCharValue = &v + return s +} + +type DeleteNamedQueryInput struct { + _ struct{} `type:"structure"` + + // The unique ID of the query to delete. + NamedQueryId *string `type:"string" idempotencyToken:"true"` +} + +// String returns the string representation +func (s DeleteNamedQueryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteNamedQueryInput) GoString() string { + return s.String() +} + +// SetNamedQueryId sets the NamedQueryId field's value. +func (s *DeleteNamedQueryInput) SetNamedQueryId(v string) *DeleteNamedQueryInput { + s.NamedQueryId = &v + return s +} + +type DeleteNamedQueryOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteNamedQueryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteNamedQueryOutput) GoString() string { + return s.String() +} + +type DeleteWorkGroupInput struct { + _ struct{} `type:"structure"` + + // The option to delete the workgroup and its contents even if the workgroup + // contains any named queries. + RecursiveDeleteOption *bool `type:"boolean"` + + // The unique name of the workgroup to delete. + // + // WorkGroup is a required field + WorkGroup *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteWorkGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWorkGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWorkGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWorkGroupInput"} + if s.WorkGroup == nil { + invalidParams.Add(request.NewErrParamRequired("WorkGroup")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecursiveDeleteOption sets the RecursiveDeleteOption field's value. +func (s *DeleteWorkGroupInput) SetRecursiveDeleteOption(v bool) *DeleteWorkGroupInput { + s.RecursiveDeleteOption = &v + return s +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *DeleteWorkGroupInput) SetWorkGroup(v string) *DeleteWorkGroupInput { + s.WorkGroup = &v + return s +} + +type DeleteWorkGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteWorkGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWorkGroupOutput) GoString() string { + return s.String() +} + +// If query results are encrypted in Amazon S3, indicates the encryption option +// used (for example, SSE-KMS or CSE-KMS) and key information. +type EncryptionConfiguration struct { + _ struct{} `type:"structure"` + + // Indicates whether Amazon S3 server-side encryption with Amazon S3-managed + // keys (SSE-S3), server-side encryption with KMS-managed keys (SSE-KMS), or + // client-side encryption with KMS-managed keys (CSE-KMS) is used. + // + // If a query runs in a workgroup and the workgroup overrides client-side settings, + // then the workgroup's setting for encryption is used. It specifies whether + // query results must be encrypted, for all queries that run in this workgroup. + // + // EncryptionOption is a required field + EncryptionOption *string `type:"string" required:"true" enum:"EncryptionOption"` + + // For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID. + KmsKey *string `type:"string"` +} + +// String returns the string representation +func (s EncryptionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncryptionConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionConfiguration"} + if s.EncryptionOption == nil { + invalidParams.Add(request.NewErrParamRequired("EncryptionOption")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryptionOption sets the EncryptionOption field's value. +func (s *EncryptionConfiguration) SetEncryptionOption(v string) *EncryptionConfiguration { + s.EncryptionOption = &v + return s +} + +// SetKmsKey sets the KmsKey field's value. +func (s *EncryptionConfiguration) SetKmsKey(v string) *EncryptionConfiguration { + s.KmsKey = &v + return s +} + +type GetNamedQueryInput struct { + _ struct{} `type:"structure"` + + // The unique ID of the query. Use ListNamedQueries to get query IDs. + // + // NamedQueryId is a required field + NamedQueryId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetNamedQueryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetNamedQueryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetNamedQueryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetNamedQueryInput"} + if s.NamedQueryId == nil { + invalidParams.Add(request.NewErrParamRequired("NamedQueryId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNamedQueryId sets the NamedQueryId field's value. +func (s *GetNamedQueryInput) SetNamedQueryId(v string) *GetNamedQueryInput { + s.NamedQueryId = &v + return s +} + +type GetNamedQueryOutput struct { + _ struct{} `type:"structure"` + + // Information about the query. + NamedQuery *NamedQuery `type:"structure"` +} + +// String returns the string representation +func (s GetNamedQueryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetNamedQueryOutput) GoString() string { + return s.String() +} + +// SetNamedQuery sets the NamedQuery field's value. +func (s *GetNamedQueryOutput) SetNamedQuery(v *NamedQuery) *GetNamedQueryOutput { + s.NamedQuery = v + return s +} + +type GetQueryExecutionInput struct { + _ struct{} `type:"structure"` + + // The unique ID of the query execution. + // + // QueryExecutionId is a required field + QueryExecutionId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetQueryExecutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetQueryExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetQueryExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetQueryExecutionInput"} + if s.QueryExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("QueryExecutionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetQueryExecutionId sets the QueryExecutionId field's value. +func (s *GetQueryExecutionInput) SetQueryExecutionId(v string) *GetQueryExecutionInput { + s.QueryExecutionId = &v + return s +} + +type GetQueryExecutionOutput struct { + _ struct{} `type:"structure"` + + // Information about the query execution. + QueryExecution *QueryExecution `type:"structure"` +} + +// String returns the string representation +func (s GetQueryExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetQueryExecutionOutput) GoString() string { + return s.String() +} + +// SetQueryExecution sets the QueryExecution field's value. +func (s *GetQueryExecutionOutput) SetQueryExecution(v *QueryExecution) *GetQueryExecutionOutput { + s.QueryExecution = v + return s +} + +type GetQueryResultsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results (rows) to return in this request. + MaxResults *int64 `type:"integer"` + + // The token that specifies where to start pagination if a previous request + // was truncated. + NextToken *string `min:"1" type:"string"` + + // The unique ID of the query execution. + // + // QueryExecutionId is a required field + QueryExecutionId *string `type:"string" required:"true"` +} + // String returns the string representation -func (s BatchGetNamedQueryInput) String() string { +func (s GetQueryResultsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchGetNamedQueryInput) GoString() string { +func (s GetQueryResultsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetNamedQueryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetNamedQueryInput"} - if s.NamedQueryIds == nil { - invalidParams.Add(request.NewErrParamRequired("NamedQueryIds")) +func (s *GetQueryResultsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetQueryResultsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - if s.NamedQueryIds != nil && len(s.NamedQueryIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NamedQueryIds", 1)) + if s.QueryExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("QueryExecutionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetQueryResultsInput) SetMaxResults(v int64) *GetQueryResultsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetQueryResultsInput) SetNextToken(v string) *GetQueryResultsInput { + s.NextToken = &v + return s +} + +// SetQueryExecutionId sets the QueryExecutionId field's value. +func (s *GetQueryResultsInput) SetQueryExecutionId(v string) *GetQueryResultsInput { + s.QueryExecutionId = &v + return s +} + +type GetQueryResultsOutput struct { + _ struct{} `type:"structure"` + + // A token to be used by the next request if this request is truncated. + NextToken *string `min:"1" type:"string"` + + // The results of the query execution. + ResultSet *ResultSet `type:"structure"` + + // The number of rows inserted with a CREATE TABLE AS SELECT statement. + UpdateCount *int64 `type:"long"` +} + +// String returns the string representation +func (s GetQueryResultsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetQueryResultsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetQueryResultsOutput) SetNextToken(v string) *GetQueryResultsOutput { + s.NextToken = &v + return s +} + +// SetResultSet sets the ResultSet field's value. +func (s *GetQueryResultsOutput) SetResultSet(v *ResultSet) *GetQueryResultsOutput { + s.ResultSet = v + return s +} + +// SetUpdateCount sets the UpdateCount field's value. +func (s *GetQueryResultsOutput) SetUpdateCount(v int64) *GetQueryResultsOutput { + s.UpdateCount = &v + return s +} + +type GetWorkGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the workgroup. + // + // WorkGroup is a required field + WorkGroup *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetWorkGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWorkGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWorkGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWorkGroupInput"} + if s.WorkGroup == nil { + invalidParams.Add(request.NewErrParamRequired("WorkGroup")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *GetWorkGroupInput) SetWorkGroup(v string) *GetWorkGroupInput { + s.WorkGroup = &v + return s +} + +type GetWorkGroupOutput struct { + _ struct{} `type:"structure"` + + // Information about the workgroup. + WorkGroup *WorkGroup `type:"structure"` +} + +// String returns the string representation +func (s GetWorkGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWorkGroupOutput) GoString() string { + return s.String() +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *GetWorkGroupOutput) SetWorkGroup(v *WorkGroup) *GetWorkGroupOutput { + s.WorkGroup = v + return s +} + +type ListNamedQueriesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of queries to return in this request. + MaxResults *int64 `type:"integer"` + + // The token that specifies where to start pagination if a previous request + // was truncated. + NextToken *string `min:"1" type:"string"` + + // The name of the workgroup from which the named queries are being returned. + WorkGroup *string `type:"string"` +} + +// String returns the string representation +func (s ListNamedQueriesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListNamedQueriesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListNamedQueriesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListNamedQueriesInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -1182,71 +2913,185 @@ func (s *BatchGetNamedQueryInput) Validate() error { return nil } +// SetMaxResults sets the MaxResults field's value. +func (s *ListNamedQueriesInput) SetMaxResults(v int64) *ListNamedQueriesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListNamedQueriesInput) SetNextToken(v string) *ListNamedQueriesInput { + s.NextToken = &v + return s +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *ListNamedQueriesInput) SetWorkGroup(v string) *ListNamedQueriesInput { + s.WorkGroup = &v + return s +} + +type ListNamedQueriesOutput struct { + _ struct{} `type:"structure"` + + // The list of unique query IDs. + NamedQueryIds []*string `min:"1" type:"list"` + + // A token to be used by the next request if this request is truncated. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListNamedQueriesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListNamedQueriesOutput) GoString() string { + return s.String() +} + // SetNamedQueryIds sets the NamedQueryIds field's value. -func (s *BatchGetNamedQueryInput) SetNamedQueryIds(v []*string) *BatchGetNamedQueryInput { +func (s *ListNamedQueriesOutput) SetNamedQueryIds(v []*string) *ListNamedQueriesOutput { s.NamedQueryIds = v return s } -type BatchGetNamedQueryOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListNamedQueriesOutput) SetNextToken(v string) *ListNamedQueriesOutput { + s.NextToken = &v + return s +} + +type ListQueryExecutionsInput struct { _ struct{} `type:"structure"` - // Information about the named query IDs submitted. - NamedQueries []*NamedQuery `type:"list"` + // The maximum number of query executions to return in this request. + MaxResults *int64 `type:"integer"` - // Information about provided query IDs. - UnprocessedNamedQueryIds []*UnprocessedNamedQueryId `type:"list"` + // The token that specifies where to start pagination if a previous request + // was truncated. + NextToken *string `min:"1" type:"string"` + + // The name of the workgroup from which queries are being returned. + WorkGroup *string `type:"string"` } // String returns the string representation -func (s BatchGetNamedQueryOutput) String() string { +func (s ListQueryExecutionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchGetNamedQueryOutput) GoString() string { +func (s ListQueryExecutionsInput) GoString() string { return s.String() } -// SetNamedQueries sets the NamedQueries field's value. -func (s *BatchGetNamedQueryOutput) SetNamedQueries(v []*NamedQuery) *BatchGetNamedQueryOutput { - s.NamedQueries = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListQueryExecutionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListQueryExecutionsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListQueryExecutionsInput) SetMaxResults(v int64) *ListQueryExecutionsInput { + s.MaxResults = &v return s } -// SetUnprocessedNamedQueryIds sets the UnprocessedNamedQueryIds field's value. -func (s *BatchGetNamedQueryOutput) SetUnprocessedNamedQueryIds(v []*UnprocessedNamedQueryId) *BatchGetNamedQueryOutput { - s.UnprocessedNamedQueryIds = v +// SetNextToken sets the NextToken field's value. +func (s *ListQueryExecutionsInput) SetNextToken(v string) *ListQueryExecutionsInput { + s.NextToken = &v + return s +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *ListQueryExecutionsInput) SetWorkGroup(v string) *ListQueryExecutionsInput { + s.WorkGroup = &v + return s +} + +type ListQueryExecutionsOutput struct { + _ struct{} `type:"structure"` + + // A token to be used by the next request if this request is truncated. + NextToken *string `min:"1" type:"string"` + + // The unique IDs of each query execution as an array of strings. + QueryExecutionIds []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s ListQueryExecutionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListQueryExecutionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListQueryExecutionsOutput) SetNextToken(v string) *ListQueryExecutionsOutput { + s.NextToken = &v + return s +} + +// SetQueryExecutionIds sets the QueryExecutionIds field's value. +func (s *ListQueryExecutionsOutput) SetQueryExecutionIds(v []*string) *ListQueryExecutionsOutput { + s.QueryExecutionIds = v return s } -type BatchGetQueryExecutionInput struct { +type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // An array of query execution IDs. + // The maximum number of results to be returned per request that lists the tags + // for the workgroup resource. + MaxResults *int64 `min:"75" type:"integer"` + + // The token for the next set of results, or null if there are no additional + // results for this request, where the request lists the tags for the workgroup + // resource with the specified ARN. + NextToken *string `min:"1" type:"string"` + + // Lists the tags for the workgroup resource with the specified ARN. // - // QueryExecutionIds is a required field - QueryExecutionIds []*string `min:"1" type:"list" required:"true"` + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s BatchGetQueryExecutionInput) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchGetQueryExecutionInput) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetQueryExecutionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetQueryExecutionInput"} - if s.QueryExecutionIds == nil { - invalidParams.Add(request.NewErrParamRequired("QueryExecutionIds")) +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.MaxResults != nil && *s.MaxResults < 75 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 75)) } - if s.QueryExecutionIds != nil && len(s.QueryExecutionIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("QueryExecutionIds", 1)) + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) } if invalidParams.Len() > 0 { @@ -1255,376 +3100,332 @@ func (s *BatchGetQueryExecutionInput) Validate() error { return nil } -// SetQueryExecutionIds sets the QueryExecutionIds field's value. -func (s *BatchGetQueryExecutionInput) SetQueryExecutionIds(v []*string) *BatchGetQueryExecutionInput { - s.QueryExecutionIds = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput { + s.MaxResults = &v return s } -type BatchGetQueryExecutionOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { + s.NextToken = &v + return s +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { + s.ResourceARN = &v + return s +} + +type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // Information about a query execution. - QueryExecutions []*QueryExecution `type:"list"` + // A token to be used by the next request if this request is truncated. + NextToken *string `min:"1" type:"string"` - // Information about the query executions that failed to run. - UnprocessedQueryExecutionIds []*UnprocessedQueryExecutionId `type:"list"` + // The list of tags associated with this workgroup. + Tags []*Tag `type:"list"` } // String returns the string representation -func (s BatchGetQueryExecutionOutput) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchGetQueryExecutionOutput) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } -// SetQueryExecutions sets the QueryExecutions field's value. -func (s *BatchGetQueryExecutionOutput) SetQueryExecutions(v []*QueryExecution) *BatchGetQueryExecutionOutput { - s.QueryExecutions = v +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { + s.NextToken = &v return s } -// SetUnprocessedQueryExecutionIds sets the UnprocessedQueryExecutionIds field's value. -func (s *BatchGetQueryExecutionOutput) SetUnprocessedQueryExecutionIds(v []*UnprocessedQueryExecutionId) *BatchGetQueryExecutionOutput { - s.UnprocessedQueryExecutionIds = v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v return s } -// Information about the columns in a query execution result. -type ColumnInfo struct { +type ListWorkGroupsInput struct { _ struct{} `type:"structure"` - // Indicates whether values in the column are case-sensitive. - CaseSensitive *bool `type:"boolean"` - - // The catalog to which the query results belong. - CatalogName *string `type:"string"` - - // A column label. - Label *string `type:"string"` - - // The name of the column. - // - // Name is a required field - Name *string `type:"string" required:"true"` - - // Indicates the column's nullable status. - Nullable *string `type:"string" enum:"ColumnNullable"` - - // For DECIMAL data types, specifies the total number of digits, up to 38. For - // performance reasons, we recommend up to 18 digits. - Precision *int64 `type:"integer"` - - // For DECIMAL data types, specifies the total number of digits in the fractional - // part of the value. Defaults to 0. - Scale *int64 `type:"integer"` - - // The schema name (database name) to which the query results belong. - SchemaName *string `type:"string"` - - // The table name for the query results. - TableName *string `type:"string"` + // The maximum number of workgroups to return in this request. + MaxResults *int64 `min:"1" type:"integer"` - // The data type of the column. - // - // Type is a required field - Type *string `type:"string" required:"true"` + // A token to be used by the next request if this request is truncated. + NextToken *string `min:"1" type:"string"` } // String returns the string representation -func (s ColumnInfo) String() string { +func (s ListWorkGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ColumnInfo) GoString() string { +func (s ListWorkGroupsInput) GoString() string { return s.String() } -// SetCaseSensitive sets the CaseSensitive field's value. -func (s *ColumnInfo) SetCaseSensitive(v bool) *ColumnInfo { - s.CaseSensitive = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListWorkGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWorkGroupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } -// SetCatalogName sets the CatalogName field's value. -func (s *ColumnInfo) SetCatalogName(v string) *ColumnInfo { - s.CatalogName = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLabel sets the Label field's value. -func (s *ColumnInfo) SetLabel(v string) *ColumnInfo { - s.Label = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListWorkGroupsInput) SetMaxResults(v int64) *ListWorkGroupsInput { + s.MaxResults = &v return s } -// SetName sets the Name field's value. -func (s *ColumnInfo) SetName(v string) *ColumnInfo { - s.Name = &v +// SetNextToken sets the NextToken field's value. +func (s *ListWorkGroupsInput) SetNextToken(v string) *ListWorkGroupsInput { + s.NextToken = &v return s } -// SetNullable sets the Nullable field's value. -func (s *ColumnInfo) SetNullable(v string) *ColumnInfo { - s.Nullable = &v - return s -} +type ListWorkGroupsOutput struct { + _ struct{} `type:"structure"` -// SetPrecision sets the Precision field's value. -func (s *ColumnInfo) SetPrecision(v int64) *ColumnInfo { - s.Precision = &v - return s + // A token to be used by the next request if this request is truncated. + NextToken *string `min:"1" type:"string"` + + // The list of workgroups, including their names, descriptions, creation times, + // and states. + WorkGroups []*WorkGroupSummary `type:"list"` } -// SetScale sets the Scale field's value. -func (s *ColumnInfo) SetScale(v int64) *ColumnInfo { - s.Scale = &v - return s +// String returns the string representation +func (s ListWorkGroupsOutput) String() string { + return awsutil.Prettify(s) } -// SetSchemaName sets the SchemaName field's value. -func (s *ColumnInfo) SetSchemaName(v string) *ColumnInfo { - s.SchemaName = &v - return s +// GoString returns the string representation +func (s ListWorkGroupsOutput) GoString() string { + return s.String() } -// SetTableName sets the TableName field's value. -func (s *ColumnInfo) SetTableName(v string) *ColumnInfo { - s.TableName = &v +// SetNextToken sets the NextToken field's value. +func (s *ListWorkGroupsOutput) SetNextToken(v string) *ListWorkGroupsOutput { + s.NextToken = &v return s } -// SetType sets the Type field's value. -func (s *ColumnInfo) SetType(v string) *ColumnInfo { - s.Type = &v +// SetWorkGroups sets the WorkGroups field's value. +func (s *ListWorkGroupsOutput) SetWorkGroups(v []*WorkGroupSummary) *ListWorkGroupsOutput { + s.WorkGroups = v return s } -type CreateNamedQueryInput struct { +// A query, where QueryString is the list of SQL query statements that comprise +// the query. +type NamedQuery struct { _ struct{} `type:"structure"` - // A unique case-sensitive string used to ensure the request to create the query - // is idempotent (executes only once). If another CreateNamedQuery request is - // received, the same response is returned and another query is not created. - // If a parameter has changed, for example, the QueryString, an error is returned. - // - // This token is listed as not required because AWS SDKs (for example the AWS - // SDK for Java) auto-generate the token for users. If you are not using the - // AWS SDK or the AWS CLI, you must provide this token or the action will fail. - ClientRequestToken *string `min:"32" type:"string" idempotencyToken:"true"` - // The database to which the query belongs. // // Database is a required field Database *string `min:"1" type:"string" required:"true"` - // A brief explanation of the query. + // The query description. Description *string `min:"1" type:"string"` - // The plain language name for the query. + // The query name. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The text of the query itself. In other words, all query statements. + // The unique identifier of the query. + NamedQueryId *string `type:"string"` + + // The SQL query statements that comprise the query. // // QueryString is a required field QueryString *string `min:"1" type:"string" required:"true"` + + // The name of the workgroup that contains the named query. + WorkGroup *string `type:"string"` } // String returns the string representation -func (s CreateNamedQueryInput) String() string { +func (s NamedQuery) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateNamedQueryInput) GoString() string { +func (s NamedQuery) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateNamedQueryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateNamedQueryInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 32 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 32)) - } - if s.Database == nil { - invalidParams.Add(request.NewErrParamRequired("Database")) - } - if s.Database != nil && len(*s.Database) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Database", 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) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.QueryString == nil { - invalidParams.Add(request.NewErrParamRequired("QueryString")) - } - if s.QueryString != nil && len(*s.QueryString) < 1 { - invalidParams.Add(request.NewErrParamMinLen("QueryString", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateNamedQueryInput) SetClientRequestToken(v string) *CreateNamedQueryInput { - s.ClientRequestToken = &v - return s -} - // SetDatabase sets the Database field's value. -func (s *CreateNamedQueryInput) SetDatabase(v string) *CreateNamedQueryInput { +func (s *NamedQuery) SetDatabase(v string) *NamedQuery { s.Database = &v return s } // SetDescription sets the Description field's value. -func (s *CreateNamedQueryInput) SetDescription(v string) *CreateNamedQueryInput { +func (s *NamedQuery) SetDescription(v string) *NamedQuery { s.Description = &v return s } // SetName sets the Name field's value. -func (s *CreateNamedQueryInput) SetName(v string) *CreateNamedQueryInput { +func (s *NamedQuery) SetName(v string) *NamedQuery { s.Name = &v return s } +// SetNamedQueryId sets the NamedQueryId field's value. +func (s *NamedQuery) SetNamedQueryId(v string) *NamedQuery { + s.NamedQueryId = &v + return s +} + // SetQueryString sets the QueryString field's value. -func (s *CreateNamedQueryInput) SetQueryString(v string) *CreateNamedQueryInput { +func (s *NamedQuery) SetQueryString(v string) *NamedQuery { s.QueryString = &v return s } -type CreateNamedQueryOutput struct { +// SetWorkGroup sets the WorkGroup field's value. +func (s *NamedQuery) SetWorkGroup(v string) *NamedQuery { + s.WorkGroup = &v + return s +} + +// Information about a single instance of a query execution. +type QueryExecution struct { _ struct{} `type:"structure"` - // The unique ID of the query. - NamedQueryId *string `type:"string"` -} + // The SQL query statements which the query execution ran. + Query *string `min:"1" type:"string"` -// String returns the string representation -func (s CreateNamedQueryOutput) String() string { - return awsutil.Prettify(s) -} + // The database in which the query execution occurred. + QueryExecutionContext *QueryExecutionContext `type:"structure"` -// GoString returns the string representation -func (s CreateNamedQueryOutput) GoString() string { - return s.String() -} + // The unique identifier for each query execution. + QueryExecutionId *string `type:"string"` -// SetNamedQueryId sets the NamedQueryId field's value. -func (s *CreateNamedQueryOutput) SetNamedQueryId(v string) *CreateNamedQueryOutput { - s.NamedQueryId = &v - return s -} + // The location in Amazon S3 where query results were stored and the encryption + // option, if any, used for query results. These are known as "client-side settings". + // If workgroup settings override client-side settings, then the query uses + // the location for the query results and the encryption configuration that + // are specified for the workgroup. + ResultConfiguration *ResultConfiguration `type:"structure"` + + // The type of query statement that was run. DDL indicates DDL query statements. + // DML indicates DML (Data Manipulation Language) query statements, such as + // CREATE TABLE AS SELECT. UTILITY indicates query statements other than DDL + // and DML, such as SHOW CREATE TABLE, or DESCRIBE . + StatementType *string `type:"string" enum:"StatementType"` -// A piece of data (a field in the table). -type Datum struct { - _ struct{} `type:"structure"` + // The amount of data scanned during the query execution and the amount of time + // that it took to execute, and the type of statement that was run. + Statistics *QueryExecutionStatistics `type:"structure"` - // The value of the datum. - VarCharValue *string `type:"string"` + // The completion date, current state, submission time, and state change reason + // (if applicable) for the query execution. + Status *QueryExecutionStatus `type:"structure"` + + // The name of the workgroup in which the query ran. + WorkGroup *string `type:"string"` } // String returns the string representation -func (s Datum) String() string { +func (s QueryExecution) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Datum) GoString() string { +func (s QueryExecution) GoString() string { return s.String() } -// SetVarCharValue sets the VarCharValue field's value. -func (s *Datum) SetVarCharValue(v string) *Datum { - s.VarCharValue = &v +// SetQuery sets the Query field's value. +func (s *QueryExecution) SetQuery(v string) *QueryExecution { + s.Query = &v return s } -type DeleteNamedQueryInput struct { - _ struct{} `type:"structure"` - - // The unique ID of the query to delete. - NamedQueryId *string `type:"string" idempotencyToken:"true"` +// SetQueryExecutionContext sets the QueryExecutionContext field's value. +func (s *QueryExecution) SetQueryExecutionContext(v *QueryExecutionContext) *QueryExecution { + s.QueryExecutionContext = v + return s } -// String returns the string representation -func (s DeleteNamedQueryInput) String() string { - return awsutil.Prettify(s) +// SetQueryExecutionId sets the QueryExecutionId field's value. +func (s *QueryExecution) SetQueryExecutionId(v string) *QueryExecution { + s.QueryExecutionId = &v + return s } -// GoString returns the string representation -func (s DeleteNamedQueryInput) GoString() string { - return s.String() +// SetResultConfiguration sets the ResultConfiguration field's value. +func (s *QueryExecution) SetResultConfiguration(v *ResultConfiguration) *QueryExecution { + s.ResultConfiguration = v + return s } -// SetNamedQueryId sets the NamedQueryId field's value. -func (s *DeleteNamedQueryInput) SetNamedQueryId(v string) *DeleteNamedQueryInput { - s.NamedQueryId = &v +// SetStatementType sets the StatementType field's value. +func (s *QueryExecution) SetStatementType(v string) *QueryExecution { + s.StatementType = &v return s } -type DeleteNamedQueryOutput struct { - _ struct{} `type:"structure"` +// SetStatistics sets the Statistics field's value. +func (s *QueryExecution) SetStatistics(v *QueryExecutionStatistics) *QueryExecution { + s.Statistics = v + return s } -// String returns the string representation -func (s DeleteNamedQueryOutput) String() string { - return awsutil.Prettify(s) +// SetStatus sets the Status field's value. +func (s *QueryExecution) SetStatus(v *QueryExecutionStatus) *QueryExecution { + s.Status = v + return s } -// GoString returns the string representation -func (s DeleteNamedQueryOutput) GoString() string { - return s.String() +// SetWorkGroup sets the WorkGroup field's value. +func (s *QueryExecution) SetWorkGroup(v string) *QueryExecution { + s.WorkGroup = &v + return s } -// If query results are encrypted in Amazon S3, indicates the encryption option -// used (for example, SSE-KMS or CSE-KMS) and key information. -type EncryptionConfiguration struct { +// The database in which the query execution occurs. +type QueryExecutionContext struct { _ struct{} `type:"structure"` - // Indicates whether Amazon S3 server-side encryption with Amazon S3-managed - // keys (SSE-S3), server-side encryption with KMS-managed keys (SSE-KMS), or - // client-side encryption with KMS-managed keys (CSE-KMS) is used. - // - // EncryptionOption is a required field - EncryptionOption *string `type:"string" required:"true" enum:"EncryptionOption"` - - // For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID. - KmsKey *string `type:"string"` + // The name of the database. + Database *string `min:"1" type:"string"` } // String returns the string representation -func (s EncryptionConfiguration) String() string { +func (s QueryExecutionContext) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EncryptionConfiguration) GoString() string { +func (s QueryExecutionContext) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EncryptionConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EncryptionConfiguration"} - if s.EncryptionOption == nil { - invalidParams.Add(request.NewErrParamRequired("EncryptionOption")) +func (s *QueryExecutionContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "QueryExecutionContext"} + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) } if invalidParams.Len() > 0 { @@ -1633,103 +3434,147 @@ func (s *EncryptionConfiguration) Validate() error { return nil } -// SetEncryptionOption sets the EncryptionOption field's value. -func (s *EncryptionConfiguration) SetEncryptionOption(v string) *EncryptionConfiguration { - s.EncryptionOption = &v - return s -} - -// SetKmsKey sets the KmsKey field's value. -func (s *EncryptionConfiguration) SetKmsKey(v string) *EncryptionConfiguration { - s.KmsKey = &v +// SetDatabase sets the Database field's value. +func (s *QueryExecutionContext) SetDatabase(v string) *QueryExecutionContext { + s.Database = &v return s } -type GetNamedQueryInput struct { +// The amount of data scanned during the query execution and the amount of time +// that it took to execute, and the type of statement that was run. +type QueryExecutionStatistics struct { _ struct{} `type:"structure"` - // The unique ID of the query. Use ListNamedQueries to get query IDs. - // - // NamedQueryId is a required field - NamedQueryId *string `type:"string" required:"true"` + // The number of bytes in the data that was queried. + DataScannedInBytes *int64 `type:"long"` + + // The number of milliseconds that the query took to execute. + EngineExecutionTimeInMillis *int64 `type:"long"` } // String returns the string representation -func (s GetNamedQueryInput) String() string { +func (s QueryExecutionStatistics) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetNamedQueryInput) GoString() string { +func (s QueryExecutionStatistics) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetNamedQueryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetNamedQueryInput"} - if s.NamedQueryId == nil { - invalidParams.Add(request.NewErrParamRequired("NamedQueryId")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetDataScannedInBytes sets the DataScannedInBytes field's value. +func (s *QueryExecutionStatistics) SetDataScannedInBytes(v int64) *QueryExecutionStatistics { + s.DataScannedInBytes = &v + return s } -// SetNamedQueryId sets the NamedQueryId field's value. -func (s *GetNamedQueryInput) SetNamedQueryId(v string) *GetNamedQueryInput { - s.NamedQueryId = &v +// SetEngineExecutionTimeInMillis sets the EngineExecutionTimeInMillis field's value. +func (s *QueryExecutionStatistics) SetEngineExecutionTimeInMillis(v int64) *QueryExecutionStatistics { + s.EngineExecutionTimeInMillis = &v return s } -type GetNamedQueryOutput struct { +// The completion date, current state, submission time, and state change reason +// (if applicable) for the query execution. +type QueryExecutionStatus struct { _ struct{} `type:"structure"` - // Information about the query. - NamedQuery *NamedQuery `type:"structure"` + // The date and time that the query completed. + CompletionDateTime *time.Time `type:"timestamp"` + + // The state of query execution. QUEUED state is listed but is not used by Athena + // and is reserved for future use. RUNNING indicates that the query has been + // submitted to the service, and Athena will execute the query as soon as resources + // are available. SUCCEEDED indicates that the query completed without errors. + // FAILED indicates that the query experienced an error and did not complete + // processing. CANCELLED indicates that a user input interrupted query execution. + State *string `type:"string" enum:"QueryExecutionState"` + + // Further detail about the status of the query. + StateChangeReason *string `type:"string"` + + // The date and time that the query was submitted. + SubmissionDateTime *time.Time `type:"timestamp"` } // String returns the string representation -func (s GetNamedQueryOutput) String() string { +func (s QueryExecutionStatus) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetNamedQueryOutput) GoString() string { +func (s QueryExecutionStatus) GoString() string { return s.String() } -// SetNamedQuery sets the NamedQuery field's value. -func (s *GetNamedQueryOutput) SetNamedQuery(v *NamedQuery) *GetNamedQueryOutput { - s.NamedQuery = v +// SetCompletionDateTime sets the CompletionDateTime field's value. +func (s *QueryExecutionStatus) SetCompletionDateTime(v time.Time) *QueryExecutionStatus { + s.CompletionDateTime = &v return s } -type GetQueryExecutionInput struct { +// SetState sets the State field's value. +func (s *QueryExecutionStatus) SetState(v string) *QueryExecutionStatus { + s.State = &v + return s +} + +// SetStateChangeReason sets the StateChangeReason field's value. +func (s *QueryExecutionStatus) SetStateChangeReason(v string) *QueryExecutionStatus { + s.StateChangeReason = &v + return s +} + +// SetSubmissionDateTime sets the SubmissionDateTime field's value. +func (s *QueryExecutionStatus) SetSubmissionDateTime(v time.Time) *QueryExecutionStatus { + s.SubmissionDateTime = &v + return s +} + +// The location in Amazon S3 where query results are stored and the encryption +// option, if any, used for query results. These are known as "client-side settings". +// If workgroup settings override client-side settings, then the query uses +// the location for the query results and the encryption configuration that +// are specified for the workgroup. +type ResultConfiguration struct { _ struct{} `type:"structure"` - // The unique ID of the query execution. - // - // QueryExecutionId is a required field - QueryExecutionId *string `type:"string" required:"true"` + // If query results are encrypted in Amazon S3, indicates the encryption option + // used (for example, SSE-KMS or CSE-KMS) and key information. This is a client-side + // setting. If workgroup settings override client-side settings, then the query + // uses the encryption configuration that is specified for the workgroup, and + // also uses the location for storing query results specified in the workgroup. + // See WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings + // Override Client-Side Settings (https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). + EncryptionConfiguration *EncryptionConfiguration `type:"structure"` + + // The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/. + // For more information, see Queries and Query Result Files. (https://docs.aws.amazon.com/athena/latest/ug/querying.html) + // If workgroup settings override client-side settings, then the query uses + // the location for the query results and the encryption configuration that + // are specified for the workgroup. The "workgroup settings override" is specified + // in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. + // See WorkGroupConfiguration$EnforceWorkGroupConfiguration. + OutputLocation *string `type:"string"` } // String returns the string representation -func (s GetQueryExecutionInput) String() string { +func (s ResultConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetQueryExecutionInput) GoString() string { +func (s ResultConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetQueryExecutionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetQueryExecutionInput"} - if s.QueryExecutionId == nil { - invalidParams.Add(request.NewErrParamRequired("QueryExecutionId")) +func (s *ResultConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResultConfiguration"} + if s.EncryptionConfiguration != nil { + if err := s.EncryptionConfiguration.Validate(); err != nil { + invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -1738,66 +3583,71 @@ func (s *GetQueryExecutionInput) Validate() error { return nil } -// SetQueryExecutionId sets the QueryExecutionId field's value. -func (s *GetQueryExecutionInput) SetQueryExecutionId(v string) *GetQueryExecutionInput { - s.QueryExecutionId = &v +// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. +func (s *ResultConfiguration) SetEncryptionConfiguration(v *EncryptionConfiguration) *ResultConfiguration { + s.EncryptionConfiguration = v return s } -type GetQueryExecutionOutput struct { - _ struct{} `type:"structure"` - - // Information about the query execution. - QueryExecution *QueryExecution `type:"structure"` -} - -// String returns the string representation -func (s GetQueryExecutionOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetQueryExecutionOutput) GoString() string { - return s.String() -} - -// SetQueryExecution sets the QueryExecution field's value. -func (s *GetQueryExecutionOutput) SetQueryExecution(v *QueryExecution) *GetQueryExecutionOutput { - s.QueryExecution = v +// SetOutputLocation sets the OutputLocation field's value. +func (s *ResultConfiguration) SetOutputLocation(v string) *ResultConfiguration { + s.OutputLocation = &v return s } -type GetQueryResultsInput struct { +// The information about the updates in the query results, such as output location +// and encryption configuration for the query results. +type ResultConfigurationUpdates struct { _ struct{} `type:"structure"` - // The maximum number of results (rows) to return in this request. - MaxResults *int64 `type:"integer"` - - // The token that specifies where to start pagination if a previous request - // was truncated. - NextToken *string `type:"string"` + // The encryption configuration for the query results. + EncryptionConfiguration *EncryptionConfiguration `type:"structure"` - // The unique ID of the query execution. - // - // QueryExecutionId is a required field - QueryExecutionId *string `type:"string" required:"true"` + // The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/. + // For more information, see Queries and Query Result Files. (https://docs.aws.amazon.com/athena/latest/ug/querying.html) + // If workgroup settings override client-side settings, then the query uses + // the location for the query results and the encryption configuration that + // are specified for the workgroup. The "workgroup settings override" is specified + // in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. + // See WorkGroupConfiguration$EnforceWorkGroupConfiguration. + OutputLocation *string `type:"string"` + + // If set to "true", indicates that the previously-specified encryption configuration + // (also known as the client-side setting) for queries in this workgroup should + // be ignored and set to null. If set to "false" or not set, and a value is + // present in the EncryptionConfiguration in ResultConfigurationUpdates (the + // client-side setting), the EncryptionConfiguration in the workgroup's ResultConfiguration + // will be updated with the new value. For more information, see Workgroup Settings + // Override Client-Side Settings (https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). + RemoveEncryptionConfiguration *bool `type:"boolean"` + + // If set to "true", indicates that the previously-specified query results location + // (also known as a client-side setting) for queries in this workgroup should + // be ignored and set to null. If set to "false" or not set, and a value is + // present in the OutputLocation in ResultConfigurationUpdates (the client-side + // setting), the OutputLocation in the workgroup's ResultConfiguration will + // be updated with the new value. For more information, see Workgroup Settings + // Override Client-Side Settings (https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). + RemoveOutputLocation *bool `type:"boolean"` } // String returns the string representation -func (s GetQueryResultsInput) String() string { +func (s ResultConfigurationUpdates) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetQueryResultsInput) GoString() string { +func (s ResultConfigurationUpdates) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetQueryResultsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetQueryResultsInput"} - if s.QueryExecutionId == nil { - invalidParams.Add(request.NewErrParamRequired("QueryExecutionId")) +func (s *ResultConfigurationUpdates) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResultConfigurationUpdates"} + if s.EncryptionConfiguration != nil { + if err := s.EncryptionConfiguration.Validate(); err != nil { + invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -1806,509 +3656,610 @@ func (s *GetQueryResultsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *GetQueryResultsInput) SetMaxResults(v int64) *GetQueryResultsInput { - s.MaxResults = &v +// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. +func (s *ResultConfigurationUpdates) SetEncryptionConfiguration(v *EncryptionConfiguration) *ResultConfigurationUpdates { + s.EncryptionConfiguration = v return s } -// SetNextToken sets the NextToken field's value. -func (s *GetQueryResultsInput) SetNextToken(v string) *GetQueryResultsInput { - s.NextToken = &v +// SetOutputLocation sets the OutputLocation field's value. +func (s *ResultConfigurationUpdates) SetOutputLocation(v string) *ResultConfigurationUpdates { + s.OutputLocation = &v return s } -// SetQueryExecutionId sets the QueryExecutionId field's value. -func (s *GetQueryResultsInput) SetQueryExecutionId(v string) *GetQueryResultsInput { - s.QueryExecutionId = &v +// SetRemoveEncryptionConfiguration sets the RemoveEncryptionConfiguration field's value. +func (s *ResultConfigurationUpdates) SetRemoveEncryptionConfiguration(v bool) *ResultConfigurationUpdates { + s.RemoveEncryptionConfiguration = &v return s } -type GetQueryResultsOutput struct { - _ struct{} `type:"structure"` +// SetRemoveOutputLocation sets the RemoveOutputLocation field's value. +func (s *ResultConfigurationUpdates) SetRemoveOutputLocation(v bool) *ResultConfigurationUpdates { + s.RemoveOutputLocation = &v + return s +} - // A token to be used by the next request if this request is truncated. - NextToken *string `type:"string"` +// The metadata and rows that comprise a query result set. The metadata describes +// the column structure and data types. +type ResultSet struct { + _ struct{} `type:"structure"` - // The results of the query execution. - ResultSet *ResultSet `type:"structure"` + // The metadata that describes the column structure and data types of a table + // of query results. + ResultSetMetadata *ResultSetMetadata `type:"structure"` - // The number of rows inserted with a CREATE TABLE AS SELECT statement. - UpdateCount *int64 `type:"long"` + // The rows in the table. + Rows []*Row `type:"list"` } // String returns the string representation -func (s GetQueryResultsOutput) String() string { +func (s ResultSet) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetQueryResultsOutput) GoString() string { +func (s ResultSet) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *GetQueryResultsOutput) SetNextToken(v string) *GetQueryResultsOutput { - s.NextToken = &v - return s -} - -// SetResultSet sets the ResultSet field's value. -func (s *GetQueryResultsOutput) SetResultSet(v *ResultSet) *GetQueryResultsOutput { - s.ResultSet = v +// SetResultSetMetadata sets the ResultSetMetadata field's value. +func (s *ResultSet) SetResultSetMetadata(v *ResultSetMetadata) *ResultSet { + s.ResultSetMetadata = v return s } -// SetUpdateCount sets the UpdateCount field's value. -func (s *GetQueryResultsOutput) SetUpdateCount(v int64) *GetQueryResultsOutput { - s.UpdateCount = &v +// SetRows sets the Rows field's value. +func (s *ResultSet) SetRows(v []*Row) *ResultSet { + s.Rows = v return s } -type ListNamedQueriesInput struct { +// The metadata that describes the column structure and data types of a table +// of query results. +type ResultSetMetadata struct { _ struct{} `type:"structure"` - // The maximum number of queries to return in this request. - MaxResults *int64 `type:"integer"` - - // The token that specifies where to start pagination if a previous request - // was truncated. - NextToken *string `type:"string"` + // Information about the columns returned in a query result metadata. + ColumnInfo []*ColumnInfo `type:"list"` } // String returns the string representation -func (s ListNamedQueriesInput) String() string { +func (s ResultSetMetadata) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListNamedQueriesInput) GoString() string { +func (s ResultSetMetadata) GoString() string { return s.String() } -// SetMaxResults sets the MaxResults field's value. -func (s *ListNamedQueriesInput) SetMaxResults(v int64) *ListNamedQueriesInput { - s.MaxResults = &v +// SetColumnInfo sets the ColumnInfo field's value. +func (s *ResultSetMetadata) SetColumnInfo(v []*ColumnInfo) *ResultSetMetadata { + s.ColumnInfo = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListNamedQueriesInput) SetNextToken(v string) *ListNamedQueriesInput { - s.NextToken = &v +// The rows that comprise a query result table. +type Row struct { + _ struct{} `type:"structure"` + + // The data that populates a row in a query result table. + Data []*Datum `type:"list"` +} + +// String returns the string representation +func (s Row) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Row) GoString() string { + return s.String() +} + +// SetData sets the Data field's value. +func (s *Row) SetData(v []*Datum) *Row { + s.Data = v return s } -type ListNamedQueriesOutput struct { +type StartQueryExecutionInput struct { _ struct{} `type:"structure"` - // The list of unique query IDs. - NamedQueryIds []*string `min:"1" type:"list"` + // A unique case-sensitive string used to ensure the request to create the query + // is idempotent (executes only once). If another StartQueryExecution request + // is received, the same response is returned and another query is not created. + // If a parameter has changed, for example, the QueryString, an error is returned. + // + // This token is listed as not required because AWS SDKs (for example the AWS + // SDK for Java) auto-generate the token for users. If you are not using the + // AWS SDK or the AWS CLI, you must provide this token or the action will fail. + ClientRequestToken *string `min:"32" type:"string" idempotencyToken:"true"` - // A token to be used by the next request if this request is truncated. - NextToken *string `type:"string"` + // The database within which the query executes. + QueryExecutionContext *QueryExecutionContext `type:"structure"` + + // The SQL query statements to be executed. + // + // QueryString is a required field + QueryString *string `min:"1" type:"string" required:"true"` + + // Specifies information about where and how to save the results of the query + // execution. If the query runs in a workgroup, then workgroup's settings may + // override query settings. This affects the query results location. The workgroup + // settings override is specified in EnforceWorkGroupConfiguration (true/false) + // in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration. + ResultConfiguration *ResultConfiguration `type:"structure"` + + // The name of the workgroup in which the query is being started. + WorkGroup *string `type:"string"` } // String returns the string representation -func (s ListNamedQueriesOutput) String() string { +func (s StartQueryExecutionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListNamedQueriesOutput) GoString() string { +func (s StartQueryExecutionInput) GoString() string { return s.String() } -// SetNamedQueryIds sets the NamedQueryIds field's value. -func (s *ListNamedQueriesOutput) SetNamedQueryIds(v []*string) *ListNamedQueriesOutput { - s.NamedQueryIds = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartQueryExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartQueryExecutionInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 32 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 32)) + } + if s.QueryString == nil { + invalidParams.Add(request.NewErrParamRequired("QueryString")) + } + if s.QueryString != nil && len(*s.QueryString) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryString", 1)) + } + if s.QueryExecutionContext != nil { + if err := s.QueryExecutionContext.Validate(); err != nil { + invalidParams.AddNested("QueryExecutionContext", err.(request.ErrInvalidParams)) + } + } + if s.ResultConfiguration != nil { + if err := s.ResultConfiguration.Validate(); err != nil { + invalidParams.AddNested("ResultConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *StartQueryExecutionInput) SetClientRequestToken(v string) *StartQueryExecutionInput { + s.ClientRequestToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListNamedQueriesOutput) SetNextToken(v string) *ListNamedQueriesOutput { - s.NextToken = &v +// SetQueryExecutionContext sets the QueryExecutionContext field's value. +func (s *StartQueryExecutionInput) SetQueryExecutionContext(v *QueryExecutionContext) *StartQueryExecutionInput { + s.QueryExecutionContext = v return s } -type ListQueryExecutionsInput struct { - _ struct{} `type:"structure"` +// SetQueryString sets the QueryString field's value. +func (s *StartQueryExecutionInput) SetQueryString(v string) *StartQueryExecutionInput { + s.QueryString = &v + return s +} - // The maximum number of query executions to return in this request. - MaxResults *int64 `type:"integer"` +// SetResultConfiguration sets the ResultConfiguration field's value. +func (s *StartQueryExecutionInput) SetResultConfiguration(v *ResultConfiguration) *StartQueryExecutionInput { + s.ResultConfiguration = v + return s +} - // The token that specifies where to start pagination if a previous request - // was truncated. - NextToken *string `type:"string"` +// SetWorkGroup sets the WorkGroup field's value. +func (s *StartQueryExecutionInput) SetWorkGroup(v string) *StartQueryExecutionInput { + s.WorkGroup = &v + return s +} + +type StartQueryExecutionOutput struct { + _ struct{} `type:"structure"` + + // The unique ID of the query that ran as a result of this request. + QueryExecutionId *string `type:"string"` } // String returns the string representation -func (s ListQueryExecutionsInput) String() string { +func (s StartQueryExecutionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListQueryExecutionsInput) GoString() string { +func (s StartQueryExecutionOutput) GoString() string { return s.String() } -// SetMaxResults sets the MaxResults field's value. -func (s *ListQueryExecutionsInput) SetMaxResults(v int64) *ListQueryExecutionsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListQueryExecutionsInput) SetNextToken(v string) *ListQueryExecutionsInput { - s.NextToken = &v +// SetQueryExecutionId sets the QueryExecutionId field's value. +func (s *StartQueryExecutionOutput) SetQueryExecutionId(v string) *StartQueryExecutionOutput { + s.QueryExecutionId = &v return s } -type ListQueryExecutionsOutput struct { +type StopQueryExecutionInput struct { _ struct{} `type:"structure"` - // A token to be used by the next request if this request is truncated. - NextToken *string `type:"string"` - - // The unique IDs of each query execution as an array of strings. - QueryExecutionIds []*string `min:"1" type:"list"` + // The unique ID of the query execution to stop. + QueryExecutionId *string `type:"string" idempotencyToken:"true"` } // String returns the string representation -func (s ListQueryExecutionsOutput) String() string { +func (s StopQueryExecutionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListQueryExecutionsOutput) GoString() string { +func (s StopQueryExecutionInput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListQueryExecutionsOutput) SetNextToken(v string) *ListQueryExecutionsOutput { - s.NextToken = &v +// SetQueryExecutionId sets the QueryExecutionId field's value. +func (s *StopQueryExecutionInput) SetQueryExecutionId(v string) *StopQueryExecutionInput { + s.QueryExecutionId = &v return s } -// SetQueryExecutionIds sets the QueryExecutionIds field's value. -func (s *ListQueryExecutionsOutput) SetQueryExecutionIds(v []*string) *ListQueryExecutionsOutput { - s.QueryExecutionIds = v - return s +type StopQueryExecutionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopQueryExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopQueryExecutionOutput) GoString() string { + return s.String() } -// A query, where QueryString is the SQL query statements that comprise the -// query. -type NamedQuery struct { +// A tag that you can add to a resource. A tag is a label that you assign to +// an AWS Athena resource (a workgroup). Each tag consists of a key and an optional +// value, both of which you define. Tags enable you to categorize workgroups +// in Athena, for example, by purpose, owner, or environment. Use a consistent +// set of tag keys to make it easier to search and filter workgroups in your +// account. The maximum tag key length is 128 Unicode characters in UTF-8. The +// maximum tag value length is 256 Unicode characters in UTF-8. You can use +// letters and numbers representable in UTF-8, and the following characters: +// + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be +// unique per resource. +type Tag struct { _ struct{} `type:"structure"` - // The database to which the query belongs. - // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` - - // A brief description of the query. - Description *string `min:"1" type:"string"` - - // The plain-language name of the query. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` - - // The unique identifier of the query. - NamedQueryId *string `type:"string"` + // A tag key. The tag key length is from 1 to 128 Unicode characters in UTF-8. + // You can use letters and numbers representable in UTF-8, and the following + // characters: + - = . _ : / @. Tag keys are case-sensitive and must be unique + // per resource. + Key *string `min:"1" type:"string"` - // The SQL query statements that comprise the query. - // - // QueryString is a required field - QueryString *string `min:"1" type:"string" required:"true"` + // A tag value. The tag value length is from 0 to 256 Unicode characters in + // UTF-8. You can use letters and numbers representable in UTF-8, and the following + // characters: + - = . _ : / @. Tag values are case-sensitive. + Value *string `type:"string"` } // String returns the string representation -func (s NamedQuery) String() string { +func (s Tag) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s NamedQuery) GoString() string { +func (s Tag) GoString() string { return s.String() } -// SetDatabase sets the Database field's value. -func (s *NamedQuery) SetDatabase(v string) *NamedQuery { - s.Database = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *NamedQuery) SetDescription(v string) *NamedQuery { - s.Description = &v - return s -} +// 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 && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } -// SetName sets the Name field's value. -func (s *NamedQuery) SetName(v string) *NamedQuery { - s.Name = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetNamedQueryId sets the NamedQueryId field's value. -func (s *NamedQuery) SetNamedQueryId(v string) *NamedQuery { - s.NamedQueryId = &v +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v return s } -// SetQueryString sets the QueryString field's value. -func (s *NamedQuery) SetQueryString(v string) *NamedQuery { - s.QueryString = &v +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v return s } -// Information about a single instance of a query execution. -type QueryExecution struct { +type TagResourceInput struct { _ struct{} `type:"structure"` - // The SQL query statements which the query execution ran. - Query *string `min:"1" type:"string"` - - // The database in which the query execution occurred. - QueryExecutionContext *QueryExecutionContext `type:"structure"` - - // The unique identifier for each query execution. - QueryExecutionId *string `type:"string"` - - // The location in Amazon S3 where query results were stored and the encryption - // option, if any, used for query results. - ResultConfiguration *ResultConfiguration `type:"structure"` - - // The type of query statement that was run. DDL indicates DDL query statements. - // DML indicates DML (Data Manipulation Language) query statements, such as - // CREATE TABLE AS SELECT. UTILITY indicates query statements other than DDL - // and DML, such as SHOW CREATE TABLE, or DESCRIBE
. - StatementType *string `type:"string" enum:"StatementType"` - - // The amount of data scanned during the query execution and the amount of time - // that it took to execute, and the type of statement that was run. - Statistics *QueryExecutionStatistics `type:"structure"` + // Requests that one or more tags are added to the resource (such as a workgroup) + // for the specified ARN. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` - // The completion date, current state, submission time, and state change reason - // (if applicable) for the query execution. - Status *QueryExecutionStatus `type:"structure"` + // One or more tags, separated by commas, to be added to the resource, such + // as a workgroup. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` } // String returns the string representation -func (s QueryExecution) String() string { +func (s TagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s QueryExecution) GoString() string { +func (s TagResourceInput) GoString() string { return s.String() } -// SetQuery sets the Query field's value. -func (s *QueryExecution) SetQuery(v string) *QueryExecution { - s.Query = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + 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)) + } + } + } -// SetQueryExecutionContext sets the QueryExecutionContext field's value. -func (s *QueryExecution) SetQueryExecutionContext(v *QueryExecutionContext) *QueryExecution { - s.QueryExecutionContext = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetQueryExecutionId sets the QueryExecutionId field's value. -func (s *QueryExecution) SetQueryExecutionId(v string) *QueryExecution { - s.QueryExecutionId = &v +// SetResourceARN sets the ResourceARN field's value. +func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { + s.ResourceARN = &v return s } -// SetResultConfiguration sets the ResultConfiguration field's value. -func (s *QueryExecution) SetResultConfiguration(v *ResultConfiguration) *QueryExecution { - s.ResultConfiguration = v +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v return s } -// SetStatementType sets the StatementType field's value. -func (s *QueryExecution) SetStatementType(v string) *QueryExecution { - s.StatementType = &v - return s +type TagResourceOutput struct { + _ struct{} `type:"structure"` } -// SetStatistics sets the Statistics field's value. -func (s *QueryExecution) SetStatistics(v *QueryExecutionStatistics) *QueryExecution { - s.Statistics = v - return s +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) } -// SetStatus sets the Status field's value. -func (s *QueryExecution) SetStatus(v *QueryExecutionStatus) *QueryExecution { - s.Status = v - return s +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() } -// The database in which the query execution occurs. -type QueryExecutionContext struct { +// Information about a named query ID that could not be processed. +type UnprocessedNamedQueryId struct { _ struct{} `type:"structure"` - // The name of the database. - Database *string `min:"1" type:"string"` + // The error code returned when the processing request for the named query failed, + // if applicable. + ErrorCode *string `min:"1" type:"string"` + + // The error message returned when the processing request for the named query + // failed, if applicable. + ErrorMessage *string `type:"string"` + + // The unique identifier of the named query. + NamedQueryId *string `type:"string"` } // String returns the string representation -func (s QueryExecutionContext) String() string { +func (s UnprocessedNamedQueryId) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s QueryExecutionContext) GoString() string { +func (s UnprocessedNamedQueryId) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *QueryExecutionContext) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "QueryExecutionContext"} - if s.Database != nil && len(*s.Database) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Database", 1)) - } +// SetErrorCode sets the ErrorCode field's value. +func (s *UnprocessedNamedQueryId) SetErrorCode(v string) *UnprocessedNamedQueryId { + s.ErrorCode = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetErrorMessage sets the ErrorMessage field's value. +func (s *UnprocessedNamedQueryId) SetErrorMessage(v string) *UnprocessedNamedQueryId { + s.ErrorMessage = &v + return s } -// SetDatabase sets the Database field's value. -func (s *QueryExecutionContext) SetDatabase(v string) *QueryExecutionContext { - s.Database = &v +// SetNamedQueryId sets the NamedQueryId field's value. +func (s *UnprocessedNamedQueryId) SetNamedQueryId(v string) *UnprocessedNamedQueryId { + s.NamedQueryId = &v return s } -// The amount of data scanned during the query execution and the amount of time -// that it took to execute, and the type of statement that was run. -type QueryExecutionStatistics struct { +// Describes a query execution that failed to process. +type UnprocessedQueryExecutionId struct { _ struct{} `type:"structure"` - // The number of bytes in the data that was queried. - DataScannedInBytes *int64 `type:"long"` + // The error code returned when the query execution failed to process, if applicable. + ErrorCode *string `min:"1" type:"string"` - // The number of milliseconds that the query took to execute. - EngineExecutionTimeInMillis *int64 `type:"long"` + // The error message returned when the query execution failed to process, if + // applicable. + ErrorMessage *string `type:"string"` + + // The unique identifier of the query execution. + QueryExecutionId *string `type:"string"` } // String returns the string representation -func (s QueryExecutionStatistics) String() string { +func (s UnprocessedQueryExecutionId) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s QueryExecutionStatistics) GoString() string { +func (s UnprocessedQueryExecutionId) GoString() string { return s.String() } -// SetDataScannedInBytes sets the DataScannedInBytes field's value. -func (s *QueryExecutionStatistics) SetDataScannedInBytes(v int64) *QueryExecutionStatistics { - s.DataScannedInBytes = &v +// SetErrorCode sets the ErrorCode field's value. +func (s *UnprocessedQueryExecutionId) SetErrorCode(v string) *UnprocessedQueryExecutionId { + s.ErrorCode = &v return s } -// SetEngineExecutionTimeInMillis sets the EngineExecutionTimeInMillis field's value. -func (s *QueryExecutionStatistics) SetEngineExecutionTimeInMillis(v int64) *QueryExecutionStatistics { - s.EngineExecutionTimeInMillis = &v +// SetErrorMessage sets the ErrorMessage field's value. +func (s *UnprocessedQueryExecutionId) SetErrorMessage(v string) *UnprocessedQueryExecutionId { + s.ErrorMessage = &v return s } -// The completion date, current state, submission time, and state change reason -// (if applicable) for the query execution. -type QueryExecutionStatus struct { - _ struct{} `type:"structure"` - - // The date and time that the query completed. - CompletionDateTime *time.Time `type:"timestamp"` +// SetQueryExecutionId sets the QueryExecutionId field's value. +func (s *UnprocessedQueryExecutionId) SetQueryExecutionId(v string) *UnprocessedQueryExecutionId { + s.QueryExecutionId = &v + return s +} - // The state of query execution. QUEUED state is listed but is not used by Athena - // and is reserved for future use. RUNNING indicates that the query has been - // submitted to the service, and Athena will execute the query as soon as resources - // are available. SUCCEEDED indicates that the query completed without error. - // FAILED indicates that the query experienced an error and did not complete - // processing.CANCELLED indicates that user input interrupted query execution. - State *string `type:"string" enum:"QueryExecutionState"` +type UntagResourceInput struct { + _ struct{} `type:"structure"` - // Further detail about the status of the query. - StateChangeReason *string `type:"string"` + // Removes one or more tags from the workgroup resource for the specified ARN. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` - // The date and time that the query was submitted. - SubmissionDateTime *time.Time `type:"timestamp"` + // Removes the tags associated with one or more tag keys from the workgroup + // resource. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` } // String returns the string representation -func (s QueryExecutionStatus) String() string { +func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s QueryExecutionStatus) GoString() string { +func (s UntagResourceInput) GoString() string { return s.String() } -// SetCompletionDateTime sets the CompletionDateTime field's value. -func (s *QueryExecutionStatus) SetCompletionDateTime(v time.Time) *QueryExecutionStatus { - s.CompletionDateTime = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetState sets the State field's value. -func (s *QueryExecutionStatus) SetState(v string) *QueryExecutionStatus { - s.State = &v +// SetResourceARN sets the ResourceARN field's value. +func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { + s.ResourceARN = &v return s } -// SetStateChangeReason sets the StateChangeReason field's value. -func (s *QueryExecutionStatus) SetStateChangeReason(v string) *QueryExecutionStatus { - s.StateChangeReason = &v +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v return s } -// SetSubmissionDateTime sets the SubmissionDateTime field's value. -func (s *QueryExecutionStatus) SetSubmissionDateTime(v time.Time) *QueryExecutionStatus { - s.SubmissionDateTime = &v - return s +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() } -// The location in Amazon S3 where query results are stored and the encryption -// option, if any, used for query results. -type ResultConfiguration struct { +type UpdateWorkGroupInput struct { _ struct{} `type:"structure"` - // If query results are encrypted in Amazon S3, indicates the encryption option - // used (for example, SSE-KMS or CSE-KMS) and key information. - EncryptionConfiguration *EncryptionConfiguration `type:"structure"` + // The workgroup configuration that will be updated for the given workgroup. + ConfigurationUpdates *WorkGroupConfigurationUpdates `type:"structure"` - // The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/. - // For more information, see Queries and Query Result Files. (http://docs.aws.amazon.com/athena/latest/ug/querying.html) + // The workgroup description. + Description *string `type:"string"` + + // The workgroup state that will be updated for the given workgroup. + State *string `type:"string" enum:"WorkGroupState"` + + // The specified workgroup that will be updated. // - // OutputLocation is a required field - OutputLocation *string `type:"string" required:"true"` + // WorkGroup is a required field + WorkGroup *string `type:"string" required:"true"` } // String returns the string representation -func (s ResultConfiguration) String() string { +func (s UpdateWorkGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResultConfiguration) GoString() string { +func (s UpdateWorkGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ResultConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ResultConfiguration"} - if s.OutputLocation == nil { - invalidParams.Add(request.NewErrParamRequired("OutputLocation")) +func (s *UpdateWorkGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateWorkGroupInput"} + if s.WorkGroup == nil { + invalidParams.Add(request.NewErrParamRequired("WorkGroup")) } - if s.EncryptionConfiguration != nil { - if err := s.EncryptionConfiguration.Validate(); err != nil { - invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) + if s.ConfigurationUpdates != nil { + if err := s.ConfigurationUpdates.Validate(); err != nil { + invalidParams.AddNested("ConfigurationUpdates", err.(request.ErrInvalidParams)) } } @@ -2318,159 +4269,163 @@ func (s *ResultConfiguration) Validate() error { return nil } -// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. -func (s *ResultConfiguration) SetEncryptionConfiguration(v *EncryptionConfiguration) *ResultConfiguration { - s.EncryptionConfiguration = v +// SetConfigurationUpdates sets the ConfigurationUpdates field's value. +func (s *UpdateWorkGroupInput) SetConfigurationUpdates(v *WorkGroupConfigurationUpdates) *UpdateWorkGroupInput { + s.ConfigurationUpdates = v return s } -// SetOutputLocation sets the OutputLocation field's value. -func (s *ResultConfiguration) SetOutputLocation(v string) *ResultConfiguration { - s.OutputLocation = &v +// SetDescription sets the Description field's value. +func (s *UpdateWorkGroupInput) SetDescription(v string) *UpdateWorkGroupInput { + s.Description = &v return s } -// The metadata and rows that comprise a query result set. The metadata describes -// the column structure and data types. -type ResultSet struct { - _ struct{} `type:"structure"` +// SetState sets the State field's value. +func (s *UpdateWorkGroupInput) SetState(v string) *UpdateWorkGroupInput { + s.State = &v + return s +} - // The metadata that describes the column structure and data types of a table - // of query results. - ResultSetMetadata *ResultSetMetadata `type:"structure"` +// SetWorkGroup sets the WorkGroup field's value. +func (s *UpdateWorkGroupInput) SetWorkGroup(v string) *UpdateWorkGroupInput { + s.WorkGroup = &v + return s +} - // The rows in the table. - Rows []*Row `type:"list"` +type UpdateWorkGroupOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation -func (s ResultSet) String() string { +func (s UpdateWorkGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResultSet) GoString() string { +func (s UpdateWorkGroupOutput) GoString() string { return s.String() } -// SetResultSetMetadata sets the ResultSetMetadata field's value. -func (s *ResultSet) SetResultSetMetadata(v *ResultSetMetadata) *ResultSet { - s.ResultSetMetadata = v - return s -} +// A workgroup, which contains a name, description, creation time, state, and +// other configuration, listed under WorkGroup$Configuration. Each workgroup +// enables you to isolate queries for you or your group of users from other +// queries in the same account, to configure the query results location and +// the encryption configuration (known as workgroup settings), to enable sending +// query metrics to Amazon CloudWatch, and to establish per-query data usage +// control limits for all queries in a workgroup. The workgroup settings override +// is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. +// See WorkGroupConfiguration$EnforceWorkGroupConfiguration. +type WorkGroup struct { + _ struct{} `type:"structure"` -// SetRows sets the Rows field's value. -func (s *ResultSet) SetRows(v []*Row) *ResultSet { - s.Rows = v - return s -} + // The configuration of the workgroup, which includes the location in Amazon + // S3 where query results are stored, the encryption configuration, if any, + // used for query results; whether the Amazon CloudWatch Metrics are enabled + // for the workgroup; whether workgroup settings override client-side settings; + // and the data usage limit for the amount of data scanned per query, if it + // is specified. The workgroup settings override is specified in EnforceWorkGroupConfiguration + // (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration. + Configuration *WorkGroupConfiguration `type:"structure"` -// The metadata that describes the column structure and data types of a table -// of query results. -type ResultSetMetadata struct { - _ struct{} `type:"structure"` + // The date and time the workgroup was created. + CreationTime *time.Time `type:"timestamp"` - // Information about the columns returned in a query result metadata. - ColumnInfo []*ColumnInfo `type:"list"` + // The workgroup description. + Description *string `type:"string"` + + // The workgroup name. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The state of the workgroup: ENABLED or DISABLED. + State *string `type:"string" enum:"WorkGroupState"` } // String returns the string representation -func (s ResultSetMetadata) String() string { +func (s WorkGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResultSetMetadata) GoString() string { +func (s WorkGroup) GoString() string { return s.String() } -// SetColumnInfo sets the ColumnInfo field's value. -func (s *ResultSetMetadata) SetColumnInfo(v []*ColumnInfo) *ResultSetMetadata { - s.ColumnInfo = v +// SetConfiguration sets the Configuration field's value. +func (s *WorkGroup) SetConfiguration(v *WorkGroupConfiguration) *WorkGroup { + s.Configuration = v return s } -// The rows that comprise a query result table. -type Row struct { - _ struct{} `type:"structure"` - - // The data that populates a row in a query result table. - Data []*Datum `type:"list"` +// SetCreationTime sets the CreationTime field's value. +func (s *WorkGroup) SetCreationTime(v time.Time) *WorkGroup { + s.CreationTime = &v + return s } -// String returns the string representation -func (s Row) String() string { - return awsutil.Prettify(s) +// SetDescription sets the Description field's value. +func (s *WorkGroup) SetDescription(v string) *WorkGroup { + s.Description = &v + return s } -// GoString returns the string representation -func (s Row) GoString() string { - return s.String() +// SetName sets the Name field's value. +func (s *WorkGroup) SetName(v string) *WorkGroup { + s.Name = &v + return s } -// SetData sets the Data field's value. -func (s *Row) SetData(v []*Datum) *Row { - s.Data = v +// SetState sets the State field's value. +func (s *WorkGroup) SetState(v string) *WorkGroup { + s.State = &v return s } -type StartQueryExecutionInput struct { +// The configuration of the workgroup, which includes the location in Amazon +// S3 where query results are stored, the encryption option, if any, used for +// query results, whether the Amazon CloudWatch Metrics are enabled for the +// workgroup and whether workgroup settings override query settings, and the +// data usage limit for the amount of data scanned per query, if it is specified. +// The workgroup settings override is specified in EnforceWorkGroupConfiguration +// (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration. +type WorkGroupConfiguration struct { _ struct{} `type:"structure"` - // A unique case-sensitive string used to ensure the request to create the query - // is idempotent (executes only once). If another StartQueryExecution request - // is received, the same response is returned and another query is not created. - // If a parameter has changed, for example, the QueryString, an error is returned. - // - // This token is listed as not required because AWS SDKs (for example the AWS - // SDK for Java) auto-generate the token for users. If you are not using the - // AWS SDK or the AWS CLI, you must provide this token or the action will fail. - ClientRequestToken *string `min:"32" type:"string" idempotencyToken:"true"` + // The upper data usage limit (cutoff) for the amount of bytes a single query + // in a workgroup is allowed to scan. + BytesScannedCutoffPerQuery *int64 `min:"1e+07" type:"long"` - // The database within which the query executes. - QueryExecutionContext *QueryExecutionContext `type:"structure"` + // If set to "true", the settings for the workgroup override client-side settings. + // If set to "false", client-side settings are used. For more information, see + // Workgroup Settings Override Client-Side Settings (https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). + EnforceWorkGroupConfiguration *bool `type:"boolean"` - // The SQL query statements to be executed. - // - // QueryString is a required field - QueryString *string `min:"1" type:"string" required:"true"` + // Indicates that the Amazon CloudWatch metrics are enabled for the workgroup. + PublishCloudWatchMetricsEnabled *bool `type:"boolean"` - // Specifies information about where and how to save the results of the query - // execution. - // - // ResultConfiguration is a required field - ResultConfiguration *ResultConfiguration `type:"structure" required:"true"` + // The configuration for the workgroup, which includes the location in Amazon + // S3 where query results are stored and the encryption option, if any, used + // for query results. + ResultConfiguration *ResultConfiguration `type:"structure"` } // String returns the string representation -func (s StartQueryExecutionInput) String() string { +func (s WorkGroupConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s StartQueryExecutionInput) GoString() string { +func (s WorkGroupConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *StartQueryExecutionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "StartQueryExecutionInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 32 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 32)) - } - if s.QueryString == nil { - invalidParams.Add(request.NewErrParamRequired("QueryString")) - } - if s.QueryString != nil && len(*s.QueryString) < 1 { - invalidParams.Add(request.NewErrParamMinLen("QueryString", 1)) - } - if s.ResultConfiguration == nil { - invalidParams.Add(request.NewErrParamRequired("ResultConfiguration")) - } - if s.QueryExecutionContext != nil { - if err := s.QueryExecutionContext.Validate(); err != nil { - invalidParams.AddNested("QueryExecutionContext", err.(request.ErrInvalidParams)) - } +func (s *WorkGroupConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WorkGroupConfiguration"} + if s.BytesScannedCutoffPerQuery != nil && *s.BytesScannedCutoffPerQuery < 1e+07 { + invalidParams.Add(request.NewErrParamMinValue("BytesScannedCutoffPerQuery", 1e+07)) } if s.ResultConfiguration != nil { if err := s.ResultConfiguration.Validate(); err != nil { @@ -2484,174 +4439,167 @@ func (s *StartQueryExecutionInput) Validate() error { return nil } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *StartQueryExecutionInput) SetClientRequestToken(v string) *StartQueryExecutionInput { - s.ClientRequestToken = &v +// SetBytesScannedCutoffPerQuery sets the BytesScannedCutoffPerQuery field's value. +func (s *WorkGroupConfiguration) SetBytesScannedCutoffPerQuery(v int64) *WorkGroupConfiguration { + s.BytesScannedCutoffPerQuery = &v return s } -// SetQueryExecutionContext sets the QueryExecutionContext field's value. -func (s *StartQueryExecutionInput) SetQueryExecutionContext(v *QueryExecutionContext) *StartQueryExecutionInput { - s.QueryExecutionContext = v +// SetEnforceWorkGroupConfiguration sets the EnforceWorkGroupConfiguration field's value. +func (s *WorkGroupConfiguration) SetEnforceWorkGroupConfiguration(v bool) *WorkGroupConfiguration { + s.EnforceWorkGroupConfiguration = &v return s } -// SetQueryString sets the QueryString field's value. -func (s *StartQueryExecutionInput) SetQueryString(v string) *StartQueryExecutionInput { - s.QueryString = &v +// SetPublishCloudWatchMetricsEnabled sets the PublishCloudWatchMetricsEnabled field's value. +func (s *WorkGroupConfiguration) SetPublishCloudWatchMetricsEnabled(v bool) *WorkGroupConfiguration { + s.PublishCloudWatchMetricsEnabled = &v return s } // SetResultConfiguration sets the ResultConfiguration field's value. -func (s *StartQueryExecutionInput) SetResultConfiguration(v *ResultConfiguration) *StartQueryExecutionInput { +func (s *WorkGroupConfiguration) SetResultConfiguration(v *ResultConfiguration) *WorkGroupConfiguration { s.ResultConfiguration = v return s } -type StartQueryExecutionOutput struct { - _ struct{} `type:"structure"` - - // The unique ID of the query that ran as a result of this request. - QueryExecutionId *string `type:"string"` -} - -// String returns the string representation -func (s StartQueryExecutionOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s StartQueryExecutionOutput) GoString() string { - return s.String() -} - -// SetQueryExecutionId sets the QueryExecutionId field's value. -func (s *StartQueryExecutionOutput) SetQueryExecutionId(v string) *StartQueryExecutionOutput { - s.QueryExecutionId = &v - return s -} - -type StopQueryExecutionInput struct { +// The configuration information that will be updated for this workgroup, which +// includes the location in Amazon S3 where query results are stored, the encryption +// option, if any, used for query results, whether the Amazon CloudWatch Metrics +// are enabled for the workgroup, whether the workgroup settings override the +// client-side settings, and the data usage limit for the amount of bytes scanned +// per query, if it is specified. +type WorkGroupConfigurationUpdates struct { _ struct{} `type:"structure"` - // The unique ID of the query execution to stop. - QueryExecutionId *string `type:"string" idempotencyToken:"true"` -} + // The upper limit (cutoff) for the amount of bytes a single query in a workgroup + // is allowed to scan. + BytesScannedCutoffPerQuery *int64 `min:"1e+07" type:"long"` -// String returns the string representation -func (s StopQueryExecutionInput) String() string { - return awsutil.Prettify(s) -} + // If set to "true", the settings for the workgroup override client-side settings. + // If set to "false" client-side settings are used. For more information, see + // Workgroup Settings Override Client-Side Settings (https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). + EnforceWorkGroupConfiguration *bool `type:"boolean"` -// GoString returns the string representation -func (s StopQueryExecutionInput) GoString() string { - return s.String() -} + // Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch. + PublishCloudWatchMetricsEnabled *bool `type:"boolean"` -// SetQueryExecutionId sets the QueryExecutionId field's value. -func (s *StopQueryExecutionInput) SetQueryExecutionId(v string) *StopQueryExecutionInput { - s.QueryExecutionId = &v - return s -} + // Indicates that the data usage control limit per query is removed. WorkGroupConfiguration$BytesScannedCutoffPerQuery + RemoveBytesScannedCutoffPerQuery *bool `type:"boolean"` -type StopQueryExecutionOutput struct { - _ struct{} `type:"structure"` + // The result configuration information about the queries in this workgroup + // that will be updated. Includes the updated results location and an updated + // option for encrypting query results. + ResultConfigurationUpdates *ResultConfigurationUpdates `type:"structure"` } // String returns the string representation -func (s StopQueryExecutionOutput) String() string { +func (s WorkGroupConfigurationUpdates) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s StopQueryExecutionOutput) GoString() string { +func (s WorkGroupConfigurationUpdates) GoString() string { return s.String() } -// Information about a named query ID that could not be processed. -type UnprocessedNamedQueryId struct { - _ struct{} `type:"structure"` - - // The error code returned when the processing request for the named query failed, - // if applicable. - ErrorCode *string `min:"1" type:"string"` - - // The error message returned when the processing request for the named query - // failed, if applicable. - ErrorMessage *string `type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *WorkGroupConfigurationUpdates) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WorkGroupConfigurationUpdates"} + if s.BytesScannedCutoffPerQuery != nil && *s.BytesScannedCutoffPerQuery < 1e+07 { + invalidParams.Add(request.NewErrParamMinValue("BytesScannedCutoffPerQuery", 1e+07)) + } + if s.ResultConfigurationUpdates != nil { + if err := s.ResultConfigurationUpdates.Validate(); err != nil { + invalidParams.AddNested("ResultConfigurationUpdates", err.(request.ErrInvalidParams)) + } + } - // The unique identifier of the named query. - NamedQueryId *string `type:"string"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// String returns the string representation -func (s UnprocessedNamedQueryId) String() string { - return awsutil.Prettify(s) +// SetBytesScannedCutoffPerQuery sets the BytesScannedCutoffPerQuery field's value. +func (s *WorkGroupConfigurationUpdates) SetBytesScannedCutoffPerQuery(v int64) *WorkGroupConfigurationUpdates { + s.BytesScannedCutoffPerQuery = &v + return s } -// GoString returns the string representation -func (s UnprocessedNamedQueryId) GoString() string { - return s.String() +// SetEnforceWorkGroupConfiguration sets the EnforceWorkGroupConfiguration field's value. +func (s *WorkGroupConfigurationUpdates) SetEnforceWorkGroupConfiguration(v bool) *WorkGroupConfigurationUpdates { + s.EnforceWorkGroupConfiguration = &v + return s } -// SetErrorCode sets the ErrorCode field's value. -func (s *UnprocessedNamedQueryId) SetErrorCode(v string) *UnprocessedNamedQueryId { - s.ErrorCode = &v +// SetPublishCloudWatchMetricsEnabled sets the PublishCloudWatchMetricsEnabled field's value. +func (s *WorkGroupConfigurationUpdates) SetPublishCloudWatchMetricsEnabled(v bool) *WorkGroupConfigurationUpdates { + s.PublishCloudWatchMetricsEnabled = &v return s } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *UnprocessedNamedQueryId) SetErrorMessage(v string) *UnprocessedNamedQueryId { - s.ErrorMessage = &v +// SetRemoveBytesScannedCutoffPerQuery sets the RemoveBytesScannedCutoffPerQuery field's value. +func (s *WorkGroupConfigurationUpdates) SetRemoveBytesScannedCutoffPerQuery(v bool) *WorkGroupConfigurationUpdates { + s.RemoveBytesScannedCutoffPerQuery = &v return s } -// SetNamedQueryId sets the NamedQueryId field's value. -func (s *UnprocessedNamedQueryId) SetNamedQueryId(v string) *UnprocessedNamedQueryId { - s.NamedQueryId = &v +// SetResultConfigurationUpdates sets the ResultConfigurationUpdates field's value. +func (s *WorkGroupConfigurationUpdates) SetResultConfigurationUpdates(v *ResultConfigurationUpdates) *WorkGroupConfigurationUpdates { + s.ResultConfigurationUpdates = v return s } -// Describes a query execution that failed to process. -type UnprocessedQueryExecutionId struct { +// The summary information for the workgroup, which includes its name, state, +// description, and the date and time it was created. +type WorkGroupSummary struct { _ struct{} `type:"structure"` - // The error code returned when the query execution failed to process, if applicable. - ErrorCode *string `min:"1" type:"string"` + // The workgroup creation date and time. + CreationTime *time.Time `type:"timestamp"` - // The error message returned when the query execution failed to process, if - // applicable. - ErrorMessage *string `type:"string"` + // The workgroup description. + Description *string `type:"string"` - // The unique identifier of the query execution. - QueryExecutionId *string `type:"string"` + // The name of the workgroup. + Name *string `type:"string"` + + // The state of the workgroup. + State *string `type:"string" enum:"WorkGroupState"` } // String returns the string representation -func (s UnprocessedQueryExecutionId) String() string { +func (s WorkGroupSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UnprocessedQueryExecutionId) GoString() string { +func (s WorkGroupSummary) GoString() string { return s.String() } -// SetErrorCode sets the ErrorCode field's value. -func (s *UnprocessedQueryExecutionId) SetErrorCode(v string) *UnprocessedQueryExecutionId { - s.ErrorCode = &v +// SetCreationTime sets the CreationTime field's value. +func (s *WorkGroupSummary) SetCreationTime(v time.Time) *WorkGroupSummary { + s.CreationTime = &v return s } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *UnprocessedQueryExecutionId) SetErrorMessage(v string) *UnprocessedQueryExecutionId { - s.ErrorMessage = &v +// SetDescription sets the Description field's value. +func (s *WorkGroupSummary) SetDescription(v string) *WorkGroupSummary { + s.Description = &v return s } -// SetQueryExecutionId sets the QueryExecutionId field's value. -func (s *UnprocessedQueryExecutionId) SetQueryExecutionId(v string) *UnprocessedQueryExecutionId { - s.QueryExecutionId = &v +// SetName sets the Name field's value. +func (s *WorkGroupSummary) SetName(v string) *WorkGroupSummary { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *WorkGroupSummary) SetState(v string) *WorkGroupSummary { + s.State = &v return s } @@ -2711,3 +4659,11 @@ const ( // ThrottleReasonConcurrentQueryLimitExceeded is a ThrottleReason enum value ThrottleReasonConcurrentQueryLimitExceeded = "CONCURRENT_QUERY_LIMIT_EXCEEDED" ) + +const ( + // WorkGroupStateEnabled is a WorkGroupState enum value + WorkGroupStateEnabled = "ENABLED" + + // WorkGroupStateDisabled is a WorkGroupState enum value + WorkGroupStateDisabled = "DISABLED" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/athena/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/athena/errors.go index abfa4fac398..1d280db2b20 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/athena/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/athena/errors.go @@ -18,10 +18,15 @@ const ( // a required parameter may be missing or out of range. ErrCodeInvalidRequestException = "InvalidRequestException" + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // A resource, such as a workgroup, was not found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + // ErrCodeTooManyRequestsException for service response error code // "TooManyRequestsException". // - // Indicates that the request was throttled and includes the reason for throttling, - // for example, the limit of concurrent queries has been exceeded. + // Indicates that the request was throttled. ErrCodeTooManyRequestsException = "TooManyRequestsException" ) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go index 2a822a5fb87..870a060560e 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go @@ -161,8 +161,10 @@ func (c *AutoScaling) AttachLoadBalancerTargetGroupsRequest(input *AttachLoadBal // To describe the target groups for an Auto Scaling group, use DescribeLoadBalancerTargetGroups. // To detach the target group from the Auto Scaling group, use DetachLoadBalancerTargetGroups. // -// For more information, see Attach a Load Balancer to Your Auto Scaling Group -// (http://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html) +// With Application Load Balancers and Network Load Balancers, instances are +// registered as targets with a target group. With Classic Load Balancers, instances +// are registered with the load balancer. For more information, see Attaching +// a Load Balancer to Your Auto Scaling Group (http://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html) // in the Amazon EC2 Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -250,13 +252,14 @@ func (c *AutoScaling) AttachLoadBalancersRequest(input *AttachLoadBalancersInput // Attaches one or more Classic Load Balancers to the specified Auto Scaling // group. // -// To attach an Application Load Balancer instead, see AttachLoadBalancerTargetGroups. +// To attach an Application Load Balancer or a Network Load Balancer instead, +// see AttachLoadBalancerTargetGroups. // // To describe the load balancers for an Auto Scaling group, use DescribeLoadBalancers. // To detach the load balancer from the Auto Scaling group, use DetachLoadBalancers. // -// For more information, see Attach a Load Balancer to Your Auto Scaling Group -// (http://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html) +// For more information, see Attaching a Load Balancer to Your Auto Scaling +// Group (http://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html) // in the Amazon EC2 Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -620,7 +623,8 @@ func (c *AutoScaling) CreateAutoScalingGroupRequest(input *CreateAutoScalingGrou // // If you exceed your maximum limit of Auto Scaling groups, the call fails. // For information about viewing this limit, see DescribeAccountLimits. For -// information about updating this limit, see Auto Scaling Limits (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) +// information about updating this limit, see Amazon EC2 Auto Scaling Limits +// (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) // in the Amazon EC2 Auto Scaling User Guide. // // For more information, see Auto Scaling Groups (http://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html) @@ -721,7 +725,8 @@ func (c *AutoScaling) CreateLaunchConfigurationRequest(input *CreateLaunchConfig // // If you exceed your maximum limit of launch configurations, the call fails. // For information about viewing this limit, see DescribeAccountLimits. For -// information about updating this limit, see Auto Scaling Limits (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) +// information about updating this limit, see Amazon EC2 Auto Scaling Limits +// (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) // in the Amazon EC2 Auto Scaling User Guide. // // For more information, see Launch Configurations (http://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchConfiguration.html) @@ -1523,8 +1528,8 @@ func (c *AutoScaling) DescribeAccountLimitsRequest(input *DescribeAccountLimitsI // // Describes the current Auto Scaling resource limits for your AWS account. // -// For information about requesting an increase in these limits, see Auto Scaling -// Limits (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) +// For information about requesting an increase in these limits, see Amazon +// EC2 Auto Scaling Limits (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) // in the Amazon EC2 Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2431,7 +2436,8 @@ func (c *AutoScaling) DescribeLoadBalancersRequest(input *DescribeLoadBalancersI // Describes the load balancers for the specified Auto Scaling group. // // This operation describes only Classic Load Balancers. If you have Application -// Load Balancers, use DescribeLoadBalancerTargetGroups instead. +// Load Balancers or Network Load Balancers, use DescribeLoadBalancerTargetGroups +// instead. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3648,7 +3654,8 @@ func (c *AutoScaling) DetachLoadBalancersRequest(input *DetachLoadBalancersInput // group. // // This operation detaches only Classic Load Balancers. If you have Application -// Load Balancers, use DetachLoadBalancerTargetGroups instead. +// Load Balancers or Network Load Balancers, use DetachLoadBalancerTargetGroups +// instead. // // When you detach a load balancer, it enters the Removing state while deregistering // the instances in the group. When all instances are deregistered, then you @@ -4176,13 +4183,11 @@ func (c *AutoScaling) PutLifecycleHookRequest(input *PutLifecycleHookInput) (req // // If you finish before the timeout period ends, complete the lifecycle action. // -// For more information, see Auto Scaling Lifecycle Hooks (http://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) +// For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks (http://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) // in the Amazon EC2 Auto Scaling User Guide. // // If you exceed your maximum limit of lifecycle hooks, which by default is -// 50 per Auto Scaling group, the call fails. For information about updating -// this limit, see AWS Service Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) -// in the Amazon Web Services General Reference. +// 50 per Auto Scaling group, the call fails. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4274,9 +4279,9 @@ func (c *AutoScaling) PutNotificationConfigurationRequest(input *PutNotification // // This configuration overwrites any existing configuration. // -// For more information, see Getting SNS Notifications When Your Auto Scaling -// Group Scales (http://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html) -// in the Auto Scaling User Guide. +// For more information, see Getting Amazon SNS Notifications When Your Auto +// Scaling Group Scales (http://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html) +// in the Amazon EC2 Auto Scaling 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 @@ -4369,11 +4374,6 @@ func (c *AutoScaling) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req // existing parameter not changed in an update to an existing policy is not // changed in this update request. // -// If you exceed your maximum limit of step adjustments, which by default is -// 20 per region, the call fails. For information about updating this limit, -// see AWS Service Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) -// in the Amazon Web Services General Reference. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -4752,7 +4752,7 @@ func (c *AutoScaling) SetDesiredCapacityRequest(input *SetDesiredCapacityInput) // Sets the size of the specified Auto Scaling group. // // For more information about desired capacity, see What Is Amazon EC2 Auto -// Scaling? (http://docs.aws.amazon.com/autoscaling/ec2/userguide/WhatIsAutoScaling.html) +// Scaling? (http://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) // in the Amazon EC2 Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4924,7 +4924,8 @@ func (c *AutoScaling) SetInstanceProtectionRequest(input *SetInstanceProtectionI // // Updates the instance protection settings of the specified instances. // -// For more information, see Instance Protection (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) +// For more information about preventing instances that are part of an Auto +// Scaling group from terminating on scale in, see Instance Protection (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) // in the Amazon EC2 Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5375,9 +5376,6 @@ func (s *Activity) SetStatusMessage(v string) *Activity { } // Describes a policy adjustment type. -// -// For more information, see Dynamic Scaling (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) -// in the Amazon EC2 Auto Scaling User Guide. type AdjustmentType struct { _ struct{} `type:"structure"` @@ -6070,11 +6068,11 @@ type CreateAutoScalingGroupInput struct { // One or more lifecycle hooks. LifecycleHookSpecificationList []*LifecycleHookSpecification `type:"list"` - // One or more Classic Load Balancers. To specify an Application Load Balancer, - // use TargetGroupARNs instead. + // One or more Classic Load Balancers. To specify an Application Load Balancer + // or a Network Load Balancer, use TargetGroupARNs instead. // // For more information, see Using a Load Balancer With an Auto Scaling Group - // (http://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-from-instance.html) + // (http://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) // in the Amazon EC2 Auto Scaling User Guide. LoadBalancerNames []*string `type:"list"` @@ -6094,11 +6092,15 @@ type CreateAutoScalingGroupInput struct { // Indicates whether newly launched instances are protected from termination // by Auto Scaling when scaling in. + // + // For more information about preventing instances from terminating on scale + // in, see Instance Protection (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) + // in the Amazon EC2 Auto Scaling User Guide. NewInstancesProtectedFromScaleIn *bool `type:"boolean"` // The name of the placement group into which to launch your instances, if any. // For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances. PlacementGroup *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling @@ -6121,7 +6123,7 @@ type CreateAutoScalingGroupInput struct { // // For more information, see Controlling Which Instances Auto Scaling Terminates // During Scale In (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html) - // in the Auto Scaling User Guide. + // in the Amazon EC2 Auto Scaling User Guide. TerminationPolicies []*string `type:"list"` // A comma-separated list of subnet identifiers for your virtual private cloud @@ -6376,19 +6378,23 @@ type CreateLaunchConfigurationInput struct { // One or more mappings that specify how block devices are exposed to the instance. // For more information, see Block Device Mapping (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances. BlockDeviceMappings []*BlockDeviceMapping `type:"list"` // The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. // This parameter is supported only if you are launching EC2-Classic instances. // For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic + // Instances to a VPC (http://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink) + // in the Amazon EC2 Auto Scaling User Guide. ClassicLinkVPCId *string `min:"1" type:"string"` // The IDs of one or more security groups for the specified ClassicLink-enabled // VPC. This parameter is required if you specify a ClassicLink-enabled VPC, // and is not supported otherwise. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic + // Instances to a VPC (http://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink) + // in the Amazon EC2 Auto Scaling User Guide. ClassicLinkVPCSecurityGroups []*string `type:"list"` // Indicates whether the instance is optimized for Amazon EBS I/O. By default, @@ -6397,7 +6403,7 @@ type CreateLaunchConfigurationInput struct { // optimal I/O performance. This optimization is not available with all instance // types. Additional usage charges apply. For more information, see Amazon EBS-Optimized // Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances. EbsOptimized *bool `type:"boolean"` // The name or the Amazon Resource Name (ARN) of the instance profile associated @@ -6406,8 +6412,8 @@ type CreateLaunchConfigurationInput struct { // EC2 instances launched with an IAM role automatically have AWS security credentials // available. You can use IAM roles with Amazon EC2 Auto Scaling to automatically // enable applications running on your EC2 instances to securely access other - // AWS resources. For more information, see Launch Auto Scaling Instances with - // an IAM Role (http://docs.aws.amazon.com/autoscaling/ec2/userguide/us-iam-role.html) + // AWS resources. For more information, see Use an IAM Role for Applications + // That Run on Amazon EC2 Instances (http://docs.aws.amazon.com/autoscaling/ec2/userguide/us-iam-role.html) // in the Amazon EC2 Auto Scaling User Guide. IamInstanceProfile *string `min:"1" type:"string"` @@ -6416,7 +6422,7 @@ type CreateLaunchConfigurationInput struct { // If you do not specify InstanceId, you must specify ImageId. // // For more information, see Finding an AMI (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances. ImageId *string `min:"1" type:"string"` // The ID of the instance to use to create the launch configuration. The new @@ -6443,7 +6449,7 @@ type CreateLaunchConfigurationInput struct { // // For information about available instance types, see Available Instance Types // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances. InstanceType *string `min:"1" type:"string"` // The ID of the kernel associated with the AMI. @@ -6451,7 +6457,7 @@ type CreateLaunchConfigurationInput struct { // The name of the key pair. For more information, see Amazon EC2 Key Pairs // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) in - // the Amazon Elastic Compute Cloud User Guide. + // the Amazon EC2 User Guide for Linux Instances. KeyName *string `min:"1" type:"string"` // The name of the launch configuration. This name must be unique within the @@ -6484,7 +6490,7 @@ type CreateLaunchConfigurationInput struct { // If your instances are launched in EC2-Classic, you can either specify security // group names or the security group IDs. For more information, see Amazon EC2 // Security Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances. // // If your instances are launched into a VPC, specify security group IDs. For // more information, see Security Groups for Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) @@ -6500,7 +6506,7 @@ type CreateLaunchConfigurationInput struct { // The user data to make available to the launched EC2 instances. For more information, // see Instance Metadata and User Data (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances. UserData *string `type:"string"` } @@ -6754,7 +6760,8 @@ func (s CreateOrUpdateTagsOutput) GoString() string { return s.String() } -// Configures a customized metric for a target tracking policy. +// Configures a customized metric for a target tracking policy to use with Amazon +// EC2 Auto Scaling. type CustomizedMetricSpecification struct { _ struct{} `type:"structure"` @@ -7334,11 +7341,11 @@ type DescribeAccountLimitsOutput struct { _ struct{} `type:"structure"` // The maximum number of groups allowed for your AWS account. The default limit - // is 20 per region. + // is 200 per region. MaxNumberOfAutoScalingGroups *int64 `type:"integer"` // The maximum number of launch configurations allowed for your AWS account. - // The default limit is 100 per region. + // The default limit is 200 per region. MaxNumberOfLaunchConfigurations *int64 `type:"integer"` // The current number of groups for your AWS account. @@ -7422,7 +7429,10 @@ func (s *DescribeAdjustmentTypesOutput) SetAdjustmentTypes(v []*AdjustmentType) type DescribeAutoScalingGroupsInput struct { _ struct{} `type:"structure"` - // The names of the Auto Scaling groups. You can specify up to MaxRecords names. + // The names of the Auto Scaling groups. Each name can be a maximum of 1600 + // characters. By default, you can only specify up to 50 names. You can optionally + // increase this limit using the MaxRecords parameter. + // // If you omit this parameter, all Auto Scaling groups are described. AutoScalingGroupNames []*string `type:"list"` @@ -8927,7 +8937,7 @@ type Ebs struct { // no way to create an encrypted volume from an unencrypted snapshot or an unencrypted // volume from an encrypted snapshot. For more information, see Amazon EBS Encryption // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) in - // the Amazon Elastic Compute Cloud User Guide. + // the Amazon EC2 User Guide for Linux Instances. Encrypted *bool `type:"boolean"` // The number of I/O operations per second (IOPS) to provision for the volume. @@ -8948,7 +8958,7 @@ type Ebs struct { VolumeSize *int64 `min:"1" type:"integer"` // The volume type. For more information, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances. // // Valid values: standard | io1 | gp2 VolumeType *string `min:"1" type:"string"` @@ -9594,11 +9604,14 @@ type Group struct { // Indicates whether newly launched instances are protected from termination // by Auto Scaling when scaling in. + // + // For more information, see Instance Protection (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) + // in the Amazon EC2 Auto Scaling User Guide. NewInstancesProtectedFromScaleIn *bool `type:"boolean"` // The name of the placement group into which to launch your instances, if any. // For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances. PlacementGroup *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling @@ -9824,6 +9837,9 @@ type Instance struct { // Indicates whether the instance is protected from termination by Amazon EC2 // Auto Scaling when scaling in. // + // For more information, see Instance Protection (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) + // in the Amazon EC2 Auto Scaling User Guide. + // // ProtectedFromScaleIn is a required field ProtectedFromScaleIn *bool `type:"boolean" required:"true"` } @@ -9924,6 +9940,9 @@ type InstanceDetails struct { // Indicates whether the instance is protected from termination by Amazon EC2 // Auto Scaling when scaling in. // + // For more information, see Instance Protection (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) + // in the Amazon EC2 Auto Scaling User Guide. + // // ProtectedFromScaleIn is a required field ProtectedFromScaleIn *bool `type:"boolean" required:"true"` } @@ -10061,9 +10080,12 @@ type InstancesDistribution struct { SpotInstancePools *int64 `type:"integer"` // The maximum price per unit hour that you are willing to pay for a Spot Instance. - // If you leave this value blank (which is the default), the maximum Spot price - // is set at the On-Demand price. - SpotMaxPrice *string `min:"1" type:"string"` + // If you leave the value of this parameter blank (which is the default), the + // maximum Spot price is set at the On-Demand price. + // + // To remove a value that you previously set, include the parameter but leave + // the value blank. + SpotMaxPrice *string `type:"string"` } // String returns the string representation @@ -10076,19 +10098,6 @@ func (s InstancesDistribution) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *InstancesDistribution) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InstancesDistribution"} - if s.SpotMaxPrice != nil && len(*s.SpotMaxPrice) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SpotMaxPrice", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetOnDemandAllocationStrategy sets the OnDemandAllocationStrategy field's value. func (s *InstancesDistribution) SetOnDemandAllocationStrategy(v string) *InstancesDistribution { s.OnDemandAllocationStrategy = &v @@ -10138,13 +10147,17 @@ type LaunchConfiguration struct { // The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. // This parameter can only be used if you are launching EC2-Classic instances. // For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic + // Instances to a VPC (http://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink) + // in the Amazon EC2 Auto Scaling User Guide. ClassicLinkVPCId *string `min:"1" type:"string"` // The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId. // This parameter is required if you specify a ClassicLink-enabled VPC, and // cannot be used otherwise. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic + // Instances to a VPC (http://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink) + // in the Amazon EC2 Auto Scaling User Guide. ClassicLinkVPCSecurityGroups []*string `type:"list"` // The creation date and time for the launch configuration. @@ -10512,7 +10525,7 @@ func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecif // want to perform an action whenever it launches instances or whenever it terminates // instances. // -// For more information, see Lifecycle Hooks (http://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) +// For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks (http://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) // in the Amazon EC2 Auto Scaling User Guide. type LifecycleHook struct { _ struct{} `type:"structure"` @@ -10629,7 +10642,7 @@ func (s *LifecycleHook) SetRoleARN(v string) *LifecycleHook { // want to perform an action whenever it launches instances or whenever it terminates // instances. // -// For more information, see Lifecycle Hooks (http://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) +// For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks (http://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) // in the Amazon EC2 Auto Scaling User Guide. type LifecycleHookSpecification struct { _ struct{} `type:"structure"` @@ -11020,11 +11033,6 @@ func (s MixedInstancesPolicy) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *MixedInstancesPolicy) Validate() error { invalidParams := request.ErrInvalidParams{Context: "MixedInstancesPolicy"} - if s.InstancesDistribution != nil { - if err := s.InstancesDistribution.Validate(); err != nil { - invalidParams.AddNested("InstancesDistribution", err.(request.ErrInvalidParams)) - } - } if s.LaunchTemplate != nil { if err := s.LaunchTemplate.Validate(); err != nil { invalidParams.AddNested("LaunchTemplate", err.(request.ErrInvalidParams)) @@ -11124,7 +11132,7 @@ type PredefinedMetricSpecification struct { // interfaces by the Auto Scaling group. // // * ALBRequestCountPerTarget - Number of requests completed per target in - // an Application Load Balancer target group. + // an Application Load Balancer or a Network Load Balancer target group. // // For predefined metric types ASGAverageCPUUtilization, ASGAverageNetworkIn, // and ASGAverageNetworkOut, the parameter must not be specified as the resource @@ -11737,8 +11745,10 @@ type PutScheduledUpdateGroupActionInput struct { // The minimum size for the Auto Scaling group. MinSize *int64 `type:"integer"` - // The recurring schedule for this action, in Unix cron syntax format. For more - // information about this format, see Crontab (http://crontab.org). + // The recurring schedule for this action, in Unix cron syntax format. This + // format consists of five fields separated by white spaces: [Minute] [Hour] + // [Day_of_Month] [Month_of_Year] [Day_of_Week]. For more information about + // this format, see Crontab (http://crontab.org). Recurrence *string `min:"1" type:"string"` // The name of this scaling action. @@ -12325,8 +12335,10 @@ type ScheduledUpdateGroupActionRequest struct { // The minimum size of the group. MinSize *int64 `type:"integer"` - // The recurring schedule for the action, in Unix cron syntax format. For more - // information about this format, see Crontab (http://crontab.org). + // The recurring schedule for the action, in Unix cron syntax format. This format + // consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] + // [Month_of_Year] [Day_of_Week]. For more information about this format, see + // Crontab (http://crontab.org). Recurrence *string `min:"1" type:"string"` // The name of the scaling action. @@ -12955,7 +12967,8 @@ func (s *TagDescription) SetValue(v string) *TagDescription { return s } -// Represents a target tracking policy configuration. +// Represents a target tracking policy configuration to use with Amazon EC2 +// Auto Scaling. type TargetTrackingConfiguration struct { _ struct{} `type:"structure"` @@ -13169,11 +13182,15 @@ type UpdateAutoScalingGroupInput struct { // Indicates whether newly launched instances are protected from termination // by Auto Scaling when scaling in. + // + // For more information about preventing instances from terminating on scale + // in, see Instance Protection (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) + // in the Amazon EC2 Auto Scaling User Guide. NewInstancesProtectedFromScaleIn *bool `type:"boolean"` // The name of the placement group into which to launch your instances, if any. // For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) - // in the Amazon Elastic Compute Cloud User Guide. + // in the Amazon EC2 User Guide for Linux Instances. PlacementGroup *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling @@ -13186,7 +13203,7 @@ type UpdateAutoScalingGroupInput struct { // // For more information, see Controlling Which Instances Auto Scaling Terminates // During Scale In (http://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html) - // in the Auto Scaling User Guide. + // in the Amazon EC2 Auto Scaling User Guide. TerminationPolicies []*string `type:"list"` // The ID of the subnet, if you are launching into a VPC. You can specify several diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/autoscaling/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/autoscaling/doc.go index 32d9594c7ad..cbfe2b8a76c 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/autoscaling/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/autoscaling/doc.go @@ -8,7 +8,9 @@ // Use this service with AWS Auto Scaling, Amazon CloudWatch, and Elastic Load // Balancing. // -// For more information, see the Amazon EC2 Auto Scaling User Guide (http://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). +// For more information, including information about granting IAM users required +// permissions for Amazon EC2 Auto Scaling actions, see the Amazon EC2 Auto +// Scaling User Guide (http://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). // // See https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01 for more information on this service. // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/backup/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/backup/api.go new file mode 100644 index 00000000000..2380f4b02d4 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/backup/api.go @@ -0,0 +1,10729 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package backup + +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/restjson" +) + +const opCreateBackupPlan = "CreateBackupPlan" + +// CreateBackupPlanRequest generates a "aws/request.Request" representing the +// client's request for the CreateBackupPlan 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 CreateBackupPlan for more information on using the CreateBackupPlan +// 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 CreateBackupPlanRequest method. +// req, resp := client.CreateBackupPlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupPlan +func (c *Backup) CreateBackupPlanRequest(input *CreateBackupPlanInput) (req *request.Request, output *CreateBackupPlanOutput) { + op := &request.Operation{ + Name: opCreateBackupPlan, + HTTPMethod: "PUT", + HTTPPath: "/backup/plans/", + } + + if input == nil { + input = &CreateBackupPlanInput{} + } + + output = &CreateBackupPlanOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateBackupPlan API operation for AWS Backup. +// +// Backup plans are documents that contain information that AWS Backup uses +// to schedule tasks that create recovery points of resources. +// +// If you call CreateBackupPlan with a plan that already exists, the existing +// backupPlanId 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 AWS Backup's +// API operation CreateBackupPlan for usage and error information. +// +// Returned Error Codes: +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit in the request has been exceeded; for example, a maximum number of +// items allowed in a request. +// +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// The required resource already exists. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupPlan +func (c *Backup) CreateBackupPlan(input *CreateBackupPlanInput) (*CreateBackupPlanOutput, error) { + req, out := c.CreateBackupPlanRequest(input) + return out, req.Send() +} + +// CreateBackupPlanWithContext is the same as CreateBackupPlan with the addition of +// the ability to pass a context and additional request options. +// +// See CreateBackupPlan 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 *Backup) CreateBackupPlanWithContext(ctx aws.Context, input *CreateBackupPlanInput, opts ...request.Option) (*CreateBackupPlanOutput, error) { + req, out := c.CreateBackupPlanRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateBackupSelection = "CreateBackupSelection" + +// CreateBackupSelectionRequest generates a "aws/request.Request" representing the +// client's request for the CreateBackupSelection 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 CreateBackupSelection for more information on using the CreateBackupSelection +// 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 CreateBackupSelectionRequest method. +// req, resp := client.CreateBackupSelectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupSelection +func (c *Backup) CreateBackupSelectionRequest(input *CreateBackupSelectionInput) (req *request.Request, output *CreateBackupSelectionOutput) { + op := &request.Operation{ + Name: opCreateBackupSelection, + HTTPMethod: "PUT", + HTTPPath: "/backup/plans/{backupPlanId}/selections/", + } + + if input == nil { + input = &CreateBackupSelectionInput{} + } + + output = &CreateBackupSelectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateBackupSelection API operation for AWS Backup. +// +// Creates a JSON document that specifies a set of resources to assign to a +// backup plan. Resources can be included by specifying patterns for a ListOfTags +// and selected Resources. +// +// For example, consider the following patterns: +// +// * Resources: "arn:aws:ec2:region:account-id:volume/volume-id" +// +// * ConditionKey:"department" +// +// ConditionValue:"finance" +// +// ConditionType:"StringEquals" +// +// * ConditionKey:"importance" +// +// ConditionValue:"critical" +// +// ConditionType:"StringEquals" +// +// Using these patterns would back up all Amazon Elastic Block Store (Amazon +// EBS) volumes that are tagged as "department=finance", "importance=critical", +// in addition to an EBS volume with the specified volume Id. +// +// Resources and conditions are additive in that all resources that match the +// pattern are selected. This shouldn't be confused with a logical AND, where +// all conditions must match. The matching patterns are logically 'put together +// using the OR operator. In other words, all patterns that match are selected +// for backup. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation CreateBackupSelection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit in the request has been exceeded; for example, a maximum number of +// items allowed in a request. +// +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// The required resource already exists. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupSelection +func (c *Backup) CreateBackupSelection(input *CreateBackupSelectionInput) (*CreateBackupSelectionOutput, error) { + req, out := c.CreateBackupSelectionRequest(input) + return out, req.Send() +} + +// CreateBackupSelectionWithContext is the same as CreateBackupSelection with the addition of +// the ability to pass a context and additional request options. +// +// See CreateBackupSelection 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 *Backup) CreateBackupSelectionWithContext(ctx aws.Context, input *CreateBackupSelectionInput, opts ...request.Option) (*CreateBackupSelectionOutput, error) { + req, out := c.CreateBackupSelectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateBackupVault = "CreateBackupVault" + +// CreateBackupVaultRequest generates a "aws/request.Request" representing the +// client's request for the CreateBackupVault 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 CreateBackupVault for more information on using the CreateBackupVault +// 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 CreateBackupVaultRequest method. +// req, resp := client.CreateBackupVaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupVault +func (c *Backup) CreateBackupVaultRequest(input *CreateBackupVaultInput) (req *request.Request, output *CreateBackupVaultOutput) { + op := &request.Operation{ + Name: opCreateBackupVault, + HTTPMethod: "PUT", + HTTPPath: "/backup-vaults/{backupVaultName}", + } + + if input == nil { + input = &CreateBackupVaultInput{} + } + + output = &CreateBackupVaultOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateBackupVault API operation for AWS Backup. +// +// Creates a logical container where backups are stored. A CreateBackupVault +// request includes a name, optionally one or more resource tags, an encryption +// key, and a request ID. +// +// Sensitive data, such as passport numbers, should not be included the name +// of a backup vault. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation CreateBackupVault for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit in the request has been exceeded; for example, a maximum number of +// items allowed in a request. +// +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// The required resource already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupVault +func (c *Backup) CreateBackupVault(input *CreateBackupVaultInput) (*CreateBackupVaultOutput, error) { + req, out := c.CreateBackupVaultRequest(input) + return out, req.Send() +} + +// CreateBackupVaultWithContext is the same as CreateBackupVault with the addition of +// the ability to pass a context and additional request options. +// +// See CreateBackupVault 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 *Backup) CreateBackupVaultWithContext(ctx aws.Context, input *CreateBackupVaultInput, opts ...request.Option) (*CreateBackupVaultOutput, error) { + req, out := c.CreateBackupVaultRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteBackupPlan = "DeleteBackupPlan" + +// DeleteBackupPlanRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBackupPlan 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 DeleteBackupPlan for more information on using the DeleteBackupPlan +// 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 DeleteBackupPlanRequest method. +// req, resp := client.DeleteBackupPlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupPlan +func (c *Backup) DeleteBackupPlanRequest(input *DeleteBackupPlanInput) (req *request.Request, output *DeleteBackupPlanOutput) { + op := &request.Operation{ + Name: opDeleteBackupPlan, + HTTPMethod: "DELETE", + HTTPPath: "/backup/plans/{backupPlanId}", + } + + if input == nil { + input = &DeleteBackupPlanInput{} + } + + output = &DeleteBackupPlanOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteBackupPlan API operation for AWS Backup. +// +// Deletes a backup plan. A backup plan can only be deleted after all associated +// selections of resources have been deleted. Deleting a backup plan deletes +// the current version of a backup plan. Previous versions, if any, will still +// 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 AWS Backup's +// API operation DeleteBackupPlan for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// Indicates that something is wrong with the input to the request. For example, +// a parameter is of the wrong type. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupPlan +func (c *Backup) DeleteBackupPlan(input *DeleteBackupPlanInput) (*DeleteBackupPlanOutput, error) { + req, out := c.DeleteBackupPlanRequest(input) + return out, req.Send() +} + +// DeleteBackupPlanWithContext is the same as DeleteBackupPlan with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBackupPlan 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 *Backup) DeleteBackupPlanWithContext(ctx aws.Context, input *DeleteBackupPlanInput, opts ...request.Option) (*DeleteBackupPlanOutput, error) { + req, out := c.DeleteBackupPlanRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteBackupSelection = "DeleteBackupSelection" + +// DeleteBackupSelectionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBackupSelection 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 DeleteBackupSelection for more information on using the DeleteBackupSelection +// 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 DeleteBackupSelectionRequest method. +// req, resp := client.DeleteBackupSelectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupSelection +func (c *Backup) DeleteBackupSelectionRequest(input *DeleteBackupSelectionInput) (req *request.Request, output *DeleteBackupSelectionOutput) { + op := &request.Operation{ + Name: opDeleteBackupSelection, + HTTPMethod: "DELETE", + HTTPPath: "/backup/plans/{backupPlanId}/selections/{selectionId}", + } + + if input == nil { + input = &DeleteBackupSelectionInput{} + } + + output = &DeleteBackupSelectionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteBackupSelection API operation for AWS Backup. +// +// Deletes the resource selection associated with a backup plan that is specified +// by the SelectionId. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation DeleteBackupSelection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupSelection +func (c *Backup) DeleteBackupSelection(input *DeleteBackupSelectionInput) (*DeleteBackupSelectionOutput, error) { + req, out := c.DeleteBackupSelectionRequest(input) + return out, req.Send() +} + +// DeleteBackupSelectionWithContext is the same as DeleteBackupSelection with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBackupSelection 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 *Backup) DeleteBackupSelectionWithContext(ctx aws.Context, input *DeleteBackupSelectionInput, opts ...request.Option) (*DeleteBackupSelectionOutput, error) { + req, out := c.DeleteBackupSelectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteBackupVault = "DeleteBackupVault" + +// DeleteBackupVaultRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBackupVault 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 DeleteBackupVault for more information on using the DeleteBackupVault +// 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 DeleteBackupVaultRequest method. +// req, resp := client.DeleteBackupVaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVault +func (c *Backup) DeleteBackupVaultRequest(input *DeleteBackupVaultInput) (req *request.Request, output *DeleteBackupVaultOutput) { + op := &request.Operation{ + Name: opDeleteBackupVault, + HTTPMethod: "DELETE", + HTTPPath: "/backup-vaults/{backupVaultName}", + } + + if input == nil { + input = &DeleteBackupVaultInput{} + } + + output = &DeleteBackupVaultOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteBackupVault API operation for AWS Backup. +// +// Deletes the backup vault identified by its name. A vault can be deleted only +// if it is empty. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation DeleteBackupVault for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// Indicates that something is wrong with the input to the request. For example, +// a parameter is of the wrong type. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVault +func (c *Backup) DeleteBackupVault(input *DeleteBackupVaultInput) (*DeleteBackupVaultOutput, error) { + req, out := c.DeleteBackupVaultRequest(input) + return out, req.Send() +} + +// DeleteBackupVaultWithContext is the same as DeleteBackupVault with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBackupVault 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 *Backup) DeleteBackupVaultWithContext(ctx aws.Context, input *DeleteBackupVaultInput, opts ...request.Option) (*DeleteBackupVaultOutput, error) { + req, out := c.DeleteBackupVaultRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteBackupVaultAccessPolicy = "DeleteBackupVaultAccessPolicy" + +// DeleteBackupVaultAccessPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBackupVaultAccessPolicy 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 DeleteBackupVaultAccessPolicy for more information on using the DeleteBackupVaultAccessPolicy +// 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 DeleteBackupVaultAccessPolicyRequest method. +// req, resp := client.DeleteBackupVaultAccessPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultAccessPolicy +func (c *Backup) DeleteBackupVaultAccessPolicyRequest(input *DeleteBackupVaultAccessPolicyInput) (req *request.Request, output *DeleteBackupVaultAccessPolicyOutput) { + op := &request.Operation{ + Name: opDeleteBackupVaultAccessPolicy, + HTTPMethod: "DELETE", + HTTPPath: "/backup-vaults/{backupVaultName}/access-policy", + } + + if input == nil { + input = &DeleteBackupVaultAccessPolicyInput{} + } + + output = &DeleteBackupVaultAccessPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteBackupVaultAccessPolicy API operation for AWS Backup. +// +// Deletes the policy document that manages permissions on a backup vault. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation DeleteBackupVaultAccessPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultAccessPolicy +func (c *Backup) DeleteBackupVaultAccessPolicy(input *DeleteBackupVaultAccessPolicyInput) (*DeleteBackupVaultAccessPolicyOutput, error) { + req, out := c.DeleteBackupVaultAccessPolicyRequest(input) + return out, req.Send() +} + +// DeleteBackupVaultAccessPolicyWithContext is the same as DeleteBackupVaultAccessPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBackupVaultAccessPolicy 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 *Backup) DeleteBackupVaultAccessPolicyWithContext(ctx aws.Context, input *DeleteBackupVaultAccessPolicyInput, opts ...request.Option) (*DeleteBackupVaultAccessPolicyOutput, error) { + req, out := c.DeleteBackupVaultAccessPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteBackupVaultNotifications = "DeleteBackupVaultNotifications" + +// DeleteBackupVaultNotificationsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBackupVaultNotifications 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 DeleteBackupVaultNotifications for more information on using the DeleteBackupVaultNotifications +// 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 DeleteBackupVaultNotificationsRequest method. +// req, resp := client.DeleteBackupVaultNotificationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultNotifications +func (c *Backup) DeleteBackupVaultNotificationsRequest(input *DeleteBackupVaultNotificationsInput) (req *request.Request, output *DeleteBackupVaultNotificationsOutput) { + op := &request.Operation{ + Name: opDeleteBackupVaultNotifications, + HTTPMethod: "DELETE", + HTTPPath: "/backup-vaults/{backupVaultName}/notification-configuration", + } + + if input == nil { + input = &DeleteBackupVaultNotificationsInput{} + } + + output = &DeleteBackupVaultNotificationsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteBackupVaultNotifications API operation for AWS Backup. +// +// Deletes event notifications for the specified backup vault. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation DeleteBackupVaultNotifications for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultNotifications +func (c *Backup) DeleteBackupVaultNotifications(input *DeleteBackupVaultNotificationsInput) (*DeleteBackupVaultNotificationsOutput, error) { + req, out := c.DeleteBackupVaultNotificationsRequest(input) + return out, req.Send() +} + +// DeleteBackupVaultNotificationsWithContext is the same as DeleteBackupVaultNotifications with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBackupVaultNotifications 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 *Backup) DeleteBackupVaultNotificationsWithContext(ctx aws.Context, input *DeleteBackupVaultNotificationsInput, opts ...request.Option) (*DeleteBackupVaultNotificationsOutput, error) { + req, out := c.DeleteBackupVaultNotificationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteRecoveryPoint = "DeleteRecoveryPoint" + +// DeleteRecoveryPointRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRecoveryPoint 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 DeleteRecoveryPoint for more information on using the DeleteRecoveryPoint +// 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 DeleteRecoveryPointRequest method. +// req, resp := client.DeleteRecoveryPointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteRecoveryPoint +func (c *Backup) DeleteRecoveryPointRequest(input *DeleteRecoveryPointInput) (req *request.Request, output *DeleteRecoveryPointOutput) { + op := &request.Operation{ + Name: opDeleteRecoveryPoint, + HTTPMethod: "DELETE", + HTTPPath: "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}", + } + + if input == nil { + input = &DeleteRecoveryPointInput{} + } + + output = &DeleteRecoveryPointOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteRecoveryPoint API operation for AWS Backup. +// +// Deletes the recovery point specified by a recovery point ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup's +// API operation DeleteRecoveryPoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// Indicates that something is wrong with the input to the request. For example, +// a parameter is of the wrong type. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteRecoveryPoint +func (c *Backup) DeleteRecoveryPoint(input *DeleteRecoveryPointInput) (*DeleteRecoveryPointOutput, error) { + req, out := c.DeleteRecoveryPointRequest(input) + return out, req.Send() +} + +// DeleteRecoveryPointWithContext is the same as DeleteRecoveryPoint with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteRecoveryPoint 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 *Backup) DeleteRecoveryPointWithContext(ctx aws.Context, input *DeleteRecoveryPointInput, opts ...request.Option) (*DeleteRecoveryPointOutput, error) { + req, out := c.DeleteRecoveryPointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeBackupJob = "DescribeBackupJob" + +// DescribeBackupJobRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBackupJob 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 DescribeBackupJob for more information on using the DescribeBackupJob +// 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 DescribeBackupJobRequest method. +// req, resp := client.DescribeBackupJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupJob +func (c *Backup) DescribeBackupJobRequest(input *DescribeBackupJobInput) (req *request.Request, output *DescribeBackupJobOutput) { + op := &request.Operation{ + Name: opDescribeBackupJob, + HTTPMethod: "GET", + HTTPPath: "/backup-jobs/{backupJobId}", + } + + if input == nil { + input = &DescribeBackupJobInput{} + } + + output = &DescribeBackupJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeBackupJob API operation for AWS Backup. +// +// Returns metadata associated with creating a backup of a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup's +// API operation DescribeBackupJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// * ErrCodeDependencyFailureException "DependencyFailureException" +// A dependent AWS service or resource returned an error to the AWS Backup service, +// and the action cannot be completed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupJob +func (c *Backup) DescribeBackupJob(input *DescribeBackupJobInput) (*DescribeBackupJobOutput, error) { + req, out := c.DescribeBackupJobRequest(input) + return out, req.Send() +} + +// DescribeBackupJobWithContext is the same as DescribeBackupJob with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeBackupJob 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 *Backup) DescribeBackupJobWithContext(ctx aws.Context, input *DescribeBackupJobInput, opts ...request.Option) (*DescribeBackupJobOutput, error) { + req, out := c.DescribeBackupJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeBackupVault = "DescribeBackupVault" + +// DescribeBackupVaultRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBackupVault 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 DescribeBackupVault for more information on using the DescribeBackupVault +// 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 DescribeBackupVaultRequest method. +// req, resp := client.DescribeBackupVaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupVault +func (c *Backup) DescribeBackupVaultRequest(input *DescribeBackupVaultInput) (req *request.Request, output *DescribeBackupVaultOutput) { + op := &request.Operation{ + Name: opDescribeBackupVault, + HTTPMethod: "GET", + HTTPPath: "/backup-vaults/{backupVaultName}", + } + + if input == nil { + input = &DescribeBackupVaultInput{} + } + + output = &DescribeBackupVaultOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeBackupVault API operation for AWS Backup. +// +// Returns metadata about a backup vault specified by its name. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation DescribeBackupVault for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupVault +func (c *Backup) DescribeBackupVault(input *DescribeBackupVaultInput) (*DescribeBackupVaultOutput, error) { + req, out := c.DescribeBackupVaultRequest(input) + return out, req.Send() +} + +// DescribeBackupVaultWithContext is the same as DescribeBackupVault with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeBackupVault 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 *Backup) DescribeBackupVaultWithContext(ctx aws.Context, input *DescribeBackupVaultInput, opts ...request.Option) (*DescribeBackupVaultOutput, error) { + req, out := c.DescribeBackupVaultRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeProtectedResource = "DescribeProtectedResource" + +// DescribeProtectedResourceRequest generates a "aws/request.Request" representing the +// client's request for the DescribeProtectedResource 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 DescribeProtectedResource for more information on using the DescribeProtectedResource +// 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 DescribeProtectedResourceRequest method. +// req, resp := client.DescribeProtectedResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeProtectedResource +func (c *Backup) DescribeProtectedResourceRequest(input *DescribeProtectedResourceInput) (req *request.Request, output *DescribeProtectedResourceOutput) { + op := &request.Operation{ + Name: opDescribeProtectedResource, + HTTPMethod: "GET", + HTTPPath: "/resources/{resourceArn}", + } + + if input == nil { + input = &DescribeProtectedResourceInput{} + } + + output = &DescribeProtectedResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeProtectedResource API operation for AWS Backup. +// +// Returns information about a saved resource, including the last time it was +// backed-up, its Amazon Resource Name (ARN), and the AWS service type of the +// saved resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup's +// API operation DescribeProtectedResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeProtectedResource +func (c *Backup) DescribeProtectedResource(input *DescribeProtectedResourceInput) (*DescribeProtectedResourceOutput, error) { + req, out := c.DescribeProtectedResourceRequest(input) + return out, req.Send() +} + +// DescribeProtectedResourceWithContext is the same as DescribeProtectedResource with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeProtectedResource 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 *Backup) DescribeProtectedResourceWithContext(ctx aws.Context, input *DescribeProtectedResourceInput, opts ...request.Option) (*DescribeProtectedResourceOutput, error) { + req, out := c.DescribeProtectedResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeRecoveryPoint = "DescribeRecoveryPoint" + +// DescribeRecoveryPointRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRecoveryPoint 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 DescribeRecoveryPoint for more information on using the DescribeRecoveryPoint +// 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 DescribeRecoveryPointRequest method. +// req, resp := client.DescribeRecoveryPointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRecoveryPoint +func (c *Backup) DescribeRecoveryPointRequest(input *DescribeRecoveryPointInput) (req *request.Request, output *DescribeRecoveryPointOutput) { + op := &request.Operation{ + Name: opDescribeRecoveryPoint, + HTTPMethod: "GET", + HTTPPath: "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}", + } + + if input == nil { + input = &DescribeRecoveryPointInput{} + } + + output = &DescribeRecoveryPointOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeRecoveryPoint API operation for AWS Backup. +// +// Returns metadata associated with a recovery point, including ID, status, +// encryption, and lifecycle. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation DescribeRecoveryPoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRecoveryPoint +func (c *Backup) DescribeRecoveryPoint(input *DescribeRecoveryPointInput) (*DescribeRecoveryPointOutput, error) { + req, out := c.DescribeRecoveryPointRequest(input) + return out, req.Send() +} + +// DescribeRecoveryPointWithContext is the same as DescribeRecoveryPoint with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeRecoveryPoint 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 *Backup) DescribeRecoveryPointWithContext(ctx aws.Context, input *DescribeRecoveryPointInput, opts ...request.Option) (*DescribeRecoveryPointOutput, error) { + req, out := c.DescribeRecoveryPointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeRestoreJob = "DescribeRestoreJob" + +// DescribeRestoreJobRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRestoreJob 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 DescribeRestoreJob for more information on using the DescribeRestoreJob +// 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 DescribeRestoreJobRequest method. +// req, resp := client.DescribeRestoreJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRestoreJob +func (c *Backup) DescribeRestoreJobRequest(input *DescribeRestoreJobInput) (req *request.Request, output *DescribeRestoreJobOutput) { + op := &request.Operation{ + Name: opDescribeRestoreJob, + HTTPMethod: "GET", + HTTPPath: "/restore-jobs/{restoreJobId}", + } + + if input == nil { + input = &DescribeRestoreJobInput{} + } + + output = &DescribeRestoreJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeRestoreJob API operation for AWS Backup. +// +// Returns metadata associated with a restore job that is specified by a job +// ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup's +// API operation DescribeRestoreJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// * ErrCodeDependencyFailureException "DependencyFailureException" +// A dependent AWS service or resource returned an error to the AWS Backup service, +// and the action cannot be completed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRestoreJob +func (c *Backup) DescribeRestoreJob(input *DescribeRestoreJobInput) (*DescribeRestoreJobOutput, error) { + req, out := c.DescribeRestoreJobRequest(input) + return out, req.Send() +} + +// DescribeRestoreJobWithContext is the same as DescribeRestoreJob with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeRestoreJob 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 *Backup) DescribeRestoreJobWithContext(ctx aws.Context, input *DescribeRestoreJobInput, opts ...request.Option) (*DescribeRestoreJobOutput, error) { + req, out := c.DescribeRestoreJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opExportBackupPlanTemplate = "ExportBackupPlanTemplate" + +// ExportBackupPlanTemplateRequest generates a "aws/request.Request" representing the +// client's request for the ExportBackupPlanTemplate 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 ExportBackupPlanTemplate for more information on using the ExportBackupPlanTemplate +// 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 ExportBackupPlanTemplateRequest method. +// req, resp := client.ExportBackupPlanTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ExportBackupPlanTemplate +func (c *Backup) ExportBackupPlanTemplateRequest(input *ExportBackupPlanTemplateInput) (req *request.Request, output *ExportBackupPlanTemplateOutput) { + op := &request.Operation{ + Name: opExportBackupPlanTemplate, + HTTPMethod: "GET", + HTTPPath: "/backup/plans/{backupPlanId}/toTemplate/", + } + + if input == nil { + input = &ExportBackupPlanTemplateInput{} + } + + output = &ExportBackupPlanTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// ExportBackupPlanTemplate API operation for AWS Backup. +// +// Returns the backup plan that is specified by the plan ID as a backup template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation ExportBackupPlanTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ExportBackupPlanTemplate +func (c *Backup) ExportBackupPlanTemplate(input *ExportBackupPlanTemplateInput) (*ExportBackupPlanTemplateOutput, error) { + req, out := c.ExportBackupPlanTemplateRequest(input) + return out, req.Send() +} + +// ExportBackupPlanTemplateWithContext is the same as ExportBackupPlanTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See ExportBackupPlanTemplate 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 *Backup) ExportBackupPlanTemplateWithContext(ctx aws.Context, input *ExportBackupPlanTemplateInput, opts ...request.Option) (*ExportBackupPlanTemplateOutput, error) { + req, out := c.ExportBackupPlanTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetBackupPlan = "GetBackupPlan" + +// GetBackupPlanRequest generates a "aws/request.Request" representing the +// client's request for the GetBackupPlan 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 GetBackupPlan for more information on using the GetBackupPlan +// 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 GetBackupPlanRequest method. +// req, resp := client.GetBackupPlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlan +func (c *Backup) GetBackupPlanRequest(input *GetBackupPlanInput) (req *request.Request, output *GetBackupPlanOutput) { + op := &request.Operation{ + Name: opGetBackupPlan, + HTTPMethod: "GET", + HTTPPath: "/backup/plans/{backupPlanId}/", + } + + if input == nil { + input = &GetBackupPlanInput{} + } + + output = &GetBackupPlanOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBackupPlan API operation for AWS Backup. +// +// Returns the body of a backup plan in JSON format, in addition to plan metadata. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation GetBackupPlan for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlan +func (c *Backup) GetBackupPlan(input *GetBackupPlanInput) (*GetBackupPlanOutput, error) { + req, out := c.GetBackupPlanRequest(input) + return out, req.Send() +} + +// GetBackupPlanWithContext is the same as GetBackupPlan with the addition of +// the ability to pass a context and additional request options. +// +// See GetBackupPlan 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 *Backup) GetBackupPlanWithContext(ctx aws.Context, input *GetBackupPlanInput, opts ...request.Option) (*GetBackupPlanOutput, error) { + req, out := c.GetBackupPlanRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetBackupPlanFromJSON = "GetBackupPlanFromJSON" + +// GetBackupPlanFromJSONRequest generates a "aws/request.Request" representing the +// client's request for the GetBackupPlanFromJSON 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 GetBackupPlanFromJSON for more information on using the GetBackupPlanFromJSON +// 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 GetBackupPlanFromJSONRequest method. +// req, resp := client.GetBackupPlanFromJSONRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlanFromJSON +func (c *Backup) GetBackupPlanFromJSONRequest(input *GetBackupPlanFromJSONInput) (req *request.Request, output *GetBackupPlanFromJSONOutput) { + op := &request.Operation{ + Name: opGetBackupPlanFromJSON, + HTTPMethod: "POST", + HTTPPath: "/backup/template/json/toPlan", + } + + if input == nil { + input = &GetBackupPlanFromJSONInput{} + } + + output = &GetBackupPlanFromJSONOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBackupPlanFromJSON API operation for AWS Backup. +// +// Returns a valid JSON document specifying a backup plan or an error. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation GetBackupPlanFromJSON for usage and error information. +// +// Returned Error Codes: +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit in the request has been exceeded; for example, a maximum number of +// items allowed in a request. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// Indicates that something is wrong with the input to the request. For example, +// a parameter is of the wrong type. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlanFromJSON +func (c *Backup) GetBackupPlanFromJSON(input *GetBackupPlanFromJSONInput) (*GetBackupPlanFromJSONOutput, error) { + req, out := c.GetBackupPlanFromJSONRequest(input) + return out, req.Send() +} + +// GetBackupPlanFromJSONWithContext is the same as GetBackupPlanFromJSON with the addition of +// the ability to pass a context and additional request options. +// +// See GetBackupPlanFromJSON 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 *Backup) GetBackupPlanFromJSONWithContext(ctx aws.Context, input *GetBackupPlanFromJSONInput, opts ...request.Option) (*GetBackupPlanFromJSONOutput, error) { + req, out := c.GetBackupPlanFromJSONRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetBackupPlanFromTemplate = "GetBackupPlanFromTemplate" + +// GetBackupPlanFromTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetBackupPlanFromTemplate 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 GetBackupPlanFromTemplate for more information on using the GetBackupPlanFromTemplate +// 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 GetBackupPlanFromTemplateRequest method. +// req, resp := client.GetBackupPlanFromTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlanFromTemplate +func (c *Backup) GetBackupPlanFromTemplateRequest(input *GetBackupPlanFromTemplateInput) (req *request.Request, output *GetBackupPlanFromTemplateOutput) { + op := &request.Operation{ + Name: opGetBackupPlanFromTemplate, + HTTPMethod: "GET", + HTTPPath: "/backup/template/plans/{templateId}/toPlan", + } + + if input == nil { + input = &GetBackupPlanFromTemplateInput{} + } + + output = &GetBackupPlanFromTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBackupPlanFromTemplate API operation for AWS Backup. +// +// Returns the template specified by its templateId as a backup plan. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation GetBackupPlanFromTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlanFromTemplate +func (c *Backup) GetBackupPlanFromTemplate(input *GetBackupPlanFromTemplateInput) (*GetBackupPlanFromTemplateOutput, error) { + req, out := c.GetBackupPlanFromTemplateRequest(input) + return out, req.Send() +} + +// GetBackupPlanFromTemplateWithContext is the same as GetBackupPlanFromTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetBackupPlanFromTemplate 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 *Backup) GetBackupPlanFromTemplateWithContext(ctx aws.Context, input *GetBackupPlanFromTemplateInput, opts ...request.Option) (*GetBackupPlanFromTemplateOutput, error) { + req, out := c.GetBackupPlanFromTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetBackupSelection = "GetBackupSelection" + +// GetBackupSelectionRequest generates a "aws/request.Request" representing the +// client's request for the GetBackupSelection 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 GetBackupSelection for more information on using the GetBackupSelection +// 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 GetBackupSelectionRequest method. +// req, resp := client.GetBackupSelectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupSelection +func (c *Backup) GetBackupSelectionRequest(input *GetBackupSelectionInput) (req *request.Request, output *GetBackupSelectionOutput) { + op := &request.Operation{ + Name: opGetBackupSelection, + HTTPMethod: "GET", + HTTPPath: "/backup/plans/{backupPlanId}/selections/{selectionId}", + } + + if input == nil { + input = &GetBackupSelectionInput{} + } + + output = &GetBackupSelectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBackupSelection API operation for AWS Backup. +// +// Returns selection metadata and a document in JSON format that specifies a +// list of resources that are associated with a backup plan. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation GetBackupSelection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupSelection +func (c *Backup) GetBackupSelection(input *GetBackupSelectionInput) (*GetBackupSelectionOutput, error) { + req, out := c.GetBackupSelectionRequest(input) + return out, req.Send() +} + +// GetBackupSelectionWithContext is the same as GetBackupSelection with the addition of +// the ability to pass a context and additional request options. +// +// See GetBackupSelection 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 *Backup) GetBackupSelectionWithContext(ctx aws.Context, input *GetBackupSelectionInput, opts ...request.Option) (*GetBackupSelectionOutput, error) { + req, out := c.GetBackupSelectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetBackupVaultAccessPolicy = "GetBackupVaultAccessPolicy" + +// GetBackupVaultAccessPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetBackupVaultAccessPolicy 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 GetBackupVaultAccessPolicy for more information on using the GetBackupVaultAccessPolicy +// 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 GetBackupVaultAccessPolicyRequest method. +// req, resp := client.GetBackupVaultAccessPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupVaultAccessPolicy +func (c *Backup) GetBackupVaultAccessPolicyRequest(input *GetBackupVaultAccessPolicyInput) (req *request.Request, output *GetBackupVaultAccessPolicyOutput) { + op := &request.Operation{ + Name: opGetBackupVaultAccessPolicy, + HTTPMethod: "GET", + HTTPPath: "/backup-vaults/{backupVaultName}/access-policy", + } + + if input == nil { + input = &GetBackupVaultAccessPolicyInput{} + } + + output = &GetBackupVaultAccessPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBackupVaultAccessPolicy API operation for AWS Backup. +// +// Returns the access policy document that is associated with the named backup +// vault. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation GetBackupVaultAccessPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupVaultAccessPolicy +func (c *Backup) GetBackupVaultAccessPolicy(input *GetBackupVaultAccessPolicyInput) (*GetBackupVaultAccessPolicyOutput, error) { + req, out := c.GetBackupVaultAccessPolicyRequest(input) + return out, req.Send() +} + +// GetBackupVaultAccessPolicyWithContext is the same as GetBackupVaultAccessPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetBackupVaultAccessPolicy 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 *Backup) GetBackupVaultAccessPolicyWithContext(ctx aws.Context, input *GetBackupVaultAccessPolicyInput, opts ...request.Option) (*GetBackupVaultAccessPolicyOutput, error) { + req, out := c.GetBackupVaultAccessPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetBackupVaultNotifications = "GetBackupVaultNotifications" + +// GetBackupVaultNotificationsRequest generates a "aws/request.Request" representing the +// client's request for the GetBackupVaultNotifications 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 GetBackupVaultNotifications for more information on using the GetBackupVaultNotifications +// 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 GetBackupVaultNotificationsRequest method. +// req, resp := client.GetBackupVaultNotificationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupVaultNotifications +func (c *Backup) GetBackupVaultNotificationsRequest(input *GetBackupVaultNotificationsInput) (req *request.Request, output *GetBackupVaultNotificationsOutput) { + op := &request.Operation{ + Name: opGetBackupVaultNotifications, + HTTPMethod: "GET", + HTTPPath: "/backup-vaults/{backupVaultName}/notification-configuration", + } + + if input == nil { + input = &GetBackupVaultNotificationsInput{} + } + + output = &GetBackupVaultNotificationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBackupVaultNotifications API operation for AWS Backup. +// +// Returns event notifications for the specified backup vault. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation GetBackupVaultNotifications for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupVaultNotifications +func (c *Backup) GetBackupVaultNotifications(input *GetBackupVaultNotificationsInput) (*GetBackupVaultNotificationsOutput, error) { + req, out := c.GetBackupVaultNotificationsRequest(input) + return out, req.Send() +} + +// GetBackupVaultNotificationsWithContext is the same as GetBackupVaultNotifications with the addition of +// the ability to pass a context and additional request options. +// +// See GetBackupVaultNotifications 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 *Backup) GetBackupVaultNotificationsWithContext(ctx aws.Context, input *GetBackupVaultNotificationsInput, opts ...request.Option) (*GetBackupVaultNotificationsOutput, error) { + req, out := c.GetBackupVaultNotificationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetRecoveryPointRestoreMetadata = "GetRecoveryPointRestoreMetadata" + +// GetRecoveryPointRestoreMetadataRequest generates a "aws/request.Request" representing the +// client's request for the GetRecoveryPointRestoreMetadata 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 GetRecoveryPointRestoreMetadata for more information on using the GetRecoveryPointRestoreMetadata +// 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 GetRecoveryPointRestoreMetadataRequest method. +// req, resp := client.GetRecoveryPointRestoreMetadataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetRecoveryPointRestoreMetadata +func (c *Backup) GetRecoveryPointRestoreMetadataRequest(input *GetRecoveryPointRestoreMetadataInput) (req *request.Request, output *GetRecoveryPointRestoreMetadataOutput) { + op := &request.Operation{ + Name: opGetRecoveryPointRestoreMetadata, + HTTPMethod: "GET", + HTTPPath: "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}/restore-metadata", + } + + if input == nil { + input = &GetRecoveryPointRestoreMetadataInput{} + } + + output = &GetRecoveryPointRestoreMetadataOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetRecoveryPointRestoreMetadata API operation for AWS Backup. +// +// Returns two sets of metadata key-value pairs. The first set lists the metadata +// that the recovery point was created with. The second set lists the metadata +// key-value pairs that are required to restore the recovery point. +// +// These sets can be the same, or the restore metadata set can contain different +// values if the target service to be restored has changed since the recovery +// point was created and now requires additional or different information in +// order to be restored. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation GetRecoveryPointRestoreMetadata for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetRecoveryPointRestoreMetadata +func (c *Backup) GetRecoveryPointRestoreMetadata(input *GetRecoveryPointRestoreMetadataInput) (*GetRecoveryPointRestoreMetadataOutput, error) { + req, out := c.GetRecoveryPointRestoreMetadataRequest(input) + return out, req.Send() +} + +// GetRecoveryPointRestoreMetadataWithContext is the same as GetRecoveryPointRestoreMetadata with the addition of +// the ability to pass a context and additional request options. +// +// See GetRecoveryPointRestoreMetadata 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 *Backup) GetRecoveryPointRestoreMetadataWithContext(ctx aws.Context, input *GetRecoveryPointRestoreMetadataInput, opts ...request.Option) (*GetRecoveryPointRestoreMetadataOutput, error) { + req, out := c.GetRecoveryPointRestoreMetadataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetSupportedResourceTypes = "GetSupportedResourceTypes" + +// GetSupportedResourceTypesRequest generates a "aws/request.Request" representing the +// client's request for the GetSupportedResourceTypes 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 GetSupportedResourceTypes for more information on using the GetSupportedResourceTypes +// 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 GetSupportedResourceTypesRequest method. +// req, resp := client.GetSupportedResourceTypesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetSupportedResourceTypes +func (c *Backup) GetSupportedResourceTypesRequest(input *GetSupportedResourceTypesInput) (req *request.Request, output *GetSupportedResourceTypesOutput) { + op := &request.Operation{ + Name: opGetSupportedResourceTypes, + HTTPMethod: "GET", + HTTPPath: "/supported-resource-types", + } + + if input == nil { + input = &GetSupportedResourceTypesInput{} + } + + output = &GetSupportedResourceTypesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSupportedResourceTypes API operation for AWS Backup. +// +// Returns the AWS resource types supported by AWS Backup. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation GetSupportedResourceTypes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetSupportedResourceTypes +func (c *Backup) GetSupportedResourceTypes(input *GetSupportedResourceTypesInput) (*GetSupportedResourceTypesOutput, error) { + req, out := c.GetSupportedResourceTypesRequest(input) + return out, req.Send() +} + +// GetSupportedResourceTypesWithContext is the same as GetSupportedResourceTypes with the addition of +// the ability to pass a context and additional request options. +// +// See GetSupportedResourceTypes 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 *Backup) GetSupportedResourceTypesWithContext(ctx aws.Context, input *GetSupportedResourceTypesInput, opts ...request.Option) (*GetSupportedResourceTypesOutput, error) { + req, out := c.GetSupportedResourceTypesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListBackupJobs = "ListBackupJobs" + +// ListBackupJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListBackupJobs 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 ListBackupJobs for more information on using the ListBackupJobs +// 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 ListBackupJobsRequest method. +// req, resp := client.ListBackupJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupJobs +func (c *Backup) ListBackupJobsRequest(input *ListBackupJobsInput) (req *request.Request, output *ListBackupJobsOutput) { + op := &request.Operation{ + Name: opListBackupJobs, + HTTPMethod: "GET", + HTTPPath: "/backup-jobs/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListBackupJobsInput{} + } + + output = &ListBackupJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBackupJobs API operation for AWS Backup. +// +// Returns metadata about your backup jobs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation ListBackupJobs for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupJobs +func (c *Backup) ListBackupJobs(input *ListBackupJobsInput) (*ListBackupJobsOutput, error) { + req, out := c.ListBackupJobsRequest(input) + return out, req.Send() +} + +// ListBackupJobsWithContext is the same as ListBackupJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListBackupJobs 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 *Backup) ListBackupJobsWithContext(ctx aws.Context, input *ListBackupJobsInput, opts ...request.Option) (*ListBackupJobsOutput, error) { + req, out := c.ListBackupJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListBackupJobsPages iterates over the pages of a ListBackupJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBackupJobs 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 ListBackupJobs operation. +// pageNum := 0 +// err := client.ListBackupJobsPages(params, +// func(page *ListBackupJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Backup) ListBackupJobsPages(input *ListBackupJobsInput, fn func(*ListBackupJobsOutput, bool) bool) error { + return c.ListBackupJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBackupJobsPagesWithContext same as ListBackupJobsPages 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 *Backup) ListBackupJobsPagesWithContext(ctx aws.Context, input *ListBackupJobsInput, fn func(*ListBackupJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBackupJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBackupJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListBackupJobsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListBackupPlanTemplates = "ListBackupPlanTemplates" + +// ListBackupPlanTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListBackupPlanTemplates 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 ListBackupPlanTemplates for more information on using the ListBackupPlanTemplates +// 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 ListBackupPlanTemplatesRequest method. +// req, resp := client.ListBackupPlanTemplatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlanTemplates +func (c *Backup) ListBackupPlanTemplatesRequest(input *ListBackupPlanTemplatesInput) (req *request.Request, output *ListBackupPlanTemplatesOutput) { + op := &request.Operation{ + Name: opListBackupPlanTemplates, + HTTPMethod: "GET", + HTTPPath: "/backup/template/plans", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListBackupPlanTemplatesInput{} + } + + output = &ListBackupPlanTemplatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBackupPlanTemplates API operation for AWS Backup. +// +// Returns metadata of your saved backup plan templates, including the template +// ID, name, and the creation and deletion dates. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation ListBackupPlanTemplates for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlanTemplates +func (c *Backup) ListBackupPlanTemplates(input *ListBackupPlanTemplatesInput) (*ListBackupPlanTemplatesOutput, error) { + req, out := c.ListBackupPlanTemplatesRequest(input) + return out, req.Send() +} + +// ListBackupPlanTemplatesWithContext is the same as ListBackupPlanTemplates with the addition of +// the ability to pass a context and additional request options. +// +// See ListBackupPlanTemplates 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 *Backup) ListBackupPlanTemplatesWithContext(ctx aws.Context, input *ListBackupPlanTemplatesInput, opts ...request.Option) (*ListBackupPlanTemplatesOutput, error) { + req, out := c.ListBackupPlanTemplatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListBackupPlanTemplatesPages iterates over the pages of a ListBackupPlanTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBackupPlanTemplates 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 ListBackupPlanTemplates operation. +// pageNum := 0 +// err := client.ListBackupPlanTemplatesPages(params, +// func(page *ListBackupPlanTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Backup) ListBackupPlanTemplatesPages(input *ListBackupPlanTemplatesInput, fn func(*ListBackupPlanTemplatesOutput, bool) bool) error { + return c.ListBackupPlanTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBackupPlanTemplatesPagesWithContext same as ListBackupPlanTemplatesPages 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 *Backup) ListBackupPlanTemplatesPagesWithContext(ctx aws.Context, input *ListBackupPlanTemplatesInput, fn func(*ListBackupPlanTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBackupPlanTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBackupPlanTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListBackupPlanTemplatesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListBackupPlanVersions = "ListBackupPlanVersions" + +// ListBackupPlanVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListBackupPlanVersions 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 ListBackupPlanVersions for more information on using the ListBackupPlanVersions +// 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 ListBackupPlanVersionsRequest method. +// req, resp := client.ListBackupPlanVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlanVersions +func (c *Backup) ListBackupPlanVersionsRequest(input *ListBackupPlanVersionsInput) (req *request.Request, output *ListBackupPlanVersionsOutput) { + op := &request.Operation{ + Name: opListBackupPlanVersions, + HTTPMethod: "GET", + HTTPPath: "/backup/plans/{backupPlanId}/versions/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListBackupPlanVersionsInput{} + } + + output = &ListBackupPlanVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBackupPlanVersions API operation for AWS Backup. +// +// Returns version metadata of your backup plans, including Amazon Resource +// Names (ARNs), backup plan IDs, creation and deletion dates, plan names, and +// version IDs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation ListBackupPlanVersions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlanVersions +func (c *Backup) ListBackupPlanVersions(input *ListBackupPlanVersionsInput) (*ListBackupPlanVersionsOutput, error) { + req, out := c.ListBackupPlanVersionsRequest(input) + return out, req.Send() +} + +// ListBackupPlanVersionsWithContext is the same as ListBackupPlanVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListBackupPlanVersions 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 *Backup) ListBackupPlanVersionsWithContext(ctx aws.Context, input *ListBackupPlanVersionsInput, opts ...request.Option) (*ListBackupPlanVersionsOutput, error) { + req, out := c.ListBackupPlanVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListBackupPlanVersionsPages iterates over the pages of a ListBackupPlanVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBackupPlanVersions 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 ListBackupPlanVersions operation. +// pageNum := 0 +// err := client.ListBackupPlanVersionsPages(params, +// func(page *ListBackupPlanVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Backup) ListBackupPlanVersionsPages(input *ListBackupPlanVersionsInput, fn func(*ListBackupPlanVersionsOutput, bool) bool) error { + return c.ListBackupPlanVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBackupPlanVersionsPagesWithContext same as ListBackupPlanVersionsPages 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 *Backup) ListBackupPlanVersionsPagesWithContext(ctx aws.Context, input *ListBackupPlanVersionsInput, fn func(*ListBackupPlanVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBackupPlanVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBackupPlanVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListBackupPlanVersionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListBackupPlans = "ListBackupPlans" + +// ListBackupPlansRequest generates a "aws/request.Request" representing the +// client's request for the ListBackupPlans 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 ListBackupPlans for more information on using the ListBackupPlans +// 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 ListBackupPlansRequest method. +// req, resp := client.ListBackupPlansRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlans +func (c *Backup) ListBackupPlansRequest(input *ListBackupPlansInput) (req *request.Request, output *ListBackupPlansOutput) { + op := &request.Operation{ + Name: opListBackupPlans, + HTTPMethod: "GET", + HTTPPath: "/backup/plans/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListBackupPlansInput{} + } + + output = &ListBackupPlansOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBackupPlans API operation for AWS Backup. +// +// Returns metadata of your saved backup plans, including Amazon Resource Names +// (ARNs), plan IDs, creation and deletion dates, version IDs, plan names, and +// creator request IDs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation ListBackupPlans for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlans +func (c *Backup) ListBackupPlans(input *ListBackupPlansInput) (*ListBackupPlansOutput, error) { + req, out := c.ListBackupPlansRequest(input) + return out, req.Send() +} + +// ListBackupPlansWithContext is the same as ListBackupPlans with the addition of +// the ability to pass a context and additional request options. +// +// See ListBackupPlans 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 *Backup) ListBackupPlansWithContext(ctx aws.Context, input *ListBackupPlansInput, opts ...request.Option) (*ListBackupPlansOutput, error) { + req, out := c.ListBackupPlansRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListBackupPlansPages iterates over the pages of a ListBackupPlans operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBackupPlans 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 ListBackupPlans operation. +// pageNum := 0 +// err := client.ListBackupPlansPages(params, +// func(page *ListBackupPlansOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Backup) ListBackupPlansPages(input *ListBackupPlansInput, fn func(*ListBackupPlansOutput, bool) bool) error { + return c.ListBackupPlansPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBackupPlansPagesWithContext same as ListBackupPlansPages 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 *Backup) ListBackupPlansPagesWithContext(ctx aws.Context, input *ListBackupPlansInput, fn func(*ListBackupPlansOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBackupPlansInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBackupPlansRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListBackupPlansOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListBackupSelections = "ListBackupSelections" + +// ListBackupSelectionsRequest generates a "aws/request.Request" representing the +// client's request for the ListBackupSelections 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 ListBackupSelections for more information on using the ListBackupSelections +// 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 ListBackupSelectionsRequest method. +// req, resp := client.ListBackupSelectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupSelections +func (c *Backup) ListBackupSelectionsRequest(input *ListBackupSelectionsInput) (req *request.Request, output *ListBackupSelectionsOutput) { + op := &request.Operation{ + Name: opListBackupSelections, + HTTPMethod: "GET", + HTTPPath: "/backup/plans/{backupPlanId}/selections/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListBackupSelectionsInput{} + } + + output = &ListBackupSelectionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBackupSelections API operation for AWS Backup. +// +// Returns an array containing metadata of the resources associated with the +// target backup plan. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation ListBackupSelections for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupSelections +func (c *Backup) ListBackupSelections(input *ListBackupSelectionsInput) (*ListBackupSelectionsOutput, error) { + req, out := c.ListBackupSelectionsRequest(input) + return out, req.Send() +} + +// ListBackupSelectionsWithContext is the same as ListBackupSelections with the addition of +// the ability to pass a context and additional request options. +// +// See ListBackupSelections 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 *Backup) ListBackupSelectionsWithContext(ctx aws.Context, input *ListBackupSelectionsInput, opts ...request.Option) (*ListBackupSelectionsOutput, error) { + req, out := c.ListBackupSelectionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListBackupSelectionsPages iterates over the pages of a ListBackupSelections operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBackupSelections 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 ListBackupSelections operation. +// pageNum := 0 +// err := client.ListBackupSelectionsPages(params, +// func(page *ListBackupSelectionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Backup) ListBackupSelectionsPages(input *ListBackupSelectionsInput, fn func(*ListBackupSelectionsOutput, bool) bool) error { + return c.ListBackupSelectionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBackupSelectionsPagesWithContext same as ListBackupSelectionsPages 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 *Backup) ListBackupSelectionsPagesWithContext(ctx aws.Context, input *ListBackupSelectionsInput, fn func(*ListBackupSelectionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBackupSelectionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBackupSelectionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListBackupSelectionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListBackupVaults = "ListBackupVaults" + +// ListBackupVaultsRequest generates a "aws/request.Request" representing the +// client's request for the ListBackupVaults 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 ListBackupVaults for more information on using the ListBackupVaults +// 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 ListBackupVaultsRequest method. +// req, resp := client.ListBackupVaultsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupVaults +func (c *Backup) ListBackupVaultsRequest(input *ListBackupVaultsInput) (req *request.Request, output *ListBackupVaultsOutput) { + op := &request.Operation{ + Name: opListBackupVaults, + HTTPMethod: "GET", + HTTPPath: "/backup-vaults/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListBackupVaultsInput{} + } + + output = &ListBackupVaultsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBackupVaults API operation for AWS Backup. +// +// Returns a list of recovery point storage containers along with information +// about them. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation ListBackupVaults for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupVaults +func (c *Backup) ListBackupVaults(input *ListBackupVaultsInput) (*ListBackupVaultsOutput, error) { + req, out := c.ListBackupVaultsRequest(input) + return out, req.Send() +} + +// ListBackupVaultsWithContext is the same as ListBackupVaults with the addition of +// the ability to pass a context and additional request options. +// +// See ListBackupVaults 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 *Backup) ListBackupVaultsWithContext(ctx aws.Context, input *ListBackupVaultsInput, opts ...request.Option) (*ListBackupVaultsOutput, error) { + req, out := c.ListBackupVaultsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListBackupVaultsPages iterates over the pages of a ListBackupVaults operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBackupVaults 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 ListBackupVaults operation. +// pageNum := 0 +// err := client.ListBackupVaultsPages(params, +// func(page *ListBackupVaultsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Backup) ListBackupVaultsPages(input *ListBackupVaultsInput, fn func(*ListBackupVaultsOutput, bool) bool) error { + return c.ListBackupVaultsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBackupVaultsPagesWithContext same as ListBackupVaultsPages 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 *Backup) ListBackupVaultsPagesWithContext(ctx aws.Context, input *ListBackupVaultsInput, fn func(*ListBackupVaultsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBackupVaultsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBackupVaultsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListBackupVaultsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListProtectedResources = "ListProtectedResources" + +// ListProtectedResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListProtectedResources 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 ListProtectedResources for more information on using the ListProtectedResources +// 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 ListProtectedResourcesRequest method. +// req, resp := client.ListProtectedResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListProtectedResources +func (c *Backup) ListProtectedResourcesRequest(input *ListProtectedResourcesInput) (req *request.Request, output *ListProtectedResourcesOutput) { + op := &request.Operation{ + Name: opListProtectedResources, + HTTPMethod: "GET", + HTTPPath: "/resources/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListProtectedResourcesInput{} + } + + output = &ListProtectedResourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProtectedResources API operation for AWS Backup. +// +// Returns an array of resources successfully backed up by AWS Backup, including +// the time the resource was saved, an Amazon Resource Name (ARN) of the resource, +// and a resource 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 AWS Backup's +// API operation ListProtectedResources for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListProtectedResources +func (c *Backup) ListProtectedResources(input *ListProtectedResourcesInput) (*ListProtectedResourcesOutput, error) { + req, out := c.ListProtectedResourcesRequest(input) + return out, req.Send() +} + +// ListProtectedResourcesWithContext is the same as ListProtectedResources with the addition of +// the ability to pass a context and additional request options. +// +// See ListProtectedResources 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 *Backup) ListProtectedResourcesWithContext(ctx aws.Context, input *ListProtectedResourcesInput, opts ...request.Option) (*ListProtectedResourcesOutput, error) { + req, out := c.ListProtectedResourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListProtectedResourcesPages iterates over the pages of a ListProtectedResources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProtectedResources 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 ListProtectedResources operation. +// pageNum := 0 +// err := client.ListProtectedResourcesPages(params, +// func(page *ListProtectedResourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Backup) ListProtectedResourcesPages(input *ListProtectedResourcesInput, fn func(*ListProtectedResourcesOutput, bool) bool) error { + return c.ListProtectedResourcesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProtectedResourcesPagesWithContext same as ListProtectedResourcesPages 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 *Backup) ListProtectedResourcesPagesWithContext(ctx aws.Context, input *ListProtectedResourcesInput, fn func(*ListProtectedResourcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProtectedResourcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProtectedResourcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListProtectedResourcesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListRecoveryPointsByBackupVault = "ListRecoveryPointsByBackupVault" + +// ListRecoveryPointsByBackupVaultRequest generates a "aws/request.Request" representing the +// client's request for the ListRecoveryPointsByBackupVault 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 ListRecoveryPointsByBackupVault for more information on using the ListRecoveryPointsByBackupVault +// 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 ListRecoveryPointsByBackupVaultRequest method. +// req, resp := client.ListRecoveryPointsByBackupVaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByBackupVault +func (c *Backup) ListRecoveryPointsByBackupVaultRequest(input *ListRecoveryPointsByBackupVaultInput) (req *request.Request, output *ListRecoveryPointsByBackupVaultOutput) { + op := &request.Operation{ + Name: opListRecoveryPointsByBackupVault, + HTTPMethod: "GET", + HTTPPath: "/backup-vaults/{backupVaultName}/recovery-points/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRecoveryPointsByBackupVaultInput{} + } + + output = &ListRecoveryPointsByBackupVaultOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRecoveryPointsByBackupVault API operation for AWS Backup. +// +// Returns detailed information about the recovery points stored in a backup +// vault. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation ListRecoveryPointsByBackupVault for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByBackupVault +func (c *Backup) ListRecoveryPointsByBackupVault(input *ListRecoveryPointsByBackupVaultInput) (*ListRecoveryPointsByBackupVaultOutput, error) { + req, out := c.ListRecoveryPointsByBackupVaultRequest(input) + return out, req.Send() +} + +// ListRecoveryPointsByBackupVaultWithContext is the same as ListRecoveryPointsByBackupVault with the addition of +// the ability to pass a context and additional request options. +// +// See ListRecoveryPointsByBackupVault 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 *Backup) ListRecoveryPointsByBackupVaultWithContext(ctx aws.Context, input *ListRecoveryPointsByBackupVaultInput, opts ...request.Option) (*ListRecoveryPointsByBackupVaultOutput, error) { + req, out := c.ListRecoveryPointsByBackupVaultRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRecoveryPointsByBackupVaultPages iterates over the pages of a ListRecoveryPointsByBackupVault operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRecoveryPointsByBackupVault 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 ListRecoveryPointsByBackupVault operation. +// pageNum := 0 +// err := client.ListRecoveryPointsByBackupVaultPages(params, +// func(page *ListRecoveryPointsByBackupVaultOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Backup) ListRecoveryPointsByBackupVaultPages(input *ListRecoveryPointsByBackupVaultInput, fn func(*ListRecoveryPointsByBackupVaultOutput, bool) bool) error { + return c.ListRecoveryPointsByBackupVaultPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRecoveryPointsByBackupVaultPagesWithContext same as ListRecoveryPointsByBackupVaultPages 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 *Backup) ListRecoveryPointsByBackupVaultPagesWithContext(ctx aws.Context, input *ListRecoveryPointsByBackupVaultInput, fn func(*ListRecoveryPointsByBackupVaultOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRecoveryPointsByBackupVaultInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRecoveryPointsByBackupVaultRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListRecoveryPointsByBackupVaultOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListRecoveryPointsByResource = "ListRecoveryPointsByResource" + +// ListRecoveryPointsByResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListRecoveryPointsByResource 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 ListRecoveryPointsByResource for more information on using the ListRecoveryPointsByResource +// 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 ListRecoveryPointsByResourceRequest method. +// req, resp := client.ListRecoveryPointsByResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByResource +func (c *Backup) ListRecoveryPointsByResourceRequest(input *ListRecoveryPointsByResourceInput) (req *request.Request, output *ListRecoveryPointsByResourceOutput) { + op := &request.Operation{ + Name: opListRecoveryPointsByResource, + HTTPMethod: "GET", + HTTPPath: "/resources/{resourceArn}/recovery-points/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRecoveryPointsByResourceInput{} + } + + output = &ListRecoveryPointsByResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRecoveryPointsByResource API operation for AWS Backup. +// +// Returns detailed information about recovery points of the type specified +// by a resource Amazon Resource Name (ARN). +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation ListRecoveryPointsByResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByResource +func (c *Backup) ListRecoveryPointsByResource(input *ListRecoveryPointsByResourceInput) (*ListRecoveryPointsByResourceOutput, error) { + req, out := c.ListRecoveryPointsByResourceRequest(input) + return out, req.Send() +} + +// ListRecoveryPointsByResourceWithContext is the same as ListRecoveryPointsByResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListRecoveryPointsByResource 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 *Backup) ListRecoveryPointsByResourceWithContext(ctx aws.Context, input *ListRecoveryPointsByResourceInput, opts ...request.Option) (*ListRecoveryPointsByResourceOutput, error) { + req, out := c.ListRecoveryPointsByResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRecoveryPointsByResourcePages iterates over the pages of a ListRecoveryPointsByResource operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRecoveryPointsByResource 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 ListRecoveryPointsByResource operation. +// pageNum := 0 +// err := client.ListRecoveryPointsByResourcePages(params, +// func(page *ListRecoveryPointsByResourceOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Backup) ListRecoveryPointsByResourcePages(input *ListRecoveryPointsByResourceInput, fn func(*ListRecoveryPointsByResourceOutput, bool) bool) error { + return c.ListRecoveryPointsByResourcePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRecoveryPointsByResourcePagesWithContext same as ListRecoveryPointsByResourcePages 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 *Backup) ListRecoveryPointsByResourcePagesWithContext(ctx aws.Context, input *ListRecoveryPointsByResourceInput, fn func(*ListRecoveryPointsByResourceOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRecoveryPointsByResourceInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRecoveryPointsByResourceRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListRecoveryPointsByResourceOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListRestoreJobs = "ListRestoreJobs" + +// ListRestoreJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListRestoreJobs 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 ListRestoreJobs for more information on using the ListRestoreJobs +// 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 ListRestoreJobsRequest method. +// req, resp := client.ListRestoreJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRestoreJobs +func (c *Backup) ListRestoreJobsRequest(input *ListRestoreJobsInput) (req *request.Request, output *ListRestoreJobsOutput) { + op := &request.Operation{ + Name: opListRestoreJobs, + HTTPMethod: "GET", + HTTPPath: "/restore-jobs/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRestoreJobsInput{} + } + + output = &ListRestoreJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRestoreJobs API operation for AWS Backup. +// +// Returns a list of jobs that AWS Backup initiated to restore a saved resource, +// including metadata about the recovery process. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation ListRestoreJobs for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRestoreJobs +func (c *Backup) ListRestoreJobs(input *ListRestoreJobsInput) (*ListRestoreJobsOutput, error) { + req, out := c.ListRestoreJobsRequest(input) + return out, req.Send() +} + +// ListRestoreJobsWithContext is the same as ListRestoreJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListRestoreJobs 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 *Backup) ListRestoreJobsWithContext(ctx aws.Context, input *ListRestoreJobsInput, opts ...request.Option) (*ListRestoreJobsOutput, error) { + req, out := c.ListRestoreJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRestoreJobsPages iterates over the pages of a ListRestoreJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRestoreJobs 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 ListRestoreJobs operation. +// pageNum := 0 +// err := client.ListRestoreJobsPages(params, +// func(page *ListRestoreJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Backup) ListRestoreJobsPages(input *ListRestoreJobsInput, fn func(*ListRestoreJobsOutput, bool) bool) error { + return c.ListRestoreJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRestoreJobsPagesWithContext same as ListRestoreJobsPages 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 *Backup) ListRestoreJobsPagesWithContext(ctx aws.Context, input *ListRestoreJobsInput, fn func(*ListRestoreJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRestoreJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRestoreJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListRestoreJobsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTags = "ListTags" + +// ListTagsRequest generates a "aws/request.Request" representing the +// client's request for the ListTags 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 ListTags for more information on using the ListTags +// 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 ListTagsRequest method. +// req, resp := client.ListTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListTags +func (c *Backup) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) { + op := &request.Operation{ + Name: opListTags, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTagsInput{} + } + + output = &ListTagsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTags API operation for AWS Backup. +// +// Returns a list of key-value pairs assigned to a target recovery point, backup +// plan, or backup vault. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation ListTags for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListTags +func (c *Backup) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { + req, out := c.ListTagsRequest(input) + return out, req.Send() +} + +// ListTagsWithContext is the same as ListTags with the addition of +// the ability to pass a context and additional request options. +// +// See ListTags 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 *Backup) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) { + req, out := c.ListTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTagsPages iterates over the pages of a ListTags operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTags 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 ListTags operation. +// pageNum := 0 +// err := client.ListTagsPages(params, +// func(page *ListTagsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Backup) ListTagsPages(input *ListTagsInput, fn func(*ListTagsOutput, bool) bool) error { + return c.ListTagsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTagsPagesWithContext same as ListTagsPages 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 *Backup) ListTagsPagesWithContext(ctx aws.Context, input *ListTagsInput, fn func(*ListTagsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTagsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTagsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListTagsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opPutBackupVaultAccessPolicy = "PutBackupVaultAccessPolicy" + +// PutBackupVaultAccessPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutBackupVaultAccessPolicy 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 PutBackupVaultAccessPolicy for more information on using the PutBackupVaultAccessPolicy +// 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 PutBackupVaultAccessPolicyRequest method. +// req, resp := client.PutBackupVaultAccessPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutBackupVaultAccessPolicy +func (c *Backup) PutBackupVaultAccessPolicyRequest(input *PutBackupVaultAccessPolicyInput) (req *request.Request, output *PutBackupVaultAccessPolicyOutput) { + op := &request.Operation{ + Name: opPutBackupVaultAccessPolicy, + HTTPMethod: "PUT", + HTTPPath: "/backup-vaults/{backupVaultName}/access-policy", + } + + if input == nil { + input = &PutBackupVaultAccessPolicyInput{} + } + + output = &PutBackupVaultAccessPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutBackupVaultAccessPolicy API operation for AWS Backup. +// +// Sets a resource-based policy that is used to manage access permissions on +// the target backup vault. Requires a backup vault name and an access policy +// document in JSON format. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation PutBackupVaultAccessPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutBackupVaultAccessPolicy +func (c *Backup) PutBackupVaultAccessPolicy(input *PutBackupVaultAccessPolicyInput) (*PutBackupVaultAccessPolicyOutput, error) { + req, out := c.PutBackupVaultAccessPolicyRequest(input) + return out, req.Send() +} + +// PutBackupVaultAccessPolicyWithContext is the same as PutBackupVaultAccessPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutBackupVaultAccessPolicy 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 *Backup) PutBackupVaultAccessPolicyWithContext(ctx aws.Context, input *PutBackupVaultAccessPolicyInput, opts ...request.Option) (*PutBackupVaultAccessPolicyOutput, error) { + req, out := c.PutBackupVaultAccessPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutBackupVaultNotifications = "PutBackupVaultNotifications" + +// PutBackupVaultNotificationsRequest generates a "aws/request.Request" representing the +// client's request for the PutBackupVaultNotifications 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 PutBackupVaultNotifications for more information on using the PutBackupVaultNotifications +// 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 PutBackupVaultNotificationsRequest method. +// req, resp := client.PutBackupVaultNotificationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutBackupVaultNotifications +func (c *Backup) PutBackupVaultNotificationsRequest(input *PutBackupVaultNotificationsInput) (req *request.Request, output *PutBackupVaultNotificationsOutput) { + op := &request.Operation{ + Name: opPutBackupVaultNotifications, + HTTPMethod: "PUT", + HTTPPath: "/backup-vaults/{backupVaultName}/notification-configuration", + } + + if input == nil { + input = &PutBackupVaultNotificationsInput{} + } + + output = &PutBackupVaultNotificationsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutBackupVaultNotifications API operation for AWS Backup. +// +// Turns on notifications on a backup vault for the specified topic and events. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation PutBackupVaultNotifications for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutBackupVaultNotifications +func (c *Backup) PutBackupVaultNotifications(input *PutBackupVaultNotificationsInput) (*PutBackupVaultNotificationsOutput, error) { + req, out := c.PutBackupVaultNotificationsRequest(input) + return out, req.Send() +} + +// PutBackupVaultNotificationsWithContext is the same as PutBackupVaultNotifications with the addition of +// the ability to pass a context and additional request options. +// +// See PutBackupVaultNotifications 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 *Backup) PutBackupVaultNotificationsWithContext(ctx aws.Context, input *PutBackupVaultNotificationsInput, opts ...request.Option) (*PutBackupVaultNotificationsOutput, error) { + req, out := c.PutBackupVaultNotificationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartBackupJob = "StartBackupJob" + +// StartBackupJobRequest generates a "aws/request.Request" representing the +// client's request for the StartBackupJob 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 StartBackupJob for more information on using the StartBackupJob +// 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 StartBackupJobRequest method. +// req, resp := client.StartBackupJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartBackupJob +func (c *Backup) StartBackupJobRequest(input *StartBackupJobInput) (req *request.Request, output *StartBackupJobOutput) { + op := &request.Operation{ + Name: opStartBackupJob, + HTTPMethod: "PUT", + HTTPPath: "/backup-jobs", + } + + if input == nil { + input = &StartBackupJobInput{} + } + + output = &StartBackupJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartBackupJob API operation for AWS Backup. +// +// Starts a job to create a one-time backup of 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 AWS Backup's +// API operation StartBackupJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit in the request has been exceeded; for example, a maximum number of +// items allowed in a request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartBackupJob +func (c *Backup) StartBackupJob(input *StartBackupJobInput) (*StartBackupJobOutput, error) { + req, out := c.StartBackupJobRequest(input) + return out, req.Send() +} + +// StartBackupJobWithContext is the same as StartBackupJob with the addition of +// the ability to pass a context and additional request options. +// +// See StartBackupJob 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 *Backup) StartBackupJobWithContext(ctx aws.Context, input *StartBackupJobInput, opts ...request.Option) (*StartBackupJobOutput, error) { + req, out := c.StartBackupJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartRestoreJob = "StartRestoreJob" + +// StartRestoreJobRequest generates a "aws/request.Request" representing the +// client's request for the StartRestoreJob 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 StartRestoreJob for more information on using the StartRestoreJob +// 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 StartRestoreJobRequest method. +// req, resp := client.StartRestoreJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartRestoreJob +func (c *Backup) StartRestoreJobRequest(input *StartRestoreJobInput) (req *request.Request, output *StartRestoreJobOutput) { + op := &request.Operation{ + Name: opStartRestoreJob, + HTTPMethod: "PUT", + HTTPPath: "/restore-jobs", + } + + if input == nil { + input = &StartRestoreJobInput{} + } + + output = &StartRestoreJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartRestoreJob API operation for AWS Backup. +// +// Recovers the saved resource identified by an Amazon Resource Name (ARN). +// +// If the resource ARN is included in the request, then the last complete backup +// of that resource is recovered. If the ARN of a recovery point is supplied, +// then that recovery point is restored. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation StartRestoreJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartRestoreJob +func (c *Backup) StartRestoreJob(input *StartRestoreJobInput) (*StartRestoreJobOutput, error) { + req, out := c.StartRestoreJobRequest(input) + return out, req.Send() +} + +// StartRestoreJobWithContext is the same as StartRestoreJob with the addition of +// the ability to pass a context and additional request options. +// +// See StartRestoreJob 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 *Backup) StartRestoreJobWithContext(ctx aws.Context, input *StartRestoreJobInput, opts ...request.Option) (*StartRestoreJobOutput, error) { + req, out := c.StartRestoreJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopBackupJob = "StopBackupJob" + +// StopBackupJobRequest generates a "aws/request.Request" representing the +// client's request for the StopBackupJob 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 StopBackupJob for more information on using the StopBackupJob +// 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 StopBackupJobRequest method. +// req, resp := client.StopBackupJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StopBackupJob +func (c *Backup) StopBackupJobRequest(input *StopBackupJobInput) (req *request.Request, output *StopBackupJobOutput) { + op := &request.Operation{ + Name: opStopBackupJob, + HTTPMethod: "POST", + HTTPPath: "/backup-jobs/{backupJobId}", + } + + if input == nil { + input = &StopBackupJobInput{} + } + + output = &StopBackupJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopBackupJob API operation for AWS Backup. +// +// Attempts to cancel a job to create a one-time backup of a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup's +// API operation StopBackupJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// Indicates that something is wrong with the input to the request. For example, +// a parameter is of the wrong type. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StopBackupJob +func (c *Backup) StopBackupJob(input *StopBackupJobInput) (*StopBackupJobOutput, error) { + req, out := c.StopBackupJobRequest(input) + return out, req.Send() +} + +// StopBackupJobWithContext is the same as StopBackupJob with the addition of +// the ability to pass a context and additional request options. +// +// See StopBackupJob 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 *Backup) StopBackupJobWithContext(ctx aws.Context, input *StopBackupJobInput, opts ...request.Option) (*StopBackupJobOutput, error) { + req, out := c.StopBackupJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/TagResource +func (c *Backup) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Backup. +// +// Assigns a set of key-value pairs to a recovery point, backup plan, or backup +// vault identified by an Amazon Resource Name (ARN). +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit in the request has been exceeded; for example, a maximum number of +// items allowed in a request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/TagResource +func (c *Backup) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Backup) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UntagResource +func (c *Backup) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/untag/{resourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS Backup. +// +// Removes a set of key-value pairs from a recovery point, backup plan, or backup +// vault identified by an Amazon Resource Name (ARN) +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UntagResource +func (c *Backup) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Backup) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateBackupPlan = "UpdateBackupPlan" + +// UpdateBackupPlanRequest generates a "aws/request.Request" representing the +// client's request for the UpdateBackupPlan 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 UpdateBackupPlan for more information on using the UpdateBackupPlan +// 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 UpdateBackupPlanRequest method. +// req, resp := client.UpdateBackupPlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateBackupPlan +func (c *Backup) UpdateBackupPlanRequest(input *UpdateBackupPlanInput) (req *request.Request, output *UpdateBackupPlanOutput) { + op := &request.Operation{ + Name: opUpdateBackupPlan, + HTTPMethod: "POST", + HTTPPath: "/backup/plans/{backupPlanId}", + } + + if input == nil { + input = &UpdateBackupPlanInput{} + } + + output = &UpdateBackupPlanOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateBackupPlan API operation for AWS Backup. +// +// Replaces the body of a saved backup plan identified by its backupPlanId with +// the input document in JSON format. The new version is uniquely identified +// by a VersionId. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation UpdateBackupPlan for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateBackupPlan +func (c *Backup) UpdateBackupPlan(input *UpdateBackupPlanInput) (*UpdateBackupPlanOutput, error) { + req, out := c.UpdateBackupPlanRequest(input) + return out, req.Send() +} + +// UpdateBackupPlanWithContext is the same as UpdateBackupPlan with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateBackupPlan 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 *Backup) UpdateBackupPlanWithContext(ctx aws.Context, input *UpdateBackupPlanInput, opts ...request.Option) (*UpdateBackupPlanOutput, error) { + req, out := c.UpdateBackupPlanRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRecoveryPointLifecycle = "UpdateRecoveryPointLifecycle" + +// UpdateRecoveryPointLifecycleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRecoveryPointLifecycle 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 UpdateRecoveryPointLifecycle for more information on using the UpdateRecoveryPointLifecycle +// 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 UpdateRecoveryPointLifecycleRequest method. +// req, resp := client.UpdateRecoveryPointLifecycleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateRecoveryPointLifecycle +func (c *Backup) UpdateRecoveryPointLifecycleRequest(input *UpdateRecoveryPointLifecycleInput) (req *request.Request, output *UpdateRecoveryPointLifecycleOutput) { + op := &request.Operation{ + Name: opUpdateRecoveryPointLifecycle, + HTTPMethod: "POST", + HTTPPath: "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}", + } + + if input == nil { + input = &UpdateRecoveryPointLifecycleInput{} + } + + output = &UpdateRecoveryPointLifecycleOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateRecoveryPointLifecycle API operation for AWS Backup. +// +// Sets the transition lifecycle of a recovery point. +// +// The lifecycle defines when a protected resource is transitioned to cold storage +// and when it expires. AWS Backup transitions and expires backups automatically +// according to the lifecycle that you define. +// +// Backups transitioned to cold storage must be stored in cold storage for a +// minimum of 90 days. Therefore, the “expire after days” setting must be 90 +// days greater than the “transition to cold after days” setting. The “transition +// to cold after days” setting cannot be changed after a backup has been transitioned +// to cold. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation UpdateRecoveryPointLifecycle for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// A resource that is required for the action doesn't exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// * ErrCodeMissingParameterValueException "MissingParameterValueException" +// Indicates that a required parameter is missing. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateRecoveryPointLifecycle +func (c *Backup) UpdateRecoveryPointLifecycle(input *UpdateRecoveryPointLifecycleInput) (*UpdateRecoveryPointLifecycleOutput, error) { + req, out := c.UpdateRecoveryPointLifecycleRequest(input) + return out, req.Send() +} + +// UpdateRecoveryPointLifecycleWithContext is the same as UpdateRecoveryPointLifecycle with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRecoveryPointLifecycle 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 *Backup) UpdateRecoveryPointLifecycleWithContext(ctx aws.Context, input *UpdateRecoveryPointLifecycleInput, opts ...request.Option) (*UpdateRecoveryPointLifecycleOutput, error) { + req, out := c.UpdateRecoveryPointLifecycleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Contains DeleteAt and MoveToColdStorageAt timestamps, which are used to specify +// a lifecycle for a recovery point. +// +// The lifecycle defines when a protected resource is transitioned to cold storage +// and when it expires. AWS Backup transitions and expires backups automatically +// according to the lifecycle that you define. +// +// Backups transitioned to cold storage must be stored in cold storage for a +// minimum of 90 days. Therefore, the “expire after days” setting must be 90 +// days greater than the “transition to cold after days” setting. The “transition +// to cold after days” setting cannot be changed after a backup has been transitioned +// to cold. +type CalculatedLifecycle struct { + _ struct{} `type:"structure"` + + // A timestamp that specifies when to delete a recovery point. + DeleteAt *time.Time `type:"timestamp"` + + // A timestamp that specifies when to transition a recovery point to cold storage. + MoveToColdStorageAt *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s CalculatedLifecycle) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CalculatedLifecycle) GoString() string { + return s.String() +} + +// SetDeleteAt sets the DeleteAt field's value. +func (s *CalculatedLifecycle) SetDeleteAt(v time.Time) *CalculatedLifecycle { + s.DeleteAt = &v + return s +} + +// SetMoveToColdStorageAt sets the MoveToColdStorageAt field's value. +func (s *CalculatedLifecycle) SetMoveToColdStorageAt(v time.Time) *CalculatedLifecycle { + s.MoveToColdStorageAt = &v + return s +} + +// Contains an array of triplets made up of a condition type (such as StringEquals), +// a key, and a value. Conditions are used to filter resources in a selection +// that is assigned to a backup plan. +type Condition struct { + _ struct{} `type:"structure"` + + // The key in a key-value pair. For example, in "ec2:ResourceTag/Department": + // "accounting", "ec2:ResourceTag/Department" is the key. + // + // ConditionKey is a required field + ConditionKey *string `type:"string" required:"true"` + + // An operation, such as StringEquals, that is applied to a key-value pair used + // to filter resources in a selection. + // + // ConditionType is a required field + ConditionType *string `type:"string" required:"true" enum:"ConditionType"` + + // The value in a key-value pair. For example, in "ec2:ResourceTag/Department": + // "accounting", "accounting" is the value. + // + // ConditionValue is a required field + ConditionValue *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Condition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Condition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Condition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Condition"} + if s.ConditionKey == nil { + invalidParams.Add(request.NewErrParamRequired("ConditionKey")) + } + if s.ConditionType == nil { + invalidParams.Add(request.NewErrParamRequired("ConditionType")) + } + if s.ConditionValue == nil { + invalidParams.Add(request.NewErrParamRequired("ConditionValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConditionKey sets the ConditionKey field's value. +func (s *Condition) SetConditionKey(v string) *Condition { + s.ConditionKey = &v + return s +} + +// SetConditionType sets the ConditionType field's value. +func (s *Condition) SetConditionType(v string) *Condition { + s.ConditionType = &v + return s +} + +// SetConditionValue sets the ConditionValue field's value. +func (s *Condition) SetConditionValue(v string) *Condition { + s.ConditionValue = &v + return s +} + +type CreateBackupPlanInput struct { + _ struct{} `type:"structure"` + + // Specifies the body of a backup plan. Includes a BackupPlanName and one or + // more sets of Rules. + // + // BackupPlan is a required field + BackupPlan *PlanInput `type:"structure" required:"true"` + + // To help organize your resources, you can assign your own metadata to the + // resources that you create. Each tag is a key-value pair. The specified tags + // are assigned to all backups created with this plan. + BackupPlanTags map[string]*string `type:"map" sensitive:"true"` + + // Identifies the request and allows failed requests to be retried without the + // risk of executing the operation twice. If the request includes a CreatorRequestId + // that matches an existing backup plan, that plan is returned. This parameter + // is optional. + CreatorRequestId *string `type:"string"` +} + +// String returns the string representation +func (s CreateBackupPlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBackupPlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateBackupPlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBackupPlanInput"} + if s.BackupPlan == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlan")) + } + if s.BackupPlan != nil { + if err := s.BackupPlan.Validate(); err != nil { + invalidParams.AddNested("BackupPlan", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPlan sets the BackupPlan field's value. +func (s *CreateBackupPlanInput) SetBackupPlan(v *PlanInput) *CreateBackupPlanInput { + s.BackupPlan = v + return s +} + +// SetBackupPlanTags sets the BackupPlanTags field's value. +func (s *CreateBackupPlanInput) SetBackupPlanTags(v map[string]*string) *CreateBackupPlanInput { + s.BackupPlanTags = v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *CreateBackupPlanInput) SetCreatorRequestId(v string) *CreateBackupPlanInput { + s.CreatorRequestId = &v + return s +} + +type CreateBackupPlanOutput struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for + // example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50. + BackupPlanArn *string `type:"string"` + + // Uniquely identifies a backup plan. + BackupPlanId *string `type:"string"` + + // The date and time that a backup plan is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most + // 1024 bytes long. They cannot be edited. + VersionId *string `type:"string"` +} + +// String returns the string representation +func (s CreateBackupPlanOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBackupPlanOutput) GoString() string { + return s.String() +} + +// SetBackupPlanArn sets the BackupPlanArn field's value. +func (s *CreateBackupPlanOutput) SetBackupPlanArn(v string) *CreateBackupPlanOutput { + s.BackupPlanArn = &v + return s +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *CreateBackupPlanOutput) SetBackupPlanId(v string) *CreateBackupPlanOutput { + s.BackupPlanId = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *CreateBackupPlanOutput) SetCreationDate(v time.Time) *CreateBackupPlanOutput { + s.CreationDate = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *CreateBackupPlanOutput) SetVersionId(v string) *CreateBackupPlanOutput { + s.VersionId = &v + return s +} + +type CreateBackupSelectionInput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies the backup plan to be associated with the selection of + // resources. + // + // BackupPlanId is a required field + BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"` + + // Specifies the body of a request to assign a set of resources to a backup + // plan. + // + // It includes an array of resources, an optional array of patterns to exclude + // resources, an optional role to provide access to the AWS service the resource + // belongs to, and an optional array of tags used to identify a set of resources. + // + // BackupSelection is a required field + BackupSelection *Selection `type:"structure" required:"true"` + + // A unique string that identifies the request and allows failed requests to + // be retried without the risk of executing the operation twice. + CreatorRequestId *string `type:"string"` +} + +// String returns the string representation +func (s CreateBackupSelectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBackupSelectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateBackupSelectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBackupSelectionInput"} + if s.BackupPlanId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlanId")) + } + if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1)) + } + if s.BackupSelection == nil { + invalidParams.Add(request.NewErrParamRequired("BackupSelection")) + } + if s.BackupSelection != nil { + if err := s.BackupSelection.Validate(); err != nil { + invalidParams.AddNested("BackupSelection", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *CreateBackupSelectionInput) SetBackupPlanId(v string) *CreateBackupSelectionInput { + s.BackupPlanId = &v + return s +} + +// SetBackupSelection sets the BackupSelection field's value. +func (s *CreateBackupSelectionInput) SetBackupSelection(v *Selection) *CreateBackupSelectionInput { + s.BackupSelection = v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *CreateBackupSelectionInput) SetCreatorRequestId(v string) *CreateBackupSelectionInput { + s.CreatorRequestId = &v + return s +} + +type CreateBackupSelectionOutput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a backup plan. + BackupPlanId *string `type:"string"` + + // The date and time a backup selection is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // Uniquely identifies the body of a request to assign a set of resources to + // a backup plan. + SelectionId *string `type:"string"` +} + +// String returns the string representation +func (s CreateBackupSelectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBackupSelectionOutput) GoString() string { + return s.String() +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *CreateBackupSelectionOutput) SetBackupPlanId(v string) *CreateBackupSelectionOutput { + s.BackupPlanId = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *CreateBackupSelectionOutput) SetCreationDate(v time.Time) *CreateBackupSelectionOutput { + s.CreationDate = &v + return s +} + +// SetSelectionId sets the SelectionId field's value. +func (s *CreateBackupSelectionOutput) SetSelectionId(v string) *CreateBackupSelectionOutput { + s.SelectionId = &v + return s +} + +type CreateBackupVaultInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` + + // Metadata that you can assign to help organize the resources that you create. + // Each tag is a key-value pair. + BackupVaultTags map[string]*string `type:"map" sensitive:"true"` + + // A unique string that identifies the request and allows failed requests to + // be retried without the risk of executing the operation twice. + CreatorRequestId *string `type:"string"` + + // The server-side encryption key that is used to protect your backups; for + // example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. + EncryptionKeyArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateBackupVaultInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBackupVaultInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateBackupVaultInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBackupVaultInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *CreateBackupVaultInput) SetBackupVaultName(v string) *CreateBackupVaultInput { + s.BackupVaultName = &v + return s +} + +// SetBackupVaultTags sets the BackupVaultTags field's value. +func (s *CreateBackupVaultInput) SetBackupVaultTags(v map[string]*string) *CreateBackupVaultInput { + s.BackupVaultTags = v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *CreateBackupVaultInput) SetCreatorRequestId(v string) *CreateBackupVaultInput { + s.CreatorRequestId = &v + return s +} + +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *CreateBackupVaultInput) SetEncryptionKeyArn(v string) *CreateBackupVaultInput { + s.EncryptionKeyArn = &v + return s +} + +type CreateBackupVaultOutput struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for + // example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. + BackupVaultArn *string `type:"string"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the Region where they are created. They consist of lowercase letters, numbers, + // and hyphens. + BackupVaultName *string `type:"string"` + + // The date and time a backup vault is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s CreateBackupVaultOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBackupVaultOutput) GoString() string { + return s.String() +} + +// SetBackupVaultArn sets the BackupVaultArn field's value. +func (s *CreateBackupVaultOutput) SetBackupVaultArn(v string) *CreateBackupVaultOutput { + s.BackupVaultArn = &v + return s +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *CreateBackupVaultOutput) SetBackupVaultName(v string) *CreateBackupVaultOutput { + s.BackupVaultName = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *CreateBackupVaultOutput) SetCreationDate(v time.Time) *CreateBackupVaultOutput { + s.CreationDate = &v + return s +} + +type DeleteBackupPlanInput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a backup plan. + // + // BackupPlanId is a required field + BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteBackupPlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackupPlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBackupPlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBackupPlanInput"} + if s.BackupPlanId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlanId")) + } + if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *DeleteBackupPlanInput) SetBackupPlanId(v string) *DeleteBackupPlanInput { + s.BackupPlanId = &v + return s +} + +type DeleteBackupPlanOutput struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for + // example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50. + BackupPlanArn *string `type:"string"` + + // Uniquely identifies a backup plan. + BackupPlanId *string `type:"string"` + + // The date and time a backup plan is deleted, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + DeletionDate *time.Time `type:"timestamp"` + + // Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most + // 1,024 bytes long. Version Ids cannot be edited. + VersionId *string `type:"string"` +} + +// String returns the string representation +func (s DeleteBackupPlanOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackupPlanOutput) GoString() string { + return s.String() +} + +// SetBackupPlanArn sets the BackupPlanArn field's value. +func (s *DeleteBackupPlanOutput) SetBackupPlanArn(v string) *DeleteBackupPlanOutput { + s.BackupPlanArn = &v + return s +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *DeleteBackupPlanOutput) SetBackupPlanId(v string) *DeleteBackupPlanOutput { + s.BackupPlanId = &v + return s +} + +// SetDeletionDate sets the DeletionDate field's value. +func (s *DeleteBackupPlanOutput) SetDeletionDate(v time.Time) *DeleteBackupPlanOutput { + s.DeletionDate = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *DeleteBackupPlanOutput) SetVersionId(v string) *DeleteBackupPlanOutput { + s.VersionId = &v + return s +} + +type DeleteBackupSelectionInput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a backup plan. + // + // BackupPlanId is a required field + BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"` + + // Uniquely identifies the body of a request to assign a set of resources to + // a backup plan. + // + // SelectionId is a required field + SelectionId *string `location:"uri" locationName:"selectionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteBackupSelectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackupSelectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBackupSelectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBackupSelectionInput"} + if s.BackupPlanId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlanId")) + } + if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1)) + } + if s.SelectionId == nil { + invalidParams.Add(request.NewErrParamRequired("SelectionId")) + } + if s.SelectionId != nil && len(*s.SelectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SelectionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *DeleteBackupSelectionInput) SetBackupPlanId(v string) *DeleteBackupSelectionInput { + s.BackupPlanId = &v + return s +} + +// SetSelectionId sets the SelectionId field's value. +func (s *DeleteBackupSelectionInput) SetSelectionId(v string) *DeleteBackupSelectionInput { + s.SelectionId = &v + return s +} + +type DeleteBackupSelectionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteBackupSelectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackupSelectionOutput) GoString() string { + return s.String() +} + +type DeleteBackupVaultAccessPolicyInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteBackupVaultAccessPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackupVaultAccessPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBackupVaultAccessPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBackupVaultAccessPolicyInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *DeleteBackupVaultAccessPolicyInput) SetBackupVaultName(v string) *DeleteBackupVaultAccessPolicyInput { + s.BackupVaultName = &v + return s +} + +type DeleteBackupVaultAccessPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteBackupVaultAccessPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackupVaultAccessPolicyOutput) GoString() string { + return s.String() +} + +type DeleteBackupVaultInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // theAWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteBackupVaultInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackupVaultInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBackupVaultInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBackupVaultInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *DeleteBackupVaultInput) SetBackupVaultName(v string) *DeleteBackupVaultInput { + s.BackupVaultName = &v + return s +} + +type DeleteBackupVaultNotificationsInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the Region where they are created. They consist of lowercase letters, numbers, + // and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteBackupVaultNotificationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackupVaultNotificationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBackupVaultNotificationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBackupVaultNotificationsInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *DeleteBackupVaultNotificationsInput) SetBackupVaultName(v string) *DeleteBackupVaultNotificationsInput { + s.BackupVaultName = &v + return s +} + +type DeleteBackupVaultNotificationsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteBackupVaultNotificationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackupVaultNotificationsOutput) GoString() string { + return s.String() +} + +type DeleteBackupVaultOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteBackupVaultOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackupVaultOutput) GoString() string { + return s.String() +} + +type DeleteRecoveryPointInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` + + // An Amazon Resource Name (ARN) that uniquely identifies a recovery point; + // for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + // + // RecoveryPointArn is a required field + RecoveryPointArn *string `location:"uri" locationName:"recoveryPointArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteRecoveryPointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRecoveryPointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRecoveryPointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRecoveryPointInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + if s.RecoveryPointArn == nil { + invalidParams.Add(request.NewErrParamRequired("RecoveryPointArn")) + } + if s.RecoveryPointArn != nil && len(*s.RecoveryPointArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RecoveryPointArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *DeleteRecoveryPointInput) SetBackupVaultName(v string) *DeleteRecoveryPointInput { + s.BackupVaultName = &v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *DeleteRecoveryPointInput) SetRecoveryPointArn(v string) *DeleteRecoveryPointInput { + s.RecoveryPointArn = &v + return s +} + +type DeleteRecoveryPointOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteRecoveryPointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRecoveryPointOutput) GoString() string { + return s.String() +} + +type DescribeBackupJobInput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a request to AWS Backup to back up a resource. + // + // BackupJobId is a required field + BackupJobId *string `location:"uri" locationName:"backupJobId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeBackupJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBackupJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeBackupJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBackupJobInput"} + if s.BackupJobId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupJobId")) + } + if s.BackupJobId != nil && len(*s.BackupJobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupJobId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupJobId sets the BackupJobId field's value. +func (s *DescribeBackupJobInput) SetBackupJobId(v string) *DescribeBackupJobInput { + s.BackupJobId = &v + return s +} + +type DescribeBackupJobOutput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a request to AWS Backup to back up a resource. + BackupJobId *string `type:"string"` + + // The size, in bytes, of a backup. + BackupSizeInBytes *int64 `type:"long"` + + // An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for + // example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. + BackupVaultArn *string `type:"string"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + BackupVaultName *string `type:"string"` + + // The size in bytes transferred to a backup vault at the time that the job + // status was queried. + BytesTransferred *int64 `type:"long"` + + // The date and time that a job to create a backup job is completed, in Unix + // format and Coordinated Universal Time (UTC). The value of CreationDate is + // accurate to milliseconds. For example, the value 1516925490.087 represents + // Friday, January 26, 2018 12:11:30.087 AM. + CompletionDate *time.Time `type:"timestamp"` + + // Contains identifying information about the creation of a backup job, including + // the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the + // backup plan that is used to create it. + CreatedBy *RecoveryPointCreator `type:"structure"` + + // The date and time that a backup job is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // The date and time that a job to back up resources is expected to be completed, + // in Unix format and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate + // is accurate to milliseconds. For example, the value 1516925490.087 represents + // Friday, January 26, 2018 12:11:30.087 AM. + ExpectedCompletionDate *time.Time `type:"timestamp"` + + // Specifies the IAM role ARN used to create the target recovery point; for + // example, arn:aws:iam::123456789012:role/S3Access. + IamRoleArn *string `type:"string"` + + // Contains an estimated percentage that is complete of a job at the time the + // job status was queried. + PercentDone *string `type:"string"` + + // An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + RecoveryPointArn *string `type:"string"` + + // An ARN that uniquely identifies a saved resource. The format of the ARN depends + // on the resource type. + ResourceArn *string `type:"string"` + + // The type of AWS resource to be backed-up; for example, an Amazon Elastic + // Block Store (Amazon EBS) volume or an Amazon Relational Database Service + // (Amazon RDS) database. + ResourceType *string `type:"string"` + + // Specifies the time in Unix format and Coordinated Universal Time (UTC) when + // a backup job must be started before it is canceled. The value is calculated + // by adding the start window to the scheduled time. So if the scheduled time + // were 6:00 PM and the start window is 2 hours, the StartBy time would be 8:00 + // PM on the date specified. The value of StartBy is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + StartBy *time.Time `type:"timestamp"` + + // The current state of a resource recovery point. + State *string `type:"string" enum:"JobState"` + + // A detailed message explaining the status of the job to back up a resource. + StatusMessage *string `type:"string"` +} + +// String returns the string representation +func (s DescribeBackupJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBackupJobOutput) GoString() string { + return s.String() +} + +// SetBackupJobId sets the BackupJobId field's value. +func (s *DescribeBackupJobOutput) SetBackupJobId(v string) *DescribeBackupJobOutput { + s.BackupJobId = &v + return s +} + +// SetBackupSizeInBytes sets the BackupSizeInBytes field's value. +func (s *DescribeBackupJobOutput) SetBackupSizeInBytes(v int64) *DescribeBackupJobOutput { + s.BackupSizeInBytes = &v + return s +} + +// SetBackupVaultArn sets the BackupVaultArn field's value. +func (s *DescribeBackupJobOutput) SetBackupVaultArn(v string) *DescribeBackupJobOutput { + s.BackupVaultArn = &v + return s +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *DescribeBackupJobOutput) SetBackupVaultName(v string) *DescribeBackupJobOutput { + s.BackupVaultName = &v + return s +} + +// SetBytesTransferred sets the BytesTransferred field's value. +func (s *DescribeBackupJobOutput) SetBytesTransferred(v int64) *DescribeBackupJobOutput { + s.BytesTransferred = &v + return s +} + +// SetCompletionDate sets the CompletionDate field's value. +func (s *DescribeBackupJobOutput) SetCompletionDate(v time.Time) *DescribeBackupJobOutput { + s.CompletionDate = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *DescribeBackupJobOutput) SetCreatedBy(v *RecoveryPointCreator) *DescribeBackupJobOutput { + s.CreatedBy = v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *DescribeBackupJobOutput) SetCreationDate(v time.Time) *DescribeBackupJobOutput { + s.CreationDate = &v + return s +} + +// SetExpectedCompletionDate sets the ExpectedCompletionDate field's value. +func (s *DescribeBackupJobOutput) SetExpectedCompletionDate(v time.Time) *DescribeBackupJobOutput { + s.ExpectedCompletionDate = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *DescribeBackupJobOutput) SetIamRoleArn(v string) *DescribeBackupJobOutput { + s.IamRoleArn = &v + return s +} + +// SetPercentDone sets the PercentDone field's value. +func (s *DescribeBackupJobOutput) SetPercentDone(v string) *DescribeBackupJobOutput { + s.PercentDone = &v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *DescribeBackupJobOutput) SetRecoveryPointArn(v string) *DescribeBackupJobOutput { + s.RecoveryPointArn = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DescribeBackupJobOutput) SetResourceArn(v string) *DescribeBackupJobOutput { + s.ResourceArn = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *DescribeBackupJobOutput) SetResourceType(v string) *DescribeBackupJobOutput { + s.ResourceType = &v + return s +} + +// SetStartBy sets the StartBy field's value. +func (s *DescribeBackupJobOutput) SetStartBy(v time.Time) *DescribeBackupJobOutput { + s.StartBy = &v + return s +} + +// SetState sets the State field's value. +func (s *DescribeBackupJobOutput) SetState(v string) *DescribeBackupJobOutput { + s.State = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *DescribeBackupJobOutput) SetStatusMessage(v string) *DescribeBackupJobOutput { + s.StatusMessage = &v + return s +} + +type DescribeBackupVaultInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeBackupVaultInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBackupVaultInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeBackupVaultInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBackupVaultInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *DescribeBackupVaultInput) SetBackupVaultName(v string) *DescribeBackupVaultInput { + s.BackupVaultName = &v + return s +} + +type DescribeBackupVaultOutput struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for + // example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. + BackupVaultArn *string `type:"string"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the Region where they are created. They consist of lowercase letters, numbers, + // and hyphens. + BackupVaultName *string `type:"string"` + + // The date and time that a backup vault is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // A unique string that identifies the request and allows failed requests to + // be retried without the risk of executing the operation twice. + CreatorRequestId *string `type:"string"` + + // The server-side encryption key that is used to protect your backups; for + // example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. + EncryptionKeyArn *string `type:"string"` + + // The number of recovery points that are stored in a backup vault. + NumberOfRecoveryPoints *int64 `type:"long"` +} + +// String returns the string representation +func (s DescribeBackupVaultOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBackupVaultOutput) GoString() string { + return s.String() +} + +// SetBackupVaultArn sets the BackupVaultArn field's value. +func (s *DescribeBackupVaultOutput) SetBackupVaultArn(v string) *DescribeBackupVaultOutput { + s.BackupVaultArn = &v + return s +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *DescribeBackupVaultOutput) SetBackupVaultName(v string) *DescribeBackupVaultOutput { + s.BackupVaultName = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *DescribeBackupVaultOutput) SetCreationDate(v time.Time) *DescribeBackupVaultOutput { + s.CreationDate = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *DescribeBackupVaultOutput) SetCreatorRequestId(v string) *DescribeBackupVaultOutput { + s.CreatorRequestId = &v + return s +} + +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *DescribeBackupVaultOutput) SetEncryptionKeyArn(v string) *DescribeBackupVaultOutput { + s.EncryptionKeyArn = &v + return s +} + +// SetNumberOfRecoveryPoints sets the NumberOfRecoveryPoints field's value. +func (s *DescribeBackupVaultOutput) SetNumberOfRecoveryPoints(v int64) *DescribeBackupVaultOutput { + s.NumberOfRecoveryPoints = &v + return s +} + +type DescribeProtectedResourceInput struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a resource. The format + // of the ARN depends on the resource type. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeProtectedResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProtectedResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeProtectedResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeProtectedResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DescribeProtectedResourceInput) SetResourceArn(v string) *DescribeProtectedResourceInput { + s.ResourceArn = &v + return s +} + +type DescribeProtectedResourceOutput struct { + _ struct{} `type:"structure"` + + // The date and time that a resource was last backed up, in Unix format and + // Coordinated Universal Time (UTC). The value of LastBackupTime is accurate + // to milliseconds. For example, the value 1516925490.087 represents Friday, + // January 26, 2018 12:11:30.087 AM. + LastBackupTime *time.Time `type:"timestamp"` + + // An ARN that uniquely identifies a resource. The format of the ARN depends + // on the resource type. + ResourceArn *string `type:"string"` + + // The type of AWS resource saved as a recovery point; for example, an EBS volume + // or an Amazon RDS database. + ResourceType *string `type:"string"` +} + +// String returns the string representation +func (s DescribeProtectedResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProtectedResourceOutput) GoString() string { + return s.String() +} + +// SetLastBackupTime sets the LastBackupTime field's value. +func (s *DescribeProtectedResourceOutput) SetLastBackupTime(v time.Time) *DescribeProtectedResourceOutput { + s.LastBackupTime = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DescribeProtectedResourceOutput) SetResourceArn(v string) *DescribeProtectedResourceOutput { + s.ResourceArn = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *DescribeProtectedResourceOutput) SetResourceType(v string) *DescribeProtectedResourceOutput { + s.ResourceType = &v + return s +} + +type DescribeRecoveryPointInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` + + // An Amazon Resource Name (ARN) that uniquely identifies a recovery point; + // for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + // + // RecoveryPointArn is a required field + RecoveryPointArn *string `location:"uri" locationName:"recoveryPointArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeRecoveryPointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRecoveryPointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeRecoveryPointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeRecoveryPointInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + if s.RecoveryPointArn == nil { + invalidParams.Add(request.NewErrParamRequired("RecoveryPointArn")) + } + if s.RecoveryPointArn != nil && len(*s.RecoveryPointArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RecoveryPointArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *DescribeRecoveryPointInput) SetBackupVaultName(v string) *DescribeRecoveryPointInput { + s.BackupVaultName = &v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *DescribeRecoveryPointInput) SetRecoveryPointArn(v string) *DescribeRecoveryPointInput { + s.RecoveryPointArn = &v + return s +} + +type DescribeRecoveryPointOutput struct { + _ struct{} `type:"structure"` + + // The size, in bytes, of a backup. + BackupSizeInBytes *int64 `type:"long"` + + // An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. + BackupVaultArn *string `type:"string"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the Region where they are created. They consist of lowercase letters, numbers, + // and hyphens. + BackupVaultName *string `type:"string"` + + // A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt + // timestamps. + CalculatedLifecycle *CalculatedLifecycle `type:"structure"` + + // The date and time that a job to create a recovery point is completed, in + // Unix format and Coordinated Universal Time (UTC). The value of CompletionDate + // is accurate to milliseconds. For example, the value 1516925490.087 represents + // Friday, January 26, 2018 12:11:30.087 AM. + CompletionDate *time.Time `type:"timestamp"` + + // Contains identifying information about the creation of a recovery point, + // including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId + // of the backup plan used to create it. + CreatedBy *RecoveryPointCreator `type:"structure"` + + // The date and time that a recovery point is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // The server-side encryption key used to protect your backups; for example, + // arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. + EncryptionKeyArn *string `type:"string"` + + // Specifies the IAM role ARN used to create the target recovery point; for + // example, arn:aws:iam::123456789012:role/S3Access. + IamRoleArn *string `type:"string"` + + // A Boolean value that is returned as TRUE if the specified recovery point + // is encrypted, or FALSE if the recovery point is not encrypted. + IsEncrypted *bool `type:"boolean"` + + // The date and time that a recovery point was last restored, in Unix format + // and Coordinated Universal Time (UTC). The value of LastRestoreTime is accurate + // to milliseconds. For example, the value 1516925490.087 represents Friday, + // January 26, 2018 12:11:30.087 AM. + LastRestoreTime *time.Time `type:"timestamp"` + + // The lifecycle defines when a protected resource is transitioned to cold storage + // and when it expires. AWS Backup transitions and expires backups automatically + // according to the lifecycle that you define. + // + // Backups that are transitioned to cold storage must be stored in cold storage + // for a minimum of 90 days. Therefore, the “expire after days” setting must + // be 90 days greater than the “transition to cold after days” setting. The + // “transition to cold after days” setting cannot be changed after a backup + // has been transitioned to cold. + Lifecycle *Lifecycle `type:"structure"` + + // An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + RecoveryPointArn *string `type:"string"` + + // An ARN that uniquely identifies a saved resource. The format of the ARN depends + // on the resource type. + ResourceArn *string `type:"string"` + + // The type of AWS resource to save as a recovery point; for example, an Amazon + // Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database + // Service (Amazon RDS) database. + ResourceType *string `type:"string"` + + // A status code specifying the state of the recovery point. + // + // A partial status indicates that the recovery point was not successfully re-created + // and must be retried. + Status *string `type:"string" enum:"RecoveryPointStatus"` + + // Specifies the storage class of the recovery point. Valid values are WARM + // or COLD. + StorageClass *string `type:"string" enum:"StorageClass"` +} + +// String returns the string representation +func (s DescribeRecoveryPointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRecoveryPointOutput) GoString() string { + return s.String() +} + +// SetBackupSizeInBytes sets the BackupSizeInBytes field's value. +func (s *DescribeRecoveryPointOutput) SetBackupSizeInBytes(v int64) *DescribeRecoveryPointOutput { + s.BackupSizeInBytes = &v + return s +} + +// SetBackupVaultArn sets the BackupVaultArn field's value. +func (s *DescribeRecoveryPointOutput) SetBackupVaultArn(v string) *DescribeRecoveryPointOutput { + s.BackupVaultArn = &v + return s +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *DescribeRecoveryPointOutput) SetBackupVaultName(v string) *DescribeRecoveryPointOutput { + s.BackupVaultName = &v + return s +} + +// SetCalculatedLifecycle sets the CalculatedLifecycle field's value. +func (s *DescribeRecoveryPointOutput) SetCalculatedLifecycle(v *CalculatedLifecycle) *DescribeRecoveryPointOutput { + s.CalculatedLifecycle = v + return s +} + +// SetCompletionDate sets the CompletionDate field's value. +func (s *DescribeRecoveryPointOutput) SetCompletionDate(v time.Time) *DescribeRecoveryPointOutput { + s.CompletionDate = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *DescribeRecoveryPointOutput) SetCreatedBy(v *RecoveryPointCreator) *DescribeRecoveryPointOutput { + s.CreatedBy = v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *DescribeRecoveryPointOutput) SetCreationDate(v time.Time) *DescribeRecoveryPointOutput { + s.CreationDate = &v + return s +} + +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *DescribeRecoveryPointOutput) SetEncryptionKeyArn(v string) *DescribeRecoveryPointOutput { + s.EncryptionKeyArn = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *DescribeRecoveryPointOutput) SetIamRoleArn(v string) *DescribeRecoveryPointOutput { + s.IamRoleArn = &v + return s +} + +// SetIsEncrypted sets the IsEncrypted field's value. +func (s *DescribeRecoveryPointOutput) SetIsEncrypted(v bool) *DescribeRecoveryPointOutput { + s.IsEncrypted = &v + return s +} + +// SetLastRestoreTime sets the LastRestoreTime field's value. +func (s *DescribeRecoveryPointOutput) SetLastRestoreTime(v time.Time) *DescribeRecoveryPointOutput { + s.LastRestoreTime = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *DescribeRecoveryPointOutput) SetLifecycle(v *Lifecycle) *DescribeRecoveryPointOutput { + s.Lifecycle = v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *DescribeRecoveryPointOutput) SetRecoveryPointArn(v string) *DescribeRecoveryPointOutput { + s.RecoveryPointArn = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DescribeRecoveryPointOutput) SetResourceArn(v string) *DescribeRecoveryPointOutput { + s.ResourceArn = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *DescribeRecoveryPointOutput) SetResourceType(v string) *DescribeRecoveryPointOutput { + s.ResourceType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeRecoveryPointOutput) SetStatus(v string) *DescribeRecoveryPointOutput { + s.Status = &v + return s +} + +// SetStorageClass sets the StorageClass field's value. +func (s *DescribeRecoveryPointOutput) SetStorageClass(v string) *DescribeRecoveryPointOutput { + s.StorageClass = &v + return s +} + +type DescribeRestoreJobInput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies the job that restores a recovery point. + // + // RestoreJobId is a required field + RestoreJobId *string `location:"uri" locationName:"restoreJobId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeRestoreJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRestoreJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeRestoreJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeRestoreJobInput"} + if s.RestoreJobId == nil { + invalidParams.Add(request.NewErrParamRequired("RestoreJobId")) + } + if s.RestoreJobId != nil && len(*s.RestoreJobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RestoreJobId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRestoreJobId sets the RestoreJobId field's value. +func (s *DescribeRestoreJobInput) SetRestoreJobId(v string) *DescribeRestoreJobInput { + s.RestoreJobId = &v + return s +} + +type DescribeRestoreJobOutput struct { + _ struct{} `type:"structure"` + + // The size, in bytes, of the restored resource. + BackupSizeInBytes *int64 `type:"long"` + + // The date and time that a job to restore a recovery point is completed, in + // Unix format and Coordinated Universal Time (UTC). The value of CompletionDate + // is accurate to milliseconds. For example, the value 1516925490.087 represents + // Friday, January 26, 2018 12:11:30.087 AM. + CompletionDate *time.Time `type:"timestamp"` + + // An Amazon Resource Name (ARN) that uniquely identifies a resource whose recovery + // point is being restored. The format of the ARN depends on the resource type + // of the backed-up resource. + CreatedResourceArn *string `type:"string"` + + // The date and time that a restore job is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // The amount of time in minutes that a job restoring a recovery point is expected + // to take. + ExpectedCompletionTimeMinutes *int64 `type:"long"` + + // Specifies the IAM role ARN used to create the target recovery point; for + // example, arn:aws:iam::123456789012:role/S3Access. + IamRoleArn *string `type:"string"` + + // Contains an estimated percentage that is complete of a job at the time the + // job status was queried. + PercentDone *string `type:"string"` + + // An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + RecoveryPointArn *string `type:"string"` + + // Uniquely identifies the job that restores a recovery point. + RestoreJobId *string `type:"string"` + + // Status code specifying the state of the job that is initiated by AWS Backup + // to restore a recovery point. + Status *string `type:"string" enum:"RestoreJobStatus"` + + // A detailed message explaining the status of a job to restore a recovery point. + StatusMessage *string `type:"string"` +} + +// String returns the string representation +func (s DescribeRestoreJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRestoreJobOutput) GoString() string { + return s.String() +} + +// SetBackupSizeInBytes sets the BackupSizeInBytes field's value. +func (s *DescribeRestoreJobOutput) SetBackupSizeInBytes(v int64) *DescribeRestoreJobOutput { + s.BackupSizeInBytes = &v + return s +} + +// SetCompletionDate sets the CompletionDate field's value. +func (s *DescribeRestoreJobOutput) SetCompletionDate(v time.Time) *DescribeRestoreJobOutput { + s.CompletionDate = &v + return s +} + +// SetCreatedResourceArn sets the CreatedResourceArn field's value. +func (s *DescribeRestoreJobOutput) SetCreatedResourceArn(v string) *DescribeRestoreJobOutput { + s.CreatedResourceArn = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *DescribeRestoreJobOutput) SetCreationDate(v time.Time) *DescribeRestoreJobOutput { + s.CreationDate = &v + return s +} + +// SetExpectedCompletionTimeMinutes sets the ExpectedCompletionTimeMinutes field's value. +func (s *DescribeRestoreJobOutput) SetExpectedCompletionTimeMinutes(v int64) *DescribeRestoreJobOutput { + s.ExpectedCompletionTimeMinutes = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *DescribeRestoreJobOutput) SetIamRoleArn(v string) *DescribeRestoreJobOutput { + s.IamRoleArn = &v + return s +} + +// SetPercentDone sets the PercentDone field's value. +func (s *DescribeRestoreJobOutput) SetPercentDone(v string) *DescribeRestoreJobOutput { + s.PercentDone = &v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *DescribeRestoreJobOutput) SetRecoveryPointArn(v string) *DescribeRestoreJobOutput { + s.RecoveryPointArn = &v + return s +} + +// SetRestoreJobId sets the RestoreJobId field's value. +func (s *DescribeRestoreJobOutput) SetRestoreJobId(v string) *DescribeRestoreJobOutput { + s.RestoreJobId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeRestoreJobOutput) SetStatus(v string) *DescribeRestoreJobOutput { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *DescribeRestoreJobOutput) SetStatusMessage(v string) *DescribeRestoreJobOutput { + s.StatusMessage = &v + return s +} + +type ExportBackupPlanTemplateInput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a backup plan. + // + // BackupPlanId is a required field + BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"` +} + +// String returns the string representation +func (s ExportBackupPlanTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportBackupPlanTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExportBackupPlanTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExportBackupPlanTemplateInput"} + if s.BackupPlanId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlanId")) + } + if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *ExportBackupPlanTemplateInput) SetBackupPlanId(v string) *ExportBackupPlanTemplateInput { + s.BackupPlanId = &v + return s +} + +type ExportBackupPlanTemplateOutput struct { + _ struct{} `type:"structure"` + + // The body of a backup plan template in JSON format. + // + // This is a signed JSON document that cannot be modified before being passed + // to GetBackupPlanFromJSON. + BackupPlanTemplateJson *string `type:"string"` +} + +// String returns the string representation +func (s ExportBackupPlanTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportBackupPlanTemplateOutput) GoString() string { + return s.String() +} + +// SetBackupPlanTemplateJson sets the BackupPlanTemplateJson field's value. +func (s *ExportBackupPlanTemplateOutput) SetBackupPlanTemplateJson(v string) *ExportBackupPlanTemplateOutput { + s.BackupPlanTemplateJson = &v + return s +} + +type GetBackupPlanFromJSONInput struct { + _ struct{} `type:"structure"` + + // A customer-supplied backup plan document in JSON format. + // + // BackupPlanTemplateJson is a required field + BackupPlanTemplateJson *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetBackupPlanFromJSONInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackupPlanFromJSONInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBackupPlanFromJSONInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBackupPlanFromJSONInput"} + if s.BackupPlanTemplateJson == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlanTemplateJson")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPlanTemplateJson sets the BackupPlanTemplateJson field's value. +func (s *GetBackupPlanFromJSONInput) SetBackupPlanTemplateJson(v string) *GetBackupPlanFromJSONInput { + s.BackupPlanTemplateJson = &v + return s +} + +type GetBackupPlanFromJSONOutput struct { + _ struct{} `type:"structure"` + + // Specifies the body of a backup plan. Includes a BackupPlanName and one or + // more sets of Rules. + BackupPlan *Plan `type:"structure"` +} + +// String returns the string representation +func (s GetBackupPlanFromJSONOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackupPlanFromJSONOutput) GoString() string { + return s.String() +} + +// SetBackupPlan sets the BackupPlan field's value. +func (s *GetBackupPlanFromJSONOutput) SetBackupPlan(v *Plan) *GetBackupPlanFromJSONOutput { + s.BackupPlan = v + return s +} + +type GetBackupPlanFromTemplateInput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a stored backup plan template. + // + // BackupPlanTemplateId is a required field + BackupPlanTemplateId *string `location:"uri" locationName:"templateId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetBackupPlanFromTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackupPlanFromTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBackupPlanFromTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBackupPlanFromTemplateInput"} + if s.BackupPlanTemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlanTemplateId")) + } + if s.BackupPlanTemplateId != nil && len(*s.BackupPlanTemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupPlanTemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPlanTemplateId sets the BackupPlanTemplateId field's value. +func (s *GetBackupPlanFromTemplateInput) SetBackupPlanTemplateId(v string) *GetBackupPlanFromTemplateInput { + s.BackupPlanTemplateId = &v + return s +} + +type GetBackupPlanFromTemplateOutput struct { + _ struct{} `type:"structure"` + + // Returns the body of a backup plan based on the target template, including + // the name, rules, and backup vault of the plan. + BackupPlanDocument *Plan `type:"structure"` +} + +// String returns the string representation +func (s GetBackupPlanFromTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackupPlanFromTemplateOutput) GoString() string { + return s.String() +} + +// SetBackupPlanDocument sets the BackupPlanDocument field's value. +func (s *GetBackupPlanFromTemplateOutput) SetBackupPlanDocument(v *Plan) *GetBackupPlanFromTemplateOutput { + s.BackupPlanDocument = v + return s +} + +type GetBackupPlanInput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a backup plan. + // + // BackupPlanId is a required field + BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"` + + // Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most + // 1,024 bytes long. Version IDs cannot be edited. + VersionId *string `location:"querystring" locationName:"versionId" type:"string"` +} + +// String returns the string representation +func (s GetBackupPlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackupPlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBackupPlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBackupPlanInput"} + if s.BackupPlanId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlanId")) + } + if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *GetBackupPlanInput) SetBackupPlanId(v string) *GetBackupPlanInput { + s.BackupPlanId = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *GetBackupPlanInput) SetVersionId(v string) *GetBackupPlanInput { + s.VersionId = &v + return s +} + +type GetBackupPlanOutput struct { + _ struct{} `type:"structure"` + + // Specifies the body of a backup plan. Includes a BackupPlanName and one or + // more sets of Rules. + BackupPlan *Plan `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for + // example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50. + BackupPlanArn *string `type:"string"` + + // Uniquely identifies a backup plan. + BackupPlanId *string `type:"string"` + + // The date and time that a backup plan is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // A unique string that identifies the request and allows failed requests to + // be retried without the risk of executing the operation twice. + CreatorRequestId *string `type:"string"` + + // The date and time that a backup plan is deleted, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + DeletionDate *time.Time `type:"timestamp"` + + // The last time a job to back up resources was executed with this backup plan. + // A date and time, in Unix format and Coordinated Universal Time (UTC). The + // value of LastExecutionDate is accurate to milliseconds. For example, the + // value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM. + LastExecutionDate *time.Time `type:"timestamp"` + + // Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most + // 1,024 bytes long. Version IDs cannot be edited. + VersionId *string `type:"string"` +} + +// String returns the string representation +func (s GetBackupPlanOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackupPlanOutput) GoString() string { + return s.String() +} + +// SetBackupPlan sets the BackupPlan field's value. +func (s *GetBackupPlanOutput) SetBackupPlan(v *Plan) *GetBackupPlanOutput { + s.BackupPlan = v + return s +} + +// SetBackupPlanArn sets the BackupPlanArn field's value. +func (s *GetBackupPlanOutput) SetBackupPlanArn(v string) *GetBackupPlanOutput { + s.BackupPlanArn = &v + return s +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *GetBackupPlanOutput) SetBackupPlanId(v string) *GetBackupPlanOutput { + s.BackupPlanId = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *GetBackupPlanOutput) SetCreationDate(v time.Time) *GetBackupPlanOutput { + s.CreationDate = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *GetBackupPlanOutput) SetCreatorRequestId(v string) *GetBackupPlanOutput { + s.CreatorRequestId = &v + return s +} + +// SetDeletionDate sets the DeletionDate field's value. +func (s *GetBackupPlanOutput) SetDeletionDate(v time.Time) *GetBackupPlanOutput { + s.DeletionDate = &v + return s +} + +// SetLastExecutionDate sets the LastExecutionDate field's value. +func (s *GetBackupPlanOutput) SetLastExecutionDate(v time.Time) *GetBackupPlanOutput { + s.LastExecutionDate = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *GetBackupPlanOutput) SetVersionId(v string) *GetBackupPlanOutput { + s.VersionId = &v + return s +} + +type GetBackupSelectionInput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a backup plan. + // + // BackupPlanId is a required field + BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"` + + // Uniquely identifies the body of a request to assign a set of resources to + // a backup plan. + // + // SelectionId is a required field + SelectionId *string `location:"uri" locationName:"selectionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetBackupSelectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackupSelectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBackupSelectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBackupSelectionInput"} + if s.BackupPlanId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlanId")) + } + if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1)) + } + if s.SelectionId == nil { + invalidParams.Add(request.NewErrParamRequired("SelectionId")) + } + if s.SelectionId != nil && len(*s.SelectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SelectionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *GetBackupSelectionInput) SetBackupPlanId(v string) *GetBackupSelectionInput { + s.BackupPlanId = &v + return s +} + +// SetSelectionId sets the SelectionId field's value. +func (s *GetBackupSelectionInput) SetSelectionId(v string) *GetBackupSelectionInput { + s.SelectionId = &v + return s +} + +type GetBackupSelectionOutput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a backup plan. + BackupPlanId *string `type:"string"` + + // Specifies the body of a request to assign a set of resources to a backup + // plan. + // + // It includes an array of resources, an optional array of patterns to exclude + // resources, an optional role to provide access to the AWS service that the + // resource belongs to, and an optional array of tags used to identify a set + // of resources. + BackupSelection *Selection `type:"structure"` + + // The date and time a backup selection is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // A unique string that identifies the request and allows failed requests to + // be retried without the risk of executing the operation twice. + CreatorRequestId *string `type:"string"` + + // Uniquely identifies the body of a request to assign a set of resources to + // a backup plan. + SelectionId *string `type:"string"` +} + +// String returns the string representation +func (s GetBackupSelectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackupSelectionOutput) GoString() string { + return s.String() +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *GetBackupSelectionOutput) SetBackupPlanId(v string) *GetBackupSelectionOutput { + s.BackupPlanId = &v + return s +} + +// SetBackupSelection sets the BackupSelection field's value. +func (s *GetBackupSelectionOutput) SetBackupSelection(v *Selection) *GetBackupSelectionOutput { + s.BackupSelection = v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *GetBackupSelectionOutput) SetCreationDate(v time.Time) *GetBackupSelectionOutput { + s.CreationDate = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *GetBackupSelectionOutput) SetCreatorRequestId(v string) *GetBackupSelectionOutput { + s.CreatorRequestId = &v + return s +} + +// SetSelectionId sets the SelectionId field's value. +func (s *GetBackupSelectionOutput) SetSelectionId(v string) *GetBackupSelectionOutput { + s.SelectionId = &v + return s +} + +type GetBackupVaultAccessPolicyInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetBackupVaultAccessPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackupVaultAccessPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBackupVaultAccessPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBackupVaultAccessPolicyInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *GetBackupVaultAccessPolicyInput) SetBackupVaultName(v string) *GetBackupVaultAccessPolicyInput { + s.BackupVaultName = &v + return s +} + +type GetBackupVaultAccessPolicyOutput struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for + // example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. + BackupVaultArn *string `type:"string"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the Region where they are created. They consist of lowercase letters, numbers, + // and hyphens. + BackupVaultName *string `type:"string"` + + // The backup vault access policy document in JSON format. + Policy *string `type:"string"` +} + +// String returns the string representation +func (s GetBackupVaultAccessPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackupVaultAccessPolicyOutput) GoString() string { + return s.String() +} + +// SetBackupVaultArn sets the BackupVaultArn field's value. +func (s *GetBackupVaultAccessPolicyOutput) SetBackupVaultArn(v string) *GetBackupVaultAccessPolicyOutput { + s.BackupVaultArn = &v + return s +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *GetBackupVaultAccessPolicyOutput) SetBackupVaultName(v string) *GetBackupVaultAccessPolicyOutput { + s.BackupVaultName = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *GetBackupVaultAccessPolicyOutput) SetPolicy(v string) *GetBackupVaultAccessPolicyOutput { + s.Policy = &v + return s +} + +type GetBackupVaultNotificationsInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetBackupVaultNotificationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackupVaultNotificationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBackupVaultNotificationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBackupVaultNotificationsInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *GetBackupVaultNotificationsInput) SetBackupVaultName(v string) *GetBackupVaultNotificationsInput { + s.BackupVaultName = &v + return s +} + +type GetBackupVaultNotificationsOutput struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for + // example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. + BackupVaultArn *string `type:"string"` + + // An array of events that indicate the status of jobs to back up resources + // to the backup vault. + BackupVaultEvents []*string `type:"list"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the Region where they are created. They consist of lowercase letters, numbers, + // and hyphens. + BackupVaultName *string `type:"string"` + + // An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon + // SNS) topic; for example, arn:aws:sns:us-west-2:111122223333:MyTopic. + SNSTopicArn *string `type:"string"` +} + +// String returns the string representation +func (s GetBackupVaultNotificationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackupVaultNotificationsOutput) GoString() string { + return s.String() +} + +// SetBackupVaultArn sets the BackupVaultArn field's value. +func (s *GetBackupVaultNotificationsOutput) SetBackupVaultArn(v string) *GetBackupVaultNotificationsOutput { + s.BackupVaultArn = &v + return s +} + +// SetBackupVaultEvents sets the BackupVaultEvents field's value. +func (s *GetBackupVaultNotificationsOutput) SetBackupVaultEvents(v []*string) *GetBackupVaultNotificationsOutput { + s.BackupVaultEvents = v + return s +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *GetBackupVaultNotificationsOutput) SetBackupVaultName(v string) *GetBackupVaultNotificationsOutput { + s.BackupVaultName = &v + return s +} + +// SetSNSTopicArn sets the SNSTopicArn field's value. +func (s *GetBackupVaultNotificationsOutput) SetSNSTopicArn(v string) *GetBackupVaultNotificationsOutput { + s.SNSTopicArn = &v + return s +} + +type GetRecoveryPointRestoreMetadataInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` + + // An Amazon Resource Name (ARN) that uniquely identifies a recovery point; + // for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + // + // RecoveryPointArn is a required field + RecoveryPointArn *string `location:"uri" locationName:"recoveryPointArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetRecoveryPointRestoreMetadataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRecoveryPointRestoreMetadataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRecoveryPointRestoreMetadataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRecoveryPointRestoreMetadataInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + if s.RecoveryPointArn == nil { + invalidParams.Add(request.NewErrParamRequired("RecoveryPointArn")) + } + if s.RecoveryPointArn != nil && len(*s.RecoveryPointArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RecoveryPointArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *GetRecoveryPointRestoreMetadataInput) SetBackupVaultName(v string) *GetRecoveryPointRestoreMetadataInput { + s.BackupVaultName = &v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *GetRecoveryPointRestoreMetadataInput) SetRecoveryPointArn(v string) *GetRecoveryPointRestoreMetadataInput { + s.RecoveryPointArn = &v + return s +} + +type GetRecoveryPointRestoreMetadataOutput struct { + _ struct{} `type:"structure"` + + // An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. + BackupVaultArn *string `type:"string"` + + // An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + RecoveryPointArn *string `type:"string"` + + // A set of metadata key-value pairs that lists the metadata key-value pairs + // that are required to restore the recovery point. + RestoreMetadata map[string]*string `type:"map"` +} + +// String returns the string representation +func (s GetRecoveryPointRestoreMetadataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRecoveryPointRestoreMetadataOutput) GoString() string { + return s.String() +} + +// SetBackupVaultArn sets the BackupVaultArn field's value. +func (s *GetRecoveryPointRestoreMetadataOutput) SetBackupVaultArn(v string) *GetRecoveryPointRestoreMetadataOutput { + s.BackupVaultArn = &v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *GetRecoveryPointRestoreMetadataOutput) SetRecoveryPointArn(v string) *GetRecoveryPointRestoreMetadataOutput { + s.RecoveryPointArn = &v + return s +} + +// SetRestoreMetadata sets the RestoreMetadata field's value. +func (s *GetRecoveryPointRestoreMetadataOutput) SetRestoreMetadata(v map[string]*string) *GetRecoveryPointRestoreMetadataOutput { + s.RestoreMetadata = v + return s +} + +type GetSupportedResourceTypesInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetSupportedResourceTypesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSupportedResourceTypesInput) GoString() string { + return s.String() +} + +type GetSupportedResourceTypesOutput struct { + _ struct{} `type:"structure"` + + // Contains a string with the supported AWS resource types: + // + // * EBS for Amazon Elastic Block Store + // + // * SGW for AWS Storage Gateway + // + // * RDS for Amazon Relational Database Service + // + // * DDB for Amazon DynamoDB + // + // * EFS for Amazon Elastic File System + ResourceTypes []*string `type:"list"` +} + +// String returns the string representation +func (s GetSupportedResourceTypesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSupportedResourceTypesOutput) GoString() string { + return s.String() +} + +// SetResourceTypes sets the ResourceTypes field's value. +func (s *GetSupportedResourceTypesOutput) SetResourceTypes(v []*string) *GetSupportedResourceTypesOutput { + s.ResourceTypes = v + return s +} + +// Contains detailed information about a backup job. +type Job struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a request to AWS Backup to back up a resource. + BackupJobId *string `type:"string"` + + // The size, in bytes, of a backup. + BackupSizeInBytes *int64 `type:"long"` + + // An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for + // example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. + BackupVaultArn *string `type:"string"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + BackupVaultName *string `type:"string"` + + // The size in bytes transferred to a backup vault at the time that the job + // status was queried. + BytesTransferred *int64 `type:"long"` + + // The date and time a job to create a backup job is completed, in Unix format + // and Coordinated Universal Time (UTC). The value of CompletionDate is accurate + // to milliseconds. For example, the value 1516925490.087 represents Friday, + // January 26, 2018 12:11:30.087 AM. + CompletionDate *time.Time `type:"timestamp"` + + // Contains identifying information about the creation of a backup job, including + // the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the + // backup plan used to create it. + CreatedBy *RecoveryPointCreator `type:"structure"` + + // The date and time a backup job is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // The date and time a job to back up resources is expected to be completed, + // in Unix format and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate + // is accurate to milliseconds. For example, the value 1516925490.087 represents + // Friday, January 26, 2018 12:11:30.087 AM. + ExpectedCompletionDate *time.Time `type:"timestamp"` + + // Specifies the IAM role ARN used to create the target recovery point; for + // example, arn:aws:iam::123456789012:role/S3Access. + IamRoleArn *string `type:"string"` + + // Contains an estimated percentage complete of a job at the time the job status + // was queried. + PercentDone *string `type:"string"` + + // An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + RecoveryPointArn *string `type:"string"` + + // An ARN that uniquely identifies a resource. The format of the ARN depends + // on the resource type. + ResourceArn *string `type:"string"` + + // The type of AWS resource to be backed-up; for example, an Amazon Elastic + // Block Store (Amazon EBS) volume or an Amazon Relational Database Service + // (Amazon RDS) database. + ResourceType *string `type:"string"` + + // Specifies the time in Unix format and Coordinated Universal Time (UTC) when + // a backup job must be started before it is canceled. The value is calculated + // by adding the start window to the scheduled time. So if the scheduled time + // were 6:00 PM and the start window is 2 hours, the StartBy time would be 8:00 + // PM on the date specified. The value of StartBy is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + StartBy *time.Time `type:"timestamp"` + + // The current state of a resource recovery point. + State *string `type:"string" enum:"JobState"` + + // A detailed message explaining the status of the job to back up a resource. + StatusMessage *string `type:"string"` +} + +// String returns the string representation +func (s Job) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Job) GoString() string { + return s.String() +} + +// SetBackupJobId sets the BackupJobId field's value. +func (s *Job) SetBackupJobId(v string) *Job { + s.BackupJobId = &v + return s +} + +// SetBackupSizeInBytes sets the BackupSizeInBytes field's value. +func (s *Job) SetBackupSizeInBytes(v int64) *Job { + s.BackupSizeInBytes = &v + return s +} + +// SetBackupVaultArn sets the BackupVaultArn field's value. +func (s *Job) SetBackupVaultArn(v string) *Job { + s.BackupVaultArn = &v + return s +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *Job) SetBackupVaultName(v string) *Job { + s.BackupVaultName = &v + return s +} + +// SetBytesTransferred sets the BytesTransferred field's value. +func (s *Job) SetBytesTransferred(v int64) *Job { + s.BytesTransferred = &v + return s +} + +// SetCompletionDate sets the CompletionDate field's value. +func (s *Job) SetCompletionDate(v time.Time) *Job { + s.CompletionDate = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *Job) SetCreatedBy(v *RecoveryPointCreator) *Job { + s.CreatedBy = v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *Job) SetCreationDate(v time.Time) *Job { + s.CreationDate = &v + return s +} + +// SetExpectedCompletionDate sets the ExpectedCompletionDate field's value. +func (s *Job) SetExpectedCompletionDate(v time.Time) *Job { + s.ExpectedCompletionDate = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *Job) SetIamRoleArn(v string) *Job { + s.IamRoleArn = &v + return s +} + +// SetPercentDone sets the PercentDone field's value. +func (s *Job) SetPercentDone(v string) *Job { + s.PercentDone = &v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *Job) SetRecoveryPointArn(v string) *Job { + s.RecoveryPointArn = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *Job) SetResourceArn(v string) *Job { + s.ResourceArn = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *Job) SetResourceType(v string) *Job { + s.ResourceType = &v + return s +} + +// SetStartBy sets the StartBy field's value. +func (s *Job) SetStartBy(v time.Time) *Job { + s.StartBy = &v + return s +} + +// SetState sets the State field's value. +func (s *Job) SetState(v string) *Job { + s.State = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *Job) SetStatusMessage(v string) *Job { + s.StatusMessage = &v + return s +} + +// Contains an array of Transition objects specifying how long in days before +// a recovery point transitions to cold storage or is deleted. +type Lifecycle struct { + _ struct{} `type:"structure"` + + // Specifies the number of days after creation that a recovery point is deleted. + // Must be greater than MoveToColdStorageAfterDays. + DeleteAfterDays *int64 `type:"long"` + + // Specifies the number of days after creation that a recovery point is moved + // to cold storage. + MoveToColdStorageAfterDays *int64 `type:"long"` +} + +// String returns the string representation +func (s Lifecycle) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Lifecycle) GoString() string { + return s.String() +} + +// SetDeleteAfterDays sets the DeleteAfterDays field's value. +func (s *Lifecycle) SetDeleteAfterDays(v int64) *Lifecycle { + s.DeleteAfterDays = &v + return s +} + +// SetMoveToColdStorageAfterDays sets the MoveToColdStorageAfterDays field's value. +func (s *Lifecycle) SetMoveToColdStorageAfterDays(v int64) *Lifecycle { + s.MoveToColdStorageAfterDays = &v + return s +} + +type ListBackupJobsInput struct { + _ struct{} `type:"structure"` + + // Returns only backup jobs that will be stored in the specified backup vault. + // Backup vaults are identified by names that are unique to the account used + // to create them and the AWS Region where they are created. They consist of + // lowercase letters, numbers, and hyphens. + ByBackupVaultName *string `location:"querystring" locationName:"backupVaultName" type:"string"` + + // Returns only backup jobs that were created after the specified date. + ByCreatedAfter *time.Time `location:"querystring" locationName:"createdAfter" type:"timestamp"` + + // Returns only backup jobs that were created before the specified date. + ByCreatedBefore *time.Time `location:"querystring" locationName:"createdBefore" type:"timestamp"` + + // Returns only backup jobs that match the specified resource Amazon Resource + // Name (ARN). + ByResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string"` + + // Returns only backup jobs for the specified resources: + // + // * EBS for Amazon Elastic Block Store + // + // * SGW for AWS Storage Gateway + // + // * RDS for Amazon Relational Database Service + // + // * DDB for Amazon DynamoDB + // + // * EFS for Amazon Elastic File System + ByResourceType *string `location:"querystring" locationName:"resourceType" type:"string"` + + // Returns only backup jobs that are in the specified state. + ByState *string `location:"querystring" locationName:"state" type:"string" enum:"JobState"` + + // The maximum number of items to be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListBackupJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackupJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBackupJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBackupJobsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetByBackupVaultName sets the ByBackupVaultName field's value. +func (s *ListBackupJobsInput) SetByBackupVaultName(v string) *ListBackupJobsInput { + s.ByBackupVaultName = &v + return s +} + +// SetByCreatedAfter sets the ByCreatedAfter field's value. +func (s *ListBackupJobsInput) SetByCreatedAfter(v time.Time) *ListBackupJobsInput { + s.ByCreatedAfter = &v + return s +} + +// SetByCreatedBefore sets the ByCreatedBefore field's value. +func (s *ListBackupJobsInput) SetByCreatedBefore(v time.Time) *ListBackupJobsInput { + s.ByCreatedBefore = &v + return s +} + +// SetByResourceArn sets the ByResourceArn field's value. +func (s *ListBackupJobsInput) SetByResourceArn(v string) *ListBackupJobsInput { + s.ByResourceArn = &v + return s +} + +// SetByResourceType sets the ByResourceType field's value. +func (s *ListBackupJobsInput) SetByResourceType(v string) *ListBackupJobsInput { + s.ByResourceType = &v + return s +} + +// SetByState sets the ByState field's value. +func (s *ListBackupJobsInput) SetByState(v string) *ListBackupJobsInput { + s.ByState = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListBackupJobsInput) SetMaxResults(v int64) *ListBackupJobsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackupJobsInput) SetNextToken(v string) *ListBackupJobsInput { + s.NextToken = &v + return s +} + +type ListBackupJobsOutput struct { + _ struct{} `type:"structure"` + + // An array of structures containing metadata about your backup jobs returned + // in JSON format. + BackupJobs []*Job `type:"list"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListBackupJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackupJobsOutput) GoString() string { + return s.String() +} + +// SetBackupJobs sets the BackupJobs field's value. +func (s *ListBackupJobsOutput) SetBackupJobs(v []*Job) *ListBackupJobsOutput { + s.BackupJobs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackupJobsOutput) SetNextToken(v string) *ListBackupJobsOutput { + s.NextToken = &v + return s +} + +type ListBackupPlanTemplatesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of items to be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListBackupPlanTemplatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackupPlanTemplatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBackupPlanTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBackupPlanTemplatesInput"} + 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 *ListBackupPlanTemplatesInput) SetMaxResults(v int64) *ListBackupPlanTemplatesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackupPlanTemplatesInput) SetNextToken(v string) *ListBackupPlanTemplatesInput { + s.NextToken = &v + return s +} + +type ListBackupPlanTemplatesOutput struct { + _ struct{} `type:"structure"` + + // An array of template list items containing metadata about your saved templates. + BackupPlanTemplatesList []*PlanTemplatesListMember `type:"list"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListBackupPlanTemplatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackupPlanTemplatesOutput) GoString() string { + return s.String() +} + +// SetBackupPlanTemplatesList sets the BackupPlanTemplatesList field's value. +func (s *ListBackupPlanTemplatesOutput) SetBackupPlanTemplatesList(v []*PlanTemplatesListMember) *ListBackupPlanTemplatesOutput { + s.BackupPlanTemplatesList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackupPlanTemplatesOutput) SetNextToken(v string) *ListBackupPlanTemplatesOutput { + s.NextToken = &v + return s +} + +type ListBackupPlanVersionsInput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a backup plan. + // + // BackupPlanId is a required field + BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"` + + // The maximum number of items to be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListBackupPlanVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackupPlanVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBackupPlanVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBackupPlanVersionsInput"} + if s.BackupPlanId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlanId")) + } + if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *ListBackupPlanVersionsInput) SetBackupPlanId(v string) *ListBackupPlanVersionsInput { + s.BackupPlanId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListBackupPlanVersionsInput) SetMaxResults(v int64) *ListBackupPlanVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackupPlanVersionsInput) SetNextToken(v string) *ListBackupPlanVersionsInput { + s.NextToken = &v + return s +} + +type ListBackupPlanVersionsOutput struct { + _ struct{} `type:"structure"` + + // An array of version list items containing metadata about your backup plans. + BackupPlanVersionsList []*PlansListMember `type:"list"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListBackupPlanVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackupPlanVersionsOutput) GoString() string { + return s.String() +} + +// SetBackupPlanVersionsList sets the BackupPlanVersionsList field's value. +func (s *ListBackupPlanVersionsOutput) SetBackupPlanVersionsList(v []*PlansListMember) *ListBackupPlanVersionsOutput { + s.BackupPlanVersionsList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackupPlanVersionsOutput) SetNextToken(v string) *ListBackupPlanVersionsOutput { + s.NextToken = &v + return s +} + +type ListBackupPlansInput struct { + _ struct{} `type:"structure"` + + // A Boolean value with a default value of FALSE that returns deleted backup + // plans when set to TRUE. + IncludeDeleted *bool `location:"querystring" locationName:"includeDeleted" type:"boolean"` + + // The maximum number of items to be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListBackupPlansInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackupPlansInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBackupPlansInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBackupPlansInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIncludeDeleted sets the IncludeDeleted field's value. +func (s *ListBackupPlansInput) SetIncludeDeleted(v bool) *ListBackupPlansInput { + s.IncludeDeleted = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListBackupPlansInput) SetMaxResults(v int64) *ListBackupPlansInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackupPlansInput) SetNextToken(v string) *ListBackupPlansInput { + s.NextToken = &v + return s +} + +type ListBackupPlansOutput struct { + _ struct{} `type:"structure"` + + // An array of backup plan list items containing metadata about your saved backup + // plans. + BackupPlansList []*PlansListMember `type:"list"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListBackupPlansOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackupPlansOutput) GoString() string { + return s.String() +} + +// SetBackupPlansList sets the BackupPlansList field's value. +func (s *ListBackupPlansOutput) SetBackupPlansList(v []*PlansListMember) *ListBackupPlansOutput { + s.BackupPlansList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackupPlansOutput) SetNextToken(v string) *ListBackupPlansOutput { + s.NextToken = &v + return s +} + +type ListBackupSelectionsInput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a backup plan. + // + // BackupPlanId is a required field + BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"` + + // The maximum number of items to be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListBackupSelectionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackupSelectionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBackupSelectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBackupSelectionsInput"} + if s.BackupPlanId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlanId")) + } + if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *ListBackupSelectionsInput) SetBackupPlanId(v string) *ListBackupSelectionsInput { + s.BackupPlanId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListBackupSelectionsInput) SetMaxResults(v int64) *ListBackupSelectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackupSelectionsInput) SetNextToken(v string) *ListBackupSelectionsInput { + s.NextToken = &v + return s +} + +type ListBackupSelectionsOutput struct { + _ struct{} `type:"structure"` + + // An array of backup selection list items containing metadata about each resource + // in the list. + BackupSelectionsList []*SelectionsListMember `type:"list"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListBackupSelectionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackupSelectionsOutput) GoString() string { + return s.String() +} + +// SetBackupSelectionsList sets the BackupSelectionsList field's value. +func (s *ListBackupSelectionsOutput) SetBackupSelectionsList(v []*SelectionsListMember) *ListBackupSelectionsOutput { + s.BackupSelectionsList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackupSelectionsOutput) SetNextToken(v string) *ListBackupSelectionsOutput { + s.NextToken = &v + return s +} + +type ListBackupVaultsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of items to be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListBackupVaultsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackupVaultsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBackupVaultsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBackupVaultsInput"} + 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 *ListBackupVaultsInput) SetMaxResults(v int64) *ListBackupVaultsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackupVaultsInput) SetNextToken(v string) *ListBackupVaultsInput { + s.NextToken = &v + return s +} + +type ListBackupVaultsOutput struct { + _ struct{} `type:"structure"` + + // An array of backup vault list members containing vault metadata, including + // Amazon Resource Name (ARN), display name, creation date, number of saved + // recovery points, and encryption information if the resources saved in the + // backup vault are encrypted. + BackupVaultList []*VaultListMember `type:"list"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListBackupVaultsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackupVaultsOutput) GoString() string { + return s.String() +} + +// SetBackupVaultList sets the BackupVaultList field's value. +func (s *ListBackupVaultsOutput) SetBackupVaultList(v []*VaultListMember) *ListBackupVaultsOutput { + s.BackupVaultList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackupVaultsOutput) SetNextToken(v string) *ListBackupVaultsOutput { + s.NextToken = &v + return s +} + +type ListProtectedResourcesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of items to be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListProtectedResourcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProtectedResourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProtectedResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProtectedResourcesInput"} + 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 *ListProtectedResourcesInput) SetMaxResults(v int64) *ListProtectedResourcesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProtectedResourcesInput) SetNextToken(v string) *ListProtectedResourcesInput { + s.NextToken = &v + return s +} + +type ListProtectedResourcesOutput struct { + _ struct{} `type:"structure"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `type:"string"` + + // An array of resources successfully backed up by AWS Backup including the + // time the resource was saved, an Amazon Resource Name (ARN) of the resource, + // and a resource type. + Results []*ProtectedResource `type:"list"` +} + +// String returns the string representation +func (s ListProtectedResourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProtectedResourcesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProtectedResourcesOutput) SetNextToken(v string) *ListProtectedResourcesOutput { + s.NextToken = &v + return s +} + +// SetResults sets the Results field's value. +func (s *ListProtectedResourcesOutput) SetResults(v []*ProtectedResource) *ListProtectedResourcesOutput { + s.Results = v + return s +} + +type ListRecoveryPointsByBackupVaultInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` + + // Returns only recovery points that match the specified backup plan ID. + ByBackupPlanId *string `location:"querystring" locationName:"backupPlanId" type:"string"` + + // Returns only recovery points that were created after the specified timestamp. + ByCreatedAfter *time.Time `location:"querystring" locationName:"createdAfter" type:"timestamp"` + + // Returns only recovery points that were created before the specified timestamp. + ByCreatedBefore *time.Time `location:"querystring" locationName:"createdBefore" type:"timestamp"` + + // Returns only recovery points that match the specified resource Amazon Resource + // Name (ARN). + ByResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string"` + + // Returns only recovery points that match the specified resource type. + ByResourceType *string `location:"querystring" locationName:"resourceType" type:"string"` + + // The maximum number of items to be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListRecoveryPointsByBackupVaultInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRecoveryPointsByBackupVaultInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRecoveryPointsByBackupVaultInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRecoveryPointsByBackupVaultInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *ListRecoveryPointsByBackupVaultInput) SetBackupVaultName(v string) *ListRecoveryPointsByBackupVaultInput { + s.BackupVaultName = &v + return s +} + +// SetByBackupPlanId sets the ByBackupPlanId field's value. +func (s *ListRecoveryPointsByBackupVaultInput) SetByBackupPlanId(v string) *ListRecoveryPointsByBackupVaultInput { + s.ByBackupPlanId = &v + return s +} + +// SetByCreatedAfter sets the ByCreatedAfter field's value. +func (s *ListRecoveryPointsByBackupVaultInput) SetByCreatedAfter(v time.Time) *ListRecoveryPointsByBackupVaultInput { + s.ByCreatedAfter = &v + return s +} + +// SetByCreatedBefore sets the ByCreatedBefore field's value. +func (s *ListRecoveryPointsByBackupVaultInput) SetByCreatedBefore(v time.Time) *ListRecoveryPointsByBackupVaultInput { + s.ByCreatedBefore = &v + return s +} + +// SetByResourceArn sets the ByResourceArn field's value. +func (s *ListRecoveryPointsByBackupVaultInput) SetByResourceArn(v string) *ListRecoveryPointsByBackupVaultInput { + s.ByResourceArn = &v + return s +} + +// SetByResourceType sets the ByResourceType field's value. +func (s *ListRecoveryPointsByBackupVaultInput) SetByResourceType(v string) *ListRecoveryPointsByBackupVaultInput { + s.ByResourceType = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListRecoveryPointsByBackupVaultInput) SetMaxResults(v int64) *ListRecoveryPointsByBackupVaultInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRecoveryPointsByBackupVaultInput) SetNextToken(v string) *ListRecoveryPointsByBackupVaultInput { + s.NextToken = &v + return s +} + +type ListRecoveryPointsByBackupVaultOutput struct { + _ struct{} `type:"structure"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `type:"string"` + + // An array of objects that contain detailed information about recovery points + // saved in a backup vault. + RecoveryPoints []*RecoveryPointByBackupVault `type:"list"` +} + +// String returns the string representation +func (s ListRecoveryPointsByBackupVaultOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRecoveryPointsByBackupVaultOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRecoveryPointsByBackupVaultOutput) SetNextToken(v string) *ListRecoveryPointsByBackupVaultOutput { + s.NextToken = &v + return s +} + +// SetRecoveryPoints sets the RecoveryPoints field's value. +func (s *ListRecoveryPointsByBackupVaultOutput) SetRecoveryPoints(v []*RecoveryPointByBackupVault) *ListRecoveryPointsByBackupVaultOutput { + s.RecoveryPoints = v + return s +} + +type ListRecoveryPointsByResourceInput struct { + _ struct{} `type:"structure"` + + // The maximum number of items to be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // An ARN that uniquely identifies a resource. The format of the ARN depends + // on the resource type. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListRecoveryPointsByResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRecoveryPointsByResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRecoveryPointsByResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRecoveryPointsByResourceInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListRecoveryPointsByResourceInput) SetMaxResults(v int64) *ListRecoveryPointsByResourceInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRecoveryPointsByResourceInput) SetNextToken(v string) *ListRecoveryPointsByResourceInput { + s.NextToken = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListRecoveryPointsByResourceInput) SetResourceArn(v string) *ListRecoveryPointsByResourceInput { + s.ResourceArn = &v + return s +} + +type ListRecoveryPointsByResourceOutput struct { + _ struct{} `type:"structure"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `type:"string"` + + // An array of objects that contain detailed information about recovery points + // of the specified resource type. + RecoveryPoints []*RecoveryPointByResource `type:"list"` +} + +// String returns the string representation +func (s ListRecoveryPointsByResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRecoveryPointsByResourceOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRecoveryPointsByResourceOutput) SetNextToken(v string) *ListRecoveryPointsByResourceOutput { + s.NextToken = &v + return s +} + +// SetRecoveryPoints sets the RecoveryPoints field's value. +func (s *ListRecoveryPointsByResourceOutput) SetRecoveryPoints(v []*RecoveryPointByResource) *ListRecoveryPointsByResourceOutput { + s.RecoveryPoints = v + return s +} + +type ListRestoreJobsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of items to be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListRestoreJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRestoreJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRestoreJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRestoreJobsInput"} + 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 *ListRestoreJobsInput) SetMaxResults(v int64) *ListRestoreJobsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRestoreJobsInput) SetNextToken(v string) *ListRestoreJobsInput { + s.NextToken = &v + return s +} + +type ListRestoreJobsOutput struct { + _ struct{} `type:"structure"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `type:"string"` + + // An array of objects that contain detailed information about jobs to restore + // saved resources. + RestoreJobs []*RestoreJobsListMember `type:"list"` +} + +// String returns the string representation +func (s ListRestoreJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRestoreJobsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRestoreJobsOutput) SetNextToken(v string) *ListRestoreJobsOutput { + s.NextToken = &v + return s +} + +// SetRestoreJobs sets the RestoreJobs field's value. +func (s *ListRestoreJobsOutput) SetRestoreJobs(v []*RestoreJobsListMember) *ListRestoreJobsOutput { + s.RestoreJobs = v + return s +} + +type ListTagsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of items to be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // An Amazon Resource Name (ARN) that uniquely identifies a resource. The format + // of the ARN depends on the type of resource. Valid targets for ListTags are + // recovery points, backup plans, and backup vaults. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTagsInput) SetMaxResults(v int64) *ListTagsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput { + s.NextToken = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsInput) SetResourceArn(v string) *ListTagsInput { + s.ResourceArn = &v + return s +} + +type ListTagsOutput struct { + _ struct{} `type:"structure"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `type:"string"` + + // To help organize your resources, you can assign your own metadata to the + // resources you create. Each tag is a key-value pair. + Tags map[string]*string `type:"map" sensitive:"true"` +} + +// String returns the string representation +func (s ListTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput { + s.NextToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ListTagsOutput) SetTags(v map[string]*string) *ListTagsOutput { + s.Tags = v + return s +} + +// Contains an optional backup plan display name and an array of BackupRule +// objects, each of which specifies a backup rule. Each rule in a backup plan +// is a separate scheduled task and can back up a different selection of AWS +// resources. +type Plan struct { + _ struct{} `type:"structure"` + + // The display name of a backup plan. + // + // BackupPlanName is a required field + BackupPlanName *string `type:"string" required:"true"` + + // An array of BackupRule objects, each of which specifies a scheduled task + // that is used to back up a selection of resources. + // + // Rules is a required field + Rules []*Rule `type:"list" required:"true"` +} + +// String returns the string representation +func (s Plan) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Plan) GoString() string { + return s.String() +} + +// SetBackupPlanName sets the BackupPlanName field's value. +func (s *Plan) SetBackupPlanName(v string) *Plan { + s.BackupPlanName = &v + return s +} + +// SetRules sets the Rules field's value. +func (s *Plan) SetRules(v []*Rule) *Plan { + s.Rules = v + return s +} + +// Contains an optional backup plan display name and an array of BackupRule +// objects, each of which specifies a backup rule. Each rule in a backup plan +// is a separate scheduled task and can back up a different selection of AWS +// resources. +type PlanInput struct { + _ struct{} `type:"structure"` + + // The display name of a backup plan. + // + // BackupPlanName is a required field + BackupPlanName *string `type:"string" required:"true"` + + // An array of BackupRule objects, each of which specifies a scheduled task + // that is used to back up a selection of resources. + // + // Rules is a required field + Rules []*RuleInput `type:"list" required:"true"` +} + +// String returns the string representation +func (s PlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PlanInput"} + if s.BackupPlanName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlanName")) + } + if s.Rules == nil { + invalidParams.Add(request.NewErrParamRequired("Rules")) + } + if s.Rules != nil { + for i, v := range s.Rules { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPlanName sets the BackupPlanName field's value. +func (s *PlanInput) SetBackupPlanName(v string) *PlanInput { + s.BackupPlanName = &v + return s +} + +// SetRules sets the Rules field's value. +func (s *PlanInput) SetRules(v []*RuleInput) *PlanInput { + s.Rules = v + return s +} + +// An object specifying metadata associated with a backup plan template. +type PlanTemplatesListMember struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a stored backup plan template. + BackupPlanTemplateId *string `type:"string"` + + // The optional display name of a backup plan template. + BackupPlanTemplateName *string `type:"string"` +} + +// String returns the string representation +func (s PlanTemplatesListMember) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PlanTemplatesListMember) GoString() string { + return s.String() +} + +// SetBackupPlanTemplateId sets the BackupPlanTemplateId field's value. +func (s *PlanTemplatesListMember) SetBackupPlanTemplateId(v string) *PlanTemplatesListMember { + s.BackupPlanTemplateId = &v + return s +} + +// SetBackupPlanTemplateName sets the BackupPlanTemplateName field's value. +func (s *PlanTemplatesListMember) SetBackupPlanTemplateName(v string) *PlanTemplatesListMember { + s.BackupPlanTemplateName = &v + return s +} + +// Contains metadata about a backup plan. +type PlansListMember struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for + // example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50. + BackupPlanArn *string `type:"string"` + + // Uniquely identifies a backup plan. + BackupPlanId *string `type:"string"` + + // The display name of a saved backup plan. + BackupPlanName *string `type:"string"` + + // The date and time a resource backup plan is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // A unique string that identifies the request and allows failed requests to + // be retried without the risk of executing the operation twice. + CreatorRequestId *string `type:"string"` + + // The date and time a backup plan is deleted, in Unix format and Coordinated + // Universal Time (UTC). The value of DeletionDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + DeletionDate *time.Time `type:"timestamp"` + + // The last time a job to back up resources was executed with this rule. A date + // and time, in Unix format and Coordinated Universal Time (UTC). The value + // of LastExecutionDate is accurate to milliseconds. For example, the value + // 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM. + LastExecutionDate *time.Time `type:"timestamp"` + + // Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most + // 1,024 bytes long. Version IDs cannot be edited. + VersionId *string `type:"string"` +} + +// String returns the string representation +func (s PlansListMember) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PlansListMember) GoString() string { + return s.String() +} + +// SetBackupPlanArn sets the BackupPlanArn field's value. +func (s *PlansListMember) SetBackupPlanArn(v string) *PlansListMember { + s.BackupPlanArn = &v + return s +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *PlansListMember) SetBackupPlanId(v string) *PlansListMember { + s.BackupPlanId = &v + return s +} + +// SetBackupPlanName sets the BackupPlanName field's value. +func (s *PlansListMember) SetBackupPlanName(v string) *PlansListMember { + s.BackupPlanName = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *PlansListMember) SetCreationDate(v time.Time) *PlansListMember { + s.CreationDate = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *PlansListMember) SetCreatorRequestId(v string) *PlansListMember { + s.CreatorRequestId = &v + return s +} + +// SetDeletionDate sets the DeletionDate field's value. +func (s *PlansListMember) SetDeletionDate(v time.Time) *PlansListMember { + s.DeletionDate = &v + return s +} + +// SetLastExecutionDate sets the LastExecutionDate field's value. +func (s *PlansListMember) SetLastExecutionDate(v time.Time) *PlansListMember { + s.LastExecutionDate = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *PlansListMember) SetVersionId(v string) *PlansListMember { + s.VersionId = &v + return s +} + +// A structure that contains information about a backed-up resource. +type ProtectedResource struct { + _ struct{} `type:"structure"` + + // The date and time a resource was last backed up, in Unix format and Coordinated + // Universal Time (UTC). The value of LastBackupTime is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + LastBackupTime *time.Time `type:"timestamp"` + + // An Amazon Resource Name (ARN) that uniquely identifies a resource. The format + // of the ARN depends on the resource type. + ResourceArn *string `type:"string"` + + // The type of AWS resource; for example, an Amazon Elastic Block Store (Amazon + // EBS) volume or an Amazon Relational Database Service (Amazon RDS) database. + ResourceType *string `type:"string"` +} + +// String returns the string representation +func (s ProtectedResource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProtectedResource) GoString() string { + return s.String() +} + +// SetLastBackupTime sets the LastBackupTime field's value. +func (s *ProtectedResource) SetLastBackupTime(v time.Time) *ProtectedResource { + s.LastBackupTime = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ProtectedResource) SetResourceArn(v string) *ProtectedResource { + s.ResourceArn = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ProtectedResource) SetResourceType(v string) *ProtectedResource { + s.ResourceType = &v + return s +} + +type PutBackupVaultAccessPolicyInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` + + // The backup vault access policy document in JSON format. + Policy *string `type:"string"` +} + +// String returns the string representation +func (s PutBackupVaultAccessPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutBackupVaultAccessPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutBackupVaultAccessPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutBackupVaultAccessPolicyInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *PutBackupVaultAccessPolicyInput) SetBackupVaultName(v string) *PutBackupVaultAccessPolicyInput { + s.BackupVaultName = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *PutBackupVaultAccessPolicyInput) SetPolicy(v string) *PutBackupVaultAccessPolicyInput { + s.Policy = &v + return s +} + +type PutBackupVaultAccessPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutBackupVaultAccessPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutBackupVaultAccessPolicyOutput) GoString() string { + return s.String() +} + +type PutBackupVaultNotificationsInput struct { + _ struct{} `type:"structure"` + + // An array of events that indicate the status of jobs to back up resources + // to the backup vault. + // + // BackupVaultEvents is a required field + BackupVaultEvents []*string `type:"list" required:"true"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s + // events; for example, arn:aws:sns:us-west-2:111122223333:MyVaultTopic. + // + // SNSTopicArn is a required field + SNSTopicArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s PutBackupVaultNotificationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutBackupVaultNotificationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutBackupVaultNotificationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutBackupVaultNotificationsInput"} + if s.BackupVaultEvents == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultEvents")) + } + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + if s.SNSTopicArn == nil { + invalidParams.Add(request.NewErrParamRequired("SNSTopicArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultEvents sets the BackupVaultEvents field's value. +func (s *PutBackupVaultNotificationsInput) SetBackupVaultEvents(v []*string) *PutBackupVaultNotificationsInput { + s.BackupVaultEvents = v + return s +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *PutBackupVaultNotificationsInput) SetBackupVaultName(v string) *PutBackupVaultNotificationsInput { + s.BackupVaultName = &v + return s +} + +// SetSNSTopicArn sets the SNSTopicArn field's value. +func (s *PutBackupVaultNotificationsInput) SetSNSTopicArn(v string) *PutBackupVaultNotificationsInput { + s.SNSTopicArn = &v + return s +} + +type PutBackupVaultNotificationsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutBackupVaultNotificationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutBackupVaultNotificationsOutput) GoString() string { + return s.String() +} + +// Contains detailed information about the recovery points stored in a backup +// vault. +type RecoveryPointByBackupVault struct { + _ struct{} `type:"structure"` + + // The size, in bytes, of a backup. + BackupSizeInBytes *int64 `type:"long"` + + // An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. + BackupVaultArn *string `type:"string"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + BackupVaultName *string `type:"string"` + + // A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt + // timestamps. + CalculatedLifecycle *CalculatedLifecycle `type:"structure"` + + // The date and time a job to restore a recovery point is completed, in Unix + // format and Coordinated Universal Time (UTC). The value of CompletionDate + // is accurate to milliseconds. For example, the value 1516925490.087 represents + // Friday, January 26, 2018 12:11:30.087 AM. + CompletionDate *time.Time `type:"timestamp"` + + // Contains identifying information about the creation of a recovery point, + // including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId + // of the backup plan that is used to create it. + CreatedBy *RecoveryPointCreator `type:"structure"` + + // The date and time a recovery point is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // The server-side encryption key that is used to protect your backups; for + // example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. + EncryptionKeyArn *string `type:"string"` + + // Specifies the IAM role ARN used to create the target recovery point; for + // example, arn:aws:iam::123456789012:role/S3Access. + IamRoleArn *string `type:"string"` + + // A Boolean value that is returned as TRUE if the specified recovery point + // is encrypted, or FALSE if the recovery point is not encrypted. + IsEncrypted *bool `type:"boolean"` + + // The date and time a recovery point was last restored, in Unix format and + // Coordinated Universal Time (UTC). The value of LastRestoreTime is accurate + // to milliseconds. For example, the value 1516925490.087 represents Friday, + // January 26, 2018 12:11:30.087 AM. + LastRestoreTime *time.Time `type:"timestamp"` + + // The lifecycle defines when a protected resource is transitioned to cold storage + // and when it expires. AWS Backup transitions and expires backups automatically + // according to the lifecycle that you define. + // + // Backups transitioned to cold storage must be stored in cold storage for a + // minimum of 90 days. Therefore, the “expire after days” setting must be 90 + // days greater than the “transition to cold after days” setting. The “transition + // to cold after days” setting cannot be changed after a backup has been transitioned + // to cold. + Lifecycle *Lifecycle `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a recovery point; + // for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + RecoveryPointArn *string `type:"string"` + + // An ARN that uniquely identifies a resource. The format of the ARN depends + // on the resource type. + ResourceArn *string `type:"string"` + + // The type of AWS resource saved as a recovery point; for example, an Amazon + // Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database + // Service (Amazon RDS) database. + ResourceType *string `type:"string"` + + // A status code specifying the state of the recovery point. + Status *string `type:"string" enum:"RecoveryPointStatus"` +} + +// String returns the string representation +func (s RecoveryPointByBackupVault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RecoveryPointByBackupVault) GoString() string { + return s.String() +} + +// SetBackupSizeInBytes sets the BackupSizeInBytes field's value. +func (s *RecoveryPointByBackupVault) SetBackupSizeInBytes(v int64) *RecoveryPointByBackupVault { + s.BackupSizeInBytes = &v + return s +} + +// SetBackupVaultArn sets the BackupVaultArn field's value. +func (s *RecoveryPointByBackupVault) SetBackupVaultArn(v string) *RecoveryPointByBackupVault { + s.BackupVaultArn = &v + return s +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *RecoveryPointByBackupVault) SetBackupVaultName(v string) *RecoveryPointByBackupVault { + s.BackupVaultName = &v + return s +} + +// SetCalculatedLifecycle sets the CalculatedLifecycle field's value. +func (s *RecoveryPointByBackupVault) SetCalculatedLifecycle(v *CalculatedLifecycle) *RecoveryPointByBackupVault { + s.CalculatedLifecycle = v + return s +} + +// SetCompletionDate sets the CompletionDate field's value. +func (s *RecoveryPointByBackupVault) SetCompletionDate(v time.Time) *RecoveryPointByBackupVault { + s.CompletionDate = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *RecoveryPointByBackupVault) SetCreatedBy(v *RecoveryPointCreator) *RecoveryPointByBackupVault { + s.CreatedBy = v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *RecoveryPointByBackupVault) SetCreationDate(v time.Time) *RecoveryPointByBackupVault { + s.CreationDate = &v + return s +} + +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *RecoveryPointByBackupVault) SetEncryptionKeyArn(v string) *RecoveryPointByBackupVault { + s.EncryptionKeyArn = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *RecoveryPointByBackupVault) SetIamRoleArn(v string) *RecoveryPointByBackupVault { + s.IamRoleArn = &v + return s +} + +// SetIsEncrypted sets the IsEncrypted field's value. +func (s *RecoveryPointByBackupVault) SetIsEncrypted(v bool) *RecoveryPointByBackupVault { + s.IsEncrypted = &v + return s +} + +// SetLastRestoreTime sets the LastRestoreTime field's value. +func (s *RecoveryPointByBackupVault) SetLastRestoreTime(v time.Time) *RecoveryPointByBackupVault { + s.LastRestoreTime = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *RecoveryPointByBackupVault) SetLifecycle(v *Lifecycle) *RecoveryPointByBackupVault { + s.Lifecycle = v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *RecoveryPointByBackupVault) SetRecoveryPointArn(v string) *RecoveryPointByBackupVault { + s.RecoveryPointArn = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *RecoveryPointByBackupVault) SetResourceArn(v string) *RecoveryPointByBackupVault { + s.ResourceArn = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *RecoveryPointByBackupVault) SetResourceType(v string) *RecoveryPointByBackupVault { + s.ResourceType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RecoveryPointByBackupVault) SetStatus(v string) *RecoveryPointByBackupVault { + s.Status = &v + return s +} + +// Contains detailed information about a saved recovery point. +type RecoveryPointByResource struct { + _ struct{} `type:"structure"` + + // The size, in bytes, of a backup. + BackupSizeBytes *int64 `type:"long"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + BackupVaultName *string `type:"string"` + + // The date and time a recovery point is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // The server-side encryption key that is used to protect your backups; for + // example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. + EncryptionKeyArn *string `type:"string"` + + // An Amazon Resource Name (ARN) that uniquely identifies a recovery point; + // for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + RecoveryPointArn *string `type:"string"` + + // A status code specifying the state of the recovery point. + Status *string `type:"string" enum:"RecoveryPointStatus"` +} + +// String returns the string representation +func (s RecoveryPointByResource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RecoveryPointByResource) GoString() string { + return s.String() +} + +// SetBackupSizeBytes sets the BackupSizeBytes field's value. +func (s *RecoveryPointByResource) SetBackupSizeBytes(v int64) *RecoveryPointByResource { + s.BackupSizeBytes = &v + return s +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *RecoveryPointByResource) SetBackupVaultName(v string) *RecoveryPointByResource { + s.BackupVaultName = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *RecoveryPointByResource) SetCreationDate(v time.Time) *RecoveryPointByResource { + s.CreationDate = &v + return s +} + +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *RecoveryPointByResource) SetEncryptionKeyArn(v string) *RecoveryPointByResource { + s.EncryptionKeyArn = &v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *RecoveryPointByResource) SetRecoveryPointArn(v string) *RecoveryPointByResource { + s.RecoveryPointArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RecoveryPointByResource) SetStatus(v string) *RecoveryPointByResource { + s.Status = &v + return s +} + +// Contains information about the backup plan and rule that AWS Backup used +// to initiate the recovery point backup. +type RecoveryPointCreator struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for + // example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50. + BackupPlanArn *string `type:"string"` + + // Uniquely identifies a backup plan. + BackupPlanId *string `type:"string"` + + // Version IDs are unique, randomly generated, Unicode, UTF-8 encoded strings + // that are at most 1,024 bytes long. They cannot be edited. + BackupPlanVersion *string `type:"string"` + + // Uniquely identifies a rule used to schedule the backup of a selection of + // resources. + BackupRuleId *string `type:"string"` +} + +// String returns the string representation +func (s RecoveryPointCreator) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RecoveryPointCreator) GoString() string { + return s.String() +} + +// SetBackupPlanArn sets the BackupPlanArn field's value. +func (s *RecoveryPointCreator) SetBackupPlanArn(v string) *RecoveryPointCreator { + s.BackupPlanArn = &v + return s +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *RecoveryPointCreator) SetBackupPlanId(v string) *RecoveryPointCreator { + s.BackupPlanId = &v + return s +} + +// SetBackupPlanVersion sets the BackupPlanVersion field's value. +func (s *RecoveryPointCreator) SetBackupPlanVersion(v string) *RecoveryPointCreator { + s.BackupPlanVersion = &v + return s +} + +// SetBackupRuleId sets the BackupRuleId field's value. +func (s *RecoveryPointCreator) SetBackupRuleId(v string) *RecoveryPointCreator { + s.BackupRuleId = &v + return s +} + +// Contains metadata about a restore job. +type RestoreJobsListMember struct { + _ struct{} `type:"structure"` + + // The size, in bytes, of the restored resource. + BackupSizeInBytes *int64 `type:"long"` + + // The date and time a job to restore a recovery point is completed, in Unix + // format and Coordinated Universal Time (UTC). The value of CompletionDate + // is accurate to milliseconds. For example, the value 1516925490.087 represents + // Friday, January 26, 2018 12:11:30.087 AM. + CompletionDate *time.Time `type:"timestamp"` + + // An Amazon Resource Name (ARN) that uniquely identifies a resource. The format + // of the ARN depends on the resource type. + CreatedResourceArn *string `type:"string"` + + // The date and time a restore job is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // The amount of time in minutes that a job restoring a recovery point is expected + // to take. + ExpectedCompletionTimeMinutes *int64 `type:"long"` + + // Specifies the IAM role ARN used to create the target recovery point; for + // example, arn:aws:iam::123456789012:role/S3Access. + IamRoleArn *string `type:"string"` + + // Contains an estimated percentage complete of a job at the time the job status + // was queried. + PercentDone *string `type:"string"` + + // An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + RecoveryPointArn *string `type:"string"` + + // Uniquely identifies the job that restores a recovery point. + RestoreJobId *string `type:"string"` + + // A status code specifying the state of the job initiated by AWS Backup to + // restore a recovery point. + Status *string `type:"string" enum:"RestoreJobStatus"` + + // A detailed message explaining the status of the job to restore a recovery + // point. + StatusMessage *string `type:"string"` +} + +// String returns the string representation +func (s RestoreJobsListMember) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RestoreJobsListMember) GoString() string { + return s.String() +} + +// SetBackupSizeInBytes sets the BackupSizeInBytes field's value. +func (s *RestoreJobsListMember) SetBackupSizeInBytes(v int64) *RestoreJobsListMember { + s.BackupSizeInBytes = &v + return s +} + +// SetCompletionDate sets the CompletionDate field's value. +func (s *RestoreJobsListMember) SetCompletionDate(v time.Time) *RestoreJobsListMember { + s.CompletionDate = &v + return s +} + +// SetCreatedResourceArn sets the CreatedResourceArn field's value. +func (s *RestoreJobsListMember) SetCreatedResourceArn(v string) *RestoreJobsListMember { + s.CreatedResourceArn = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *RestoreJobsListMember) SetCreationDate(v time.Time) *RestoreJobsListMember { + s.CreationDate = &v + return s +} + +// SetExpectedCompletionTimeMinutes sets the ExpectedCompletionTimeMinutes field's value. +func (s *RestoreJobsListMember) SetExpectedCompletionTimeMinutes(v int64) *RestoreJobsListMember { + s.ExpectedCompletionTimeMinutes = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *RestoreJobsListMember) SetIamRoleArn(v string) *RestoreJobsListMember { + s.IamRoleArn = &v + return s +} + +// SetPercentDone sets the PercentDone field's value. +func (s *RestoreJobsListMember) SetPercentDone(v string) *RestoreJobsListMember { + s.PercentDone = &v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *RestoreJobsListMember) SetRecoveryPointArn(v string) *RestoreJobsListMember { + s.RecoveryPointArn = &v + return s +} + +// SetRestoreJobId sets the RestoreJobId field's value. +func (s *RestoreJobsListMember) SetRestoreJobId(v string) *RestoreJobsListMember { + s.RestoreJobId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RestoreJobsListMember) SetStatus(v string) *RestoreJobsListMember { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *RestoreJobsListMember) SetStatusMessage(v string) *RestoreJobsListMember { + s.StatusMessage = &v + return s +} + +// Specifies a scheduled task used to back up a selection of resources. +type Rule struct { + _ struct{} `type:"structure"` + + // A value in minutes after a backup job is successfully started before it must + // be completed or it is canceled by AWS Backup. This value is optional. + CompletionWindowMinutes *int64 `type:"long"` + + // The lifecycle defines when a protected resource is transitioned to cold storage + // and when it expires. AWS Backup transitions and expires backups automatically + // according to the lifecycle that you define. + // + // Backups transitioned to cold storage must be stored in cold storage for a + // minimum of 90 days. Therefore, the “expire after days” setting must be 90 + // days greater than the “transition to cold after days” setting. The “transition + // to cold after days” setting cannot be changed after a backup has been transitioned + // to cold. + Lifecycle *Lifecycle `type:"structure"` + + // An array of key-value pair strings that are assigned to resources that are + // associated with this rule when restored from backup. + RecoveryPointTags map[string]*string `type:"map" sensitive:"true"` + + // Uniquely identifies a rule that is used to schedule the backup of a selection + // of resources. + RuleId *string `type:"string"` + + // An optional display name for a backup rule. + // + // RuleName is a required field + RuleName *string `type:"string" required:"true"` + + // A CRON expression specifying when AWS Backup initiates a backup job. + ScheduleExpression *string `type:"string"` + + // An optional value that specifies a period of time in minutes after a backup + // is scheduled before a job is canceled if it doesn't start successfully. + StartWindowMinutes *int64 `type:"long"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // TargetBackupVaultName is a required field + TargetBackupVaultName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Rule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Rule) GoString() string { + return s.String() +} + +// SetCompletionWindowMinutes sets the CompletionWindowMinutes field's value. +func (s *Rule) SetCompletionWindowMinutes(v int64) *Rule { + s.CompletionWindowMinutes = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *Rule) SetLifecycle(v *Lifecycle) *Rule { + s.Lifecycle = v + return s +} + +// SetRecoveryPointTags sets the RecoveryPointTags field's value. +func (s *Rule) SetRecoveryPointTags(v map[string]*string) *Rule { + s.RecoveryPointTags = v + return s +} + +// SetRuleId sets the RuleId field's value. +func (s *Rule) SetRuleId(v string) *Rule { + s.RuleId = &v + return s +} + +// SetRuleName sets the RuleName field's value. +func (s *Rule) SetRuleName(v string) *Rule { + s.RuleName = &v + return s +} + +// SetScheduleExpression sets the ScheduleExpression field's value. +func (s *Rule) SetScheduleExpression(v string) *Rule { + s.ScheduleExpression = &v + return s +} + +// SetStartWindowMinutes sets the StartWindowMinutes field's value. +func (s *Rule) SetStartWindowMinutes(v int64) *Rule { + s.StartWindowMinutes = &v + return s +} + +// SetTargetBackupVaultName sets the TargetBackupVaultName field's value. +func (s *Rule) SetTargetBackupVaultName(v string) *Rule { + s.TargetBackupVaultName = &v + return s +} + +// Specifies a scheduled task used to back up a selection of resources. +type RuleInput struct { + _ struct{} `type:"structure"` + + // The amount of time AWS Backup attempts a backup before canceling the job + // and returning an error. + CompletionWindowMinutes *int64 `type:"long"` + + // The lifecycle defines when a protected resource is transitioned to cold storage + // and when it expires. AWS Backup will transition and expire backups automatically + // according to the lifecycle that you define. + // + // Backups transitioned to cold storage must be stored in cold storage for a + // minimum of 90 days. Therefore, the “expire after days” setting must be 90 + // days greater than the “transition to cold after days”. The “transition to + // cold after days” setting cannot be changed after a backup has been transitioned + // to cold. + Lifecycle *Lifecycle `type:"structure"` + + // To help organize your resources, you can assign your own metadata to the + // resources that you create. Each tag is a key-value pair. + RecoveryPointTags map[string]*string `type:"map" sensitive:"true"` + + // >An optional display name for a backup rule. + // + // RuleName is a required field + RuleName *string `type:"string" required:"true"` + + // A CRON expression specifying when AWS Backup initiates a backup job. + ScheduleExpression *string `type:"string"` + + // The amount of time in minutes before beginning a backup. + StartWindowMinutes *int64 `type:"long"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // TargetBackupVaultName is a required field + TargetBackupVaultName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RuleInput"} + if s.RuleName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleName")) + } + if s.TargetBackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("TargetBackupVaultName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCompletionWindowMinutes sets the CompletionWindowMinutes field's value. +func (s *RuleInput) SetCompletionWindowMinutes(v int64) *RuleInput { + s.CompletionWindowMinutes = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *RuleInput) SetLifecycle(v *Lifecycle) *RuleInput { + s.Lifecycle = v + return s +} + +// SetRecoveryPointTags sets the RecoveryPointTags field's value. +func (s *RuleInput) SetRecoveryPointTags(v map[string]*string) *RuleInput { + s.RecoveryPointTags = v + return s +} + +// SetRuleName sets the RuleName field's value. +func (s *RuleInput) SetRuleName(v string) *RuleInput { + s.RuleName = &v + return s +} + +// SetScheduleExpression sets the ScheduleExpression field's value. +func (s *RuleInput) SetScheduleExpression(v string) *RuleInput { + s.ScheduleExpression = &v + return s +} + +// SetStartWindowMinutes sets the StartWindowMinutes field's value. +func (s *RuleInput) SetStartWindowMinutes(v int64) *RuleInput { + s.StartWindowMinutes = &v + return s +} + +// SetTargetBackupVaultName sets the TargetBackupVaultName field's value. +func (s *RuleInput) SetTargetBackupVaultName(v string) *RuleInput { + s.TargetBackupVaultName = &v + return s +} + +// Used to specify a set of resources to a backup plan. +type Selection struct { + _ struct{} `type:"structure"` + + // The ARN of the IAM role that AWS Backup uses to authenticate when restoring + // the target resource; for example, arn:aws:iam::123456789012:role/S3Access. + // + // IamRoleArn is a required field + IamRoleArn *string `type:"string" required:"true"` + + // An array of conditions used to specify a set of resources to assign to a + // backup plan; for example, "StringEquals": {"ec2:ResourceTag/Department": + // "accounting". + ListOfTags []*Condition `type:"list"` + + // An array of strings that either contain Amazon Resource Names (ARNs) or match + // patterns such as "arn:aws:ec2:us-east-1:123456789012:volume/*" of resources + // to assign to a backup plan. + Resources []*string `type:"list"` + + // The display name of a resource selection document. + // + // SelectionName is a required field + SelectionName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Selection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Selection) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Selection) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Selection"} + if s.IamRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("IamRoleArn")) + } + if s.SelectionName == nil { + invalidParams.Add(request.NewErrParamRequired("SelectionName")) + } + if s.ListOfTags != nil { + for i, v := range s.ListOfTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ListOfTags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *Selection) SetIamRoleArn(v string) *Selection { + s.IamRoleArn = &v + return s +} + +// SetListOfTags sets the ListOfTags field's value. +func (s *Selection) SetListOfTags(v []*Condition) *Selection { + s.ListOfTags = v + return s +} + +// SetResources sets the Resources field's value. +func (s *Selection) SetResources(v []*string) *Selection { + s.Resources = v + return s +} + +// SetSelectionName sets the SelectionName field's value. +func (s *Selection) SetSelectionName(v string) *Selection { + s.SelectionName = &v + return s +} + +// Contains metadata about a BackupSelection object. +type SelectionsListMember struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a backup plan. + BackupPlanId *string `type:"string"` + + // The date and time a backup plan is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // A unique string that identifies the request and allows failed requests to + // be retried without the risk of executing the operation twice. + CreatorRequestId *string `type:"string"` + + // Specifies the IAM role Amazon Resource Name (ARN) to create the target recovery + // point; for example, arn:aws:iam::123456789012:role/S3Access. + IamRoleArn *string `type:"string"` + + // Uniquely identifies a request to assign a set of resources to a backup plan. + SelectionId *string `type:"string"` + + // The display name of a resource selection document. + SelectionName *string `type:"string"` +} + +// String returns the string representation +func (s SelectionsListMember) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SelectionsListMember) GoString() string { + return s.String() +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *SelectionsListMember) SetBackupPlanId(v string) *SelectionsListMember { + s.BackupPlanId = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *SelectionsListMember) SetCreationDate(v time.Time) *SelectionsListMember { + s.CreationDate = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *SelectionsListMember) SetCreatorRequestId(v string) *SelectionsListMember { + s.CreatorRequestId = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *SelectionsListMember) SetIamRoleArn(v string) *SelectionsListMember { + s.IamRoleArn = &v + return s +} + +// SetSelectionId sets the SelectionId field's value. +func (s *SelectionsListMember) SetSelectionId(v string) *SelectionsListMember { + s.SelectionId = &v + return s +} + +// SetSelectionName sets the SelectionName field's value. +func (s *SelectionsListMember) SetSelectionName(v string) *SelectionsListMember { + s.SelectionName = &v + return s +} + +type StartBackupJobInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `type:"string" required:"true"` + + // The amount of time AWS Backup attempts a backup before canceling the job + // and returning an error. + CompleteWindowMinutes *int64 `type:"long"` + + // Specifies the IAM role ARN used to create the target recovery point; for + // example, arn:aws:iam::123456789012:role/S3Access. + // + // IamRoleArn is a required field + IamRoleArn *string `type:"string" required:"true"` + + // A customer chosen string that can be used to distinguish between calls to + // StartBackupJob. Idempotency tokens time out after one hour. Therefore, if + // you call StartBackupJob multiple times with the same idempotency token within + // one hour, AWS Backup recognizes that you are requesting only one backup job + // and initiates only one. If you change the idempotency token for each call, + // AWS Backup recognizes that you are requesting to start multiple backups. + IdempotencyToken *string `type:"string"` + + // The lifecycle defines when a protected resource is transitioned to cold storage + // and when it expires. AWS Backup will transition and expire backups automatically + // according to the lifecycle that you define. + // + // Backups transitioned to cold storage must be stored in cold storage for a + // minimum of 90 days. Therefore, the “expire after days” setting must be 90 + // days greater than the “transition to cold after days” setting. The “transition + // to cold after days” setting cannot be changed after a backup has been transitioned + // to cold. + Lifecycle *Lifecycle `type:"structure"` + + // To help organize your resources, you can assign your own metadata to the + // resources that you create. Each tag is a key-value pair. + RecoveryPointTags map[string]*string `type:"map" sensitive:"true"` + + // An Amazon Resource Name (ARN) that uniquely identifies a resource. The format + // of the ARN depends on the resource type. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` + + // The amount of time in minutes before beginning a backup. + StartWindowMinutes *int64 `type:"long"` +} + +// String returns the string representation +func (s StartBackupJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartBackupJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartBackupJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartBackupJobInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.IamRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("IamRoleArn")) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *StartBackupJobInput) SetBackupVaultName(v string) *StartBackupJobInput { + s.BackupVaultName = &v + return s +} + +// SetCompleteWindowMinutes sets the CompleteWindowMinutes field's value. +func (s *StartBackupJobInput) SetCompleteWindowMinutes(v int64) *StartBackupJobInput { + s.CompleteWindowMinutes = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *StartBackupJobInput) SetIamRoleArn(v string) *StartBackupJobInput { + s.IamRoleArn = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *StartBackupJobInput) SetIdempotencyToken(v string) *StartBackupJobInput { + s.IdempotencyToken = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *StartBackupJobInput) SetLifecycle(v *Lifecycle) *StartBackupJobInput { + s.Lifecycle = v + return s +} + +// SetRecoveryPointTags sets the RecoveryPointTags field's value. +func (s *StartBackupJobInput) SetRecoveryPointTags(v map[string]*string) *StartBackupJobInput { + s.RecoveryPointTags = v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *StartBackupJobInput) SetResourceArn(v string) *StartBackupJobInput { + s.ResourceArn = &v + return s +} + +// SetStartWindowMinutes sets the StartWindowMinutes field's value. +func (s *StartBackupJobInput) SetStartWindowMinutes(v int64) *StartBackupJobInput { + s.StartWindowMinutes = &v + return s +} + +type StartBackupJobOutput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a request to AWS Backup to back up a resource. + BackupJobId *string `type:"string"` + + // The date and time that a backup job is started, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + RecoveryPointArn *string `type:"string"` +} + +// String returns the string representation +func (s StartBackupJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartBackupJobOutput) GoString() string { + return s.String() +} + +// SetBackupJobId sets the BackupJobId field's value. +func (s *StartBackupJobOutput) SetBackupJobId(v string) *StartBackupJobOutput { + s.BackupJobId = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *StartBackupJobOutput) SetCreationDate(v time.Time) *StartBackupJobOutput { + s.CreationDate = &v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *StartBackupJobOutput) SetRecoveryPointArn(v string) *StartBackupJobOutput { + s.RecoveryPointArn = &v + return s +} + +type StartRestoreJobInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to create + // the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access. + // + // IamRoleArn is a required field + IamRoleArn *string `type:"string" required:"true"` + + // A customer chosen string that can be used to distinguish between calls to + // StartRestoreJob. Idempotency tokens time out after one hour. Therefore, if + // you call StartRestoreJob multiple times with the same idempotency token within + // one hour, AWS Backup recognizes that you are requesting only one restore + // job and initiates only one. If you change the idempotency token for each + // call, AWS Backup recognizes that you are requesting to start multiple restores. + IdempotencyToken *string `type:"string"` + + // A set of metadata key-value pairs. Lists the metadata that the recovery point + // was created with. + // + // Metadata is a required field + Metadata map[string]*string `type:"map" required:"true"` + + // An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + // + // RecoveryPointArn is a required field + RecoveryPointArn *string `type:"string" required:"true"` + + // Starts a job to restore a recovery point for one of the following resources: + // + // * EBS for Amazon Elastic Block Store + // + // * SGW for AWS Storage Gateway + // + // * RDS for Amazon Relational Database Service + // + // * DDB for Amazon DynamoDB + // + // * EFS for Amazon Elastic File System + ResourceType *string `type:"string"` +} + +// String returns the string representation +func (s StartRestoreJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartRestoreJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartRestoreJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartRestoreJobInput"} + if s.IamRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("IamRoleArn")) + } + if s.Metadata == nil { + invalidParams.Add(request.NewErrParamRequired("Metadata")) + } + if s.RecoveryPointArn == nil { + invalidParams.Add(request.NewErrParamRequired("RecoveryPointArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *StartRestoreJobInput) SetIamRoleArn(v string) *StartRestoreJobInput { + s.IamRoleArn = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *StartRestoreJobInput) SetIdempotencyToken(v string) *StartRestoreJobInput { + s.IdempotencyToken = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *StartRestoreJobInput) SetMetadata(v map[string]*string) *StartRestoreJobInput { + s.Metadata = v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *StartRestoreJobInput) SetRecoveryPointArn(v string) *StartRestoreJobInput { + s.RecoveryPointArn = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *StartRestoreJobInput) SetResourceType(v string) *StartRestoreJobInput { + s.ResourceType = &v + return s +} + +type StartRestoreJobOutput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies the job that restores a recovery point. + RestoreJobId *string `type:"string"` +} + +// String returns the string representation +func (s StartRestoreJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartRestoreJobOutput) GoString() string { + return s.String() +} + +// SetRestoreJobId sets the RestoreJobId field's value. +func (s *StartRestoreJobOutput) SetRestoreJobId(v string) *StartRestoreJobOutput { + s.RestoreJobId = &v + return s +} + +type StopBackupJobInput struct { + _ struct{} `type:"structure"` + + // Uniquely identifies a request to AWS Backup to back up a resource. + // + // BackupJobId is a required field + BackupJobId *string `location:"uri" locationName:"backupJobId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopBackupJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopBackupJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopBackupJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopBackupJobInput"} + if s.BackupJobId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupJobId")) + } + if s.BackupJobId != nil && len(*s.BackupJobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupJobId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupJobId sets the BackupJobId field's value. +func (s *StopBackupJobInput) SetBackupJobId(v string) *StopBackupJobInput { + s.BackupJobId = &v + return s +} + +type StopBackupJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopBackupJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopBackupJobOutput) GoString() string { + return s.String() +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // An ARN that uniquely identifies a resource. The format of the ARN depends + // on the type of the tagged resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // Key-value pairs that are used to help organize your resources. You can assign + // your own metadata to the resources you create. + // + // Tags is a required field + Tags map[string]*string `type:"map" required:"true" sensitive:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // An ARN that uniquely identifies a resource. The format of the ARN depends + // on the type of the tagged resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // A list of keys to identify which key-value tags to remove from a resource. + // + // TagKeyList is a required field + TagKeyList []*string `type:"list" required:"true" sensitive:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeyList == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeyList")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeyList sets the TagKeyList field's value. +func (s *UntagResourceInput) SetTagKeyList(v []*string) *UntagResourceInput { + s.TagKeyList = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateBackupPlanInput struct { + _ struct{} `type:"structure"` + + // Specifies the body of a backup plan. Includes a BackupPlanName and one or + // more sets of Rules. + // + // BackupPlan is a required field + BackupPlan *PlanInput `type:"structure" required:"true"` + + // Uniquely identifies a backup plan. + // + // BackupPlanId is a required field + BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateBackupPlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateBackupPlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateBackupPlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateBackupPlanInput"} + if s.BackupPlan == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlan")) + } + if s.BackupPlanId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPlanId")) + } + if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1)) + } + if s.BackupPlan != nil { + if err := s.BackupPlan.Validate(); err != nil { + invalidParams.AddNested("BackupPlan", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPlan sets the BackupPlan field's value. +func (s *UpdateBackupPlanInput) SetBackupPlan(v *PlanInput) *UpdateBackupPlanInput { + s.BackupPlan = v + return s +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *UpdateBackupPlanInput) SetBackupPlanId(v string) *UpdateBackupPlanInput { + s.BackupPlanId = &v + return s +} + +type UpdateBackupPlanOutput struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for + // example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50. + BackupPlanArn *string `type:"string"` + + // Uniquely identifies a backup plan. + BackupPlanId *string `type:"string"` + + // The date and time a backup plan is updated, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most + // 1,024 bytes long. Version Ids cannot be edited. + VersionId *string `type:"string"` +} + +// String returns the string representation +func (s UpdateBackupPlanOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateBackupPlanOutput) GoString() string { + return s.String() +} + +// SetBackupPlanArn sets the BackupPlanArn field's value. +func (s *UpdateBackupPlanOutput) SetBackupPlanArn(v string) *UpdateBackupPlanOutput { + s.BackupPlanArn = &v + return s +} + +// SetBackupPlanId sets the BackupPlanId field's value. +func (s *UpdateBackupPlanOutput) SetBackupPlanId(v string) *UpdateBackupPlanOutput { + s.BackupPlanId = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *UpdateBackupPlanOutput) SetCreationDate(v time.Time) *UpdateBackupPlanOutput { + s.CreationDate = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *UpdateBackupPlanOutput) SetVersionId(v string) *UpdateBackupPlanOutput { + s.VersionId = &v + return s +} + +type UpdateRecoveryPointLifecycleInput struct { + _ struct{} `type:"structure"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` + + // The lifecycle defines when a protected resource is transitioned to cold storage + // and when it expires. AWS Backup transitions and expires backups automatically + // according to the lifecycle that you define. + // + // Backups transitioned to cold storage must be stored in cold storage for a + // minimum of 90 days. Therefore, the “expire after days” setting must be 90 + // days greater than the “transition to cold after days” setting. The “transition + // to cold after days” setting cannot be changed after a backup has been transitioned + // to cold. + Lifecycle *Lifecycle `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a recovery point; + // for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + // + // RecoveryPointArn is a required field + RecoveryPointArn *string `location:"uri" locationName:"recoveryPointArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateRecoveryPointLifecycleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRecoveryPointLifecycleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRecoveryPointLifecycleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRecoveryPointLifecycleInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + if s.RecoveryPointArn == nil { + invalidParams.Add(request.NewErrParamRequired("RecoveryPointArn")) + } + if s.RecoveryPointArn != nil && len(*s.RecoveryPointArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RecoveryPointArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *UpdateRecoveryPointLifecycleInput) SetBackupVaultName(v string) *UpdateRecoveryPointLifecycleInput { + s.BackupVaultName = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *UpdateRecoveryPointLifecycleInput) SetLifecycle(v *Lifecycle) *UpdateRecoveryPointLifecycleInput { + s.Lifecycle = v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *UpdateRecoveryPointLifecycleInput) SetRecoveryPointArn(v string) *UpdateRecoveryPointLifecycleInput { + s.RecoveryPointArn = &v + return s +} + +type UpdateRecoveryPointLifecycleOutput struct { + _ struct{} `type:"structure"` + + // An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. + BackupVaultArn *string `type:"string"` + + // A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt + // timestamps. + CalculatedLifecycle *CalculatedLifecycle `type:"structure"` + + // The lifecycle defines when a protected resource is transitioned to cold storage + // and when it expires. AWS Backup transitions and expires backups automatically + // according to the lifecycle that you define. + // + // Backups transitioned to cold storage must be stored in cold storage for a + // minimum of 90 days. Therefore, the “expire after days” setting must be 90 + // days greater than the “transition to cold after days” setting. The “transition + // to cold after days” setting cannot be changed after a backup has been transitioned + // to cold. + Lifecycle *Lifecycle `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a recovery point; + // for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + RecoveryPointArn *string `type:"string"` +} + +// String returns the string representation +func (s UpdateRecoveryPointLifecycleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRecoveryPointLifecycleOutput) GoString() string { + return s.String() +} + +// SetBackupVaultArn sets the BackupVaultArn field's value. +func (s *UpdateRecoveryPointLifecycleOutput) SetBackupVaultArn(v string) *UpdateRecoveryPointLifecycleOutput { + s.BackupVaultArn = &v + return s +} + +// SetCalculatedLifecycle sets the CalculatedLifecycle field's value. +func (s *UpdateRecoveryPointLifecycleOutput) SetCalculatedLifecycle(v *CalculatedLifecycle) *UpdateRecoveryPointLifecycleOutput { + s.CalculatedLifecycle = v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *UpdateRecoveryPointLifecycleOutput) SetLifecycle(v *Lifecycle) *UpdateRecoveryPointLifecycleOutput { + s.Lifecycle = v + return s +} + +// SetRecoveryPointArn sets the RecoveryPointArn field's value. +func (s *UpdateRecoveryPointLifecycleOutput) SetRecoveryPointArn(v string) *UpdateRecoveryPointLifecycleOutput { + s.RecoveryPointArn = &v + return s +} + +// Contains metadata about a backup vault. +type VaultListMember struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for + // example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. + BackupVaultArn *string `type:"string"` + + // The name of a logical container where backups are stored. Backup vaults are + // identified by names that are unique to the account used to create them and + // the AWS Region where they are created. They consist of lowercase letters, + // numbers, and hyphens. + BackupVaultName *string `type:"string"` + + // The date and time a resource backup is created, in Unix format and Coordinated + // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // A unique string that identifies the request and allows failed requests to + // be retried without the risk of executing the operation twice. + CreatorRequestId *string `type:"string"` + + // The server-side encryption key that is used to protect your backups; for + // example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. + EncryptionKeyArn *string `type:"string"` + + // The number of recovery points that are stored in a backup vault. + NumberOfRecoveryPoints *int64 `type:"long"` +} + +// String returns the string representation +func (s VaultListMember) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VaultListMember) GoString() string { + return s.String() +} + +// SetBackupVaultArn sets the BackupVaultArn field's value. +func (s *VaultListMember) SetBackupVaultArn(v string) *VaultListMember { + s.BackupVaultArn = &v + return s +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *VaultListMember) SetBackupVaultName(v string) *VaultListMember { + s.BackupVaultName = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *VaultListMember) SetCreationDate(v time.Time) *VaultListMember { + s.CreationDate = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *VaultListMember) SetCreatorRequestId(v string) *VaultListMember { + s.CreatorRequestId = &v + return s +} + +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *VaultListMember) SetEncryptionKeyArn(v string) *VaultListMember { + s.EncryptionKeyArn = &v + return s +} + +// SetNumberOfRecoveryPoints sets the NumberOfRecoveryPoints field's value. +func (s *VaultListMember) SetNumberOfRecoveryPoints(v int64) *VaultListMember { + s.NumberOfRecoveryPoints = &v + return s +} + +const ( + // ConditionTypeStringequals is a ConditionType enum value + ConditionTypeStringequals = "STRINGEQUALS" +) + +const ( + // JobStateCreated is a JobState enum value + JobStateCreated = "CREATED" + + // JobStatePending is a JobState enum value + JobStatePending = "PENDING" + + // JobStateRunning is a JobState enum value + JobStateRunning = "RUNNING" + + // JobStateAborting is a JobState enum value + JobStateAborting = "ABORTING" + + // JobStateAborted is a JobState enum value + JobStateAborted = "ABORTED" + + // JobStateCompleted is a JobState enum value + JobStateCompleted = "COMPLETED" + + // JobStateFailed is a JobState enum value + JobStateFailed = "FAILED" + + // JobStateExpired is a JobState enum value + JobStateExpired = "EXPIRED" +) + +const ( + // RecoveryPointStatusCompleted is a RecoveryPointStatus enum value + RecoveryPointStatusCompleted = "COMPLETED" + + // RecoveryPointStatusPartial is a RecoveryPointStatus enum value + RecoveryPointStatusPartial = "PARTIAL" + + // RecoveryPointStatusDeleting is a RecoveryPointStatus enum value + RecoveryPointStatusDeleting = "DELETING" + + // RecoveryPointStatusExpired is a RecoveryPointStatus enum value + RecoveryPointStatusExpired = "EXPIRED" +) + +const ( + // RestoreJobStatusPending is a RestoreJobStatus enum value + RestoreJobStatusPending = "PENDING" + + // RestoreJobStatusRunning is a RestoreJobStatus enum value + RestoreJobStatusRunning = "RUNNING" + + // RestoreJobStatusCompleted is a RestoreJobStatus enum value + RestoreJobStatusCompleted = "COMPLETED" + + // RestoreJobStatusAborted is a RestoreJobStatus enum value + RestoreJobStatusAborted = "ABORTED" + + // RestoreJobStatusFailed is a RestoreJobStatus enum value + RestoreJobStatusFailed = "FAILED" +) + +const ( + // StorageClassWarm is a StorageClass enum value + StorageClassWarm = "WARM" + + // StorageClassCold is a StorageClass enum value + StorageClassCold = "COLD" + + // StorageClassDeleted is a StorageClass enum value + StorageClassDeleted = "DELETED" +) + +const ( + // VaultEventBackupJobStarted is a VaultEvent enum value + VaultEventBackupJobStarted = "BACKUP_JOB_STARTED" + + // VaultEventBackupJobCompleted is a VaultEvent enum value + VaultEventBackupJobCompleted = "BACKUP_JOB_COMPLETED" + + // VaultEventRestoreJobStarted is a VaultEvent enum value + VaultEventRestoreJobStarted = "RESTORE_JOB_STARTED" + + // VaultEventRestoreJobCompleted is a VaultEvent enum value + VaultEventRestoreJobCompleted = "RESTORE_JOB_COMPLETED" + + // VaultEventRecoveryPointModified is a VaultEvent enum value + VaultEventRecoveryPointModified = "RECOVERY_POINT_MODIFIED" + + // VaultEventBackupPlanCreated is a VaultEvent enum value + VaultEventBackupPlanCreated = "BACKUP_PLAN_CREATED" + + // VaultEventBackupPlanModified is a VaultEvent enum value + VaultEventBackupPlanModified = "BACKUP_PLAN_MODIFIED" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/backup/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/backup/doc.go new file mode 100644 index 00000000000..d1013b4c26d --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/backup/doc.go @@ -0,0 +1,30 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package backup provides the client and types for making API +// requests to AWS Backup. +// +// AWS Backup is a unified backup service designed to protect AWS services and +// their associated data. AWS Backup simplifies the creation, migration, restoration, +// and deletion of backups, while also providing reporting and auditing. +// +// See https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15 for more information on this service. +// +// See backup package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/backup/ +// +// Using the Client +// +// To contact AWS Backup 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 Backup client Backup for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/backup/#New +package backup diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/backup/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/backup/errors.go new file mode 100644 index 00000000000..06cc16b5ad0 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/backup/errors.go @@ -0,0 +1,58 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package backup + +const ( + + // ErrCodeAlreadyExistsException for service response error code + // "AlreadyExistsException". + // + // The required resource already exists. + ErrCodeAlreadyExistsException = "AlreadyExistsException" + + // ErrCodeDependencyFailureException for service response error code + // "DependencyFailureException". + // + // A dependent AWS service or resource returned an error to the AWS Backup service, + // and the action cannot be completed. + ErrCodeDependencyFailureException = "DependencyFailureException" + + // ErrCodeInvalidParameterValueException for service response error code + // "InvalidParameterValueException". + // + // Indicates that something is wrong with a parameter's value. For example, + // the value is out of range. + ErrCodeInvalidParameterValueException = "InvalidParameterValueException" + + // ErrCodeInvalidRequestException for service response error code + // "InvalidRequestException". + // + // Indicates that something is wrong with the input to the request. For example, + // a parameter is of the wrong type. + ErrCodeInvalidRequestException = "InvalidRequestException" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // A limit in the request has been exceeded; for example, a maximum number of + // items allowed in a request. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeMissingParameterValueException for service response error code + // "MissingParameterValueException". + // + // Indicates that a required parameter is missing. + ErrCodeMissingParameterValueException = "MissingParameterValueException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // A resource that is required for the action doesn't exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceUnavailableException for service response error code + // "ServiceUnavailableException". + // + // The request failed due to a temporary failure of the server. + ErrCodeServiceUnavailableException = "ServiceUnavailableException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/backup/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/backup/service.go new file mode 100644 index 00000000000..7ec6d950251 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/backup/service.go @@ -0,0 +1,96 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package backup + +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/restjson" +) + +// Backup provides the API operation methods for making requests to +// AWS Backup. See this package's package overview docs +// for details on the service. +// +// Backup methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type Backup 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 = "Backup" // Name of service. + EndpointsID = "backup" // ID to lookup a service endpoint with. + ServiceID = "Backup" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the Backup 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 Backup client from just a session. +// svc := backup.New(mySession) +// +// // Create a Backup client with additional configuration +// svc := backup.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *Backup { + 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) *Backup { + svc := &Backup{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-11-15", + JSONVersion: "1.1", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a Backup operation and runs any +// custom request initialization. +func (c *Backup) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloud9/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloud9/api.go index abc4ea41532..9b1020df463 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloud9/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloud9/api.go @@ -1117,7 +1117,7 @@ type CreateEnvironmentEC2Input struct { ClientRequestToken *string `locationName:"clientRequestToken" type:"string"` // The description of the environment to create. - Description *string `locationName:"description" type:"string"` + Description *string `locationName:"description" type:"string" sensitive:"true"` // The type of instance to connect to the environment (for example, t2.micro). // @@ -1721,11 +1721,14 @@ type Environment struct { Arn *string `locationName:"arn" type:"string"` // The description for the environment. - Description *string `locationName:"description" type:"string"` + Description *string `locationName:"description" type:"string" sensitive:"true"` // The ID of the environment. Id *string `locationName:"id" type:"string"` + // The state of the environment in its creation or deletion lifecycle. + Lifecycle *EnvironmentLifecycle `locationName:"lifecycle" type:"structure"` + // The name of the environment. Name *string `locationName:"name" min:"1" type:"string"` @@ -1769,6 +1772,12 @@ func (s *Environment) SetId(v string) *Environment { return s } +// SetLifecycle sets the Lifecycle field's value. +func (s *Environment) SetLifecycle(v *EnvironmentLifecycle) *Environment { + s.Lifecycle = v + return s +} + // SetName sets the Name field's value. func (s *Environment) SetName(v string) *Environment { s.Name = &v @@ -1787,6 +1796,56 @@ func (s *Environment) SetType(v string) *Environment { return s } +// Information about the current creation or deletion lifecycle state of an +// AWS Cloud9 development environment. +type EnvironmentLifecycle struct { + _ struct{} `type:"structure"` + + // If the environment failed to delete, the Amazon Resource Name (ARN) of the + // related AWS resource. + FailureResource *string `locationName:"failureResource" type:"string"` + + // Any informational message about the lifecycle state of the environment. + Reason *string `locationName:"reason" type:"string"` + + // The current creation or deletion lifecycle state of the environment. + // + // * CREATED: The environment was successfully created. + // + // * DELETE_FAILED: The environment failed to delete. + // + // * DELETING: The environment is in the process of being deleted. + Status *string `locationName:"status" type:"string" enum:"EnvironmentLifecycleStatus"` +} + +// String returns the string representation +func (s EnvironmentLifecycle) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnvironmentLifecycle) GoString() string { + return s.String() +} + +// SetFailureResource sets the FailureResource field's value. +func (s *EnvironmentLifecycle) SetFailureResource(v string) *EnvironmentLifecycle { + s.FailureResource = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *EnvironmentLifecycle) SetReason(v string) *EnvironmentLifecycle { + s.Reason = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *EnvironmentLifecycle) SetStatus(v string) *EnvironmentLifecycle { + s.Status = &v + return s +} + // Information about an environment member for an AWS Cloud9 development environment. type EnvironmentMember struct { _ struct{} `type:"structure"` @@ -1932,7 +1991,7 @@ type UpdateEnvironmentInput struct { _ struct{} `type:"structure"` // Any new or replacement description for the environment. - Description *string `locationName:"description" type:"string"` + Description *string `locationName:"description" type:"string" sensitive:"true"` // The ID of the environment to change settings. // @@ -2097,6 +2156,17 @@ func (s UpdateEnvironmentOutput) GoString() string { return s.String() } +const ( + // EnvironmentLifecycleStatusCreated is a EnvironmentLifecycleStatus enum value + EnvironmentLifecycleStatusCreated = "CREATED" + + // EnvironmentLifecycleStatusDeleting is a EnvironmentLifecycleStatus enum value + EnvironmentLifecycleStatusDeleting = "DELETING" + + // EnvironmentLifecycleStatusDeleteFailed is a EnvironmentLifecycleStatus enum value + EnvironmentLifecycleStatusDeleteFailed = "DELETE_FAILED" +) + const ( // EnvironmentStatusError is a EnvironmentStatus enum value EnvironmentStatusError = "error" diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/api.go new file mode 100644 index 00000000000..dbbf3a16aed --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/api.go @@ -0,0 +1,6406 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package cloudsearch + +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 opBuildSuggesters = "BuildSuggesters" + +// BuildSuggestersRequest generates a "aws/request.Request" representing the +// client's request for the BuildSuggesters 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 BuildSuggesters for more information on using the BuildSuggesters +// 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 BuildSuggestersRequest method. +// req, resp := client.BuildSuggestersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) BuildSuggestersRequest(input *BuildSuggestersInput) (req *request.Request, output *BuildSuggestersOutput) { + op := &request.Operation{ + Name: opBuildSuggesters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BuildSuggestersInput{} + } + + output = &BuildSuggestersOutput{} + req = c.newRequest(op, input, output) + return +} + +// BuildSuggesters API operation for Amazon CloudSearch. +// +// Indexes the search suggestions. For more information, see Configuring Suggesters +// (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html#configuring-suggesters) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation BuildSuggesters for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) BuildSuggesters(input *BuildSuggestersInput) (*BuildSuggestersOutput, error) { + req, out := c.BuildSuggestersRequest(input) + return out, req.Send() +} + +// BuildSuggestersWithContext is the same as BuildSuggesters with the addition of +// the ability to pass a context and additional request options. +// +// See BuildSuggesters 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 *CloudSearch) BuildSuggestersWithContext(ctx aws.Context, input *BuildSuggestersInput, opts ...request.Option) (*BuildSuggestersOutput, error) { + req, out := c.BuildSuggestersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDomain = "CreateDomain" + +// CreateDomainRequest generates a "aws/request.Request" representing the +// client's request for the CreateDomain 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 CreateDomain for more information on using the CreateDomain +// 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 CreateDomainRequest method. +// req, resp := client.CreateDomainRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) { + op := &request.Operation{ + Name: opCreateDomain, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDomainInput{} + } + + output = &CreateDomainOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDomain API operation for Amazon CloudSearch. +// +// Creates a new search domain. For more information, see Creating a Search +// Domain (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/creating-domains.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation CreateDomain for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeLimitExceededException "LimitExceeded" +// The request was rejected because a resource limit has already been met. +// +func (c *CloudSearch) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) { + req, out := c.CreateDomainRequest(input) + return out, req.Send() +} + +// CreateDomainWithContext is the same as CreateDomain with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDomain 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 *CloudSearch) CreateDomainWithContext(ctx aws.Context, input *CreateDomainInput, opts ...request.Option) (*CreateDomainOutput, error) { + req, out := c.CreateDomainRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDefineAnalysisScheme = "DefineAnalysisScheme" + +// DefineAnalysisSchemeRequest generates a "aws/request.Request" representing the +// client's request for the DefineAnalysisScheme 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 DefineAnalysisScheme for more information on using the DefineAnalysisScheme +// 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 DefineAnalysisSchemeRequest method. +// req, resp := client.DefineAnalysisSchemeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DefineAnalysisSchemeRequest(input *DefineAnalysisSchemeInput) (req *request.Request, output *DefineAnalysisSchemeOutput) { + op := &request.Operation{ + Name: opDefineAnalysisScheme, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DefineAnalysisSchemeInput{} + } + + output = &DefineAnalysisSchemeOutput{} + req = c.newRequest(op, input, output) + return +} + +// DefineAnalysisScheme API operation for Amazon CloudSearch. +// +// Configures an analysis scheme that can be applied to a text or text-array +// field to define language-specific text processing options. For more information, +// see Configuring Analysis Schemes (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-analysis-schemes.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DefineAnalysisScheme for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeLimitExceededException "LimitExceeded" +// The request was rejected because a resource limit has already been met. +// +// * ErrCodeInvalidTypeException "InvalidType" +// The request was rejected because it specified an invalid type definition. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DefineAnalysisScheme(input *DefineAnalysisSchemeInput) (*DefineAnalysisSchemeOutput, error) { + req, out := c.DefineAnalysisSchemeRequest(input) + return out, req.Send() +} + +// DefineAnalysisSchemeWithContext is the same as DefineAnalysisScheme with the addition of +// the ability to pass a context and additional request options. +// +// See DefineAnalysisScheme 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 *CloudSearch) DefineAnalysisSchemeWithContext(ctx aws.Context, input *DefineAnalysisSchemeInput, opts ...request.Option) (*DefineAnalysisSchemeOutput, error) { + req, out := c.DefineAnalysisSchemeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDefineExpression = "DefineExpression" + +// DefineExpressionRequest generates a "aws/request.Request" representing the +// client's request for the DefineExpression 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 DefineExpression for more information on using the DefineExpression +// 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 DefineExpressionRequest method. +// req, resp := client.DefineExpressionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DefineExpressionRequest(input *DefineExpressionInput) (req *request.Request, output *DefineExpressionOutput) { + op := &request.Operation{ + Name: opDefineExpression, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DefineExpressionInput{} + } + + output = &DefineExpressionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DefineExpression API operation for Amazon CloudSearch. +// +// Configures an Expression for the search domain. Used to create new expressions +// and modify existing ones. If the expression exists, the new configuration +// replaces the old one. For more information, see Configuring Expressions (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DefineExpression for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeLimitExceededException "LimitExceeded" +// The request was rejected because a resource limit has already been met. +// +// * ErrCodeInvalidTypeException "InvalidType" +// The request was rejected because it specified an invalid type definition. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DefineExpression(input *DefineExpressionInput) (*DefineExpressionOutput, error) { + req, out := c.DefineExpressionRequest(input) + return out, req.Send() +} + +// DefineExpressionWithContext is the same as DefineExpression with the addition of +// the ability to pass a context and additional request options. +// +// See DefineExpression 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 *CloudSearch) DefineExpressionWithContext(ctx aws.Context, input *DefineExpressionInput, opts ...request.Option) (*DefineExpressionOutput, error) { + req, out := c.DefineExpressionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDefineIndexField = "DefineIndexField" + +// DefineIndexFieldRequest generates a "aws/request.Request" representing the +// client's request for the DefineIndexField 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 DefineIndexField for more information on using the DefineIndexField +// 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 DefineIndexFieldRequest method. +// req, resp := client.DefineIndexFieldRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DefineIndexFieldRequest(input *DefineIndexFieldInput) (req *request.Request, output *DefineIndexFieldOutput) { + op := &request.Operation{ + Name: opDefineIndexField, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DefineIndexFieldInput{} + } + + output = &DefineIndexFieldOutput{} + req = c.newRequest(op, input, output) + return +} + +// DefineIndexField API operation for Amazon CloudSearch. +// +// Configures an IndexField for the search domain. Used to create new fields +// and modify existing ones. You must specify the name of the domain you are +// configuring and an index field configuration. The index field configuration +// specifies a unique name, the index field type, and the options you want to +// configure for the field. The options you can specify depend on the IndexFieldType. +// If the field exists, the new configuration replaces the old one. For more +// information, see Configuring Index Fields (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-index-fields.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DefineIndexField for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeLimitExceededException "LimitExceeded" +// The request was rejected because a resource limit has already been met. +// +// * ErrCodeInvalidTypeException "InvalidType" +// The request was rejected because it specified an invalid type definition. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DefineIndexField(input *DefineIndexFieldInput) (*DefineIndexFieldOutput, error) { + req, out := c.DefineIndexFieldRequest(input) + return out, req.Send() +} + +// DefineIndexFieldWithContext is the same as DefineIndexField with the addition of +// the ability to pass a context and additional request options. +// +// See DefineIndexField 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 *CloudSearch) DefineIndexFieldWithContext(ctx aws.Context, input *DefineIndexFieldInput, opts ...request.Option) (*DefineIndexFieldOutput, error) { + req, out := c.DefineIndexFieldRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDefineSuggester = "DefineSuggester" + +// DefineSuggesterRequest generates a "aws/request.Request" representing the +// client's request for the DefineSuggester 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 DefineSuggester for more information on using the DefineSuggester +// 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 DefineSuggesterRequest method. +// req, resp := client.DefineSuggesterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DefineSuggesterRequest(input *DefineSuggesterInput) (req *request.Request, output *DefineSuggesterOutput) { + op := &request.Operation{ + Name: opDefineSuggester, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DefineSuggesterInput{} + } + + output = &DefineSuggesterOutput{} + req = c.newRequest(op, input, output) + return +} + +// DefineSuggester API operation for Amazon CloudSearch. +// +// Configures a suggester for a domain. A suggester enables you to display possible +// matches before users finish typing their queries. When you configure a suggester, +// you must specify the name of the text field you want to search for possible +// matches and a unique name for the suggester. For more information, see Getting +// Search Suggestions (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DefineSuggester for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeLimitExceededException "LimitExceeded" +// The request was rejected because a resource limit has already been met. +// +// * ErrCodeInvalidTypeException "InvalidType" +// The request was rejected because it specified an invalid type definition. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DefineSuggester(input *DefineSuggesterInput) (*DefineSuggesterOutput, error) { + req, out := c.DefineSuggesterRequest(input) + return out, req.Send() +} + +// DefineSuggesterWithContext is the same as DefineSuggester with the addition of +// the ability to pass a context and additional request options. +// +// See DefineSuggester 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 *CloudSearch) DefineSuggesterWithContext(ctx aws.Context, input *DefineSuggesterInput, opts ...request.Option) (*DefineSuggesterOutput, error) { + req, out := c.DefineSuggesterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteAnalysisScheme = "DeleteAnalysisScheme" + +// DeleteAnalysisSchemeRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAnalysisScheme 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 DeleteAnalysisScheme for more information on using the DeleteAnalysisScheme +// 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 DeleteAnalysisSchemeRequest method. +// req, resp := client.DeleteAnalysisSchemeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DeleteAnalysisSchemeRequest(input *DeleteAnalysisSchemeInput) (req *request.Request, output *DeleteAnalysisSchemeOutput) { + op := &request.Operation{ + Name: opDeleteAnalysisScheme, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteAnalysisSchemeInput{} + } + + output = &DeleteAnalysisSchemeOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteAnalysisScheme API operation for Amazon CloudSearch. +// +// Deletes an analysis scheme. For more information, see Configuring Analysis +// Schemes (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-analysis-schemes.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DeleteAnalysisScheme for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeInvalidTypeException "InvalidType" +// The request was rejected because it specified an invalid type definition. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DeleteAnalysisScheme(input *DeleteAnalysisSchemeInput) (*DeleteAnalysisSchemeOutput, error) { + req, out := c.DeleteAnalysisSchemeRequest(input) + return out, req.Send() +} + +// DeleteAnalysisSchemeWithContext is the same as DeleteAnalysisScheme with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAnalysisScheme 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 *CloudSearch) DeleteAnalysisSchemeWithContext(ctx aws.Context, input *DeleteAnalysisSchemeInput, opts ...request.Option) (*DeleteAnalysisSchemeOutput, error) { + req, out := c.DeleteAnalysisSchemeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDomain = "DeleteDomain" + +// DeleteDomainRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDomain 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 DeleteDomain for more information on using the DeleteDomain +// 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 DeleteDomainRequest method. +// req, resp := client.DeleteDomainRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DeleteDomainRequest(input *DeleteDomainInput) (req *request.Request, output *DeleteDomainOutput) { + op := &request.Operation{ + Name: opDeleteDomain, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDomainInput{} + } + + output = &DeleteDomainOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDomain API operation for Amazon CloudSearch. +// +// Permanently deletes a search domain and all of its data. Once a domain has +// been deleted, it cannot be recovered. For more information, see Deleting +// a Search Domain (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/deleting-domains.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DeleteDomain for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +func (c *CloudSearch) DeleteDomain(input *DeleteDomainInput) (*DeleteDomainOutput, error) { + req, out := c.DeleteDomainRequest(input) + return out, req.Send() +} + +// DeleteDomainWithContext is the same as DeleteDomain with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDomain 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 *CloudSearch) DeleteDomainWithContext(ctx aws.Context, input *DeleteDomainInput, opts ...request.Option) (*DeleteDomainOutput, error) { + req, out := c.DeleteDomainRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteExpression = "DeleteExpression" + +// DeleteExpressionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteExpression 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 DeleteExpression for more information on using the DeleteExpression +// 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 DeleteExpressionRequest method. +// req, resp := client.DeleteExpressionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DeleteExpressionRequest(input *DeleteExpressionInput) (req *request.Request, output *DeleteExpressionOutput) { + op := &request.Operation{ + Name: opDeleteExpression, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteExpressionInput{} + } + + output = &DeleteExpressionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteExpression API operation for Amazon CloudSearch. +// +// Removes an Expression from the search domain. For more information, see Configuring +// Expressions (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DeleteExpression for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeInvalidTypeException "InvalidType" +// The request was rejected because it specified an invalid type definition. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DeleteExpression(input *DeleteExpressionInput) (*DeleteExpressionOutput, error) { + req, out := c.DeleteExpressionRequest(input) + return out, req.Send() +} + +// DeleteExpressionWithContext is the same as DeleteExpression with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteExpression 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 *CloudSearch) DeleteExpressionWithContext(ctx aws.Context, input *DeleteExpressionInput, opts ...request.Option) (*DeleteExpressionOutput, error) { + req, out := c.DeleteExpressionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteIndexField = "DeleteIndexField" + +// DeleteIndexFieldRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIndexField 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 DeleteIndexField for more information on using the DeleteIndexField +// 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 DeleteIndexFieldRequest method. +// req, resp := client.DeleteIndexFieldRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DeleteIndexFieldRequest(input *DeleteIndexFieldInput) (req *request.Request, output *DeleteIndexFieldOutput) { + op := &request.Operation{ + Name: opDeleteIndexField, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteIndexFieldInput{} + } + + output = &DeleteIndexFieldOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteIndexField API operation for Amazon CloudSearch. +// +// Removes an IndexField from the search domain. For more information, see Configuring +// Index Fields (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-index-fields.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DeleteIndexField for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeInvalidTypeException "InvalidType" +// The request was rejected because it specified an invalid type definition. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DeleteIndexField(input *DeleteIndexFieldInput) (*DeleteIndexFieldOutput, error) { + req, out := c.DeleteIndexFieldRequest(input) + return out, req.Send() +} + +// DeleteIndexFieldWithContext is the same as DeleteIndexField with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteIndexField 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 *CloudSearch) DeleteIndexFieldWithContext(ctx aws.Context, input *DeleteIndexFieldInput, opts ...request.Option) (*DeleteIndexFieldOutput, error) { + req, out := c.DeleteIndexFieldRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSuggester = "DeleteSuggester" + +// DeleteSuggesterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSuggester 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 DeleteSuggester for more information on using the DeleteSuggester +// 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 DeleteSuggesterRequest method. +// req, resp := client.DeleteSuggesterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DeleteSuggesterRequest(input *DeleteSuggesterInput) (req *request.Request, output *DeleteSuggesterOutput) { + op := &request.Operation{ + Name: opDeleteSuggester, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteSuggesterInput{} + } + + output = &DeleteSuggesterOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteSuggester API operation for Amazon CloudSearch. +// +// Deletes a suggester. For more information, see Getting Search Suggestions +// (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DeleteSuggester for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeInvalidTypeException "InvalidType" +// The request was rejected because it specified an invalid type definition. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DeleteSuggester(input *DeleteSuggesterInput) (*DeleteSuggesterOutput, error) { + req, out := c.DeleteSuggesterRequest(input) + return out, req.Send() +} + +// DeleteSuggesterWithContext is the same as DeleteSuggester with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSuggester 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 *CloudSearch) DeleteSuggesterWithContext(ctx aws.Context, input *DeleteSuggesterInput, opts ...request.Option) (*DeleteSuggesterOutput, error) { + req, out := c.DeleteSuggesterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAnalysisSchemes = "DescribeAnalysisSchemes" + +// DescribeAnalysisSchemesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAnalysisSchemes 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 DescribeAnalysisSchemes for more information on using the DescribeAnalysisSchemes +// 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 DescribeAnalysisSchemesRequest method. +// req, resp := client.DescribeAnalysisSchemesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DescribeAnalysisSchemesRequest(input *DescribeAnalysisSchemesInput) (req *request.Request, output *DescribeAnalysisSchemesOutput) { + op := &request.Operation{ + Name: opDescribeAnalysisSchemes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeAnalysisSchemesInput{} + } + + output = &DescribeAnalysisSchemesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAnalysisSchemes API operation for Amazon CloudSearch. +// +// Gets the analysis schemes configured for a domain. An analysis scheme defines +// language-specific text processing options for a text field. Can be limited +// to specific analysis schemes by name. By default, shows all analysis schemes +// and includes any pending changes to the configuration. Set the Deployed option +// to true to show the active configuration and exclude pending changes. For +// more information, see Configuring Analysis Schemes (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-analysis-schemes.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DescribeAnalysisSchemes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DescribeAnalysisSchemes(input *DescribeAnalysisSchemesInput) (*DescribeAnalysisSchemesOutput, error) { + req, out := c.DescribeAnalysisSchemesRequest(input) + return out, req.Send() +} + +// DescribeAnalysisSchemesWithContext is the same as DescribeAnalysisSchemes with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAnalysisSchemes 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 *CloudSearch) DescribeAnalysisSchemesWithContext(ctx aws.Context, input *DescribeAnalysisSchemesInput, opts ...request.Option) (*DescribeAnalysisSchemesOutput, error) { + req, out := c.DescribeAnalysisSchemesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAvailabilityOptions = "DescribeAvailabilityOptions" + +// DescribeAvailabilityOptionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAvailabilityOptions 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 DescribeAvailabilityOptions for more information on using the DescribeAvailabilityOptions +// 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 DescribeAvailabilityOptionsRequest method. +// req, resp := client.DescribeAvailabilityOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DescribeAvailabilityOptionsRequest(input *DescribeAvailabilityOptionsInput) (req *request.Request, output *DescribeAvailabilityOptionsOutput) { + op := &request.Operation{ + Name: opDescribeAvailabilityOptions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeAvailabilityOptionsInput{} + } + + output = &DescribeAvailabilityOptionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAvailabilityOptions API operation for Amazon CloudSearch. +// +// Gets the availability options configured for a domain. By default, shows +// the configuration with any pending changes. Set the Deployed option to true +// to show the active configuration and exclude pending changes. For more information, +// see Configuring Availability Options (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-availability-options.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DescribeAvailabilityOptions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeInvalidTypeException "InvalidType" +// The request was rejected because it specified an invalid type definition. +// +// * ErrCodeLimitExceededException "LimitExceeded" +// The request was rejected because a resource limit has already been met. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +// * ErrCodeDisabledOperationException "DisabledAction" +// The request was rejected because it attempted an operation which is not enabled. +// +func (c *CloudSearch) DescribeAvailabilityOptions(input *DescribeAvailabilityOptionsInput) (*DescribeAvailabilityOptionsOutput, error) { + req, out := c.DescribeAvailabilityOptionsRequest(input) + return out, req.Send() +} + +// DescribeAvailabilityOptionsWithContext is the same as DescribeAvailabilityOptions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAvailabilityOptions 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 *CloudSearch) DescribeAvailabilityOptionsWithContext(ctx aws.Context, input *DescribeAvailabilityOptionsInput, opts ...request.Option) (*DescribeAvailabilityOptionsOutput, error) { + req, out := c.DescribeAvailabilityOptionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDomains = "DescribeDomains" + +// DescribeDomainsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDomains 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 DescribeDomains for more information on using the DescribeDomains +// 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 DescribeDomainsRequest method. +// req, resp := client.DescribeDomainsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DescribeDomainsRequest(input *DescribeDomainsInput) (req *request.Request, output *DescribeDomainsOutput) { + op := &request.Operation{ + Name: opDescribeDomains, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDomainsInput{} + } + + output = &DescribeDomainsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDomains API operation for Amazon CloudSearch. +// +// Gets information about the search domains owned by this account. Can be limited +// to specific domains. Shows all domains by default. To get the number of searchable +// documents in a domain, use the console or submit a matchall request to your +// domain's search endpoint: q=matchall&q.parser=structured&size=0. +// For more information, see Getting Information about a Search Domain (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-domain-info.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DescribeDomains for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +func (c *CloudSearch) DescribeDomains(input *DescribeDomainsInput) (*DescribeDomainsOutput, error) { + req, out := c.DescribeDomainsRequest(input) + return out, req.Send() +} + +// DescribeDomainsWithContext is the same as DescribeDomains with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDomains 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 *CloudSearch) DescribeDomainsWithContext(ctx aws.Context, input *DescribeDomainsInput, opts ...request.Option) (*DescribeDomainsOutput, error) { + req, out := c.DescribeDomainsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeExpressions = "DescribeExpressions" + +// DescribeExpressionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeExpressions 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 DescribeExpressions for more information on using the DescribeExpressions +// 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 DescribeExpressionsRequest method. +// req, resp := client.DescribeExpressionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DescribeExpressionsRequest(input *DescribeExpressionsInput) (req *request.Request, output *DescribeExpressionsOutput) { + op := &request.Operation{ + Name: opDescribeExpressions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeExpressionsInput{} + } + + output = &DescribeExpressionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeExpressions API operation for Amazon CloudSearch. +// +// Gets the expressions configured for the search domain. Can be limited to +// specific expressions by name. By default, shows all expressions and includes +// any pending changes to the configuration. Set the Deployed option to true +// to show the active configuration and exclude pending changes. For more information, +// see Configuring Expressions (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DescribeExpressions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DescribeExpressions(input *DescribeExpressionsInput) (*DescribeExpressionsOutput, error) { + req, out := c.DescribeExpressionsRequest(input) + return out, req.Send() +} + +// DescribeExpressionsWithContext is the same as DescribeExpressions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeExpressions 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 *CloudSearch) DescribeExpressionsWithContext(ctx aws.Context, input *DescribeExpressionsInput, opts ...request.Option) (*DescribeExpressionsOutput, error) { + req, out := c.DescribeExpressionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeIndexFields = "DescribeIndexFields" + +// DescribeIndexFieldsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIndexFields 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 DescribeIndexFields for more information on using the DescribeIndexFields +// 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 DescribeIndexFieldsRequest method. +// req, resp := client.DescribeIndexFieldsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DescribeIndexFieldsRequest(input *DescribeIndexFieldsInput) (req *request.Request, output *DescribeIndexFieldsOutput) { + op := &request.Operation{ + Name: opDescribeIndexFields, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeIndexFieldsInput{} + } + + output = &DescribeIndexFieldsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeIndexFields API operation for Amazon CloudSearch. +// +// Gets information about the index fields configured for the search domain. +// Can be limited to specific fields by name. By default, shows all fields and +// includes any pending changes to the configuration. Set the Deployed option +// to true to show the active configuration and exclude pending changes. For +// more information, see Getting Domain Information (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-domain-info.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DescribeIndexFields for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DescribeIndexFields(input *DescribeIndexFieldsInput) (*DescribeIndexFieldsOutput, error) { + req, out := c.DescribeIndexFieldsRequest(input) + return out, req.Send() +} + +// DescribeIndexFieldsWithContext is the same as DescribeIndexFields with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeIndexFields 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 *CloudSearch) DescribeIndexFieldsWithContext(ctx aws.Context, input *DescribeIndexFieldsInput, opts ...request.Option) (*DescribeIndexFieldsOutput, error) { + req, out := c.DescribeIndexFieldsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeScalingParameters = "DescribeScalingParameters" + +// DescribeScalingParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeScalingParameters 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 DescribeScalingParameters for more information on using the DescribeScalingParameters +// 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 DescribeScalingParametersRequest method. +// req, resp := client.DescribeScalingParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DescribeScalingParametersRequest(input *DescribeScalingParametersInput) (req *request.Request, output *DescribeScalingParametersOutput) { + op := &request.Operation{ + Name: opDescribeScalingParameters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeScalingParametersInput{} + } + + output = &DescribeScalingParametersOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeScalingParameters API operation for Amazon CloudSearch. +// +// Gets the scaling parameters configured for a domain. A domain's scaling parameters +// specify the desired search instance type and replication count. For more +// information, see Configuring Scaling Options (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-scaling-options.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DescribeScalingParameters for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DescribeScalingParameters(input *DescribeScalingParametersInput) (*DescribeScalingParametersOutput, error) { + req, out := c.DescribeScalingParametersRequest(input) + return out, req.Send() +} + +// DescribeScalingParametersWithContext is the same as DescribeScalingParameters with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeScalingParameters 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 *CloudSearch) DescribeScalingParametersWithContext(ctx aws.Context, input *DescribeScalingParametersInput, opts ...request.Option) (*DescribeScalingParametersOutput, error) { + req, out := c.DescribeScalingParametersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeServiceAccessPolicies = "DescribeServiceAccessPolicies" + +// DescribeServiceAccessPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeServiceAccessPolicies 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 DescribeServiceAccessPolicies for more information on using the DescribeServiceAccessPolicies +// 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 DescribeServiceAccessPoliciesRequest method. +// req, resp := client.DescribeServiceAccessPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DescribeServiceAccessPoliciesRequest(input *DescribeServiceAccessPoliciesInput) (req *request.Request, output *DescribeServiceAccessPoliciesOutput) { + op := &request.Operation{ + Name: opDescribeServiceAccessPolicies, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeServiceAccessPoliciesInput{} + } + + output = &DescribeServiceAccessPoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeServiceAccessPolicies API operation for Amazon CloudSearch. +// +// Gets information about the access policies that control access to the domain's +// document and search endpoints. By default, shows the configuration with any +// pending changes. Set the Deployed option to true to show the active configuration +// and exclude pending changes. For more information, see Configuring Access +// for a Search Domain (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-access.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DescribeServiceAccessPolicies for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DescribeServiceAccessPolicies(input *DescribeServiceAccessPoliciesInput) (*DescribeServiceAccessPoliciesOutput, error) { + req, out := c.DescribeServiceAccessPoliciesRequest(input) + return out, req.Send() +} + +// DescribeServiceAccessPoliciesWithContext is the same as DescribeServiceAccessPolicies with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeServiceAccessPolicies 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 *CloudSearch) DescribeServiceAccessPoliciesWithContext(ctx aws.Context, input *DescribeServiceAccessPoliciesInput, opts ...request.Option) (*DescribeServiceAccessPoliciesOutput, error) { + req, out := c.DescribeServiceAccessPoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeSuggesters = "DescribeSuggesters" + +// DescribeSuggestersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSuggesters 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 DescribeSuggesters for more information on using the DescribeSuggesters +// 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 DescribeSuggestersRequest method. +// req, resp := client.DescribeSuggestersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) DescribeSuggestersRequest(input *DescribeSuggestersInput) (req *request.Request, output *DescribeSuggestersOutput) { + op := &request.Operation{ + Name: opDescribeSuggesters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeSuggestersInput{} + } + + output = &DescribeSuggestersOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSuggesters API operation for Amazon CloudSearch. +// +// Gets the suggesters configured for a domain. A suggester enables you to display +// possible matches before users finish typing their queries. Can be limited +// to specific suggesters by name. By default, shows all suggesters and includes +// any pending changes to the configuration. Set the Deployed option to true +// to show the active configuration and exclude pending changes. For more information, +// see Getting Search Suggestions (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation DescribeSuggesters for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) DescribeSuggesters(input *DescribeSuggestersInput) (*DescribeSuggestersOutput, error) { + req, out := c.DescribeSuggestersRequest(input) + return out, req.Send() +} + +// DescribeSuggestersWithContext is the same as DescribeSuggesters with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSuggesters 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 *CloudSearch) DescribeSuggestersWithContext(ctx aws.Context, input *DescribeSuggestersInput, opts ...request.Option) (*DescribeSuggestersOutput, error) { + req, out := c.DescribeSuggestersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opIndexDocuments = "IndexDocuments" + +// IndexDocumentsRequest generates a "aws/request.Request" representing the +// client's request for the IndexDocuments 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 IndexDocuments for more information on using the IndexDocuments +// 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 IndexDocumentsRequest method. +// req, resp := client.IndexDocumentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) IndexDocumentsRequest(input *IndexDocumentsInput) (req *request.Request, output *IndexDocumentsOutput) { + op := &request.Operation{ + Name: opIndexDocuments, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &IndexDocumentsInput{} + } + + output = &IndexDocumentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// IndexDocuments API operation for Amazon CloudSearch. +// +// Tells the search domain to start indexing its documents using the latest +// indexing options. This operation must be invoked to activate options whose +// OptionStatus is RequiresIndexDocuments. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation IndexDocuments for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +func (c *CloudSearch) IndexDocuments(input *IndexDocumentsInput) (*IndexDocumentsOutput, error) { + req, out := c.IndexDocumentsRequest(input) + return out, req.Send() +} + +// IndexDocumentsWithContext is the same as IndexDocuments with the addition of +// the ability to pass a context and additional request options. +// +// See IndexDocuments 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 *CloudSearch) IndexDocumentsWithContext(ctx aws.Context, input *IndexDocumentsInput, opts ...request.Option) (*IndexDocumentsOutput, error) { + req, out := c.IndexDocumentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListDomainNames = "ListDomainNames" + +// ListDomainNamesRequest generates a "aws/request.Request" representing the +// client's request for the ListDomainNames 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 ListDomainNames for more information on using the ListDomainNames +// 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 ListDomainNamesRequest method. +// req, resp := client.ListDomainNamesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) ListDomainNamesRequest(input *ListDomainNamesInput) (req *request.Request, output *ListDomainNamesOutput) { + op := &request.Operation{ + Name: opListDomainNames, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListDomainNamesInput{} + } + + output = &ListDomainNamesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDomainNames API operation for Amazon CloudSearch. +// +// Lists all search domains owned by an 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 CloudSearch's +// API operation ListDomainNames for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +func (c *CloudSearch) ListDomainNames(input *ListDomainNamesInput) (*ListDomainNamesOutput, error) { + req, out := c.ListDomainNamesRequest(input) + return out, req.Send() +} + +// ListDomainNamesWithContext is the same as ListDomainNames with the addition of +// the ability to pass a context and additional request options. +// +// See ListDomainNames 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 *CloudSearch) ListDomainNamesWithContext(ctx aws.Context, input *ListDomainNamesInput, opts ...request.Option) (*ListDomainNamesOutput, error) { + req, out := c.ListDomainNamesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAvailabilityOptions = "UpdateAvailabilityOptions" + +// UpdateAvailabilityOptionsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAvailabilityOptions 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 UpdateAvailabilityOptions for more information on using the UpdateAvailabilityOptions +// 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 UpdateAvailabilityOptionsRequest method. +// req, resp := client.UpdateAvailabilityOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) UpdateAvailabilityOptionsRequest(input *UpdateAvailabilityOptionsInput) (req *request.Request, output *UpdateAvailabilityOptionsOutput) { + op := &request.Operation{ + Name: opUpdateAvailabilityOptions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateAvailabilityOptionsInput{} + } + + output = &UpdateAvailabilityOptionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAvailabilityOptions API operation for Amazon CloudSearch. +// +// Configures the availability options for a domain. Enabling the Multi-AZ option +// expands an Amazon CloudSearch domain to an additional Availability Zone in +// the same Region to increase fault tolerance in the event of a service disruption. +// Changes to the Multi-AZ option can take about half an hour to become active. +// For more information, see Configuring Availability Options (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-availability-options.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation UpdateAvailabilityOptions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeInvalidTypeException "InvalidType" +// The request was rejected because it specified an invalid type definition. +// +// * ErrCodeLimitExceededException "LimitExceeded" +// The request was rejected because a resource limit has already been met. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +// * ErrCodeDisabledOperationException "DisabledAction" +// The request was rejected because it attempted an operation which is not enabled. +// +func (c *CloudSearch) UpdateAvailabilityOptions(input *UpdateAvailabilityOptionsInput) (*UpdateAvailabilityOptionsOutput, error) { + req, out := c.UpdateAvailabilityOptionsRequest(input) + return out, req.Send() +} + +// UpdateAvailabilityOptionsWithContext is the same as UpdateAvailabilityOptions with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAvailabilityOptions 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 *CloudSearch) UpdateAvailabilityOptionsWithContext(ctx aws.Context, input *UpdateAvailabilityOptionsInput, opts ...request.Option) (*UpdateAvailabilityOptionsOutput, error) { + req, out := c.UpdateAvailabilityOptionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateScalingParameters = "UpdateScalingParameters" + +// UpdateScalingParametersRequest generates a "aws/request.Request" representing the +// client's request for the UpdateScalingParameters 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 UpdateScalingParameters for more information on using the UpdateScalingParameters +// 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 UpdateScalingParametersRequest method. +// req, resp := client.UpdateScalingParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) UpdateScalingParametersRequest(input *UpdateScalingParametersInput) (req *request.Request, output *UpdateScalingParametersOutput) { + op := &request.Operation{ + Name: opUpdateScalingParameters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateScalingParametersInput{} + } + + output = &UpdateScalingParametersOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateScalingParameters API operation for Amazon CloudSearch. +// +// Configures scaling parameters for a domain. A domain's scaling parameters +// specify the desired search instance type and replication count. Amazon CloudSearch +// will still automatically scale your domain based on the volume of data and +// traffic, but not below the desired instance type and replication count. If +// the Multi-AZ option is enabled, these values control the resources used per +// Availability Zone. For more information, see Configuring Scaling Options +// (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-scaling-options.html) +// in the Amazon CloudSearch Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudSearch's +// API operation UpdateScalingParameters for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeLimitExceededException "LimitExceeded" +// The request was rejected because a resource limit has already been met. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +// * ErrCodeInvalidTypeException "InvalidType" +// The request was rejected because it specified an invalid type definition. +// +func (c *CloudSearch) UpdateScalingParameters(input *UpdateScalingParametersInput) (*UpdateScalingParametersOutput, error) { + req, out := c.UpdateScalingParametersRequest(input) + return out, req.Send() +} + +// UpdateScalingParametersWithContext is the same as UpdateScalingParameters with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateScalingParameters 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 *CloudSearch) UpdateScalingParametersWithContext(ctx aws.Context, input *UpdateScalingParametersInput, opts ...request.Option) (*UpdateScalingParametersOutput, error) { + req, out := c.UpdateScalingParametersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateServiceAccessPolicies = "UpdateServiceAccessPolicies" + +// UpdateServiceAccessPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the UpdateServiceAccessPolicies 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 UpdateServiceAccessPolicies for more information on using the UpdateServiceAccessPolicies +// 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 UpdateServiceAccessPoliciesRequest method. +// req, resp := client.UpdateServiceAccessPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *CloudSearch) UpdateServiceAccessPoliciesRequest(input *UpdateServiceAccessPoliciesInput) (req *request.Request, output *UpdateServiceAccessPoliciesOutput) { + op := &request.Operation{ + Name: opUpdateServiceAccessPolicies, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateServiceAccessPoliciesInput{} + } + + output = &UpdateServiceAccessPoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateServiceAccessPolicies API operation for Amazon CloudSearch. +// +// Configures the access rules that control access to the domain's document +// and search endpoints. For more information, see Configuring Access for an +// Amazon CloudSearch Domain (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-access.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 CloudSearch's +// API operation UpdateServiceAccessPolicies for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBaseException "BaseException" +// An error occurred while processing the request. +// +// * ErrCodeInternalException "InternalException" +// An internal error occurred while processing the request. If this problem +// persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). +// +// * ErrCodeLimitExceededException "LimitExceeded" +// The request was rejected because a resource limit has already been met. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// The request was rejected because it attempted to reference a resource that +// does not exist. +// +// * ErrCodeInvalidTypeException "InvalidType" +// The request was rejected because it specified an invalid type definition. +// +func (c *CloudSearch) UpdateServiceAccessPolicies(input *UpdateServiceAccessPoliciesInput) (*UpdateServiceAccessPoliciesOutput, error) { + req, out := c.UpdateServiceAccessPoliciesRequest(input) + return out, req.Send() +} + +// UpdateServiceAccessPoliciesWithContext is the same as UpdateServiceAccessPolicies with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateServiceAccessPolicies 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 *CloudSearch) UpdateServiceAccessPoliciesWithContext(ctx aws.Context, input *UpdateServiceAccessPoliciesInput, opts ...request.Option) (*UpdateServiceAccessPoliciesOutput, error) { + req, out := c.UpdateServiceAccessPoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// The configured access rules for the domain's document and search endpoints, +// and the current status of those rules. +type AccessPoliciesStatus struct { + _ struct{} `type:"structure"` + + // Access rules for a domain's document or search service endpoints. For more + // information, see Configuring Access for a Search Domain (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-access.html) + // in the Amazon CloudSearch Developer Guide. The maximum size of a policy document + // is 100 KB. + // + // Options is a required field + Options *string `type:"string" required:"true"` + + // The status of domain configuration option. + // + // Status is a required field + Status *OptionStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s AccessPoliciesStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessPoliciesStatus) GoString() string { + return s.String() +} + +// SetOptions sets the Options field's value. +func (s *AccessPoliciesStatus) SetOptions(v string) *AccessPoliciesStatus { + s.Options = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AccessPoliciesStatus) SetStatus(v *OptionStatus) *AccessPoliciesStatus { + s.Status = v + return s +} + +// Synonyms, stopwords, and stemming options for an analysis scheme. Includes +// tokenization dictionary for Japanese. +type AnalysisOptions struct { + _ struct{} `type:"structure"` + + // The level of algorithmic stemming to perform: none, minimal, light, or full. + // The available levels vary depending on the language. For more information, + // see Language Specific Text Processing Settings (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/text-processing.html#text-processing-settings) + // in the Amazon CloudSearch Developer Guide + AlgorithmicStemming *string `type:"string" enum:"AlgorithmicStemming"` + + // A JSON array that contains a collection of terms, tokens, readings and part + // of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary + // enables you to override the default tokenization for selected terms. This + // is only valid for Japanese language fields. + JapaneseTokenizationDictionary *string `type:"string"` + + // A JSON object that contains a collection of string:value pairs that each + // map a term to its stem. For example, {"term1": "stem1", "term2": "stem2", + // "term3": "stem3"}. The stemming dictionary is applied in addition to any + // algorithmic stemming. This enables you to override the results of the algorithmic + // stemming to correct specific cases of overstemming or understemming. The + // maximum size of a stemming dictionary is 500 KB. + StemmingDictionary *string `type:"string"` + + // A JSON array of terms to ignore during indexing and searching. For example, + // ["a", "an", "the", "of"]. The stopwords dictionary must explicitly list each + // word you want to ignore. Wildcards and regular expressions are not supported. + Stopwords *string `type:"string"` + + // A JSON object that defines synonym groups and aliases. A synonym group is + // an array of arrays, where each sub-array is a group of terms where each term + // in the group is considered a synonym of every other term in the group. The + // aliases value is an object that contains a collection of string:value pairs + // where the string specifies a term and the array of values specifies each + // of the aliases for that term. An alias is considered a synonym of the specified + // term, but the term is not considered a synonym of the alias. For more information + // about specifying synonyms, see Synonyms (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-analysis-schemes.html#synonyms) + // in the Amazon CloudSearch Developer Guide. + Synonyms *string `type:"string"` +} + +// String returns the string representation +func (s AnalysisOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AnalysisOptions) GoString() string { + return s.String() +} + +// SetAlgorithmicStemming sets the AlgorithmicStemming field's value. +func (s *AnalysisOptions) SetAlgorithmicStemming(v string) *AnalysisOptions { + s.AlgorithmicStemming = &v + return s +} + +// SetJapaneseTokenizationDictionary sets the JapaneseTokenizationDictionary field's value. +func (s *AnalysisOptions) SetJapaneseTokenizationDictionary(v string) *AnalysisOptions { + s.JapaneseTokenizationDictionary = &v + return s +} + +// SetStemmingDictionary sets the StemmingDictionary field's value. +func (s *AnalysisOptions) SetStemmingDictionary(v string) *AnalysisOptions { + s.StemmingDictionary = &v + return s +} + +// SetStopwords sets the Stopwords field's value. +func (s *AnalysisOptions) SetStopwords(v string) *AnalysisOptions { + s.Stopwords = &v + return s +} + +// SetSynonyms sets the Synonyms field's value. +func (s *AnalysisOptions) SetSynonyms(v string) *AnalysisOptions { + s.Synonyms = &v + return s +} + +// Configuration information for an analysis scheme. Each analysis scheme has +// a unique name and specifies the language of the text to be processed. The +// following options can be configured for an analysis scheme: Synonyms, Stopwords, +// StemmingDictionary, JapaneseTokenizationDictionary and AlgorithmicStemming. +type AnalysisScheme struct { + _ struct{} `type:"structure"` + + // Synonyms, stopwords, and stemming options for an analysis scheme. Includes + // tokenization dictionary for Japanese. + AnalysisOptions *AnalysisOptions `type:"structure"` + + // An IETF RFC 4646 (http://tools.ietf.org/html/rfc4646) language code or mul + // for multiple languages. + // + // AnalysisSchemeLanguage is a required field + AnalysisSchemeLanguage *string `type:"string" required:"true" enum:"AnalysisSchemeLanguage"` + + // Names must begin with a letter and can contain the following characters: + // a-z (lowercase), 0-9, and _ (underscore). + // + // AnalysisSchemeName is a required field + AnalysisSchemeName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AnalysisScheme) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AnalysisScheme) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AnalysisScheme) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AnalysisScheme"} + if s.AnalysisSchemeLanguage == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisSchemeLanguage")) + } + if s.AnalysisSchemeName == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisSchemeName")) + } + if s.AnalysisSchemeName != nil && len(*s.AnalysisSchemeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisSchemeName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalysisOptions sets the AnalysisOptions field's value. +func (s *AnalysisScheme) SetAnalysisOptions(v *AnalysisOptions) *AnalysisScheme { + s.AnalysisOptions = v + return s +} + +// SetAnalysisSchemeLanguage sets the AnalysisSchemeLanguage field's value. +func (s *AnalysisScheme) SetAnalysisSchemeLanguage(v string) *AnalysisScheme { + s.AnalysisSchemeLanguage = &v + return s +} + +// SetAnalysisSchemeName sets the AnalysisSchemeName field's value. +func (s *AnalysisScheme) SetAnalysisSchemeName(v string) *AnalysisScheme { + s.AnalysisSchemeName = &v + return s +} + +// The status and configuration of an AnalysisScheme. +type AnalysisSchemeStatus struct { + _ struct{} `type:"structure"` + + // Configuration information for an analysis scheme. Each analysis scheme has + // a unique name and specifies the language of the text to be processed. The + // following options can be configured for an analysis scheme: Synonyms, Stopwords, + // StemmingDictionary, JapaneseTokenizationDictionary and AlgorithmicStemming. + // + // Options is a required field + Options *AnalysisScheme `type:"structure" required:"true"` + + // The status of domain configuration option. + // + // Status is a required field + Status *OptionStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s AnalysisSchemeStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AnalysisSchemeStatus) GoString() string { + return s.String() +} + +// SetOptions sets the Options field's value. +func (s *AnalysisSchemeStatus) SetOptions(v *AnalysisScheme) *AnalysisSchemeStatus { + s.Options = v + return s +} + +// SetStatus sets the Status field's value. +func (s *AnalysisSchemeStatus) SetStatus(v *OptionStatus) *AnalysisSchemeStatus { + s.Status = v + return s +} + +// The status and configuration of the domain's availability options. +type AvailabilityOptionsStatus struct { + _ struct{} `type:"structure"` + + // The availability options configured for the domain. + // + // Options is a required field + Options *bool `type:"boolean" required:"true"` + + // The status of domain configuration option. + // + // Status is a required field + Status *OptionStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s AvailabilityOptionsStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AvailabilityOptionsStatus) GoString() string { + return s.String() +} + +// SetOptions sets the Options field's value. +func (s *AvailabilityOptionsStatus) SetOptions(v bool) *AvailabilityOptionsStatus { + s.Options = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AvailabilityOptionsStatus) SetStatus(v *OptionStatus) *AvailabilityOptionsStatus { + s.Status = v + return s +} + +// Container for the parameters to the BuildSuggester operation. Specifies the +// name of the domain you want to update. +type BuildSuggestersInput struct { + _ struct{} `type:"structure"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s BuildSuggestersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BuildSuggestersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BuildSuggestersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BuildSuggestersInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *BuildSuggestersInput) SetDomainName(v string) *BuildSuggestersInput { + s.DomainName = &v + return s +} + +// The result of a BuildSuggester request. Contains a list of the fields used +// for suggestions. +type BuildSuggestersOutput struct { + _ struct{} `type:"structure"` + + // A list of field names. + FieldNames []*string `type:"list"` +} + +// String returns the string representation +func (s BuildSuggestersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BuildSuggestersOutput) GoString() string { + return s.String() +} + +// SetFieldNames sets the FieldNames field's value. +func (s *BuildSuggestersOutput) SetFieldNames(v []*string) *BuildSuggestersOutput { + s.FieldNames = v + return s +} + +// Container for the parameters to the CreateDomain operation. Specifies a name +// for the new search domain. +type CreateDomainInput struct { + _ struct{} `type:"structure"` + + // A name for the domain you are creating. Allowed characters are a-z (lower-case + // letters), 0-9, and hyphen (-). Domain names must start with a letter or number + // and be at least 3 and no more than 28 characters long. + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateDomainInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDomainInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput { + s.DomainName = &v + return s +} + +// The result of a CreateDomainRequest. Contains the status of a newly created +// domain. +type CreateDomainOutput struct { + _ struct{} `type:"structure"` + + // The current status of the search domain. + DomainStatus *DomainStatus `type:"structure"` +} + +// String returns the string representation +func (s CreateDomainOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDomainOutput) GoString() string { + return s.String() +} + +// SetDomainStatus sets the DomainStatus field's value. +func (s *CreateDomainOutput) SetDomainStatus(v *DomainStatus) *CreateDomainOutput { + s.DomainStatus = v + return s +} + +// Options for a field that contains an array of dates. Present if IndexFieldType +// specifies the field is of type date-array. All options are enabled by default. +type DateArrayOptions struct { + _ struct{} `type:"structure"` + + // A value to use for the field if the field isn't specified for a document. + DefaultValue *string `type:"string"` + + // Whether facet information can be returned for the field. + FacetEnabled *bool `type:"boolean"` + + // Whether the contents of the field can be returned in the search results. + ReturnEnabled *bool `type:"boolean"` + + // Whether the contents of the field are searchable. + SearchEnabled *bool `type:"boolean"` + + // A list of source fields to map to the field. + SourceFields *string `type:"string"` +} + +// String returns the string representation +func (s DateArrayOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DateArrayOptions) GoString() string { + return s.String() +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *DateArrayOptions) SetDefaultValue(v string) *DateArrayOptions { + s.DefaultValue = &v + return s +} + +// SetFacetEnabled sets the FacetEnabled field's value. +func (s *DateArrayOptions) SetFacetEnabled(v bool) *DateArrayOptions { + s.FacetEnabled = &v + return s +} + +// SetReturnEnabled sets the ReturnEnabled field's value. +func (s *DateArrayOptions) SetReturnEnabled(v bool) *DateArrayOptions { + s.ReturnEnabled = &v + return s +} + +// SetSearchEnabled sets the SearchEnabled field's value. +func (s *DateArrayOptions) SetSearchEnabled(v bool) *DateArrayOptions { + s.SearchEnabled = &v + return s +} + +// SetSourceFields sets the SourceFields field's value. +func (s *DateArrayOptions) SetSourceFields(v string) *DateArrayOptions { + s.SourceFields = &v + return s +} + +// Options for a date field. Dates and times are specified in UTC (Coordinated +// Universal Time) according to IETF RFC3339: yyyy-mm-ddT00:00:00Z. Present +// if IndexFieldType specifies the field is of type date. All options are enabled +// by default. +type DateOptions struct { + _ struct{} `type:"structure"` + + // A value to use for the field if the field isn't specified for a document. + DefaultValue *string `type:"string"` + + // Whether facet information can be returned for the field. + FacetEnabled *bool `type:"boolean"` + + // Whether the contents of the field can be returned in the search results. + ReturnEnabled *bool `type:"boolean"` + + // Whether the contents of the field are searchable. + SearchEnabled *bool `type:"boolean"` + + // Whether the field can be used to sort the search results. + SortEnabled *bool `type:"boolean"` + + // A string that represents the name of an index field. CloudSearch supports + // regular index fields as well as dynamic fields. A dynamic field's name defines + // a pattern that begins or ends with a wildcard. Any document fields that don't + // map to a regular index field but do match a dynamic field's pattern are configured + // with the dynamic field's indexing options. + // + // Regular field names begin with a letter and can contain the following characters: + // a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin + // or end with a wildcard (*). The wildcard can also be the only character in + // a dynamic field name. Multiple wildcards, and wildcards embedded within a + // string are not supported. + // + // The name score is reserved and cannot be used as a field name. To reference + // a document's ID, you can use the name _id. + SourceField *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DateOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DateOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DateOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DateOptions"} + if s.SourceField != nil && len(*s.SourceField) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceField", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *DateOptions) SetDefaultValue(v string) *DateOptions { + s.DefaultValue = &v + return s +} + +// SetFacetEnabled sets the FacetEnabled field's value. +func (s *DateOptions) SetFacetEnabled(v bool) *DateOptions { + s.FacetEnabled = &v + return s +} + +// SetReturnEnabled sets the ReturnEnabled field's value. +func (s *DateOptions) SetReturnEnabled(v bool) *DateOptions { + s.ReturnEnabled = &v + return s +} + +// SetSearchEnabled sets the SearchEnabled field's value. +func (s *DateOptions) SetSearchEnabled(v bool) *DateOptions { + s.SearchEnabled = &v + return s +} + +// SetSortEnabled sets the SortEnabled field's value. +func (s *DateOptions) SetSortEnabled(v bool) *DateOptions { + s.SortEnabled = &v + return s +} + +// SetSourceField sets the SourceField field's value. +func (s *DateOptions) SetSourceField(v string) *DateOptions { + s.SourceField = &v + return s +} + +// Container for the parameters to the DefineAnalysisScheme operation. Specifies +// the name of the domain you want to update and the analysis scheme configuration. +type DefineAnalysisSchemeInput struct { + _ struct{} `type:"structure"` + + // Configuration information for an analysis scheme. Each analysis scheme has + // a unique name and specifies the language of the text to be processed. The + // following options can be configured for an analysis scheme: Synonyms, Stopwords, + // StemmingDictionary, JapaneseTokenizationDictionary and AlgorithmicStemming. + // + // AnalysisScheme is a required field + AnalysisScheme *AnalysisScheme `type:"structure" required:"true"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s DefineAnalysisSchemeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefineAnalysisSchemeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DefineAnalysisSchemeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DefineAnalysisSchemeInput"} + if s.AnalysisScheme == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisScheme")) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.AnalysisScheme != nil { + if err := s.AnalysisScheme.Validate(); err != nil { + invalidParams.AddNested("AnalysisScheme", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalysisScheme sets the AnalysisScheme field's value. +func (s *DefineAnalysisSchemeInput) SetAnalysisScheme(v *AnalysisScheme) *DefineAnalysisSchemeInput { + s.AnalysisScheme = v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DefineAnalysisSchemeInput) SetDomainName(v string) *DefineAnalysisSchemeInput { + s.DomainName = &v + return s +} + +// The result of a DefineAnalysisScheme request. Contains the status of the +// newly-configured analysis scheme. +type DefineAnalysisSchemeOutput struct { + _ struct{} `type:"structure"` + + // The status and configuration of an AnalysisScheme. + // + // AnalysisScheme is a required field + AnalysisScheme *AnalysisSchemeStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DefineAnalysisSchemeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefineAnalysisSchemeOutput) GoString() string { + return s.String() +} + +// SetAnalysisScheme sets the AnalysisScheme field's value. +func (s *DefineAnalysisSchemeOutput) SetAnalysisScheme(v *AnalysisSchemeStatus) *DefineAnalysisSchemeOutput { + s.AnalysisScheme = v + return s +} + +// Container for the parameters to the DefineExpression operation. Specifies +// the name of the domain you want to update and the expression you want to +// configure. +type DefineExpressionInput struct { + _ struct{} `type:"structure"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + // A named expression that can be evaluated at search time. Can be used to sort + // the search results, define other expressions, or return computed information + // in the search results. + // + // Expression is a required field + Expression *Expression `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DefineExpressionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefineExpressionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DefineExpressionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DefineExpressionInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.Expression == nil { + invalidParams.Add(request.NewErrParamRequired("Expression")) + } + if s.Expression != nil { + if err := s.Expression.Validate(); err != nil { + invalidParams.AddNested("Expression", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DefineExpressionInput) SetDomainName(v string) *DefineExpressionInput { + s.DomainName = &v + return s +} + +// SetExpression sets the Expression field's value. +func (s *DefineExpressionInput) SetExpression(v *Expression) *DefineExpressionInput { + s.Expression = v + return s +} + +// The result of a DefineExpression request. Contains the status of the newly-configured +// expression. +type DefineExpressionOutput struct { + _ struct{} `type:"structure"` + + // The value of an Expression and its current status. + // + // Expression is a required field + Expression *ExpressionStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DefineExpressionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefineExpressionOutput) GoString() string { + return s.String() +} + +// SetExpression sets the Expression field's value. +func (s *DefineExpressionOutput) SetExpression(v *ExpressionStatus) *DefineExpressionOutput { + s.Expression = v + return s +} + +// Container for the parameters to the DefineIndexField operation. Specifies +// the name of the domain you want to update and the index field configuration. +type DefineIndexFieldInput struct { + _ struct{} `type:"structure"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + // The index field and field options you want to configure. + // + // IndexField is a required field + IndexField *IndexField `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DefineIndexFieldInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefineIndexFieldInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DefineIndexFieldInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DefineIndexFieldInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.IndexField == nil { + invalidParams.Add(request.NewErrParamRequired("IndexField")) + } + if s.IndexField != nil { + if err := s.IndexField.Validate(); err != nil { + invalidParams.AddNested("IndexField", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DefineIndexFieldInput) SetDomainName(v string) *DefineIndexFieldInput { + s.DomainName = &v + return s +} + +// SetIndexField sets the IndexField field's value. +func (s *DefineIndexFieldInput) SetIndexField(v *IndexField) *DefineIndexFieldInput { + s.IndexField = v + return s +} + +// The result of a DefineIndexField request. Contains the status of the newly-configured +// index field. +type DefineIndexFieldOutput struct { + _ struct{} `type:"structure"` + + // The value of an IndexField and its current status. + // + // IndexField is a required field + IndexField *IndexFieldStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DefineIndexFieldOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefineIndexFieldOutput) GoString() string { + return s.String() +} + +// SetIndexField sets the IndexField field's value. +func (s *DefineIndexFieldOutput) SetIndexField(v *IndexFieldStatus) *DefineIndexFieldOutput { + s.IndexField = v + return s +} + +// Container for the parameters to the DefineSuggester operation. Specifies +// the name of the domain you want to update and the suggester configuration. +type DefineSuggesterInput struct { + _ struct{} `type:"structure"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + // Configuration information for a search suggester. Each suggester has a unique + // name and specifies the text field you want to use for suggestions. The following + // options can be configured for a suggester: FuzzyMatching, SortExpression. + // + // Suggester is a required field + Suggester *Suggester `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DefineSuggesterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefineSuggesterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DefineSuggesterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DefineSuggesterInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.Suggester == nil { + invalidParams.Add(request.NewErrParamRequired("Suggester")) + } + if s.Suggester != nil { + if err := s.Suggester.Validate(); err != nil { + invalidParams.AddNested("Suggester", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DefineSuggesterInput) SetDomainName(v string) *DefineSuggesterInput { + s.DomainName = &v + return s +} + +// SetSuggester sets the Suggester field's value. +func (s *DefineSuggesterInput) SetSuggester(v *Suggester) *DefineSuggesterInput { + s.Suggester = v + return s +} + +// The result of a DefineSuggester request. Contains the status of the newly-configured +// suggester. +type DefineSuggesterOutput struct { + _ struct{} `type:"structure"` + + // The value of a Suggester and its current status. + // + // Suggester is a required field + Suggester *SuggesterStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DefineSuggesterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefineSuggesterOutput) GoString() string { + return s.String() +} + +// SetSuggester sets the Suggester field's value. +func (s *DefineSuggesterOutput) SetSuggester(v *SuggesterStatus) *DefineSuggesterOutput { + s.Suggester = v + return s +} + +// Container for the parameters to the DeleteAnalysisScheme operation. Specifies +// the name of the domain you want to update and the analysis scheme you want +// to delete. +type DeleteAnalysisSchemeInput struct { + _ struct{} `type:"structure"` + + // The name of the analysis scheme you want to delete. + // + // AnalysisSchemeName is a required field + AnalysisSchemeName *string `min:"1" type:"string" required:"true"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAnalysisSchemeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAnalysisSchemeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAnalysisSchemeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAnalysisSchemeInput"} + if s.AnalysisSchemeName == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisSchemeName")) + } + if s.AnalysisSchemeName != nil && len(*s.AnalysisSchemeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisSchemeName", 1)) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalysisSchemeName sets the AnalysisSchemeName field's value. +func (s *DeleteAnalysisSchemeInput) SetAnalysisSchemeName(v string) *DeleteAnalysisSchemeInput { + s.AnalysisSchemeName = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DeleteAnalysisSchemeInput) SetDomainName(v string) *DeleteAnalysisSchemeInput { + s.DomainName = &v + return s +} + +// The result of a DeleteAnalysisScheme request. Contains the status of the +// deleted analysis scheme. +type DeleteAnalysisSchemeOutput struct { + _ struct{} `type:"structure"` + + // The status of the analysis scheme being deleted. + // + // AnalysisScheme is a required field + AnalysisScheme *AnalysisSchemeStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteAnalysisSchemeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAnalysisSchemeOutput) GoString() string { + return s.String() +} + +// SetAnalysisScheme sets the AnalysisScheme field's value. +func (s *DeleteAnalysisSchemeOutput) SetAnalysisScheme(v *AnalysisSchemeStatus) *DeleteAnalysisSchemeOutput { + s.AnalysisScheme = v + return s +} + +// Container for the parameters to the DeleteDomain operation. Specifies the +// name of the domain you want to delete. +type DeleteDomainInput struct { + _ struct{} `type:"structure"` + + // The name of the domain you want to permanently delete. + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDomainInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDomainInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput { + s.DomainName = &v + return s +} + +// The result of a DeleteDomain request. Contains the status of a newly deleted +// domain, or no status if the domain has already been completely deleted. +type DeleteDomainOutput struct { + _ struct{} `type:"structure"` + + // The current status of the search domain. + DomainStatus *DomainStatus `type:"structure"` +} + +// String returns the string representation +func (s DeleteDomainOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDomainOutput) GoString() string { + return s.String() +} + +// SetDomainStatus sets the DomainStatus field's value. +func (s *DeleteDomainOutput) SetDomainStatus(v *DomainStatus) *DeleteDomainOutput { + s.DomainStatus = v + return s +} + +// Container for the parameters to the DeleteExpression operation. Specifies +// the name of the domain you want to update and the name of the expression +// you want to delete. +type DeleteExpressionInput struct { + _ struct{} `type:"structure"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + // The name of the Expression to delete. + // + // ExpressionName is a required field + ExpressionName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteExpressionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteExpressionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteExpressionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteExpressionInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.ExpressionName == nil { + invalidParams.Add(request.NewErrParamRequired("ExpressionName")) + } + if s.ExpressionName != nil && len(*s.ExpressionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExpressionName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DeleteExpressionInput) SetDomainName(v string) *DeleteExpressionInput { + s.DomainName = &v + return s +} + +// SetExpressionName sets the ExpressionName field's value. +func (s *DeleteExpressionInput) SetExpressionName(v string) *DeleteExpressionInput { + s.ExpressionName = &v + return s +} + +// The result of a DeleteExpression request. Specifies the expression being +// deleted. +type DeleteExpressionOutput struct { + _ struct{} `type:"structure"` + + // The status of the expression being deleted. + // + // Expression is a required field + Expression *ExpressionStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteExpressionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteExpressionOutput) GoString() string { + return s.String() +} + +// SetExpression sets the Expression field's value. +func (s *DeleteExpressionOutput) SetExpression(v *ExpressionStatus) *DeleteExpressionOutput { + s.Expression = v + return s +} + +// Container for the parameters to the DeleteIndexField operation. Specifies +// the name of the domain you want to update and the name of the index field +// you want to delete. +type DeleteIndexFieldInput struct { + _ struct{} `type:"structure"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + // The name of the index field your want to remove from the domain's indexing + // options. + // + // IndexFieldName is a required field + IndexFieldName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteIndexFieldInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIndexFieldInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIndexFieldInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIndexFieldInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.IndexFieldName == nil { + invalidParams.Add(request.NewErrParamRequired("IndexFieldName")) + } + if s.IndexFieldName != nil && len(*s.IndexFieldName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IndexFieldName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DeleteIndexFieldInput) SetDomainName(v string) *DeleteIndexFieldInput { + s.DomainName = &v + return s +} + +// SetIndexFieldName sets the IndexFieldName field's value. +func (s *DeleteIndexFieldInput) SetIndexFieldName(v string) *DeleteIndexFieldInput { + s.IndexFieldName = &v + return s +} + +// The result of a DeleteIndexField request. +type DeleteIndexFieldOutput struct { + _ struct{} `type:"structure"` + + // The status of the index field being deleted. + // + // IndexField is a required field + IndexField *IndexFieldStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteIndexFieldOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIndexFieldOutput) GoString() string { + return s.String() +} + +// SetIndexField sets the IndexField field's value. +func (s *DeleteIndexFieldOutput) SetIndexField(v *IndexFieldStatus) *DeleteIndexFieldOutput { + s.IndexField = v + return s +} + +// Container for the parameters to the DeleteSuggester operation. Specifies +// the name of the domain you want to update and name of the suggester you want +// to delete. +type DeleteSuggesterInput struct { + _ struct{} `type:"structure"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + // Specifies the name of the suggester you want to delete. + // + // SuggesterName is a required field + SuggesterName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSuggesterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSuggesterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSuggesterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSuggesterInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.SuggesterName == nil { + invalidParams.Add(request.NewErrParamRequired("SuggesterName")) + } + if s.SuggesterName != nil && len(*s.SuggesterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SuggesterName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DeleteSuggesterInput) SetDomainName(v string) *DeleteSuggesterInput { + s.DomainName = &v + return s +} + +// SetSuggesterName sets the SuggesterName field's value. +func (s *DeleteSuggesterInput) SetSuggesterName(v string) *DeleteSuggesterInput { + s.SuggesterName = &v + return s +} + +// The result of a DeleteSuggester request. Contains the status of the deleted +// suggester. +type DeleteSuggesterOutput struct { + _ struct{} `type:"structure"` + + // The status of the suggester being deleted. + // + // Suggester is a required field + Suggester *SuggesterStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteSuggesterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSuggesterOutput) GoString() string { + return s.String() +} + +// SetSuggester sets the Suggester field's value. +func (s *DeleteSuggesterOutput) SetSuggester(v *SuggesterStatus) *DeleteSuggesterOutput { + s.Suggester = v + return s +} + +// Container for the parameters to the DescribeAnalysisSchemes operation. Specifies +// the name of the domain you want to describe. To limit the response to particular +// analysis schemes, specify the names of the analysis schemes you want to describe. +// To show the active configuration and exclude any pending changes, set the +// Deployed option to true. +type DescribeAnalysisSchemesInput struct { + _ struct{} `type:"structure"` + + // The analysis schemes you want to describe. + AnalysisSchemeNames []*string `type:"list"` + + // Whether to display the deployed configuration (true) or include any pending + // changes (false). Defaults to false. + Deployed *bool `type:"boolean"` + + // The name of the domain you want to describe. + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeAnalysisSchemesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAnalysisSchemesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAnalysisSchemesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAnalysisSchemesInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalysisSchemeNames sets the AnalysisSchemeNames field's value. +func (s *DescribeAnalysisSchemesInput) SetAnalysisSchemeNames(v []*string) *DescribeAnalysisSchemesInput { + s.AnalysisSchemeNames = v + return s +} + +// SetDeployed sets the Deployed field's value. +func (s *DescribeAnalysisSchemesInput) SetDeployed(v bool) *DescribeAnalysisSchemesInput { + s.Deployed = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DescribeAnalysisSchemesInput) SetDomainName(v string) *DescribeAnalysisSchemesInput { + s.DomainName = &v + return s +} + +// The result of a DescribeAnalysisSchemes request. Contains the analysis schemes +// configured for the domain specified in the request. +type DescribeAnalysisSchemesOutput struct { + _ struct{} `type:"structure"` + + // The analysis scheme descriptions. + // + // AnalysisSchemes is a required field + AnalysisSchemes []*AnalysisSchemeStatus `type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribeAnalysisSchemesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAnalysisSchemesOutput) GoString() string { + return s.String() +} + +// SetAnalysisSchemes sets the AnalysisSchemes field's value. +func (s *DescribeAnalysisSchemesOutput) SetAnalysisSchemes(v []*AnalysisSchemeStatus) *DescribeAnalysisSchemesOutput { + s.AnalysisSchemes = v + return s +} + +// Container for the parameters to the DescribeAvailabilityOptions operation. +// Specifies the name of the domain you want to describe. To show the active +// configuration and exclude any pending changes, set the Deployed option to +// true. +type DescribeAvailabilityOptionsInput struct { + _ struct{} `type:"structure"` + + // Whether to display the deployed configuration (true) or include any pending + // changes (false). Defaults to false. + Deployed *bool `type:"boolean"` + + // The name of the domain you want to describe. + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeAvailabilityOptionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAvailabilityOptionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAvailabilityOptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAvailabilityOptionsInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeployed sets the Deployed field's value. +func (s *DescribeAvailabilityOptionsInput) SetDeployed(v bool) *DescribeAvailabilityOptionsInput { + s.Deployed = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DescribeAvailabilityOptionsInput) SetDomainName(v string) *DescribeAvailabilityOptionsInput { + s.DomainName = &v + return s +} + +// The result of a DescribeAvailabilityOptions request. Indicates whether or +// not the Multi-AZ option is enabled for the domain specified in the request. +type DescribeAvailabilityOptionsOutput struct { + _ struct{} `type:"structure"` + + // The availability options configured for the domain. Indicates whether Multi-AZ + // is enabled for the domain. + AvailabilityOptions *AvailabilityOptionsStatus `type:"structure"` +} + +// String returns the string representation +func (s DescribeAvailabilityOptionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAvailabilityOptionsOutput) GoString() string { + return s.String() +} + +// SetAvailabilityOptions sets the AvailabilityOptions field's value. +func (s *DescribeAvailabilityOptionsOutput) SetAvailabilityOptions(v *AvailabilityOptionsStatus) *DescribeAvailabilityOptionsOutput { + s.AvailabilityOptions = v + return s +} + +// Container for the parameters to the DescribeDomains operation. By default +// shows the status of all domains. To restrict the response to particular domains, +// specify the names of the domains you want to describe. +type DescribeDomainsInput struct { + _ struct{} `type:"structure"` + + // The names of the domains you want to include in the response. + DomainNames []*string `type:"list"` +} + +// String returns the string representation +func (s DescribeDomainsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDomainsInput) GoString() string { + return s.String() +} + +// SetDomainNames sets the DomainNames field's value. +func (s *DescribeDomainsInput) SetDomainNames(v []*string) *DescribeDomainsInput { + s.DomainNames = v + return s +} + +// The result of a DescribeDomains request. Contains the status of the domains +// specified in the request or all domains owned by the account. +type DescribeDomainsOutput struct { + _ struct{} `type:"structure"` + + // A list that contains the status of each requested domain. + // + // DomainStatusList is a required field + DomainStatusList []*DomainStatus `type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribeDomainsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDomainsOutput) GoString() string { + return s.String() +} + +// SetDomainStatusList sets the DomainStatusList field's value. +func (s *DescribeDomainsOutput) SetDomainStatusList(v []*DomainStatus) *DescribeDomainsOutput { + s.DomainStatusList = v + return s +} + +// Container for the parameters to the DescribeDomains operation. Specifies +// the name of the domain you want to describe. To restrict the response to +// particular expressions, specify the names of the expressions you want to +// describe. To show the active configuration and exclude any pending changes, +// set the Deployed option to true. +type DescribeExpressionsInput struct { + _ struct{} `type:"structure"` + + // Whether to display the deployed configuration (true) or include any pending + // changes (false). Defaults to false. + Deployed *bool `type:"boolean"` + + // The name of the domain you want to describe. + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + // Limits the DescribeExpressions response to the specified expressions. If + // not specified, all expressions are shown. + ExpressionNames []*string `type:"list"` +} + +// String returns the string representation +func (s DescribeExpressionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeExpressionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeExpressionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeExpressionsInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeployed sets the Deployed field's value. +func (s *DescribeExpressionsInput) SetDeployed(v bool) *DescribeExpressionsInput { + s.Deployed = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DescribeExpressionsInput) SetDomainName(v string) *DescribeExpressionsInput { + s.DomainName = &v + return s +} + +// SetExpressionNames sets the ExpressionNames field's value. +func (s *DescribeExpressionsInput) SetExpressionNames(v []*string) *DescribeExpressionsInput { + s.ExpressionNames = v + return s +} + +// The result of a DescribeExpressions request. Contains the expressions configured +// for the domain specified in the request. +type DescribeExpressionsOutput struct { + _ struct{} `type:"structure"` + + // The expressions configured for the domain. + // + // Expressions is a required field + Expressions []*ExpressionStatus `type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribeExpressionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeExpressionsOutput) GoString() string { + return s.String() +} + +// SetExpressions sets the Expressions field's value. +func (s *DescribeExpressionsOutput) SetExpressions(v []*ExpressionStatus) *DescribeExpressionsOutput { + s.Expressions = v + return s +} + +// Container for the parameters to the DescribeIndexFields operation. Specifies +// the name of the domain you want to describe. To restrict the response to +// particular index fields, specify the names of the index fields you want to +// describe. To show the active configuration and exclude any pending changes, +// set the Deployed option to true. +type DescribeIndexFieldsInput struct { + _ struct{} `type:"structure"` + + // Whether to display the deployed configuration (true) or include any pending + // changes (false). Defaults to false. + Deployed *bool `type:"boolean"` + + // The name of the domain you want to describe. + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + // A list of the index fields you want to describe. If not specified, information + // is returned for all configured index fields. + FieldNames []*string `type:"list"` +} + +// String returns the string representation +func (s DescribeIndexFieldsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeIndexFieldsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIndexFieldsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIndexFieldsInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeployed sets the Deployed field's value. +func (s *DescribeIndexFieldsInput) SetDeployed(v bool) *DescribeIndexFieldsInput { + s.Deployed = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DescribeIndexFieldsInput) SetDomainName(v string) *DescribeIndexFieldsInput { + s.DomainName = &v + return s +} + +// SetFieldNames sets the FieldNames field's value. +func (s *DescribeIndexFieldsInput) SetFieldNames(v []*string) *DescribeIndexFieldsInput { + s.FieldNames = v + return s +} + +// The result of a DescribeIndexFields request. Contains the index fields configured +// for the domain specified in the request. +type DescribeIndexFieldsOutput struct { + _ struct{} `type:"structure"` + + // The index fields configured for the domain. + // + // IndexFields is a required field + IndexFields []*IndexFieldStatus `type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribeIndexFieldsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeIndexFieldsOutput) GoString() string { + return s.String() +} + +// SetIndexFields sets the IndexFields field's value. +func (s *DescribeIndexFieldsOutput) SetIndexFields(v []*IndexFieldStatus) *DescribeIndexFieldsOutput { + s.IndexFields = v + return s +} + +// Container for the parameters to the DescribeScalingParameters operation. +// Specifies the name of the domain you want to describe. +type DescribeScalingParametersInput struct { + _ struct{} `type:"structure"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeScalingParametersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScalingParametersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeScalingParametersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeScalingParametersInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DescribeScalingParametersInput) SetDomainName(v string) *DescribeScalingParametersInput { + s.DomainName = &v + return s +} + +// The result of a DescribeScalingParameters request. Contains the scaling parameters +// configured for the domain specified in the request. +type DescribeScalingParametersOutput struct { + _ struct{} `type:"structure"` + + // The status and configuration of a search domain's scaling parameters. + // + // ScalingParameters is a required field + ScalingParameters *ScalingParametersStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeScalingParametersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScalingParametersOutput) GoString() string { + return s.String() +} + +// SetScalingParameters sets the ScalingParameters field's value. +func (s *DescribeScalingParametersOutput) SetScalingParameters(v *ScalingParametersStatus) *DescribeScalingParametersOutput { + s.ScalingParameters = v + return s +} + +// Container for the parameters to the DescribeServiceAccessPolicies operation. +// Specifies the name of the domain you want to describe. To show the active +// configuration and exclude any pending changes, set the Deployed option to +// true. +type DescribeServiceAccessPoliciesInput struct { + _ struct{} `type:"structure"` + + // Whether to display the deployed configuration (true) or include any pending + // changes (false). Defaults to false. + Deployed *bool `type:"boolean"` + + // The name of the domain you want to describe. + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeServiceAccessPoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeServiceAccessPoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeServiceAccessPoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeServiceAccessPoliciesInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeployed sets the Deployed field's value. +func (s *DescribeServiceAccessPoliciesInput) SetDeployed(v bool) *DescribeServiceAccessPoliciesInput { + s.Deployed = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DescribeServiceAccessPoliciesInput) SetDomainName(v string) *DescribeServiceAccessPoliciesInput { + s.DomainName = &v + return s +} + +// The result of a DescribeServiceAccessPolicies request. +type DescribeServiceAccessPoliciesOutput struct { + _ struct{} `type:"structure"` + + // The access rules configured for the domain specified in the request. + // + // AccessPolicies is a required field + AccessPolicies *AccessPoliciesStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeServiceAccessPoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeServiceAccessPoliciesOutput) GoString() string { + return s.String() +} + +// SetAccessPolicies sets the AccessPolicies field's value. +func (s *DescribeServiceAccessPoliciesOutput) SetAccessPolicies(v *AccessPoliciesStatus) *DescribeServiceAccessPoliciesOutput { + s.AccessPolicies = v + return s +} + +// Container for the parameters to the DescribeSuggester operation. Specifies +// the name of the domain you want to describe. To restrict the response to +// particular suggesters, specify the names of the suggesters you want to describe. +// To show the active configuration and exclude any pending changes, set the +// Deployed option to true. +type DescribeSuggestersInput struct { + _ struct{} `type:"structure"` + + // Whether to display the deployed configuration (true) or include any pending + // changes (false). Defaults to false. + Deployed *bool `type:"boolean"` + + // The name of the domain you want to describe. + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + // The suggesters you want to describe. + SuggesterNames []*string `type:"list"` +} + +// String returns the string representation +func (s DescribeSuggestersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSuggestersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSuggestersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSuggestersInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeployed sets the Deployed field's value. +func (s *DescribeSuggestersInput) SetDeployed(v bool) *DescribeSuggestersInput { + s.Deployed = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DescribeSuggestersInput) SetDomainName(v string) *DescribeSuggestersInput { + s.DomainName = &v + return s +} + +// SetSuggesterNames sets the SuggesterNames field's value. +func (s *DescribeSuggestersInput) SetSuggesterNames(v []*string) *DescribeSuggestersInput { + s.SuggesterNames = v + return s +} + +// The result of a DescribeSuggesters request. +type DescribeSuggestersOutput struct { + _ struct{} `type:"structure"` + + // The suggesters configured for the domain specified in the request. + // + // Suggesters is a required field + Suggesters []*SuggesterStatus `type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribeSuggestersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSuggestersOutput) GoString() string { + return s.String() +} + +// SetSuggesters sets the Suggesters field's value. +func (s *DescribeSuggestersOutput) SetSuggesters(v []*SuggesterStatus) *DescribeSuggestersOutput { + s.Suggesters = v + return s +} + +// Options for a search suggester. +type DocumentSuggesterOptions struct { + _ struct{} `type:"structure"` + + // The level of fuzziness allowed when suggesting matches for a string: none, + // low, or high. With none, the specified string is treated as an exact prefix. + // With low, suggestions must differ from the specified string by no more than + // one character. With high, suggestions can differ by up to two characters. + // The default is none. + FuzzyMatching *string `type:"string" enum:"SuggesterFuzzyMatching"` + + // An expression that computes a score for each suggestion to control how they + // are sorted. The scores are rounded to the nearest integer, with a floor of + // 0 and a ceiling of 2^31-1. A document's relevance score is not computed for + // suggestions, so sort expressions cannot reference the _score value. To sort + // suggestions using a numeric field or existing expression, simply specify + // the name of the field or expression. If no expression is configured for the + // suggester, the suggestions are sorted with the closest matches listed first. + SortExpression *string `type:"string"` + + // The name of the index field you want to use for suggestions. + // + // SourceField is a required field + SourceField *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DocumentSuggesterOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentSuggesterOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DocumentSuggesterOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DocumentSuggesterOptions"} + if s.SourceField == nil { + invalidParams.Add(request.NewErrParamRequired("SourceField")) + } + if s.SourceField != nil && len(*s.SourceField) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceField", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFuzzyMatching sets the FuzzyMatching field's value. +func (s *DocumentSuggesterOptions) SetFuzzyMatching(v string) *DocumentSuggesterOptions { + s.FuzzyMatching = &v + return s +} + +// SetSortExpression sets the SortExpression field's value. +func (s *DocumentSuggesterOptions) SetSortExpression(v string) *DocumentSuggesterOptions { + s.SortExpression = &v + return s +} + +// SetSourceField sets the SourceField field's value. +func (s *DocumentSuggesterOptions) SetSourceField(v string) *DocumentSuggesterOptions { + s.SourceField = &v + return s +} + +// The current status of the search domain. +type DomainStatus struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the search domain. See Identifiers for + // IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html) + // in Using AWS Identity and Access Management for more information. + ARN *string `type:"string"` + + // True if the search domain is created. It can take several minutes to initialize + // a domain when CreateDomain is called. Newly created search domains are returned + // from DescribeDomains with a false value for Created until domain creation + // is complete. + Created *bool `type:"boolean"` + + // True if the search domain has been deleted. The system must clean up resources + // dedicated to the search domain when DeleteDomain is called. Newly deleted + // search domains are returned from DescribeDomains with a true value for IsDeleted + // for several minutes until resource cleanup is complete. + Deleted *bool `type:"boolean"` + + // The service endpoint for updating documents in a search domain. + DocService *ServiceEndpoint `type:"structure"` + + // An internally generated unique identifier for a domain. + // + // DomainId is a required field + DomainId *string `min:"1" type:"string" required:"true"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + Limits *Limits `type:"structure"` + + // True if processing is being done to activate the current domain configuration. + Processing *bool `type:"boolean"` + + // True if IndexDocuments needs to be called to activate the current domain + // configuration. + // + // RequiresIndexDocuments is a required field + RequiresIndexDocuments *bool `type:"boolean" required:"true"` + + // The number of search instances that are available to process search requests. + SearchInstanceCount *int64 `min:"1" type:"integer"` + + // The instance type that is being used to process search requests. + SearchInstanceType *string `type:"string"` + + // The number of partitions across which the search index is spread. + SearchPartitionCount *int64 `min:"1" type:"integer"` + + // The service endpoint for requesting search results from a search domain. + SearchService *ServiceEndpoint `type:"structure"` +} + +// String returns the string representation +func (s DomainStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DomainStatus) GoString() string { + return s.String() +} + +// SetARN sets the ARN field's value. +func (s *DomainStatus) SetARN(v string) *DomainStatus { + s.ARN = &v + return s +} + +// SetCreated sets the Created field's value. +func (s *DomainStatus) SetCreated(v bool) *DomainStatus { + s.Created = &v + return s +} + +// SetDeleted sets the Deleted field's value. +func (s *DomainStatus) SetDeleted(v bool) *DomainStatus { + s.Deleted = &v + return s +} + +// SetDocService sets the DocService field's value. +func (s *DomainStatus) SetDocService(v *ServiceEndpoint) *DomainStatus { + s.DocService = v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *DomainStatus) SetDomainId(v string) *DomainStatus { + s.DomainId = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DomainStatus) SetDomainName(v string) *DomainStatus { + s.DomainName = &v + return s +} + +// SetLimits sets the Limits field's value. +func (s *DomainStatus) SetLimits(v *Limits) *DomainStatus { + s.Limits = v + return s +} + +// SetProcessing sets the Processing field's value. +func (s *DomainStatus) SetProcessing(v bool) *DomainStatus { + s.Processing = &v + return s +} + +// SetRequiresIndexDocuments sets the RequiresIndexDocuments field's value. +func (s *DomainStatus) SetRequiresIndexDocuments(v bool) *DomainStatus { + s.RequiresIndexDocuments = &v + return s +} + +// SetSearchInstanceCount sets the SearchInstanceCount field's value. +func (s *DomainStatus) SetSearchInstanceCount(v int64) *DomainStatus { + s.SearchInstanceCount = &v + return s +} + +// SetSearchInstanceType sets the SearchInstanceType field's value. +func (s *DomainStatus) SetSearchInstanceType(v string) *DomainStatus { + s.SearchInstanceType = &v + return s +} + +// SetSearchPartitionCount sets the SearchPartitionCount field's value. +func (s *DomainStatus) SetSearchPartitionCount(v int64) *DomainStatus { + s.SearchPartitionCount = &v + return s +} + +// SetSearchService sets the SearchService field's value. +func (s *DomainStatus) SetSearchService(v *ServiceEndpoint) *DomainStatus { + s.SearchService = v + return s +} + +// Options for a field that contains an array of double-precision 64-bit floating +// point values. Present if IndexFieldType specifies the field is of type double-array. +// All options are enabled by default. +type DoubleArrayOptions struct { + _ struct{} `type:"structure"` + + // A value to use for the field if the field isn't specified for a document. + DefaultValue *float64 `type:"double"` + + // Whether facet information can be returned for the field. + FacetEnabled *bool `type:"boolean"` + + // Whether the contents of the field can be returned in the search results. + ReturnEnabled *bool `type:"boolean"` + + // Whether the contents of the field are searchable. + SearchEnabled *bool `type:"boolean"` + + // A list of source fields to map to the field. + SourceFields *string `type:"string"` +} + +// String returns the string representation +func (s DoubleArrayOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DoubleArrayOptions) GoString() string { + return s.String() +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *DoubleArrayOptions) SetDefaultValue(v float64) *DoubleArrayOptions { + s.DefaultValue = &v + return s +} + +// SetFacetEnabled sets the FacetEnabled field's value. +func (s *DoubleArrayOptions) SetFacetEnabled(v bool) *DoubleArrayOptions { + s.FacetEnabled = &v + return s +} + +// SetReturnEnabled sets the ReturnEnabled field's value. +func (s *DoubleArrayOptions) SetReturnEnabled(v bool) *DoubleArrayOptions { + s.ReturnEnabled = &v + return s +} + +// SetSearchEnabled sets the SearchEnabled field's value. +func (s *DoubleArrayOptions) SetSearchEnabled(v bool) *DoubleArrayOptions { + s.SearchEnabled = &v + return s +} + +// SetSourceFields sets the SourceFields field's value. +func (s *DoubleArrayOptions) SetSourceFields(v string) *DoubleArrayOptions { + s.SourceFields = &v + return s +} + +// Options for a double-precision 64-bit floating point field. Present if IndexFieldType +// specifies the field is of type double. All options are enabled by default. +type DoubleOptions struct { + _ struct{} `type:"structure"` + + // A value to use for the field if the field isn't specified for a document. + // This can be important if you are using the field in an expression and that + // field is not present in every document. + DefaultValue *float64 `type:"double"` + + // Whether facet information can be returned for the field. + FacetEnabled *bool `type:"boolean"` + + // Whether the contents of the field can be returned in the search results. + ReturnEnabled *bool `type:"boolean"` + + // Whether the contents of the field are searchable. + SearchEnabled *bool `type:"boolean"` + + // Whether the field can be used to sort the search results. + SortEnabled *bool `type:"boolean"` + + // The name of the source field to map to the field. + SourceField *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DoubleOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DoubleOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DoubleOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DoubleOptions"} + if s.SourceField != nil && len(*s.SourceField) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceField", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *DoubleOptions) SetDefaultValue(v float64) *DoubleOptions { + s.DefaultValue = &v + return s +} + +// SetFacetEnabled sets the FacetEnabled field's value. +func (s *DoubleOptions) SetFacetEnabled(v bool) *DoubleOptions { + s.FacetEnabled = &v + return s +} + +// SetReturnEnabled sets the ReturnEnabled field's value. +func (s *DoubleOptions) SetReturnEnabled(v bool) *DoubleOptions { + s.ReturnEnabled = &v + return s +} + +// SetSearchEnabled sets the SearchEnabled field's value. +func (s *DoubleOptions) SetSearchEnabled(v bool) *DoubleOptions { + s.SearchEnabled = &v + return s +} + +// SetSortEnabled sets the SortEnabled field's value. +func (s *DoubleOptions) SetSortEnabled(v bool) *DoubleOptions { + s.SortEnabled = &v + return s +} + +// SetSourceField sets the SourceField field's value. +func (s *DoubleOptions) SetSourceField(v string) *DoubleOptions { + s.SourceField = &v + return s +} + +// A named expression that can be evaluated at search time. Can be used to sort +// the search results, define other expressions, or return computed information +// in the search results. +type Expression struct { + _ struct{} `type:"structure"` + + // Names must begin with a letter and can contain the following characters: + // a-z (lowercase), 0-9, and _ (underscore). + // + // ExpressionName is a required field + ExpressionName *string `min:"1" type:"string" required:"true"` + + // The expression to evaluate for sorting while processing a search request. + // The Expression syntax is based on JavaScript expressions. For more information, + // see Configuring Expressions (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html) + // in the Amazon CloudSearch Developer Guide. + // + // ExpressionValue is a required field + ExpressionValue *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s Expression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Expression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Expression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Expression"} + if s.ExpressionName == nil { + invalidParams.Add(request.NewErrParamRequired("ExpressionName")) + } + if s.ExpressionName != nil && len(*s.ExpressionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExpressionName", 1)) + } + if s.ExpressionValue == nil { + invalidParams.Add(request.NewErrParamRequired("ExpressionValue")) + } + if s.ExpressionValue != nil && len(*s.ExpressionValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExpressionValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExpressionName sets the ExpressionName field's value. +func (s *Expression) SetExpressionName(v string) *Expression { + s.ExpressionName = &v + return s +} + +// SetExpressionValue sets the ExpressionValue field's value. +func (s *Expression) SetExpressionValue(v string) *Expression { + s.ExpressionValue = &v + return s +} + +// The value of an Expression and its current status. +type ExpressionStatus struct { + _ struct{} `type:"structure"` + + // The expression that is evaluated for sorting while processing a search request. + // + // Options is a required field + Options *Expression `type:"structure" required:"true"` + + // The status of domain configuration option. + // + // Status is a required field + Status *OptionStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s ExpressionStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExpressionStatus) GoString() string { + return s.String() +} + +// SetOptions sets the Options field's value. +func (s *ExpressionStatus) SetOptions(v *Expression) *ExpressionStatus { + s.Options = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ExpressionStatus) SetStatus(v *OptionStatus) *ExpressionStatus { + s.Status = v + return s +} + +// Container for the parameters to the IndexDocuments operation. Specifies the +// name of the domain you want to re-index. +type IndexDocumentsInput struct { + _ struct{} `type:"structure"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s IndexDocumentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IndexDocumentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IndexDocumentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IndexDocumentsInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *IndexDocumentsInput) SetDomainName(v string) *IndexDocumentsInput { + s.DomainName = &v + return s +} + +// The result of an IndexDocuments request. Contains the status of the indexing +// operation, including the fields being indexed. +type IndexDocumentsOutput struct { + _ struct{} `type:"structure"` + + // The names of the fields that are currently being indexed. + FieldNames []*string `type:"list"` +} + +// String returns the string representation +func (s IndexDocumentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IndexDocumentsOutput) GoString() string { + return s.String() +} + +// SetFieldNames sets the FieldNames field's value. +func (s *IndexDocumentsOutput) SetFieldNames(v []*string) *IndexDocumentsOutput { + s.FieldNames = v + return s +} + +// Configuration information for a field in the index, including its name, type, +// and options. The supported options depend on the IndexFieldType. +type IndexField struct { + _ struct{} `type:"structure"` + + // Options for a field that contains an array of dates. Present if IndexFieldType + // specifies the field is of type date-array. All options are enabled by default. + DateArrayOptions *DateArrayOptions `type:"structure"` + + // Options for a date field. Dates and times are specified in UTC (Coordinated + // Universal Time) according to IETF RFC3339: yyyy-mm-ddT00:00:00Z. Present + // if IndexFieldType specifies the field is of type date. All options are enabled + // by default. + DateOptions *DateOptions `type:"structure"` + + // Options for a field that contains an array of double-precision 64-bit floating + // point values. Present if IndexFieldType specifies the field is of type double-array. + // All options are enabled by default. + DoubleArrayOptions *DoubleArrayOptions `type:"structure"` + + // Options for a double-precision 64-bit floating point field. Present if IndexFieldType + // specifies the field is of type double. All options are enabled by default. + DoubleOptions *DoubleOptions `type:"structure"` + + // A string that represents the name of an index field. CloudSearch supports + // regular index fields as well as dynamic fields. A dynamic field's name defines + // a pattern that begins or ends with a wildcard. Any document fields that don't + // map to a regular index field but do match a dynamic field's pattern are configured + // with the dynamic field's indexing options. + // + // Regular field names begin with a letter and can contain the following characters: + // a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin + // or end with a wildcard (*). The wildcard can also be the only character in + // a dynamic field name. Multiple wildcards, and wildcards embedded within a + // string are not supported. + // + // The name score is reserved and cannot be used as a field name. To reference + // a document's ID, you can use the name _id. + // + // IndexFieldName is a required field + IndexFieldName *string `min:"1" type:"string" required:"true"` + + // The type of field. The valid options for a field depend on the field type. + // For more information about the supported field types, see Configuring Index + // Fields (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-index-fields.html) + // in the Amazon CloudSearch Developer Guide. + // + // IndexFieldType is a required field + IndexFieldType *string `type:"string" required:"true" enum:"IndexFieldType"` + + // Options for a field that contains an array of 64-bit signed integers. Present + // if IndexFieldType specifies the field is of type int-array. All options are + // enabled by default. + IntArrayOptions *IntArrayOptions `type:"structure"` + + // Options for a 64-bit signed integer field. Present if IndexFieldType specifies + // the field is of type int. All options are enabled by default. + IntOptions *IntOptions `type:"structure"` + + // Options for a latlon field. A latlon field contains a location stored as + // a latitude and longitude value pair. Present if IndexFieldType specifies + // the field is of type latlon. All options are enabled by default. + LatLonOptions *LatLonOptions `type:"structure"` + + // Options for a field that contains an array of literal strings. Present if + // IndexFieldType specifies the field is of type literal-array. All options + // are enabled by default. + LiteralArrayOptions *LiteralArrayOptions `type:"structure"` + + // Options for literal field. Present if IndexFieldType specifies the field + // is of type literal. All options are enabled by default. + LiteralOptions *LiteralOptions `type:"structure"` + + // Options for a field that contains an array of text strings. Present if IndexFieldType + // specifies the field is of type text-array. A text-array field is always searchable. + // All options are enabled by default. + TextArrayOptions *TextArrayOptions `type:"structure"` + + // Options for text field. Present if IndexFieldType specifies the field is + // of type text. A text field is always searchable. All options are enabled + // by default. + TextOptions *TextOptions `type:"structure"` +} + +// String returns the string representation +func (s IndexField) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IndexField) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IndexField) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IndexField"} + if s.IndexFieldName == nil { + invalidParams.Add(request.NewErrParamRequired("IndexFieldName")) + } + if s.IndexFieldName != nil && len(*s.IndexFieldName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IndexFieldName", 1)) + } + if s.IndexFieldType == nil { + invalidParams.Add(request.NewErrParamRequired("IndexFieldType")) + } + if s.DateOptions != nil { + if err := s.DateOptions.Validate(); err != nil { + invalidParams.AddNested("DateOptions", err.(request.ErrInvalidParams)) + } + } + if s.DoubleOptions != nil { + if err := s.DoubleOptions.Validate(); err != nil { + invalidParams.AddNested("DoubleOptions", err.(request.ErrInvalidParams)) + } + } + if s.IntOptions != nil { + if err := s.IntOptions.Validate(); err != nil { + invalidParams.AddNested("IntOptions", err.(request.ErrInvalidParams)) + } + } + if s.LatLonOptions != nil { + if err := s.LatLonOptions.Validate(); err != nil { + invalidParams.AddNested("LatLonOptions", err.(request.ErrInvalidParams)) + } + } + if s.LiteralOptions != nil { + if err := s.LiteralOptions.Validate(); err != nil { + invalidParams.AddNested("LiteralOptions", err.(request.ErrInvalidParams)) + } + } + if s.TextOptions != nil { + if err := s.TextOptions.Validate(); err != nil { + invalidParams.AddNested("TextOptions", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDateArrayOptions sets the DateArrayOptions field's value. +func (s *IndexField) SetDateArrayOptions(v *DateArrayOptions) *IndexField { + s.DateArrayOptions = v + return s +} + +// SetDateOptions sets the DateOptions field's value. +func (s *IndexField) SetDateOptions(v *DateOptions) *IndexField { + s.DateOptions = v + return s +} + +// SetDoubleArrayOptions sets the DoubleArrayOptions field's value. +func (s *IndexField) SetDoubleArrayOptions(v *DoubleArrayOptions) *IndexField { + s.DoubleArrayOptions = v + return s +} + +// SetDoubleOptions sets the DoubleOptions field's value. +func (s *IndexField) SetDoubleOptions(v *DoubleOptions) *IndexField { + s.DoubleOptions = v + return s +} + +// SetIndexFieldName sets the IndexFieldName field's value. +func (s *IndexField) SetIndexFieldName(v string) *IndexField { + s.IndexFieldName = &v + return s +} + +// SetIndexFieldType sets the IndexFieldType field's value. +func (s *IndexField) SetIndexFieldType(v string) *IndexField { + s.IndexFieldType = &v + return s +} + +// SetIntArrayOptions sets the IntArrayOptions field's value. +func (s *IndexField) SetIntArrayOptions(v *IntArrayOptions) *IndexField { + s.IntArrayOptions = v + return s +} + +// SetIntOptions sets the IntOptions field's value. +func (s *IndexField) SetIntOptions(v *IntOptions) *IndexField { + s.IntOptions = v + return s +} + +// SetLatLonOptions sets the LatLonOptions field's value. +func (s *IndexField) SetLatLonOptions(v *LatLonOptions) *IndexField { + s.LatLonOptions = v + return s +} + +// SetLiteralArrayOptions sets the LiteralArrayOptions field's value. +func (s *IndexField) SetLiteralArrayOptions(v *LiteralArrayOptions) *IndexField { + s.LiteralArrayOptions = v + return s +} + +// SetLiteralOptions sets the LiteralOptions field's value. +func (s *IndexField) SetLiteralOptions(v *LiteralOptions) *IndexField { + s.LiteralOptions = v + return s +} + +// SetTextArrayOptions sets the TextArrayOptions field's value. +func (s *IndexField) SetTextArrayOptions(v *TextArrayOptions) *IndexField { + s.TextArrayOptions = v + return s +} + +// SetTextOptions sets the TextOptions field's value. +func (s *IndexField) SetTextOptions(v *TextOptions) *IndexField { + s.TextOptions = v + return s +} + +// The value of an IndexField and its current status. +type IndexFieldStatus struct { + _ struct{} `type:"structure"` + + // Configuration information for a field in the index, including its name, type, + // and options. The supported options depend on the IndexFieldType. + // + // Options is a required field + Options *IndexField `type:"structure" required:"true"` + + // The status of domain configuration option. + // + // Status is a required field + Status *OptionStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s IndexFieldStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IndexFieldStatus) GoString() string { + return s.String() +} + +// SetOptions sets the Options field's value. +func (s *IndexFieldStatus) SetOptions(v *IndexField) *IndexFieldStatus { + s.Options = v + return s +} + +// SetStatus sets the Status field's value. +func (s *IndexFieldStatus) SetStatus(v *OptionStatus) *IndexFieldStatus { + s.Status = v + return s +} + +// Options for a field that contains an array of 64-bit signed integers. Present +// if IndexFieldType specifies the field is of type int-array. All options are +// enabled by default. +type IntArrayOptions struct { + _ struct{} `type:"structure"` + + // A value to use for the field if the field isn't specified for a document. + DefaultValue *int64 `type:"long"` + + // Whether facet information can be returned for the field. + FacetEnabled *bool `type:"boolean"` + + // Whether the contents of the field can be returned in the search results. + ReturnEnabled *bool `type:"boolean"` + + // Whether the contents of the field are searchable. + SearchEnabled *bool `type:"boolean"` + + // A list of source fields to map to the field. + SourceFields *string `type:"string"` +} + +// String returns the string representation +func (s IntArrayOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IntArrayOptions) GoString() string { + return s.String() +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *IntArrayOptions) SetDefaultValue(v int64) *IntArrayOptions { + s.DefaultValue = &v + return s +} + +// SetFacetEnabled sets the FacetEnabled field's value. +func (s *IntArrayOptions) SetFacetEnabled(v bool) *IntArrayOptions { + s.FacetEnabled = &v + return s +} + +// SetReturnEnabled sets the ReturnEnabled field's value. +func (s *IntArrayOptions) SetReturnEnabled(v bool) *IntArrayOptions { + s.ReturnEnabled = &v + return s +} + +// SetSearchEnabled sets the SearchEnabled field's value. +func (s *IntArrayOptions) SetSearchEnabled(v bool) *IntArrayOptions { + s.SearchEnabled = &v + return s +} + +// SetSourceFields sets the SourceFields field's value. +func (s *IntArrayOptions) SetSourceFields(v string) *IntArrayOptions { + s.SourceFields = &v + return s +} + +// Options for a 64-bit signed integer field. Present if IndexFieldType specifies +// the field is of type int. All options are enabled by default. +type IntOptions struct { + _ struct{} `type:"structure"` + + // A value to use for the field if the field isn't specified for a document. + // This can be important if you are using the field in an expression and that + // field is not present in every document. + DefaultValue *int64 `type:"long"` + + // Whether facet information can be returned for the field. + FacetEnabled *bool `type:"boolean"` + + // Whether the contents of the field can be returned in the search results. + ReturnEnabled *bool `type:"boolean"` + + // Whether the contents of the field are searchable. + SearchEnabled *bool `type:"boolean"` + + // Whether the field can be used to sort the search results. + SortEnabled *bool `type:"boolean"` + + // The name of the source field to map to the field. + SourceField *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s IntOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IntOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IntOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IntOptions"} + if s.SourceField != nil && len(*s.SourceField) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceField", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *IntOptions) SetDefaultValue(v int64) *IntOptions { + s.DefaultValue = &v + return s +} + +// SetFacetEnabled sets the FacetEnabled field's value. +func (s *IntOptions) SetFacetEnabled(v bool) *IntOptions { + s.FacetEnabled = &v + return s +} + +// SetReturnEnabled sets the ReturnEnabled field's value. +func (s *IntOptions) SetReturnEnabled(v bool) *IntOptions { + s.ReturnEnabled = &v + return s +} + +// SetSearchEnabled sets the SearchEnabled field's value. +func (s *IntOptions) SetSearchEnabled(v bool) *IntOptions { + s.SearchEnabled = &v + return s +} + +// SetSortEnabled sets the SortEnabled field's value. +func (s *IntOptions) SetSortEnabled(v bool) *IntOptions { + s.SortEnabled = &v + return s +} + +// SetSourceField sets the SourceField field's value. +func (s *IntOptions) SetSourceField(v string) *IntOptions { + s.SourceField = &v + return s +} + +// Options for a latlon field. A latlon field contains a location stored as +// a latitude and longitude value pair. Present if IndexFieldType specifies +// the field is of type latlon. All options are enabled by default. +type LatLonOptions struct { + _ struct{} `type:"structure"` + + // A value to use for the field if the field isn't specified for a document. + DefaultValue *string `type:"string"` + + // Whether facet information can be returned for the field. + FacetEnabled *bool `type:"boolean"` + + // Whether the contents of the field can be returned in the search results. + ReturnEnabled *bool `type:"boolean"` + + // Whether the contents of the field are searchable. + SearchEnabled *bool `type:"boolean"` + + // Whether the field can be used to sort the search results. + SortEnabled *bool `type:"boolean"` + + // A string that represents the name of an index field. CloudSearch supports + // regular index fields as well as dynamic fields. A dynamic field's name defines + // a pattern that begins or ends with a wildcard. Any document fields that don't + // map to a regular index field but do match a dynamic field's pattern are configured + // with the dynamic field's indexing options. + // + // Regular field names begin with a letter and can contain the following characters: + // a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin + // or end with a wildcard (*). The wildcard can also be the only character in + // a dynamic field name. Multiple wildcards, and wildcards embedded within a + // string are not supported. + // + // The name score is reserved and cannot be used as a field name. To reference + // a document's ID, you can use the name _id. + SourceField *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s LatLonOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LatLonOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LatLonOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LatLonOptions"} + if s.SourceField != nil && len(*s.SourceField) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceField", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *LatLonOptions) SetDefaultValue(v string) *LatLonOptions { + s.DefaultValue = &v + return s +} + +// SetFacetEnabled sets the FacetEnabled field's value. +func (s *LatLonOptions) SetFacetEnabled(v bool) *LatLonOptions { + s.FacetEnabled = &v + return s +} + +// SetReturnEnabled sets the ReturnEnabled field's value. +func (s *LatLonOptions) SetReturnEnabled(v bool) *LatLonOptions { + s.ReturnEnabled = &v + return s +} + +// SetSearchEnabled sets the SearchEnabled field's value. +func (s *LatLonOptions) SetSearchEnabled(v bool) *LatLonOptions { + s.SearchEnabled = &v + return s +} + +// SetSortEnabled sets the SortEnabled field's value. +func (s *LatLonOptions) SetSortEnabled(v bool) *LatLonOptions { + s.SortEnabled = &v + return s +} + +// SetSourceField sets the SourceField field's value. +func (s *LatLonOptions) SetSourceField(v string) *LatLonOptions { + s.SourceField = &v + return s +} + +type Limits struct { + _ struct{} `type:"structure"` + + // MaximumPartitionCount is a required field + MaximumPartitionCount *int64 `min:"1" type:"integer" required:"true"` + + // MaximumReplicationCount is a required field + MaximumReplicationCount *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s Limits) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Limits) GoString() string { + return s.String() +} + +// SetMaximumPartitionCount sets the MaximumPartitionCount field's value. +func (s *Limits) SetMaximumPartitionCount(v int64) *Limits { + s.MaximumPartitionCount = &v + return s +} + +// SetMaximumReplicationCount sets the MaximumReplicationCount field's value. +func (s *Limits) SetMaximumReplicationCount(v int64) *Limits { + s.MaximumReplicationCount = &v + return s +} + +type ListDomainNamesInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ListDomainNamesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDomainNamesInput) GoString() string { + return s.String() +} + +// The result of a ListDomainNames request. Contains a list of the domains owned +// by an account. +type ListDomainNamesOutput struct { + _ struct{} `type:"structure"` + + // The names of the search domains owned by an account. + DomainNames map[string]*string `type:"map"` +} + +// String returns the string representation +func (s ListDomainNamesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDomainNamesOutput) GoString() string { + return s.String() +} + +// SetDomainNames sets the DomainNames field's value. +func (s *ListDomainNamesOutput) SetDomainNames(v map[string]*string) *ListDomainNamesOutput { + s.DomainNames = v + return s +} + +// Options for a field that contains an array of literal strings. Present if +// IndexFieldType specifies the field is of type literal-array. All options +// are enabled by default. +type LiteralArrayOptions struct { + _ struct{} `type:"structure"` + + // A value to use for the field if the field isn't specified for a document. + DefaultValue *string `type:"string"` + + // Whether facet information can be returned for the field. + FacetEnabled *bool `type:"boolean"` + + // Whether the contents of the field can be returned in the search results. + ReturnEnabled *bool `type:"boolean"` + + // Whether the contents of the field are searchable. + SearchEnabled *bool `type:"boolean"` + + // A list of source fields to map to the field. + SourceFields *string `type:"string"` +} + +// String returns the string representation +func (s LiteralArrayOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LiteralArrayOptions) GoString() string { + return s.String() +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *LiteralArrayOptions) SetDefaultValue(v string) *LiteralArrayOptions { + s.DefaultValue = &v + return s +} + +// SetFacetEnabled sets the FacetEnabled field's value. +func (s *LiteralArrayOptions) SetFacetEnabled(v bool) *LiteralArrayOptions { + s.FacetEnabled = &v + return s +} + +// SetReturnEnabled sets the ReturnEnabled field's value. +func (s *LiteralArrayOptions) SetReturnEnabled(v bool) *LiteralArrayOptions { + s.ReturnEnabled = &v + return s +} + +// SetSearchEnabled sets the SearchEnabled field's value. +func (s *LiteralArrayOptions) SetSearchEnabled(v bool) *LiteralArrayOptions { + s.SearchEnabled = &v + return s +} + +// SetSourceFields sets the SourceFields field's value. +func (s *LiteralArrayOptions) SetSourceFields(v string) *LiteralArrayOptions { + s.SourceFields = &v + return s +} + +// Options for literal field. Present if IndexFieldType specifies the field +// is of type literal. All options are enabled by default. +type LiteralOptions struct { + _ struct{} `type:"structure"` + + // A value to use for the field if the field isn't specified for a document. + DefaultValue *string `type:"string"` + + // Whether facet information can be returned for the field. + FacetEnabled *bool `type:"boolean"` + + // Whether the contents of the field can be returned in the search results. + ReturnEnabled *bool `type:"boolean"` + + // Whether the contents of the field are searchable. + SearchEnabled *bool `type:"boolean"` + + // Whether the field can be used to sort the search results. + SortEnabled *bool `type:"boolean"` + + // A string that represents the name of an index field. CloudSearch supports + // regular index fields as well as dynamic fields. A dynamic field's name defines + // a pattern that begins or ends with a wildcard. Any document fields that don't + // map to a regular index field but do match a dynamic field's pattern are configured + // with the dynamic field's indexing options. + // + // Regular field names begin with a letter and can contain the following characters: + // a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin + // or end with a wildcard (*). The wildcard can also be the only character in + // a dynamic field name. Multiple wildcards, and wildcards embedded within a + // string are not supported. + // + // The name score is reserved and cannot be used as a field name. To reference + // a document's ID, you can use the name _id. + SourceField *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s LiteralOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LiteralOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LiteralOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LiteralOptions"} + if s.SourceField != nil && len(*s.SourceField) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceField", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *LiteralOptions) SetDefaultValue(v string) *LiteralOptions { + s.DefaultValue = &v + return s +} + +// SetFacetEnabled sets the FacetEnabled field's value. +func (s *LiteralOptions) SetFacetEnabled(v bool) *LiteralOptions { + s.FacetEnabled = &v + return s +} + +// SetReturnEnabled sets the ReturnEnabled field's value. +func (s *LiteralOptions) SetReturnEnabled(v bool) *LiteralOptions { + s.ReturnEnabled = &v + return s +} + +// SetSearchEnabled sets the SearchEnabled field's value. +func (s *LiteralOptions) SetSearchEnabled(v bool) *LiteralOptions { + s.SearchEnabled = &v + return s +} + +// SetSortEnabled sets the SortEnabled field's value. +func (s *LiteralOptions) SetSortEnabled(v bool) *LiteralOptions { + s.SortEnabled = &v + return s +} + +// SetSourceField sets the SourceField field's value. +func (s *LiteralOptions) SetSourceField(v string) *LiteralOptions { + s.SourceField = &v + return s +} + +// The status of domain configuration option. +type OptionStatus struct { + _ struct{} `type:"structure"` + + // A timestamp for when this option was created. + // + // CreationDate is a required field + CreationDate *time.Time `type:"timestamp" required:"true"` + + // Indicates that the option will be deleted once processing is complete. + PendingDeletion *bool `type:"boolean"` + + // The state of processing a change to an option. Possible values: + // + // * RequiresIndexDocuments: the option's latest value will not be deployed + // until IndexDocuments has been called and indexing is complete. + // * Processing: the option's latest value is in the process of being activated. + // + // * Active: the option's latest value is completely deployed. + // * FailedToValidate: the option value is not compatible with the domain's + // data and cannot be used to index the data. You must either modify the + // option value or update or remove the incompatible documents. + // + // State is a required field + State *string `type:"string" required:"true" enum:"OptionState"` + + // A timestamp for when this option was last updated. + // + // UpdateDate is a required field + UpdateDate *time.Time `type:"timestamp" required:"true"` + + // A unique integer that indicates when this option was last updated. + UpdateVersion *int64 `type:"integer"` +} + +// String returns the string representation +func (s OptionStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OptionStatus) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *OptionStatus) SetCreationDate(v time.Time) *OptionStatus { + s.CreationDate = &v + return s +} + +// SetPendingDeletion sets the PendingDeletion field's value. +func (s *OptionStatus) SetPendingDeletion(v bool) *OptionStatus { + s.PendingDeletion = &v + return s +} + +// SetState sets the State field's value. +func (s *OptionStatus) SetState(v string) *OptionStatus { + s.State = &v + return s +} + +// SetUpdateDate sets the UpdateDate field's value. +func (s *OptionStatus) SetUpdateDate(v time.Time) *OptionStatus { + s.UpdateDate = &v + return s +} + +// SetUpdateVersion sets the UpdateVersion field's value. +func (s *OptionStatus) SetUpdateVersion(v int64) *OptionStatus { + s.UpdateVersion = &v + return s +} + +// The desired instance type and desired number of replicas of each index partition. +type ScalingParameters struct { + _ struct{} `type:"structure"` + + // The instance type that you want to preconfigure for your domain. For example, + // search.m1.small. + DesiredInstanceType *string `type:"string" enum:"PartitionInstanceType"` + + // The number of partitions you want to preconfigure for your domain. Only valid + // when you select m2.2xlarge as the desired instance type. + DesiredPartitionCount *int64 `type:"integer"` + + // The number of replicas you want to preconfigure for each index partition. + DesiredReplicationCount *int64 `type:"integer"` +} + +// String returns the string representation +func (s ScalingParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScalingParameters) GoString() string { + return s.String() +} + +// SetDesiredInstanceType sets the DesiredInstanceType field's value. +func (s *ScalingParameters) SetDesiredInstanceType(v string) *ScalingParameters { + s.DesiredInstanceType = &v + return s +} + +// SetDesiredPartitionCount sets the DesiredPartitionCount field's value. +func (s *ScalingParameters) SetDesiredPartitionCount(v int64) *ScalingParameters { + s.DesiredPartitionCount = &v + return s +} + +// SetDesiredReplicationCount sets the DesiredReplicationCount field's value. +func (s *ScalingParameters) SetDesiredReplicationCount(v int64) *ScalingParameters { + s.DesiredReplicationCount = &v + return s +} + +// The status and configuration of a search domain's scaling parameters. +type ScalingParametersStatus struct { + _ struct{} `type:"structure"` + + // The desired instance type and desired number of replicas of each index partition. + // + // Options is a required field + Options *ScalingParameters `type:"structure" required:"true"` + + // The status of domain configuration option. + // + // Status is a required field + Status *OptionStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s ScalingParametersStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScalingParametersStatus) GoString() string { + return s.String() +} + +// SetOptions sets the Options field's value. +func (s *ScalingParametersStatus) SetOptions(v *ScalingParameters) *ScalingParametersStatus { + s.Options = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ScalingParametersStatus) SetStatus(v *OptionStatus) *ScalingParametersStatus { + s.Status = v + return s +} + +// The endpoint to which service requests can be submitted. +type ServiceEndpoint struct { + _ struct{} `type:"structure"` + + // The endpoint to which service requests can be submitted. For example, search-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.cloudsearch.amazonaws.com + // or doc-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.cloudsearch.amazonaws.com. + Endpoint *string `type:"string"` +} + +// String returns the string representation +func (s ServiceEndpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceEndpoint) GoString() string { + return s.String() +} + +// SetEndpoint sets the Endpoint field's value. +func (s *ServiceEndpoint) SetEndpoint(v string) *ServiceEndpoint { + s.Endpoint = &v + return s +} + +// Configuration information for a search suggester. Each suggester has a unique +// name and specifies the text field you want to use for suggestions. The following +// options can be configured for a suggester: FuzzyMatching, SortExpression. +type Suggester struct { + _ struct{} `type:"structure"` + + // Options for a search suggester. + // + // DocumentSuggesterOptions is a required field + DocumentSuggesterOptions *DocumentSuggesterOptions `type:"structure" required:"true"` + + // Names must begin with a letter and can contain the following characters: + // a-z (lowercase), 0-9, and _ (underscore). + // + // SuggesterName is a required field + SuggesterName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s Suggester) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Suggester) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Suggester) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Suggester"} + if s.DocumentSuggesterOptions == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentSuggesterOptions")) + } + if s.SuggesterName == nil { + invalidParams.Add(request.NewErrParamRequired("SuggesterName")) + } + if s.SuggesterName != nil && len(*s.SuggesterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SuggesterName", 1)) + } + if s.DocumentSuggesterOptions != nil { + if err := s.DocumentSuggesterOptions.Validate(); err != nil { + invalidParams.AddNested("DocumentSuggesterOptions", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentSuggesterOptions sets the DocumentSuggesterOptions field's value. +func (s *Suggester) SetDocumentSuggesterOptions(v *DocumentSuggesterOptions) *Suggester { + s.DocumentSuggesterOptions = v + return s +} + +// SetSuggesterName sets the SuggesterName field's value. +func (s *Suggester) SetSuggesterName(v string) *Suggester { + s.SuggesterName = &v + return s +} + +// The value of a Suggester and its current status. +type SuggesterStatus struct { + _ struct{} `type:"structure"` + + // Configuration information for a search suggester. Each suggester has a unique + // name and specifies the text field you want to use for suggestions. The following + // options can be configured for a suggester: FuzzyMatching, SortExpression. + // + // Options is a required field + Options *Suggester `type:"structure" required:"true"` + + // The status of domain configuration option. + // + // Status is a required field + Status *OptionStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s SuggesterStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuggesterStatus) GoString() string { + return s.String() +} + +// SetOptions sets the Options field's value. +func (s *SuggesterStatus) SetOptions(v *Suggester) *SuggesterStatus { + s.Options = v + return s +} + +// SetStatus sets the Status field's value. +func (s *SuggesterStatus) SetStatus(v *OptionStatus) *SuggesterStatus { + s.Status = v + return s +} + +// Options for a field that contains an array of text strings. Present if IndexFieldType +// specifies the field is of type text-array. A text-array field is always searchable. +// All options are enabled by default. +type TextArrayOptions struct { + _ struct{} `type:"structure"` + + // The name of an analysis scheme for a text-array field. + AnalysisScheme *string `type:"string"` + + // A value to use for the field if the field isn't specified for a document. + DefaultValue *string `type:"string"` + + // Whether highlights can be returned for the field. + HighlightEnabled *bool `type:"boolean"` + + // Whether the contents of the field can be returned in the search results. + ReturnEnabled *bool `type:"boolean"` + + // A list of source fields to map to the field. + SourceFields *string `type:"string"` +} + +// String returns the string representation +func (s TextArrayOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TextArrayOptions) GoString() string { + return s.String() +} + +// SetAnalysisScheme sets the AnalysisScheme field's value. +func (s *TextArrayOptions) SetAnalysisScheme(v string) *TextArrayOptions { + s.AnalysisScheme = &v + return s +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *TextArrayOptions) SetDefaultValue(v string) *TextArrayOptions { + s.DefaultValue = &v + return s +} + +// SetHighlightEnabled sets the HighlightEnabled field's value. +func (s *TextArrayOptions) SetHighlightEnabled(v bool) *TextArrayOptions { + s.HighlightEnabled = &v + return s +} + +// SetReturnEnabled sets the ReturnEnabled field's value. +func (s *TextArrayOptions) SetReturnEnabled(v bool) *TextArrayOptions { + s.ReturnEnabled = &v + return s +} + +// SetSourceFields sets the SourceFields field's value. +func (s *TextArrayOptions) SetSourceFields(v string) *TextArrayOptions { + s.SourceFields = &v + return s +} + +// Options for text field. Present if IndexFieldType specifies the field is +// of type text. A text field is always searchable. All options are enabled +// by default. +type TextOptions struct { + _ struct{} `type:"structure"` + + // The name of an analysis scheme for a text field. + AnalysisScheme *string `type:"string"` + + // A value to use for the field if the field isn't specified for a document. + DefaultValue *string `type:"string"` + + // Whether highlights can be returned for the field. + HighlightEnabled *bool `type:"boolean"` + + // Whether the contents of the field can be returned in the search results. + ReturnEnabled *bool `type:"boolean"` + + // Whether the field can be used to sort the search results. + SortEnabled *bool `type:"boolean"` + + // A string that represents the name of an index field. CloudSearch supports + // regular index fields as well as dynamic fields. A dynamic field's name defines + // a pattern that begins or ends with a wildcard. Any document fields that don't + // map to a regular index field but do match a dynamic field's pattern are configured + // with the dynamic field's indexing options. + // + // Regular field names begin with a letter and can contain the following characters: + // a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin + // or end with a wildcard (*). The wildcard can also be the only character in + // a dynamic field name. Multiple wildcards, and wildcards embedded within a + // string are not supported. + // + // The name score is reserved and cannot be used as a field name. To reference + // a document's ID, you can use the name _id. + SourceField *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s TextOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TextOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TextOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TextOptions"} + if s.SourceField != nil && len(*s.SourceField) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceField", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalysisScheme sets the AnalysisScheme field's value. +func (s *TextOptions) SetAnalysisScheme(v string) *TextOptions { + s.AnalysisScheme = &v + return s +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *TextOptions) SetDefaultValue(v string) *TextOptions { + s.DefaultValue = &v + return s +} + +// SetHighlightEnabled sets the HighlightEnabled field's value. +func (s *TextOptions) SetHighlightEnabled(v bool) *TextOptions { + s.HighlightEnabled = &v + return s +} + +// SetReturnEnabled sets the ReturnEnabled field's value. +func (s *TextOptions) SetReturnEnabled(v bool) *TextOptions { + s.ReturnEnabled = &v + return s +} + +// SetSortEnabled sets the SortEnabled field's value. +func (s *TextOptions) SetSortEnabled(v bool) *TextOptions { + s.SortEnabled = &v + return s +} + +// SetSourceField sets the SourceField field's value. +func (s *TextOptions) SetSourceField(v string) *TextOptions { + s.SourceField = &v + return s +} + +// Container for the parameters to the UpdateAvailabilityOptions operation. +// Specifies the name of the domain you want to update and the Multi-AZ availability +// option. +type UpdateAvailabilityOptionsInput struct { + _ struct{} `type:"structure"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + // You expand an existing search domain to a second Availability Zone by setting + // the Multi-AZ option to true. Similarly, you can turn off the Multi-AZ option + // to downgrade the domain to a single Availability Zone by setting the Multi-AZ + // option to false. + // + // MultiAZ is a required field + MultiAZ *bool `type:"boolean" required:"true"` +} + +// String returns the string representation +func (s UpdateAvailabilityOptionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAvailabilityOptionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAvailabilityOptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAvailabilityOptionsInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.MultiAZ == nil { + invalidParams.Add(request.NewErrParamRequired("MultiAZ")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *UpdateAvailabilityOptionsInput) SetDomainName(v string) *UpdateAvailabilityOptionsInput { + s.DomainName = &v + return s +} + +// SetMultiAZ sets the MultiAZ field's value. +func (s *UpdateAvailabilityOptionsInput) SetMultiAZ(v bool) *UpdateAvailabilityOptionsInput { + s.MultiAZ = &v + return s +} + +// The result of a UpdateAvailabilityOptions request. Contains the status of +// the domain's availability options. +type UpdateAvailabilityOptionsOutput struct { + _ struct{} `type:"structure"` + + // The newly-configured availability options. Indicates whether Multi-AZ is + // enabled for the domain. + AvailabilityOptions *AvailabilityOptionsStatus `type:"structure"` +} + +// String returns the string representation +func (s UpdateAvailabilityOptionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAvailabilityOptionsOutput) GoString() string { + return s.String() +} + +// SetAvailabilityOptions sets the AvailabilityOptions field's value. +func (s *UpdateAvailabilityOptionsOutput) SetAvailabilityOptions(v *AvailabilityOptionsStatus) *UpdateAvailabilityOptionsOutput { + s.AvailabilityOptions = v + return s +} + +// Container for the parameters to the UpdateScalingParameters operation. Specifies +// the name of the domain you want to update and the scaling parameters you +// want to configure. +type UpdateScalingParametersInput struct { + _ struct{} `type:"structure"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + // The desired instance type and desired number of replicas of each index partition. + // + // ScalingParameters is a required field + ScalingParameters *ScalingParameters `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateScalingParametersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateScalingParametersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateScalingParametersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateScalingParametersInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.ScalingParameters == nil { + invalidParams.Add(request.NewErrParamRequired("ScalingParameters")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *UpdateScalingParametersInput) SetDomainName(v string) *UpdateScalingParametersInput { + s.DomainName = &v + return s +} + +// SetScalingParameters sets the ScalingParameters field's value. +func (s *UpdateScalingParametersInput) SetScalingParameters(v *ScalingParameters) *UpdateScalingParametersInput { + s.ScalingParameters = v + return s +} + +// The result of a UpdateScalingParameters request. Contains the status of the +// newly-configured scaling parameters. +type UpdateScalingParametersOutput struct { + _ struct{} `type:"structure"` + + // The status and configuration of a search domain's scaling parameters. + // + // ScalingParameters is a required field + ScalingParameters *ScalingParametersStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateScalingParametersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateScalingParametersOutput) GoString() string { + return s.String() +} + +// SetScalingParameters sets the ScalingParameters field's value. +func (s *UpdateScalingParametersOutput) SetScalingParameters(v *ScalingParametersStatus) *UpdateScalingParametersOutput { + s.ScalingParameters = v + return s +} + +// Container for the parameters to the UpdateServiceAccessPolicies operation. +// Specifies the name of the domain you want to update and the access rules +// you want to configure. +type UpdateServiceAccessPoliciesInput struct { + _ struct{} `type:"structure"` + + // The access rules you want to configure. These rules replace any existing + // rules. + // + // AccessPolicies is a required field + AccessPolicies *string `type:"string" required:"true"` + + // A string that represents the name of a domain. Domain names are unique across + // the domains owned by an account within an AWS region. Domain names start + // with a letter or number and can contain the following characters: a-z (lowercase), + // 0-9, and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateServiceAccessPoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateServiceAccessPoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateServiceAccessPoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateServiceAccessPoliciesInput"} + if s.AccessPolicies == nil { + invalidParams.Add(request.NewErrParamRequired("AccessPolicies")) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessPolicies sets the AccessPolicies field's value. +func (s *UpdateServiceAccessPoliciesInput) SetAccessPolicies(v string) *UpdateServiceAccessPoliciesInput { + s.AccessPolicies = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *UpdateServiceAccessPoliciesInput) SetDomainName(v string) *UpdateServiceAccessPoliciesInput { + s.DomainName = &v + return s +} + +// The result of an UpdateServiceAccessPolicies request. Contains the new access +// policies. +type UpdateServiceAccessPoliciesOutput struct { + _ struct{} `type:"structure"` + + // The access rules configured for the domain. + // + // AccessPolicies is a required field + AccessPolicies *AccessPoliciesStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateServiceAccessPoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateServiceAccessPoliciesOutput) GoString() string { + return s.String() +} + +// SetAccessPolicies sets the AccessPolicies field's value. +func (s *UpdateServiceAccessPoliciesOutput) SetAccessPolicies(v *AccessPoliciesStatus) *UpdateServiceAccessPoliciesOutput { + s.AccessPolicies = v + return s +} + +const ( + // AlgorithmicStemmingNone is a AlgorithmicStemming enum value + AlgorithmicStemmingNone = "none" + + // AlgorithmicStemmingMinimal is a AlgorithmicStemming enum value + AlgorithmicStemmingMinimal = "minimal" + + // AlgorithmicStemmingLight is a AlgorithmicStemming enum value + AlgorithmicStemmingLight = "light" + + // AlgorithmicStemmingFull is a AlgorithmicStemming enum value + AlgorithmicStemmingFull = "full" +) + +// An IETF RFC 4646 (http://tools.ietf.org/html/rfc4646) language code or mul +// for multiple languages. +const ( + // AnalysisSchemeLanguageAr is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageAr = "ar" + + // AnalysisSchemeLanguageBg is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageBg = "bg" + + // AnalysisSchemeLanguageCa is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageCa = "ca" + + // AnalysisSchemeLanguageCs is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageCs = "cs" + + // AnalysisSchemeLanguageDa is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageDa = "da" + + // AnalysisSchemeLanguageDe is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageDe = "de" + + // AnalysisSchemeLanguageEl is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageEl = "el" + + // AnalysisSchemeLanguageEn is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageEn = "en" + + // AnalysisSchemeLanguageEs is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageEs = "es" + + // AnalysisSchemeLanguageEu is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageEu = "eu" + + // AnalysisSchemeLanguageFa is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageFa = "fa" + + // AnalysisSchemeLanguageFi is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageFi = "fi" + + // AnalysisSchemeLanguageFr is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageFr = "fr" + + // AnalysisSchemeLanguageGa is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageGa = "ga" + + // AnalysisSchemeLanguageGl is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageGl = "gl" + + // AnalysisSchemeLanguageHe is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageHe = "he" + + // AnalysisSchemeLanguageHi is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageHi = "hi" + + // AnalysisSchemeLanguageHu is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageHu = "hu" + + // AnalysisSchemeLanguageHy is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageHy = "hy" + + // AnalysisSchemeLanguageId is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageId = "id" + + // AnalysisSchemeLanguageIt is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageIt = "it" + + // AnalysisSchemeLanguageJa is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageJa = "ja" + + // AnalysisSchemeLanguageKo is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageKo = "ko" + + // AnalysisSchemeLanguageLv is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageLv = "lv" + + // AnalysisSchemeLanguageMul is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageMul = "mul" + + // AnalysisSchemeLanguageNl is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageNl = "nl" + + // AnalysisSchemeLanguageNo is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageNo = "no" + + // AnalysisSchemeLanguagePt is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguagePt = "pt" + + // AnalysisSchemeLanguageRo is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageRo = "ro" + + // AnalysisSchemeLanguageRu is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageRu = "ru" + + // AnalysisSchemeLanguageSv is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageSv = "sv" + + // AnalysisSchemeLanguageTh is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageTh = "th" + + // AnalysisSchemeLanguageTr is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageTr = "tr" + + // AnalysisSchemeLanguageZhHans is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageZhHans = "zh-Hans" + + // AnalysisSchemeLanguageZhHant is a AnalysisSchemeLanguage enum value + AnalysisSchemeLanguageZhHant = "zh-Hant" +) + +// The type of field. The valid options for a field depend on the field type. +// For more information about the supported field types, see Configuring Index +// Fields (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-index-fields.html) +// in the Amazon CloudSearch Developer Guide. +const ( + // IndexFieldTypeInt is a IndexFieldType enum value + IndexFieldTypeInt = "int" + + // IndexFieldTypeDouble is a IndexFieldType enum value + IndexFieldTypeDouble = "double" + + // IndexFieldTypeLiteral is a IndexFieldType enum value + IndexFieldTypeLiteral = "literal" + + // IndexFieldTypeText is a IndexFieldType enum value + IndexFieldTypeText = "text" + + // IndexFieldTypeDate is a IndexFieldType enum value + IndexFieldTypeDate = "date" + + // IndexFieldTypeLatlon is a IndexFieldType enum value + IndexFieldTypeLatlon = "latlon" + + // IndexFieldTypeIntArray is a IndexFieldType enum value + IndexFieldTypeIntArray = "int-array" + + // IndexFieldTypeDoubleArray is a IndexFieldType enum value + IndexFieldTypeDoubleArray = "double-array" + + // IndexFieldTypeLiteralArray is a IndexFieldType enum value + IndexFieldTypeLiteralArray = "literal-array" + + // IndexFieldTypeTextArray is a IndexFieldType enum value + IndexFieldTypeTextArray = "text-array" + + // IndexFieldTypeDateArray is a IndexFieldType enum value + IndexFieldTypeDateArray = "date-array" +) + +// The state of processing a change to an option. One of: +// +// * RequiresIndexDocuments: The option's latest value will not be deployed +// until IndexDocuments has been called and indexing is complete. +// * Processing: The option's latest value is in the process of being activated. +// +// * Active: The option's latest value is fully deployed. +// * FailedToValidate: The option value is not compatible with the domain's +// data and cannot be used to index the data. You must either modify the +// option value or update or remove the incompatible documents. +const ( + // OptionStateRequiresIndexDocuments is a OptionState enum value + OptionStateRequiresIndexDocuments = "RequiresIndexDocuments" + + // OptionStateProcessing is a OptionState enum value + OptionStateProcessing = "Processing" + + // OptionStateActive is a OptionState enum value + OptionStateActive = "Active" + + // OptionStateFailedToValidate is a OptionState enum value + OptionStateFailedToValidate = "FailedToValidate" +) + +// The instance type (such as search.m1.small) on which an index partition is +// hosted. +const ( + // PartitionInstanceTypeSearchM1Small is a PartitionInstanceType enum value + PartitionInstanceTypeSearchM1Small = "search.m1.small" + + // PartitionInstanceTypeSearchM1Large is a PartitionInstanceType enum value + PartitionInstanceTypeSearchM1Large = "search.m1.large" + + // PartitionInstanceTypeSearchM2Xlarge is a PartitionInstanceType enum value + PartitionInstanceTypeSearchM2Xlarge = "search.m2.xlarge" + + // PartitionInstanceTypeSearchM22xlarge is a PartitionInstanceType enum value + PartitionInstanceTypeSearchM22xlarge = "search.m2.2xlarge" + + // PartitionInstanceTypeSearchM3Medium is a PartitionInstanceType enum value + PartitionInstanceTypeSearchM3Medium = "search.m3.medium" + + // PartitionInstanceTypeSearchM3Large is a PartitionInstanceType enum value + PartitionInstanceTypeSearchM3Large = "search.m3.large" + + // PartitionInstanceTypeSearchM3Xlarge is a PartitionInstanceType enum value + PartitionInstanceTypeSearchM3Xlarge = "search.m3.xlarge" + + // PartitionInstanceTypeSearchM32xlarge is a PartitionInstanceType enum value + PartitionInstanceTypeSearchM32xlarge = "search.m3.2xlarge" +) + +const ( + // SuggesterFuzzyMatchingNone is a SuggesterFuzzyMatching enum value + SuggesterFuzzyMatchingNone = "none" + + // SuggesterFuzzyMatchingLow is a SuggesterFuzzyMatching enum value + SuggesterFuzzyMatchingLow = "low" + + // SuggesterFuzzyMatchingHigh is a SuggesterFuzzyMatching enum value + SuggesterFuzzyMatchingHigh = "high" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/doc.go new file mode 100644 index 00000000000..cdcf458a946 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/doc.go @@ -0,0 +1,33 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package cloudsearch provides the client and types for making API +// requests to Amazon CloudSearch. +// +// You use the Amazon CloudSearch configuration service to create, configure, +// and manage search domains. Configuration service requests are submitted using +// the AWS Query protocol. AWS Query requests are HTTP or HTTPS requests submitted +// via HTTP GET or POST with a query parameter named Action. +// +// The endpoint for configuration service requests is region-specific: cloudsearch.region.amazonaws.com. +// For example, cloudsearch.us-east-1.amazonaws.com. For a current list of supported +// regions and endpoints, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#cloudsearch_region). +// +// See cloudsearch package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/cloudsearch/ +// +// Using the Client +// +// To contact Amazon CloudSearch 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 CloudSearch client CloudSearch for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/cloudsearch/#New +package cloudsearch diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/errors.go new file mode 100644 index 00000000000..f0ed2f1e2fc --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/errors.go @@ -0,0 +1,44 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package cloudsearch + +const ( + + // ErrCodeBaseException for service response error code + // "BaseException". + // + // An error occurred while processing the request. + ErrCodeBaseException = "BaseException" + + // ErrCodeDisabledOperationException for service response error code + // "DisabledAction". + // + // The request was rejected because it attempted an operation which is not enabled. + ErrCodeDisabledOperationException = "DisabledAction" + + // ErrCodeInternalException for service response error code + // "InternalException". + // + // An internal error occurred while processing the request. If this problem + // persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/). + ErrCodeInternalException = "InternalException" + + // ErrCodeInvalidTypeException for service response error code + // "InvalidType". + // + // The request was rejected because it specified an invalid type definition. + ErrCodeInvalidTypeException = "InvalidType" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceeded". + // + // The request was rejected because a resource limit has already been met. + ErrCodeLimitExceededException = "LimitExceeded" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFound". + // + // The request was rejected because it attempted to reference a resource that + // does not exist. + ErrCodeResourceNotFoundException = "ResourceNotFound" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/service.go new file mode 100644 index 00000000000..850bc137051 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/service.go @@ -0,0 +1,95 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package cloudsearch + +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" +) + +// CloudSearch provides the API operation methods for making requests to +// Amazon CloudSearch. See this package's package overview docs +// for details on the service. +// +// CloudSearch methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type CloudSearch 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 = "cloudsearch" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "CloudSearch" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the CloudSearch 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 CloudSearch client from just a session. +// svc := cloudsearch.New(mySession) +// +// // Create a CloudSearch client with additional configuration +// svc := cloudsearch.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *CloudSearch { + 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) *CloudSearch { + svc := &CloudSearch{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2013-01-01", + }, + 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 CloudSearch operation and runs any +// custom request initialization. +func (c *CloudSearch) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go index b7be8d6a161..2159c69a4dc 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go @@ -821,7 +821,7 @@ func (c *CloudWatch) GetMetricDataRequest(input *GetMetricDataInput) (req *reque // to create new time series that represent new insights into your data. For // example, using Lambda metrics, you could divide the Errors metric by the // Invocations metric to get an error rate time series. For more information -// about metric math expressions, see Metric Math Syntax and Functions (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) +// about metric math expressions, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) // in the Amazon CloudWatch User Guide. // // Calls to the GetMetricData API have a different pricing structure than calls @@ -980,7 +980,7 @@ func (c *CloudWatch) GetMetricStatisticsRequest(input *GetMetricStatisticsInput) // 2016. // // For information about metrics and dimensions supported by AWS services, see -// the Amazon CloudWatch Metrics and Dimensions Reference (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) +// the Amazon CloudWatch Metrics and Dimensions Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) // in the Amazon CloudWatch User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1533,7 +1533,7 @@ func (c *CloudWatch) PutMetricAlarmRequest(input *PutMetricAlarmInput) (req *req // The first time you create an alarm in the AWS Management Console, the CLI, // or by using the PutMetricAlarm API, CloudWatch creates the necessary service-linked // role for you. The service-linked role is called AWSServiceRoleForCloudWatchEvents. -// For more information, see AWS service-linked role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role). +// For more information, see AWS service-linked role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1636,8 +1636,8 @@ func (c *CloudWatch) PutMetricDataRequest(input *PutMetricDataInput) (req *reque // not supported. // // You can use up to 10 dimensions per metric to further clarify what data the -// metric collects. For more information about specifying dimensions, see Publishing -// Metrics (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) +// metric collects. Each dimension consists of a Name and Value pair. For more +// information about specifying dimensions, see Publishing Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) // in the Amazon CloudWatch User Guide. // // Data points with time stamps from 24 hours ago or longer can take at least @@ -2809,7 +2809,7 @@ type GetMetricDataInput struct { // For better performance, specify StartTime and EndTime values that align with // the value of the metric's Period and sync up with the beginning and end of // an hour. For example, if the Period of a metric is 5 minutes, specifying - // 12:05 or 12:30 as EndTime can get a faster response from CloudWatch then + // 12:05 or 12:30 as EndTime can get a faster response from CloudWatch than // setting 12:07 or 12:29 as the EndTime. // // EndTime is a required field @@ -2842,7 +2842,7 @@ type GetMetricDataInput struct { // For better performance, specify StartTime and EndTime values that align with // the value of the metric's Period and sync up with the beginning and end of // an hour. For example, if the Period of a metric is 5 minutes, specifying - // 12:05 or 12:30 as StartTime can get a faster response from CloudWatch then + // 12:05 or 12:30 as StartTime can get a faster response from CloudWatch than // setting 12:07 or 12:29 as the StartTime. // // StartTime is a required field @@ -2965,9 +2965,9 @@ type GetMetricStatisticsInput struct { // dimensions as a separate metric. If a specific combination of dimensions // was not published, you can't retrieve statistics for it. You must specify // the same dimensions that were used when the metrics were created. For an - // example, see Dimension Combinations (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#dimension-combinations) + // example, see Dimension Combinations (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#dimension-combinations) // in the Amazon CloudWatch User Guide. For more information about specifying - // dimensions, see Publishing Metrics (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) + // dimensions, see Publishing Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) // in the Amazon CloudWatch User Guide. Dimensions []*Dimension `type:"list"` @@ -3225,7 +3225,7 @@ type GetMetricWidgetImageInput struct { // with the content-type set to text/xml. The image data is in a MetricWidgetImage // field. For example: // - // + // > // // // @@ -3863,9 +3863,12 @@ func (s *MetricAlarm) SetUnit(v string) *MetricAlarm { // A single PutMetricAlarm call can include up to 20 MetricDataQuery structures // in the array. The 20 structures can include as many as 10 structures that // contain a MetricStat parameter to retrieve a metric, and as many as 10 structures -// that contain the Expression parameter to perform a math expression. Any expression -// used in a PutMetricAlarm operation must return a single time series. For -// more information, see Metric Math Syntax and Functions (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) +// that contain the Expression parameter to perform a math expression. Of those +// Expression structures, one must have True as the value for ReturnData. The +// result of this expression is the value the alarm watches. +// +// Any expression used in a PutMetricAlarm operation must return a single time +// series. For more information, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) // in the Amazon CloudWatch User Guide. // // Some of the parameters of this structure also have different uses whether @@ -3878,7 +3881,7 @@ type MetricDataQuery struct { // is performing a math expression. This expression can use the Id of the other // metrics to refer to those metrics, and can also use the Id of other expressions // to use the result of those expressions. For more information about metric - // math expressions, see Metric Math Syntax and Functions (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) + // math expressions, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) // in the Amazon CloudWatch User Guide. // // Within each MetricDataQuery object, you must specify either Expression or @@ -4094,7 +4097,7 @@ type MetricDatum struct { // to one second. Setting this to 60 specifies this metric as a regular-resolution // metric, which CloudWatch stores at 1-minute resolution. Currently, high resolution // is available only for custom metrics. For more information about high-resolution - // metrics, see High-Resolution Metrics (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#high-resolution-metrics) + // metrics, see High-Resolution Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#high-resolution-metrics) // in the Amazon CloudWatch User Guide. // // This field is optional, if you do not specify it the default of 60 is used. @@ -4415,8 +4418,8 @@ type PutMetricAlarmInput struct { // any other state. Each action is specified as an Amazon Resource Name (ARN). // // Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate - // | arn:aws:automate:region:ec2:recover | arn:aws:sns:region:account-id:sns-topic-name - // | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name + // | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot + // | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name // // Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 @@ -4439,7 +4442,7 @@ type PutMetricAlarmInput struct { // The number of datapoints that must be breaching to trigger the alarm. This // is used only if you are setting an "M out of N" alarm. In that case, this - // value is the M. For more information, see Evaluating an Alarm (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) + // value is the M. For more information, see Evaluating an Alarm (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) // in the Amazon CloudWatch User Guide. DatapointsToAlarm *int64 `min:"1" type:"integer"` @@ -4451,7 +4454,7 @@ type PutMetricAlarmInput struct { // significant. If you specify evaluate or omit this parameter, the alarm is // always evaluated and possibly changes state no matter how many data points // are available. For more information, see Percentile-Based CloudWatch Alarms - // and Low Data Samples (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#percentiles-with-low-samples). + // and Low Data Samples (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#percentiles-with-low-samples). // // Valid Values: evaluate | ignore EvaluateLowSampleCountPercentile *string `min:"1" type:"string"` @@ -4478,8 +4481,8 @@ type PutMetricAlarmInput struct { // Name (ARN). // // Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate - // | arn:aws:automate:region:ec2:recover | arn:aws:sns:region:account-id:sns-topic-name - // | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name + // | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot + // | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name // // Valid Values (for use with IAM roles): >arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 @@ -4498,6 +4501,10 @@ type PutMetricAlarmInput struct { // based on the result of a metric math expression. Each item in the Metrics // array either retrieves a metric or performs a math expression. // + // One item in the Metrics array is the expression that the alarm watches. You + // designate this expression by setting ReturnValue to true for this object + // in the array. For more information, see MetricDataQuery. + // // If you use the Metrics parameter, you cannot include the MetricName, Dimensions, // Period, Namespace, Statistic, or ExtendedStatistic parameters of PutMetricAlarm // in the same operation. Instead, you retrieve the metrics you are using in @@ -4549,7 +4556,7 @@ type PutMetricAlarmInput struct { // Sets how this alarm is to handle missing data points. If TreatMissingData // is omitted, the default behavior of missing is used. For more information, - // see Configuring How CloudWatch Alarms Treats Missing Data (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data). + // see Configuring How CloudWatch Alarms Treats Missing Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data). // // Valid Values: breaching | notBreaching | ignore | missing TreatMissingData *string `min:"1" type:"string"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go index 49c997cb7ec..d0e80682997 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go @@ -3615,7 +3615,7 @@ func (c *CloudWatchLogs) StartQueryRequest(input *StartQueryInput) (req *request // StartQuery API operation for Amazon CloudWatch Logs. // // Schedules a query of a log group using CloudWatch Logs Insights. You specify -// the log group to query, the query string to use, and the time to query. +// the log group and time range to query, and the query string to use. // // For more information, see CloudWatch Logs Insights Query Syntax (http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html). // @@ -8265,8 +8265,8 @@ func (s *SearchedLogStream) SetSearchedCompletely(v bool) *SearchedLogStream { type StartQueryInput struct { _ struct{} `type:"structure"` - // The time to end this query, if it is still running. Specified as epoch time, - // the number of seconds since January 1, 1970, 00:00:00 UTC. + // The end of the time range to query. Specified as epoch time, the number of + // seconds since January 1, 1970, 00:00:00 UTC. // // EndTime is a required field EndTime *int64 `locationName:"endTime" type:"long" required:"true"` @@ -8286,8 +8286,8 @@ type StartQueryInput struct { // QueryString is a required field QueryString *string `locationName:"queryString" type:"string" required:"true"` - // The time to start the query. Specified as epoch time, the number of seconds - // since January 1, 1970, 00:00:00 UTC. + // The beginning of the time range to query. Specified as epoch time, the number + // of seconds since January 1, 1970, 00:00:00 UTC. // // StartTime is a required field StartTime *int64 `locationName:"startTime" type:"long" required:"true"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go index 35ba8422c2b..64869f8d544 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go @@ -391,7 +391,7 @@ func (c *CodeBuild) CreateWebhookRequest(input *CreateWebhookInput) (req *reques // for both builds. Therefore, if you are using AWS CodePipeline, we recommend // that you disable webhooks in AWS CodeBuild. In the AWS CodeBuild console, // clear the Webhook box. For more information, see step 5 in Change a Build -// Project's Settings (http://docs.aws.amazon.com/codebuild/latest/userguide/change-project.html#change-project-console). +// Project's Settings (https://docs.aws.amazon.com/codebuild/latest/userguide/change-project.html#change-project-console). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2334,7 +2334,7 @@ type CloudWatchLogsConfig struct { _ struct{} `type:"structure"` // The group name of the logs in Amazon CloudWatch Logs. For more information, - // see Working with Log Groups and Log Streams (http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html). + // see Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html). GroupName *string `locationName:"groupName" type:"string"` // The current status of the logs in Amazon CloudWatch Logs for a build project. @@ -2348,7 +2348,7 @@ type CloudWatchLogsConfig struct { Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"` // The prefix of the stream name of the Amazon CloudWatch Logs. For more information, - // see Working with Log Groups and Log Streams (http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html). + // see Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html). StreamName *string `locationName:"streamName" type:"string"` } @@ -2705,8 +2705,18 @@ type CreateWebhookInput struct { // when a webhook is triggered. If the name of a branch matches the regular // expression, then it is built. If branchFilter is empty, then all branches // are built. + // + // It is recommended that you use filterGroups instead of branchFilter. BranchFilter *string `locationName:"branchFilter" type:"string"` + // An array of arrays of WebhookFilter objects used to determine which webhooks + // are triggered. At least one WebhookFilter in the array must specify EVENT + // as its type. + // + // For a build to be triggered, at least one filter group in the filterGroups + // array must pass. For a filter group to pass, each of its filters must pass. + FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"` + // The name of the AWS CodeBuild project. // // ProjectName is a required field @@ -2745,6 +2755,12 @@ func (s *CreateWebhookInput) SetBranchFilter(v string) *CreateWebhookInput { return s } +// SetFilterGroups sets the FilterGroups field's value. +func (s *CreateWebhookInput) SetFilterGroups(v [][]*WebhookFilter) *CreateWebhookInput { + s.FilterGroups = v + return s +} + // SetProjectName sets the ProjectName field's value. func (s *CreateWebhookInput) SetProjectName(v string) *CreateWebhookInput { s.ProjectName = &v @@ -4317,17 +4333,58 @@ type ProjectCache struct { // Information about the cache location: // - // * NO_CACHE: This value is ignored. + // * NO_CACHE or LOCAL: This value is ignored. // // * S3: This is the S3 bucket name/prefix. Location *string `locationName:"location" type:"string"` + // If you use a LOCAL cache, the local cache mode. You can use one or more local + // cache modes at the same time. + // + // * LOCAL_SOURCE_CACHE mode caches Git metadata for primary and secondary + // sources. After the cache is created, subsequent builds pull only the change + // between commits. This mode is a good choice for projects with a clean + // working directory and a source that is a large Git repository. If your + // project does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket) + // and you choose this option, then it is ignored. + // + // * LOCAL_DOCKER_LAYER_CACHE mode caches existing Docker layers. This mode + // is a good choice for projects that build or pull large Docker images. + // It can prevent the performance hit that would be caused by pulling large + // Docker images down from the network. + // + // You can only use a Docker layer cache in the Linux enviornment. + // + // The privileged flag must be set so that your project has the necessary Docker + // privileges. + // + // You should consider the security implications before using a Docker layer + // cache. + // + // * LOCAL_CUSTOM_CACHE mode caches directories you specify in the buildspec + // file. This mode is a good choice if your build scenario does not match + // one that works well with one of the other three local cache modes. If + // you use a custom cache: + // + // Only directories can be specified for caching. You cannot specify individual + // files. + // + // Symlinks are used to reference cached directories. + // + // Cached directories are linked to your build before it downloads its project + // sources. Cached items are overriden if a source item has the same name. + // Directories are specified using cache paths in the buildspec file. + Modes []*string `locationName:"modes" type:"list"` + // The type of cache used by the build project. Valid values include: // // * NO_CACHE: The build project does not use any cache. // // * S3: The build project reads and writes from and to S3. // + // * LOCAL: The build project stores a cache locally on a build host that + // is only available to that build host. + // // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"CacheType"` } @@ -4361,6 +4418,12 @@ func (s *ProjectCache) SetLocation(v string) *ProjectCache { return s } +// SetModes sets the Modes field's value. +func (s *ProjectCache) SetModes(v []*string) *ProjectCache { + s.Modes = v + return s +} + // SetType sets the Type field's value. func (s *ProjectCache) SetType(v string) *ProjectCache { s.Type = &v @@ -4390,11 +4453,34 @@ type ProjectEnvironment struct { // project. EnvironmentVariables []*EnvironmentVariable `locationName:"environmentVariables" type:"list"` - // The ID of the Docker image to use for this build project. + // The image tag or image digest that identifies the Docker image to use for + // this build project. Use the following formats: + // + // * For an image tag: registry/repository:tag. For example, to specify an + // image with the tag "latest," use registry/repository:latest. + // + // * For an image digest: registry/repository@digest. For example, to specify + // an image with the digest "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf," + // use registry/repository@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf. // // Image is a required field Image *string `locationName:"image" min:"1" type:"string" required:"true"` + // The type of credentials AWS CodeBuild uses to pull images in your build. + // There are two valid values: + // + // * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This + // requires that you modify your ECR repository policy to trust AWS CodeBuild's + // service principal. + // + // * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's + // service role. + // + // When you use a cross-account or private registry image, you must use SERVICE_ROLE + // credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD + // credentials. + ImagePullCredentialsType *string `locationName:"imagePullCredentialsType" type:"string" enum:"ImagePullCredentialsType"` + // Enables running the Docker daemon inside a Docker container. Set to true // only if the build project is be used to build Docker images, and the specified // build environment image is not provided by AWS CodeBuild with Docker support. @@ -4419,6 +4505,9 @@ type ProjectEnvironment struct { // .; sleep 1; done" PrivilegedMode *bool `locationName:"privilegedMode" type:"boolean"` + // The credentials for access to a private registry. + RegistryCredential *RegistryCredential `locationName:"registryCredential" type:"structure"` + // The type of build environment to use for related builds. // // Type is a required field @@ -4460,6 +4549,11 @@ func (s *ProjectEnvironment) Validate() error { } } } + if s.RegistryCredential != nil { + if err := s.RegistryCredential.Validate(); err != nil { + invalidParams.AddNested("RegistryCredential", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -4491,12 +4585,24 @@ func (s *ProjectEnvironment) SetImage(v string) *ProjectEnvironment { return s } +// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value. +func (s *ProjectEnvironment) SetImagePullCredentialsType(v string) *ProjectEnvironment { + s.ImagePullCredentialsType = &v + return s +} + // SetPrivilegedMode sets the PrivilegedMode field's value. func (s *ProjectEnvironment) SetPrivilegedMode(v bool) *ProjectEnvironment { s.PrivilegedMode = &v return s } +// SetRegistryCredential sets the RegistryCredential field's value. +func (s *ProjectEnvironment) SetRegistryCredential(v *RegistryCredential) *ProjectEnvironment { + s.RegistryCredential = v + return s +} + // SetType sets the Type field's value. func (s *ProjectEnvironment) SetType(v string) *ProjectEnvironment { s.Type = &v @@ -4749,6 +4855,75 @@ func (s *ProjectSourceVersion) SetSourceVersion(v string) *ProjectSourceVersion return s } +// Information about credentials that provide access to a private Docker registry. +// When this is set: +// +// * imagePullCredentialsType must be set to SERVICE_ROLE. +// +// * images cannot be curated or an Amazon ECR image. +// +// For more information, see Private Registry with AWS Secrets Manager Sample +// for AWS CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-private-registry.html). +type RegistryCredential struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets + // Manager. + // + // The credential can use the name of the credentials only if they exist in + // your current region. + // + // Credential is a required field + Credential *string `locationName:"credential" min:"1" type:"string" required:"true"` + + // The service that created the credentials to access a private Docker registry. + // The valid value, SECRETS_MANAGER, is for AWS Secrets Manager. + // + // CredentialProvider is a required field + CredentialProvider *string `locationName:"credentialProvider" type:"string" required:"true" enum:"CredentialProviderType"` +} + +// String returns the string representation +func (s RegistryCredential) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegistryCredential) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegistryCredential) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegistryCredential"} + if s.Credential == nil { + invalidParams.Add(request.NewErrParamRequired("Credential")) + } + if s.Credential != nil && len(*s.Credential) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Credential", 1)) + } + if s.CredentialProvider == nil { + invalidParams.Add(request.NewErrParamRequired("CredentialProvider")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCredential sets the Credential field's value. +func (s *RegistryCredential) SetCredential(v string) *RegistryCredential { + s.Credential = &v + return s +} + +// SetCredentialProvider sets the CredentialProvider field's value. +func (s *RegistryCredential) SetCredentialProvider(v string) *RegistryCredential { + s.CredentialProvider = &v + return s +} + // Information about S3 logs for a build project. type S3LogsConfig struct { _ struct{} `type:"structure"` @@ -4949,6 +5124,21 @@ type StartBuildInput struct { // build project. ImageOverride *string `locationName:"imageOverride" min:"1" type:"string"` + // The type of credentials AWS CodeBuild uses to pull images in your build. + // There are two valid values: + // + // * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This + // requires that you modify your ECR repository policy to trust AWS CodeBuild's + // service principal. + // + // * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's + // service role. + // + // When using a cross-account or private registry image, you must use SERVICE_ROLE + // credentials. When using an AWS CodeBuild curated image, you must use CODEBUILD + // credentials. + ImagePullCredentialsTypeOverride *string `locationName:"imagePullCredentialsTypeOverride" type:"string" enum:"ImagePullCredentialsType"` + // Enable this flag to override the insecure SSL setting that is specified in // the build project. The insecure SSL setting determines whether to ignore // SSL warnings while connecting to the project source code. This override applies @@ -4970,6 +5160,9 @@ type StartBuildInput struct { // The number of minutes a build is allowed to be queued before it times out. QueuedTimeoutInMinutesOverride *int64 `locationName:"queuedTimeoutInMinutesOverride" min:"5" type:"integer"` + // The credentials for access to a private registry. + RegistryCredentialOverride *RegistryCredential `locationName:"registryCredentialOverride" type:"structure"` + // Set to true to report to your source provider the status of a build's start // and completion. If you use this option with a source provider other than // GitHub, GitHub Enterprise, or Bitbucket, an invalidInputException is thrown. @@ -5084,6 +5277,11 @@ func (s *StartBuildInput) Validate() error { invalidParams.AddNested("LogsConfigOverride", err.(request.ErrInvalidParams)) } } + if s.RegistryCredentialOverride != nil { + if err := s.RegistryCredentialOverride.Validate(); err != nil { + invalidParams.AddNested("RegistryCredentialOverride", err.(request.ErrInvalidParams)) + } + } if s.SecondaryArtifactsOverride != nil { for i, v := range s.SecondaryArtifactsOverride { if v == nil { @@ -5186,6 +5384,12 @@ func (s *StartBuildInput) SetImageOverride(v string) *StartBuildInput { return s } +// SetImagePullCredentialsTypeOverride sets the ImagePullCredentialsTypeOverride field's value. +func (s *StartBuildInput) SetImagePullCredentialsTypeOverride(v string) *StartBuildInput { + s.ImagePullCredentialsTypeOverride = &v + return s +} + // SetInsecureSslOverride sets the InsecureSslOverride field's value. func (s *StartBuildInput) SetInsecureSslOverride(v bool) *StartBuildInput { s.InsecureSslOverride = &v @@ -5216,6 +5420,12 @@ func (s *StartBuildInput) SetQueuedTimeoutInMinutesOverride(v int64) *StartBuild return s } +// SetRegistryCredentialOverride sets the RegistryCredentialOverride field's value. +func (s *StartBuildInput) SetRegistryCredentialOverride(v *RegistryCredential) *StartBuildInput { + s.RegistryCredentialOverride = v + return s +} + // SetReportBuildStatusOverride sets the ReportBuildStatusOverride field's value. func (s *StartBuildInput) SetReportBuildStatusOverride(v bool) *StartBuildInput { s.ReportBuildStatusOverride = &v @@ -5709,8 +5919,14 @@ type UpdateWebhookInput struct { // when a webhook is triggered. If the name of a branch matches the regular // expression, then it is built. If branchFilter is empty, then all branches // are built. + // + // It is recommended that you use filterGroups instead of branchFilter. BranchFilter *string `locationName:"branchFilter" type:"string"` + // An array of arrays of WebhookFilter objects used to determine if a webhook + // event can trigger a build. A filter group must pcontain at least one EVENTWebhookFilter. + FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"` + // The name of the AWS CodeBuild project. // // ProjectName is a required field @@ -5754,6 +5970,12 @@ func (s *UpdateWebhookInput) SetBranchFilter(v string) *UpdateWebhookInput { return s } +// SetFilterGroups sets the FilterGroups field's value. +func (s *UpdateWebhookInput) SetFilterGroups(v [][]*WebhookFilter) *UpdateWebhookInput { + s.FilterGroups = v + return s +} + // SetProjectName sets the ProjectName field's value. func (s *UpdateWebhookInput) SetProjectName(v string) *UpdateWebhookInput { s.ProjectName = &v @@ -5854,8 +6076,18 @@ type Webhook struct { // when a webhook is triggered. If the name of a branch matches the regular // expression, then it is built. If branchFilter is empty, then all branches // are built. + // + // It is recommended that you use filterGroups instead of branchFilter. BranchFilter *string `locationName:"branchFilter" type:"string"` + // An array of arrays of WebhookFilter objects used to determine which webhooks + // are triggered. At least one WebhookFilter in the array must specify EVENT + // as its type. + // + // For a build to be triggered, at least one filter group in the filterGroups + // array must pass. For a filter group to pass, each of its filters must pass. + FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"` + // A timestamp that indicates the last time a repository's secret token was // modified. LastModifiedSecret *time.Time `locationName:"lastModifiedSecret" type:"timestamp"` @@ -5888,6 +6120,12 @@ func (s *Webhook) SetBranchFilter(v string) *Webhook { return s } +// SetFilterGroups sets the FilterGroups field's value. +func (s *Webhook) SetFilterGroups(v [][]*WebhookFilter) *Webhook { + s.FilterGroups = v + return s +} + // SetLastModifiedSecret sets the LastModifiedSecret field's value. func (s *Webhook) SetLastModifiedSecret(v time.Time) *Webhook { s.LastModifiedSecret = &v @@ -5912,6 +6150,91 @@ func (s *Webhook) SetUrl(v string) *Webhook { return s } +// A filter used to determine which webhooks trigger a build. +type WebhookFilter struct { + _ struct{} `type:"structure"` + + // Used to indicate that the pattern determines which webhook events do not + // trigger a build. If true, then a webhook event that does not match the pattern + // triggers a build. If false, then a webhook event that matches the pattern + // triggers a build. + ExcludeMatchedPattern *bool `locationName:"excludeMatchedPattern" type:"boolean"` + + // For a WebHookFilter that uses EVENT type, a comma-separated string that specifies + // one or more events. For example, the webhook filter PUSH, PULL_REQUEST_CREATED, + // PULL_REQUEST_UPDATED allows all push, pull request created, and pull request + // updated events to trigger a build. + // + // For a WebHookFilter that uses any of the other filter types, a regular expression + // pattern. For example, a WebHookFilter that uses HEAD_REF for its type and + // the pattern ^refs/heads/ triggers a build when the head reference is a branch + // with a reference name refs/heads/branch-name. + // + // Pattern is a required field + Pattern *string `locationName:"pattern" type:"string" required:"true"` + + // The type of webhook filter. There are five webhook filter types: EVENT, ACTOR_ACCOUNT_ID, + // HEAD_REF, BASE_REF, and FILE_PATH. + // + // EVENT A webhook event triggers a build when the provided pattern matches + // one of four event types: PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, + // and PULL_REQUEST_REOPENED. The EVENT patterns are specified as a comma-separated + // string. For example, PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED filters + // all push, pull request created, and pull request updated events. + // + // The PULL_REQUEST_REOPENED works with GitHub and GitHub Enterprise only. + // + // ACTOR_ACCOUNT_ID A webhook event triggers a build when a GitHub, GitHub + // Enterprise, or Bitbucket account ID matches the regular expression pattern. + // + // HEAD_REF A webhook event triggers a build when the head reference matches + // the regular expression pattern. For example, refs/heads/branch-name and refs/tags/tag-name. + // + // Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise + // pull request, Bitbucket push, and Bitbucket pull request events. + // + // BASE_REF A webhook event triggers a build when the base reference matches + // the regular expression pattern. For example, refs/heads/branch-name. + // + // Works with pull request events only. + // + // FILE_PATH A webhook triggers a build when the path of a changed file matches + // the regular expression pattern. + // + // Works with GitHub and GitHub Enterprise push events only. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"WebhookFilterType"` +} + +// String returns the string representation +func (s WebhookFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WebhookFilter) GoString() string { + return s.String() +} + +// SetExcludeMatchedPattern sets the ExcludeMatchedPattern field's value. +func (s *WebhookFilter) SetExcludeMatchedPattern(v bool) *WebhookFilter { + s.ExcludeMatchedPattern = &v + return s +} + +// SetPattern sets the Pattern field's value. +func (s *WebhookFilter) SetPattern(v string) *WebhookFilter { + s.Pattern = &v + return s +} + +// SetType sets the Type field's value. +func (s *WebhookFilter) SetType(v string) *WebhookFilter { + s.Type = &v + return s +} + const ( // ArtifactNamespaceNone is a ArtifactNamespace enum value ArtifactNamespaceNone = "NONE" @@ -5985,12 +6308,26 @@ const ( BuildPhaseTypeCompleted = "COMPLETED" ) +const ( + // CacheModeLocalDockerLayerCache is a CacheMode enum value + CacheModeLocalDockerLayerCache = "LOCAL_DOCKER_LAYER_CACHE" + + // CacheModeLocalSourceCache is a CacheMode enum value + CacheModeLocalSourceCache = "LOCAL_SOURCE_CACHE" + + // CacheModeLocalCustomCache is a CacheMode enum value + CacheModeLocalCustomCache = "LOCAL_CUSTOM_CACHE" +) + const ( // CacheTypeNoCache is a CacheType enum value CacheTypeNoCache = "NO_CACHE" // CacheTypeS3 is a CacheType enum value CacheTypeS3 = "S3" + + // CacheTypeLocal is a CacheType enum value + CacheTypeLocal = "LOCAL" ) const ( @@ -6004,6 +6341,11 @@ const ( ComputeTypeBuildGeneral1Large = "BUILD_GENERAL1_LARGE" ) +const ( + // CredentialProviderTypeSecretsManager is a CredentialProviderType enum value + CredentialProviderTypeSecretsManager = "SECRETS_MANAGER" +) + const ( // EnvironmentTypeWindowsContainer is a EnvironmentType enum value EnvironmentTypeWindowsContainer = "WINDOWS_CONTAINER" @@ -6020,6 +6362,14 @@ const ( EnvironmentVariableTypeParameterStore = "PARAMETER_STORE" ) +const ( + // ImagePullCredentialsTypeCodebuild is a ImagePullCredentialsType enum value + ImagePullCredentialsTypeCodebuild = "CODEBUILD" + + // ImagePullCredentialsTypeServiceRole is a ImagePullCredentialsType enum value + ImagePullCredentialsTypeServiceRole = "SERVICE_ROLE" +) + const ( // LanguageTypeJava is a LanguageType enum value LanguageTypeJava = "JAVA" @@ -6151,3 +6501,20 @@ const ( // StatusTypeStopped is a StatusType enum value StatusTypeStopped = "STOPPED" ) + +const ( + // WebhookFilterTypeEvent is a WebhookFilterType enum value + WebhookFilterTypeEvent = "EVENT" + + // WebhookFilterTypeBaseRef is a WebhookFilterType enum value + WebhookFilterTypeBaseRef = "BASE_REF" + + // WebhookFilterTypeHeadRef is a WebhookFilterType enum value + WebhookFilterTypeHeadRef = "HEAD_REF" + + // WebhookFilterTypeActorAccountId is a WebhookFilterType enum value + WebhookFilterTypeActorAccountId = "ACTOR_ACCOUNT_ID" + + // WebhookFilterTypeFilePath is a WebhookFilterType enum value + WebhookFilterTypeFilePath = "FILE_PATH" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go index 2f8d260bd01..bd901e84aef 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go @@ -251,6 +251,241 @@ func (c *CodeCommit) CreateBranchWithContext(ctx aws.Context, input *CreateBranc return out, req.Send() } +const opCreateCommit = "CreateCommit" + +// CreateCommitRequest generates a "aws/request.Request" representing the +// client's request for the CreateCommit 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 CreateCommit for more information on using the CreateCommit +// 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 CreateCommitRequest method. +// req, resp := client.CreateCommitRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateCommit +func (c *CodeCommit) CreateCommitRequest(input *CreateCommitInput) (req *request.Request, output *CreateCommitOutput) { + op := &request.Operation{ + Name: opCreateCommit, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateCommitInput{} + } + + output = &CreateCommitOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCommit API operation for AWS CodeCommit. +// +// Creates a commit for a repository on the tip of a specified branch. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 CodeCommit's +// API operation CreateCommit for usage and error information. +// +// Returned Error Codes: +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required but was not specified. +// +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeParentCommitIdRequiredException "ParentCommitIdRequiredException" +// A parent commit ID is required. To view the full commit ID of a branch in +// a repository, use GetBranch or a Git command (for example, git pull or git +// log). +// +// * ErrCodeInvalidParentCommitIdException "InvalidParentCommitIdException" +// The parent commit ID is not valid. The commit ID cannot be empty, and must +// match the head commit ID for the branch of the repository where you want +// to add or update a file. +// +// * ErrCodeParentCommitDoesNotExistException "ParentCommitDoesNotExistException" +// The parent commit ID is not valid because it does not exist. The specified +// parent commit ID does not exist in the specified branch of the repository. +// +// * ErrCodeParentCommitIdOutdatedException "ParentCommitIdOutdatedException" +// The file could not be added because the provided parent commit ID is not +// the current tip of the specified branch. To view the full commit ID of the +// current head of the branch, use GetBranch. +// +// * ErrCodeBranchNameRequiredException "BranchNameRequiredException" +// A branch name is required but was not specified. +// +// * ErrCodeInvalidBranchNameException "InvalidBranchNameException" +// The specified reference name is not valid. +// +// * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException" +// The specified branch does not exist. +// +// * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException" +// The specified branch name is not valid because it is a tag name. Type the +// name of a current branch in the repository. For a list of valid branch names, +// use ListBranches. +// +// * ErrCodeFileEntryRequiredException "FileEntryRequiredException" +// The commit cannot be created because no files have been specified as added, +// updated, or changed (PutFile or DeleteFile) for the commit. +// +// * ErrCodeMaximumFileEntriesExceededException "MaximumFileEntriesExceededException" +// The number of specified files to change as part of this commit exceeds the +// maximum number of files that can be changed in a single commit. Consider +// using a Git client for these changes. +// +// * ErrCodePutFileEntryConflictException "PutFileEntryConflictException" +// The commit cannot be created because one or more files specified in the commit +// reference both a file and a folder. +// +// * ErrCodeSourceFileOrContentRequiredException "SourceFileOrContentRequiredException" +// The commit cannot be created because no source files or file content have +// been specified for the commit. +// +// * ErrCodeFileContentAndSourceFileSpecifiedException "FileContentAndSourceFileSpecifiedException" +// The commit cannot be created because both a source file and file content +// have been specified for the same file. You cannot provide both. Either specify +// a source file, or provide the file content directly. +// +// * ErrCodePathRequiredException "PathRequiredException" +// The folderPath for a location cannot be null. +// +// * ErrCodeInvalidPathException "InvalidPathException" +// The specified path is not valid. +// +// * ErrCodeSamePathRequestException "SamePathRequestException" +// The commit cannot be created because one or more changes in this commit duplicate +// actions in the same file path. For example, you cannot make the same delete +// request to the same file in the same file path twice, or make a delete request +// and a move request to the same file as part of the same commit. +// +// * ErrCodeFileDoesNotExistException "FileDoesNotExistException" +// The specified file does not exist. Verify that you have provided the correct +// name of the file, including its full path and extension. +// +// * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException" +// The file cannot be added because it is too large. The maximum file size that +// can be added using PutFile is 6 MB, and the combined file content change +// size is 7 MB. Consider making these changes using a Git client. +// +// * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException" +// The commit cannot be created because at least one of the overall changes +// in the commit result in a folder contents exceeding the limit of 6 MB. Either +// reduce the number and size of your changes, or split the changes across multiple +// folders. +// +// * ErrCodeInvalidDeletionParameterException "InvalidDeletionParameterException" +// The specified deletion parameter is not valid. +// +// * ErrCodeRestrictedSourceFileException "RestrictedSourceFileException" +// The commit cannot be created because one of the changes specifies copying +// or moving a .gitkeep file. +// +// * ErrCodeFileModeRequiredException "FileModeRequiredException" +// The commit cannot be created because a file mode is required to update mode +// permissions for an existing file, but no file mode has been specified. +// +// * ErrCodeInvalidFileModeException "InvalidFileModeException" +// The specified file mode permission is not valid. For a list of valid file +// mode permissions, see PutFile. +// +// * ErrCodeNameLengthExceededException "NameLengthExceededException" +// The user name is not valid because it has exceeded the character limit for +// file names. File names, including the path to the file, cannot exceed the +// character limit. +// +// * ErrCodeInvalidEmailException "InvalidEmailException" +// The specified email address either contains one or more characters that are +// not allowed, or it exceeds the maximum number of characters allowed for an +// email address. +// +// * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException" +// The commit message is too long. Provide a shorter string. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// * ErrCodeNoChangeException "NoChangeException" +// The commit cannot be created because no changes will be made to the repository +// as a result of this commit. A commit must contain at least one change. +// +// * ErrCodeFileNameConflictsWithDirectoryNameException "FileNameConflictsWithDirectoryNameException" +// A file cannot be added to the repository because the specified file name +// has the same name as a directory in this repository. Either provide another +// name for the file, or add the file in a directory that does not match the +// file name. +// +// * ErrCodeDirectoryNameConflictsWithFileNameException "DirectoryNameConflictsWithFileNameException" +// A file cannot be added to the repository because the specified path name +// has the same name as a file that already exists in this repository. Either +// provide a different name for the file, or specify a different path for the +// file. +// +// * ErrCodeFilePathConflictsWithSubmodulePathException "FilePathConflictsWithSubmodulePathException" +// The commit cannot be created because a specified file path points to a submodule. +// Verify that the destination files have valid file paths that do not point +// to a submodule. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateCommit +func (c *CodeCommit) CreateCommit(input *CreateCommitInput) (*CreateCommitOutput, error) { + req, out := c.CreateCommitRequest(input) + return out, req.Send() +} + +// CreateCommitWithContext is the same as CreateCommit with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCommit 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 *CodeCommit) CreateCommitWithContext(ctx aws.Context, input *CreateCommitInput, opts ...request.Option) (*CreateCommitOutput, error) { + req, out := c.CreateCommitRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreatePullRequest = "CreatePullRequest" // CreatePullRequestRequest generates a "aws/request.Request" representing the @@ -1791,8 +2026,8 @@ func (c *CodeCommit) GetCommentsForPullRequestRequest(input *GetCommentsForPullR // // * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException" // The repository does not contain any pull requests with that pull request -// ID. Check to make sure you have provided the correct repository name for -// the pull request. +// ID. Use GetPullRequest to verify the correct repository name for the pull +// request ID. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -3726,8 +3961,8 @@ func (c *CodeCommit) PostCommentForPullRequestRequest(input *PostCommentForPullR // // * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException" // The repository does not contain any pull requests with that pull request -// ID. Check to make sure you have provided the correct repository name for -// the pull request. +// ID. Use GetPullRequest to verify the correct repository name for the pull +// request ID. // // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" // A repository name is required but was not specified. @@ -4040,8 +4275,14 @@ func (c *CodeCommit) PutFileRequest(input *PutFileInput) (req *request.Request, // // * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException" // The file cannot be added because it is too large. The maximum file size that -// can be added using PutFile is 6 MB. For files larger than 6 MB but smaller -// than 2 GB, add them using a Git client. +// can be added using PutFile is 6 MB, and the combined file content change +// size is 7 MB. Consider making these changes using a Git client. +// +// * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException" +// The commit cannot be created because at least one of the overall changes +// in the commit result in a folder contents exceeding the limit of 6 MB. Either +// reduce the number and size of your changes, or split the changes across multiple +// folders. // // * ErrCodePathRequiredException "PathRequiredException" // The folderPath for a location cannot be null. @@ -4115,6 +4356,11 @@ func (c *CodeCommit) PutFileRequest(input *PutFileInput) (req *request.Request, // provide a different name for the file, or specify a different path for the // file. // +// * ErrCodeFilePathConflictsWithSubmodulePathException "FilePathConflictsWithSubmodulePathException" +// The commit cannot be created because a specified file path points to a submodule. +// Verify that the destination files have valid file paths that do not point +// to a submodule. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutFile func (c *CodeCommit) PutFile(input *PutFileInput) (*PutFileOutput, error) { req, out := c.PutFileRequest(input) @@ -5774,62 +6020,103 @@ func (s CreateBranchOutput) GoString() string { return s.String() } -type CreatePullRequestInput struct { +type CreateCommitInput struct { _ struct{} `type:"structure"` - // A unique, client-generated idempotency token that when provided in a request, - // ensures the request cannot be repeated with a changed parameter. If a request - // is received with the same parameters and a token is included, the request - // will return information about the initial request that used that token. + // The name of the author who created the commit. This information will be used + // as both the author and committer for the commit. + AuthorName *string `locationName:"authorName" type:"string"` + + // The name of the branch where you will create the commit. // - // The AWS SDKs prepopulate client request tokens. If using an AWS SDK, you - // do not have to generate an idempotency token, as this will be done for you. - ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` + // BranchName is a required field + BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"` - // A description of the pull request. - Description *string `locationName:"description" type:"string"` + // The commit message you want to include as part of creating the commit. Commit + // messages are limited to 256 KB. If no message is specified, a default message + // will be used. + CommitMessage *string `locationName:"commitMessage" type:"string"` - // The targets for the pull request, including the source of the code to be - // reviewed (the source branch), and the destination where the creator of the - // pull request intends the code to be merged after the pull request is closed - // (the destination branch). - // - // Targets is a required field - Targets []*Target `locationName:"targets" type:"list" required:"true"` + // The files to delete in this commit. These files will still exist in prior + // commits. + DeleteFiles []*DeleteFileEntry `locationName:"deleteFiles" type:"list"` - // The title of the pull request. This title will be used to identify the pull - // request to other users in the repository. + // The email address of the person who created the commit. + Email *string `locationName:"email" type:"string"` + + // If the commit contains deletions, whether to keep a folder or folder structure + // if the changes leave the folders empty. If this is specified as true, a .gitkeep + // file will be created for empty folders. + KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"` + + // The ID of the commit that is the parent of the commit you will create. If + // this is an empty repository, this is not required. + ParentCommitId *string `locationName:"parentCommitId" type:"string"` + + // The files to add or update in this commit. + PutFiles []*PutFileEntry `locationName:"putFiles" type:"list"` + + // The name of the repository where you will create the commit. // - // Title is a required field - Title *string `locationName:"title" type:"string" required:"true"` + // RepositoryName is a required field + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` + + // The file modes to update for files in this commit. + SetFileModes []*SetFileModeEntry `locationName:"setFileModes" type:"list"` } // String returns the string representation -func (s CreatePullRequestInput) String() string { +func (s CreateCommitInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreatePullRequestInput) GoString() string { +func (s CreateCommitInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreatePullRequestInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreatePullRequestInput"} - if s.Targets == nil { - invalidParams.Add(request.NewErrParamRequired("Targets")) +func (s *CreateCommitInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCommitInput"} + if s.BranchName == nil { + invalidParams.Add(request.NewErrParamRequired("BranchName")) } - if s.Title == nil { - invalidParams.Add(request.NewErrParamRequired("Title")) + if s.BranchName != nil && len(*s.BranchName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BranchName", 1)) } - if s.Targets != nil { - for i, v := range s.Targets { + if s.RepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryName")) + } + if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + } + if s.DeleteFiles != nil { + for i, v := range s.DeleteFiles { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DeleteFiles", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PutFiles != nil { + for i, v := range s.PutFiles { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PutFiles", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SetFileModes != nil { + for i, v := range s.SetFileModes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SetFileModes", i), err.(request.ErrInvalidParams)) } } } @@ -5840,16 +6127,202 @@ func (s *CreatePullRequestInput) Validate() error { return nil } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreatePullRequestInput) SetClientRequestToken(v string) *CreatePullRequestInput { - s.ClientRequestToken = &v +// SetAuthorName sets the AuthorName field's value. +func (s *CreateCommitInput) SetAuthorName(v string) *CreateCommitInput { + s.AuthorName = &v return s } -// SetDescription sets the Description field's value. -func (s *CreatePullRequestInput) SetDescription(v string) *CreatePullRequestInput { - s.Description = &v - return s +// SetBranchName sets the BranchName field's value. +func (s *CreateCommitInput) SetBranchName(v string) *CreateCommitInput { + s.BranchName = &v + return s +} + +// SetCommitMessage sets the CommitMessage field's value. +func (s *CreateCommitInput) SetCommitMessage(v string) *CreateCommitInput { + s.CommitMessage = &v + return s +} + +// SetDeleteFiles sets the DeleteFiles field's value. +func (s *CreateCommitInput) SetDeleteFiles(v []*DeleteFileEntry) *CreateCommitInput { + s.DeleteFiles = v + return s +} + +// SetEmail sets the Email field's value. +func (s *CreateCommitInput) SetEmail(v string) *CreateCommitInput { + s.Email = &v + return s +} + +// SetKeepEmptyFolders sets the KeepEmptyFolders field's value. +func (s *CreateCommitInput) SetKeepEmptyFolders(v bool) *CreateCommitInput { + s.KeepEmptyFolders = &v + return s +} + +// SetParentCommitId sets the ParentCommitId field's value. +func (s *CreateCommitInput) SetParentCommitId(v string) *CreateCommitInput { + s.ParentCommitId = &v + return s +} + +// SetPutFiles sets the PutFiles field's value. +func (s *CreateCommitInput) SetPutFiles(v []*PutFileEntry) *CreateCommitInput { + s.PutFiles = v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *CreateCommitInput) SetRepositoryName(v string) *CreateCommitInput { + s.RepositoryName = &v + return s +} + +// SetSetFileModes sets the SetFileModes field's value. +func (s *CreateCommitInput) SetSetFileModes(v []*SetFileModeEntry) *CreateCommitInput { + s.SetFileModes = v + return s +} + +type CreateCommitOutput struct { + _ struct{} `type:"structure"` + + // The full commit ID of the commit that contains your committed file changes. + CommitId *string `locationName:"commitId" type:"string"` + + // The files added as part of the committed file changes. + FilesAdded []*FileMetadata `locationName:"filesAdded" type:"list"` + + // The files deleted as part of the committed file changes. + FilesDeleted []*FileMetadata `locationName:"filesDeleted" type:"list"` + + // The files updated as part of the commited file changes. + FilesUpdated []*FileMetadata `locationName:"filesUpdated" type:"list"` + + // The full SHA-1 pointer of the tree information for the commit that contains + // the commited file changes. + TreeId *string `locationName:"treeId" type:"string"` +} + +// String returns the string representation +func (s CreateCommitOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCommitOutput) GoString() string { + return s.String() +} + +// SetCommitId sets the CommitId field's value. +func (s *CreateCommitOutput) SetCommitId(v string) *CreateCommitOutput { + s.CommitId = &v + return s +} + +// SetFilesAdded sets the FilesAdded field's value. +func (s *CreateCommitOutput) SetFilesAdded(v []*FileMetadata) *CreateCommitOutput { + s.FilesAdded = v + return s +} + +// SetFilesDeleted sets the FilesDeleted field's value. +func (s *CreateCommitOutput) SetFilesDeleted(v []*FileMetadata) *CreateCommitOutput { + s.FilesDeleted = v + return s +} + +// SetFilesUpdated sets the FilesUpdated field's value. +func (s *CreateCommitOutput) SetFilesUpdated(v []*FileMetadata) *CreateCommitOutput { + s.FilesUpdated = v + return s +} + +// SetTreeId sets the TreeId field's value. +func (s *CreateCommitOutput) SetTreeId(v string) *CreateCommitOutput { + s.TreeId = &v + return s +} + +type CreatePullRequestInput struct { + _ struct{} `type:"structure"` + + // A unique, client-generated idempotency token that when provided in a request, + // ensures the request cannot be repeated with a changed parameter. If a request + // is received with the same parameters and a token is included, the request + // will return information about the initial request that used that token. + // + // The AWS SDKs prepopulate client request tokens. If using an AWS SDK, you + // do not have to generate an idempotency token, as this will be done for you. + ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` + + // A description of the pull request. + Description *string `locationName:"description" type:"string"` + + // The targets for the pull request, including the source of the code to be + // reviewed (the source branch), and the destination where the creator of the + // pull request intends the code to be merged after the pull request is closed + // (the destination branch). + // + // Targets is a required field + Targets []*Target `locationName:"targets" type:"list" required:"true"` + + // The title of the pull request. This title will be used to identify the pull + // request to other users in the repository. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatePullRequestInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePullRequestInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePullRequestInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePullRequestInput"} + if s.Targets == nil { + invalidParams.Add(request.NewErrParamRequired("Targets")) + } + if s.Title == nil { + invalidParams.Add(request.NewErrParamRequired("Title")) + } + 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 +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreatePullRequestInput) SetClientRequestToken(v string) *CreatePullRequestInput { + s.ClientRequestToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreatePullRequestInput) SetDescription(v string) *CreatePullRequestInput { + s.Description = &v + return s } // SetTargets sets the Targets field's value. @@ -6122,6 +6595,46 @@ func (s *DeleteCommentContentOutput) SetComment(v *Comment) *DeleteCommentConten return s } +// A file that will be deleted as part of a commit. +type DeleteFileEntry struct { + _ struct{} `type:"structure"` + + // The full path of the file that will be deleted, including the name of the + // file. + // + // FilePath is a required field + FilePath *string `locationName:"filePath" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteFileEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFileEntry) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFileEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFileEntry"} + if s.FilePath == nil { + invalidParams.Add(request.NewErrParamRequired("FilePath")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilePath sets the FilePath field's value. +func (s *DeleteFileEntry) SetFilePath(v string) *DeleteFileEntry { + s.FilePath = &v + return s +} + type DeleteFileInput struct { _ struct{} `type:"structure"` @@ -6596,6 +7109,50 @@ func (s *File) SetRelativePath(v string) *File { return s } +// A file that will be added, updated, or deleted as part of a commit. +type FileMetadata struct { + _ struct{} `type:"structure"` + + // The full path to the file that will be added or updated, including the name + // of the file. + AbsolutePath *string `locationName:"absolutePath" type:"string"` + + // The blob ID that contains the file information. + BlobId *string `locationName:"blobId" type:"string"` + + // The extrapolated file mode permissions for the file. Valid values include + // EXECUTABLE and NORMAL. + FileMode *string `locationName:"fileMode" type:"string" enum:"FileModeTypeEnum"` +} + +// String returns the string representation +func (s FileMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FileMetadata) GoString() string { + return s.String() +} + +// SetAbsolutePath sets the AbsolutePath field's value. +func (s *FileMetadata) SetAbsolutePath(v string) *FileMetadata { + s.AbsolutePath = &v + return s +} + +// SetBlobId sets the BlobId field's value. +func (s *FileMetadata) SetBlobId(v string) *FileMetadata { + s.BlobId = &v + return s +} + +// SetFileMode sets the FileMode field's value. +func (s *FileMetadata) SetFileMode(v string) *FileMetadata { + s.FileMode = &v + return s +} + // Returns information about a folder in a repository. type Folder struct { _ struct{} `type:"structure"` @@ -9366,6 +9923,81 @@ func (s *PullRequestTarget) SetSourceReference(v string) *PullRequestTarget { return s } +// Information about a file that will be added or updated as part of a commit. +type PutFileEntry struct { + _ struct{} `type:"structure"` + + // The content of the file, if a source file is not specified. + // + // FileContent is automatically base64 encoded/decoded by the SDK. + FileContent []byte `locationName:"fileContent" type:"blob"` + + // The extrapolated file mode permissions for the file. Valid values include + // EXECUTABLE and NORMAL. + FileMode *string `locationName:"fileMode" type:"string" enum:"FileModeTypeEnum"` + + // The full path to the file in the repository, including the name of the file. + // + // FilePath is a required field + FilePath *string `locationName:"filePath" type:"string" required:"true"` + + // The name and full path of the file that contains the changes you want to + // make as part of the commit, if you are not providing the file content directly. + SourceFile *SourceFileSpecifier `locationName:"sourceFile" type:"structure"` +} + +// String returns the string representation +func (s PutFileEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutFileEntry) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutFileEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutFileEntry"} + if s.FilePath == nil { + invalidParams.Add(request.NewErrParamRequired("FilePath")) + } + if s.SourceFile != nil { + if err := s.SourceFile.Validate(); err != nil { + invalidParams.AddNested("SourceFile", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFileContent sets the FileContent field's value. +func (s *PutFileEntry) SetFileContent(v []byte) *PutFileEntry { + s.FileContent = v + return s +} + +// SetFileMode sets the FileMode field's value. +func (s *PutFileEntry) SetFileMode(v string) *PutFileEntry { + s.FileMode = &v + return s +} + +// SetFilePath sets the FilePath field's value. +func (s *PutFileEntry) SetFilePath(v string) *PutFileEntry { + s.FilePath = &v + return s +} + +// SetSourceFile sets the SourceFile field's value. +func (s *PutFileEntry) SetSourceFile(v *SourceFileSpecifier) *PutFileEntry { + s.SourceFile = v + return s +} + type PutFileInput struct { _ struct{} `type:"structure"` @@ -9917,6 +10549,107 @@ func (s *RepositoryTriggerExecutionFailure) SetTrigger(v string) *RepositoryTrig return s } +// Information about the file mode changes. +type SetFileModeEntry struct { + _ struct{} `type:"structure"` + + // The file mode for the file. + // + // FileMode is a required field + FileMode *string `locationName:"fileMode" type:"string" required:"true" enum:"FileModeTypeEnum"` + + // The full path to the file, including the name of the file. + // + // FilePath is a required field + FilePath *string `locationName:"filePath" type:"string" required:"true"` +} + +// String returns the string representation +func (s SetFileModeEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetFileModeEntry) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetFileModeEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetFileModeEntry"} + if s.FileMode == nil { + invalidParams.Add(request.NewErrParamRequired("FileMode")) + } + if s.FilePath == nil { + invalidParams.Add(request.NewErrParamRequired("FilePath")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFileMode sets the FileMode field's value. +func (s *SetFileModeEntry) SetFileMode(v string) *SetFileModeEntry { + s.FileMode = &v + return s +} + +// SetFilePath sets the FilePath field's value. +func (s *SetFileModeEntry) SetFilePath(v string) *SetFileModeEntry { + s.FilePath = &v + return s +} + +// Information about a source file that is part of changes made in a commit. +type SourceFileSpecifier struct { + _ struct{} `type:"structure"` + + // The full path to the file, including the name of the file. + // + // FilePath is a required field + FilePath *string `locationName:"filePath" type:"string" required:"true"` + + // Whether to remove the source file from the parent commit. + IsMove *bool `locationName:"isMove" type:"boolean"` +} + +// String returns the string representation +func (s SourceFileSpecifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SourceFileSpecifier) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SourceFileSpecifier) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SourceFileSpecifier"} + if s.FilePath == nil { + invalidParams.Add(request.NewErrParamRequired("FilePath")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilePath sets the FilePath field's value. +func (s *SourceFileSpecifier) SetFilePath(v string) *SourceFileSpecifier { + s.FilePath = &v + return s +} + +// SetIsMove sets the IsMove field's value. +func (s *SourceFileSpecifier) SetIsMove(v bool) *SourceFileSpecifier { + s.IsMove = &v + return s +} + // Returns information about a submodule reference in a repository folder. type SubModule struct { _ struct{} `type:"structure"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go index 604881e7441..71abd772b8b 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go @@ -57,6 +57,8 @@ // // Information about committed code in a repository, by calling the following: // +// * CreateCommit, which creates a commit for changes to a repository. +// // * GetBlob, which returns the base-64 encoded content of an individual // Git blob object within a repository. // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go index 2301b41f556..e97adeb7d6c 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go @@ -189,6 +189,14 @@ const ( // The encryption key is not available. ErrCodeEncryptionKeyUnavailableException = "EncryptionKeyUnavailableException" + // ErrCodeFileContentAndSourceFileSpecifiedException for service response error code + // "FileContentAndSourceFileSpecifiedException". + // + // The commit cannot be created because both a source file and file content + // have been specified for the same file. You cannot provide both. Either specify + // a source file, or provide the file content directly. + ErrCodeFileContentAndSourceFileSpecifiedException = "FileContentAndSourceFileSpecifiedException" + // ErrCodeFileContentRequiredException for service response error code // "FileContentRequiredException". // @@ -200,8 +208,8 @@ const ( // "FileContentSizeLimitExceededException". // // The file cannot be added because it is too large. The maximum file size that - // can be added using PutFile is 6 MB. For files larger than 6 MB but smaller - // than 2 GB, add them using a Git client. + // can be added using PutFile is 6 MB, and the combined file content change + // size is 7 MB. Consider making these changes using a Git client. ErrCodeFileContentSizeLimitExceededException = "FileContentSizeLimitExceededException" // ErrCodeFileDoesNotExistException for service response error code @@ -211,6 +219,20 @@ const ( // name of the file, including its full path and extension. ErrCodeFileDoesNotExistException = "FileDoesNotExistException" + // ErrCodeFileEntryRequiredException for service response error code + // "FileEntryRequiredException". + // + // The commit cannot be created because no files have been specified as added, + // updated, or changed (PutFile or DeleteFile) for the commit. + ErrCodeFileEntryRequiredException = "FileEntryRequiredException" + + // ErrCodeFileModeRequiredException for service response error code + // "FileModeRequiredException". + // + // The commit cannot be created because a file mode is required to update mode + // permissions for an existing file, but no file mode has been specified. + ErrCodeFileModeRequiredException = "FileModeRequiredException" + // ErrCodeFileNameConflictsWithDirectoryNameException for service response error code // "FileNameConflictsWithDirectoryNameException". // @@ -220,6 +242,14 @@ const ( // file name. ErrCodeFileNameConflictsWithDirectoryNameException = "FileNameConflictsWithDirectoryNameException" + // ErrCodeFilePathConflictsWithSubmodulePathException for service response error code + // "FilePathConflictsWithSubmodulePathException". + // + // The commit cannot be created because a specified file path points to a submodule. + // Verify that the destination files have valid file paths that do not point + // to a submodule. + ErrCodeFilePathConflictsWithSubmodulePathException = "FilePathConflictsWithSubmodulePathException" + // ErrCodeFileTooLargeException for service response error code // "FileTooLargeException". // @@ -228,6 +258,15 @@ const ( // (http://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). ErrCodeFileTooLargeException = "FileTooLargeException" + // ErrCodeFolderContentSizeLimitExceededException for service response error code + // "FolderContentSizeLimitExceededException". + // + // The commit cannot be created because at least one of the overall changes + // in the commit result in a folder contents exceeding the limit of 6 MB. Either + // reduce the number and size of your changes, or split the changes across multiple + // folders. + ErrCodeFolderContentSizeLimitExceededException = "FolderContentSizeLimitExceededException" + // ErrCodeFolderDoesNotExistException for service response error code // "FolderDoesNotExistException". // @@ -531,6 +570,14 @@ const ( // The number of branches for the trigger was exceeded. ErrCodeMaximumBranchesExceededException = "MaximumBranchesExceededException" + // ErrCodeMaximumFileEntriesExceededException for service response error code + // "MaximumFileEntriesExceededException". + // + // The number of specified files to change as part of this commit exceeds the + // maximum number of files that can be changed in a single commit. Consider + // using a Git client for these changes. + ErrCodeMaximumFileEntriesExceededException = "MaximumFileEntriesExceededException" + // ErrCodeMaximumOpenPullRequestsExceededException for service response error code // "MaximumOpenPullRequestsExceededException". // @@ -574,6 +621,13 @@ const ( // character limit. ErrCodeNameLengthExceededException = "NameLengthExceededException" + // ErrCodeNoChangeException for service response error code + // "NoChangeException". + // + // The commit cannot be created because no changes will be made to the repository + // as a result of this commit. A commit must contain at least one change. + ErrCodeNoChangeException = "NoChangeException" + // ErrCodeParentCommitDoesNotExistException for service response error code // "ParentCommitDoesNotExistException". // @@ -634,6 +688,13 @@ const ( // A pull request status is required, but none was provided. ErrCodePullRequestStatusRequiredException = "PullRequestStatusRequiredException" + // ErrCodePutFileEntryConflictException for service response error code + // "PutFileEntryConflictException". + // + // The commit cannot be created because one or more files specified in the commit + // reference both a file and a folder. + ErrCodePutFileEntryConflictException = "PutFileEntryConflictException" + // ErrCodeReferenceDoesNotExistException for service response error code // "ReferenceDoesNotExistException". // @@ -686,8 +747,8 @@ const ( // "RepositoryNotAssociatedWithPullRequestException". // // The repository does not contain any pull requests with that pull request - // ID. Check to make sure you have provided the correct repository name for - // the pull request. + // ID. Use GetPullRequest to verify the correct repository name for the pull + // request ID. ErrCodeRepositoryNotAssociatedWithPullRequestException = "RepositoryNotAssociatedWithPullRequestException" // ErrCodeRepositoryTriggerBranchNameListRequiredException for service response error code @@ -722,6 +783,13 @@ const ( // The list of triggers for the repository is required but was not specified. ErrCodeRepositoryTriggersListRequiredException = "RepositoryTriggersListRequiredException" + // ErrCodeRestrictedSourceFileException for service response error code + // "RestrictedSourceFileException". + // + // The commit cannot be created because one of the changes specifies copying + // or moving a .gitkeep file. + ErrCodeRestrictedSourceFileException = "RestrictedSourceFileException" + // ErrCodeSameFileContentException for service response error code // "SameFileContentException". // @@ -730,6 +798,15 @@ const ( // specified. ErrCodeSameFileContentException = "SameFileContentException" + // ErrCodeSamePathRequestException for service response error code + // "SamePathRequestException". + // + // The commit cannot be created because one or more changes in this commit duplicate + // actions in the same file path. For example, you cannot make the same delete + // request to the same file in the same file path twice, or make a delete request + // and a move request to the same file as part of the same commit. + ErrCodeSamePathRequestException = "SamePathRequestException" + // ErrCodeSourceAndDestinationAreSameException for service response error code // "SourceAndDestinationAreSameException". // @@ -737,6 +814,13 @@ const ( // same. You must specify different branches for the source and destination. ErrCodeSourceAndDestinationAreSameException = "SourceAndDestinationAreSameException" + // ErrCodeSourceFileOrContentRequiredException for service response error code + // "SourceFileOrContentRequiredException". + // + // The commit cannot be created because no source files or file content have + // been specified for the commit. + ErrCodeSourceFileOrContentRequiredException = "SourceFileOrContentRequiredException" + // ErrCodeTargetRequiredException for service response error code // "TargetRequiredException". // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go index 274ca2a324c..600ee9d78fb 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go @@ -71,13 +71,13 @@ func (c *CodeDeploy) AddTagsToOnPremisesInstancesRequest(input *AddTagsToOnPremi // An on-premises instance name was not specified. // // * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException" -// The specified on-premises instance name was specified in an invalid format. +// The on-premises instance name was specified in an invalid format. // // * ErrCodeTagRequiredException "TagRequiredException" // A tag was not specified. // // * ErrCodeInvalidTagException "InvalidTagException" -// The specified tag was specified in an invalid format. +// The tag was specified in an invalid format. // // * ErrCodeTagLimitExceededException "TagLimitExceededException" // The maximum allowed number of tags was exceeded. @@ -166,7 +166,7 @@ func (c *CodeDeploy) BatchGetApplicationRevisionsRequest(input *BatchGetApplicat // // Returned Error Codes: // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException" // The minimum number of required application names was not specified. @@ -266,7 +266,7 @@ func (c *CodeDeploy) BatchGetApplicationsRequest(input *BatchGetApplicationsInpu // The application name was specified in an invalid format. // // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // * ErrCodeBatchLimitExceededException "BatchLimitExceededException" // The maximum number of names or IDs allowed for this request (100) was exceeded. @@ -354,7 +354,7 @@ func (c *CodeDeploy) BatchGetDeploymentGroupsRequest(input *BatchGetDeploymentGr // The application name was specified in an invalid format. // // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // * ErrCodeDeploymentGroupNameRequiredException "DeploymentGroupNameRequiredException" // The deployment group name was not specified. @@ -366,8 +366,7 @@ func (c *CodeDeploy) BatchGetDeploymentGroupsRequest(input *BatchGetDeploymentGr // The maximum number of names or IDs allowed for this request (100) was exceeded. // // * ErrCodeDeploymentConfigDoesNotExistException "DeploymentConfigDoesNotExistException" -// The deployment configuration does not exist with the applicable IAM user -// or AWS account. +// The deployment configuration does not exist with the IAM user or AWS account. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentGroups func (c *CodeDeploy) BatchGetDeploymentGroups(input *BatchGetDeploymentGroupsInput) (*BatchGetDeploymentGroupsOutput, error) { @@ -440,8 +439,7 @@ func (c *CodeDeploy) BatchGetDeploymentInstancesRequest(input *BatchGetDeploymen // BatchGetDeploymentInstances API operation for AWS CodeDeploy. // -// This method works, but is considered deprecated. Use BatchGetDeploymentTargets -// instead. +// This method works, but is deprecated. Use BatchGetDeploymentTargets instead. // // Returns an array of instances associated with a deployment. This method works // with EC2/On-premises and AWS Lambda compute platforms. The newer BatchGetDeploymentTargets @@ -459,7 +457,7 @@ func (c *CodeDeploy) BatchGetDeploymentInstancesRequest(input *BatchGetDeploymen // At least one deployment ID must be specified. // // * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException" -// The deployment does not exist with the applicable IAM user or AWS account. +// The deployment with the IAM user or AWS account does not exist. // // * ErrCodeInstanceIdRequiredException "InstanceIdRequiredException" // The instance ID was not specified. @@ -468,7 +466,7 @@ func (c *CodeDeploy) BatchGetDeploymentInstancesRequest(input *BatchGetDeploymen // At least one of the deployment IDs was specified in an invalid format. // // * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException" -// The specified on-premises instance name was specified in an invalid format. +// The on-premises instance name was specified in an invalid format. // // * ErrCodeBatchLimitExceededException "BatchLimitExceededException" // The maximum number of names or IDs allowed for this request (100) was exceeded. @@ -551,11 +549,11 @@ func (c *CodeDeploy) BatchGetDeploymentTargetsRequest(input *BatchGetDeploymentT // // The type of targets returned depends on the deployment's compute platform: // -// * EC2/On-premises - Information about EC2 instance targets. +// * EC2/On-premises: Information about EC2 instance targets. // -// * AWS Lambda - Information about Lambda functions targets. +// * AWS Lambda: Information about Lambda functions targets. // -// * Amazon ECS - Information about ECS service targets. +// * Amazon ECS: Information about Amazon ECS service targets. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -572,13 +570,13 @@ func (c *CodeDeploy) BatchGetDeploymentTargetsRequest(input *BatchGetDeploymentT // At least one deployment ID must be specified. // // * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException" -// The deployment does not exist with the applicable IAM user or AWS account. +// The deployment with the IAM user or AWS account does not exist. // // * ErrCodeDeploymentTargetIdRequiredException "DeploymentTargetIdRequiredException" // A deployment target ID was not provided. // // * ErrCodeInvalidDeploymentTargetIdException "InvalidDeploymentTargetIdException" -// The target ID provide was not valid. +// The target ID provided was not valid. // // * ErrCodeDeploymentTargetDoesNotExistException "DeploymentTargetDoesNotExistException" // The provided target ID does not belong to the attempted deployment. @@ -754,7 +752,7 @@ func (c *CodeDeploy) BatchGetOnPremisesInstancesRequest(input *BatchGetOnPremise // An on-premises instance name was not specified. // // * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException" -// The specified on-premises instance name was specified in an invalid format. +// The on-premises instance name was specified in an invalid format. // // * ErrCodeBatchLimitExceededException "BatchLimitExceededException" // The maximum number of names or IDs allowed for this request (100) was exceeded. @@ -845,7 +843,7 @@ func (c *CodeDeploy) ContinueDeploymentRequest(input *ContinueDeploymentInput) ( // At least one deployment ID must be specified. // // * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException" -// The deployment does not exist with the applicable IAM user or AWS account. +// The deployment with the IAM user or AWS account does not exist. // // * ErrCodeDeploymentAlreadyCompletedException "DeploymentAlreadyCompletedException" // The deployment is already complete. @@ -948,8 +946,8 @@ func (c *CodeDeploy) CreateApplicationRequest(input *CreateApplicationInput) (re // The application name was specified in an invalid format. // // * ErrCodeApplicationAlreadyExistsException "ApplicationAlreadyExistsException" -// An application with the specified name already exists with the applicable -// IAM user or AWS account. +// An application with the specified name with the IAM user or AWS account already +// exists. // // * ErrCodeApplicationLimitExceededException "ApplicationLimitExceededException" // More applications were attempted to be created than are allowed. @@ -1040,7 +1038,7 @@ func (c *CodeDeploy) CreateDeploymentRequest(input *CreateDeploymentInput) (req // The application name was specified in an invalid format. // // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // * ErrCodeDeploymentGroupNameRequiredException "DeploymentGroupNameRequiredException" // The deployment group name was not specified. @@ -1049,14 +1047,13 @@ func (c *CodeDeploy) CreateDeploymentRequest(input *CreateDeploymentInput) (req // The deployment group name was specified in an invalid format. // // * ErrCodeDeploymentGroupDoesNotExistException "DeploymentGroupDoesNotExistException" -// The named deployment group does not exist with the applicable IAM user or -// AWS account. +// The named deployment group with the IAM user or AWS account does not exist. // // * ErrCodeRevisionRequiredException "RevisionRequiredException" // The revision ID was not specified. // // * ErrCodeRevisionDoesNotExistException "RevisionDoesNotExistException" -// The named revision does not exist with the applicable IAM user or AWS account. +// The named revision does not exist with the IAM user or AWS account. // // * ErrCodeInvalidRevisionException "InvalidRevisionException" // The revision was specified in an invalid format. @@ -1065,8 +1062,7 @@ func (c *CodeDeploy) CreateDeploymentRequest(input *CreateDeploymentInput) (req // The deployment configuration name was specified in an invalid format. // // * ErrCodeDeploymentConfigDoesNotExistException "DeploymentConfigDoesNotExistException" -// The deployment configuration does not exist with the applicable IAM user -// or AWS account. +// The deployment configuration does not exist with the IAM user or AWS account. // // * ErrCodeDescriptionTooLongException "DescriptionTooLongException" // The description is too long. @@ -1088,7 +1084,7 @@ func (c *CodeDeploy) CreateDeploymentRequest(input *CreateDeploymentInput) (req // // * ErrCodeInvalidAutoRollbackConfigException "InvalidAutoRollbackConfigException" // The automatic rollback configuration was specified in an invalid format. -// For example, automatic rollback is enabled but an invalid triggering event +// For example, automatic rollback is enabled, but an invalid triggering event // type or no event types were listed. // // * ErrCodeInvalidLoadBalancerInfoException "InvalidLoadBalancerInfoException" @@ -1096,14 +1092,14 @@ func (c *CodeDeploy) CreateDeploymentRequest(input *CreateDeploymentInput) (req // // * ErrCodeInvalidFileExistsBehaviorException "InvalidFileExistsBehaviorException" // An invalid fileExistsBehavior option was specified to determine how AWS CodeDeploy -// handles files or directories that already exist in a deployment target location +// handles files or directories that already exist in a deployment target location, // but weren't part of the previous successful deployment. Valid values include -// "DISALLOW", "OVERWRITE", and "RETAIN". +// "DISALLOW," "OVERWRITE," and "RETAIN." // // * ErrCodeInvalidRoleException "InvalidRoleException" // The service role ARN was specified in an invalid format. Or, if an Auto Scaling // group was specified, the specified service role does not grant the appropriate -// permissions to Auto Scaling. +// permissions to Amazon EC2 Auto Scaling. // // * ErrCodeInvalidAutoScalingGroupException "InvalidAutoScalingGroupException" // The Auto Scaling group was specified in an invalid format or does not exist. @@ -1205,8 +1201,8 @@ func (c *CodeDeploy) CreateDeploymentConfigRequest(input *CreateDeploymentConfig // The deployment configuration name was not specified. // // * ErrCodeDeploymentConfigAlreadyExistsException "DeploymentConfigAlreadyExistsException" -// A deployment configuration with the specified name already exists with the -// applicable IAM user or AWS account. +// A deployment configuration with the specified name with the IAM user or AWS +// account already exists . // // * ErrCodeInvalidMinimumHealthyHostValueException "InvalidMinimumHealthyHostValueException" // The minimum healthy instance value was specified in an invalid format. @@ -1287,7 +1283,7 @@ func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupIn // CreateDeploymentGroup API operation for AWS CodeDeploy. // -// Creates a deployment group to which application revisions will be deployed. +// Creates a deployment group to which application revisions are deployed. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1304,7 +1300,7 @@ func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupIn // The application name was specified in an invalid format. // // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // * ErrCodeDeploymentGroupNameRequiredException "DeploymentGroupNameRequiredException" // The deployment group name was not specified. @@ -1313,14 +1309,14 @@ func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupIn // The deployment group name was specified in an invalid format. // // * ErrCodeDeploymentGroupAlreadyExistsException "DeploymentGroupAlreadyExistsException" -// A deployment group with the specified name already exists with the applicable -// IAM user or AWS account. +// A deployment group with the specified name with the IAM user or AWS account +// already exists. // // * ErrCodeInvalidEC2TagException "InvalidEC2TagException" // The tag was specified in an invalid format. // // * ErrCodeInvalidTagException "InvalidTagException" -// The specified tag was specified in an invalid format. +// The tag was specified in an invalid format. // // * ErrCodeInvalidAutoScalingGroupException "InvalidAutoScalingGroupException" // The Auto Scaling group was specified in an invalid format or does not exist. @@ -1329,8 +1325,7 @@ func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupIn // The deployment configuration name was specified in an invalid format. // // * ErrCodeDeploymentConfigDoesNotExistException "DeploymentConfigDoesNotExistException" -// The deployment configuration does not exist with the applicable IAM user -// or AWS account. +// The deployment configuration does not exist with the IAM user or AWS account. // // * ErrCodeRoleRequiredException "RoleRequiredException" // The role ID was not specified. @@ -1338,7 +1333,7 @@ func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupIn // * ErrCodeInvalidRoleException "InvalidRoleException" // The service role ARN was specified in an invalid format. Or, if an Auto Scaling // group was specified, the specified service role does not grant the appropriate -// permissions to Auto Scaling. +// permissions to Amazon EC2 Auto Scaling. // // * ErrCodeDeploymentGroupLimitExceededException "DeploymentGroupLimitExceededException" // The deployment groups limit was exceeded. @@ -1359,18 +1354,18 @@ func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupIn // // * The alarm object is null. // -// * The alarm name is empty or null or exceeds the 255 character limit. +// * The alarm name is empty or null or exceeds the limit of 255 characters. // // * Two alarms with the same name have been specified. // -// * The alarm configuration is enabled but the alarm list is empty. +// * The alarm configuration is enabled, but the alarm list is empty. // // * ErrCodeAlarmsLimitExceededException "AlarmsLimitExceededException" // The maximum number of alarms for a deployment group (10) was exceeded. // // * ErrCodeInvalidAutoRollbackConfigException "InvalidAutoRollbackConfigException" // The automatic rollback configuration was specified in an invalid format. -// For example, automatic rollback is enabled but an invalid triggering event +// For example, automatic rollback is enabled, but an invalid triggering event // type or no event types were listed. // // * ErrCodeInvalidLoadBalancerInfoException "InvalidLoadBalancerInfoException" @@ -1378,8 +1373,8 @@ func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupIn // // * ErrCodeInvalidDeploymentStyleException "InvalidDeploymentStyleException" // An invalid deployment style was specified. Valid deployment types include -// "IN_PLACE" and "BLUE_GREEN". Valid deployment options include "WITH_TRAFFIC_CONTROL" -// and "WITHOUT_TRAFFIC_CONTROL". +// "IN_PLACE" and "BLUE_GREEN." Valid deployment options include "WITH_TRAFFIC_CONTROL" +// and "WITHOUT_TRAFFIC_CONTROL." // // * ErrCodeInvalidBlueGreenDeploymentConfigurationException "InvalidBlueGreenDeploymentConfigurationException" // The configuration for the blue/green deployment group was provided in an @@ -1399,7 +1394,7 @@ func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupIn // allowed limit of 3. // // * ErrCodeInvalidInputException "InvalidInputException" -// The specified input was specified in an invalid format. +// The input was specified in an invalid format. // // * ErrCodeThrottlingException "ThrottlingException" // An API function was called too frequently. @@ -1412,7 +1407,7 @@ func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupIn // // * ErrCodeECSServiceMappingLimitExceededException "ECSServiceMappingLimitExceededException" // The Amazon ECS service is associated with more than one deployment groups. -// An ECS service can only be associated with one deployment group. +// An Amazon ECS service can be associated with only one deployment group. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentGroup func (c *CodeDeploy) CreateDeploymentGroup(input *CreateDeploymentGroupInput) (*CreateDeploymentGroupOutput, error) { @@ -1680,7 +1675,7 @@ func (c *CodeDeploy) DeleteDeploymentGroupRequest(input *DeleteDeploymentGroupIn // * ErrCodeInvalidRoleException "InvalidRoleException" // The service role ARN was specified in an invalid format. Or, if an Auto Scaling // group was specified, the specified service role does not grant the appropriate -// permissions to Auto Scaling. +// permissions to Amazon EC2 Auto Scaling. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteDeploymentGroup func (c *CodeDeploy) DeleteDeploymentGroup(input *DeleteDeploymentGroupInput) (*DeleteDeploymentGroupOutput, error) { @@ -1854,7 +1849,7 @@ func (c *CodeDeploy) DeregisterOnPremisesInstanceRequest(input *DeregisterOnPrem // An on-premises instance name was not specified. // // * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException" -// The specified on-premises instance name was specified in an invalid format. +// The on-premises instance name was specified in an invalid format. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeregisterOnPremisesInstance func (c *CodeDeploy) DeregisterOnPremisesInstance(input *DeregisterOnPremisesInstanceInput) (*DeregisterOnPremisesInstanceOutput, error) { @@ -1939,7 +1934,7 @@ func (c *CodeDeploy) GetApplicationRequest(input *GetApplicationInput) (req *req // The application name was specified in an invalid format. // // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetApplication func (c *CodeDeploy) GetApplication(input *GetApplicationInput) (*GetApplicationOutput, error) { @@ -2018,7 +2013,7 @@ func (c *CodeDeploy) GetApplicationRevisionRequest(input *GetApplicationRevision // // Returned Error Codes: // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException" // The minimum number of required application names was not specified. @@ -2027,7 +2022,7 @@ func (c *CodeDeploy) GetApplicationRevisionRequest(input *GetApplicationRevision // The application name was specified in an invalid format. // // * ErrCodeRevisionDoesNotExistException "RevisionDoesNotExistException" -// The named revision does not exist with the applicable IAM user or AWS account. +// The named revision does not exist with the IAM user or AWS account. // // * ErrCodeRevisionRequiredException "RevisionRequiredException" // The revision ID was not specified. @@ -2103,6 +2098,11 @@ func (c *CodeDeploy) GetDeploymentRequest(input *GetDeploymentInput) (req *reque // // Gets information about a deployment. // +// The content property of the appSpecContent object in the returned revision +// is always null. Use GetApplicationRevision and the sha256 property of the +// returned appSpecContent object to get the content of the deployment’s AppSpec +// file. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -2118,7 +2118,7 @@ func (c *CodeDeploy) GetDeploymentRequest(input *GetDeploymentInput) (req *reque // At least one of the deployment IDs was specified in an invalid format. // // * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException" -// The deployment does not exist with the applicable IAM user or AWS account. +// The deployment with the IAM user or AWS account does not exist. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeployment func (c *CodeDeploy) GetDeployment(input *GetDeploymentInput) (*GetDeploymentOutput, error) { @@ -2203,8 +2203,7 @@ func (c *CodeDeploy) GetDeploymentConfigRequest(input *GetDeploymentConfigInput) // The deployment configuration name was not specified. // // * ErrCodeDeploymentConfigDoesNotExistException "DeploymentConfigDoesNotExistException" -// The deployment configuration does not exist with the applicable IAM user -// or AWS account. +// The deployment configuration does not exist with the IAM user or AWS account. // // * ErrCodeInvalidComputePlatformException "InvalidComputePlatformException" // The computePlatform is invalid. The computePlatform should be Lambda or Server. @@ -2292,7 +2291,7 @@ func (c *CodeDeploy) GetDeploymentGroupRequest(input *GetDeploymentGroupInput) ( // The application name was specified in an invalid format. // // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // * ErrCodeDeploymentGroupNameRequiredException "DeploymentGroupNameRequiredException" // The deployment group name was not specified. @@ -2301,12 +2300,10 @@ func (c *CodeDeploy) GetDeploymentGroupRequest(input *GetDeploymentGroupInput) ( // The deployment group name was specified in an invalid format. // // * ErrCodeDeploymentGroupDoesNotExistException "DeploymentGroupDoesNotExistException" -// The named deployment group does not exist with the applicable IAM user or -// AWS account. +// The named deployment group with the IAM user or AWS account does not exist. // // * ErrCodeDeploymentConfigDoesNotExistException "DeploymentConfigDoesNotExistException" -// The deployment configuration does not exist with the applicable IAM user -// or AWS account. +// The deployment configuration does not exist with the IAM user or AWS account. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentGroup func (c *CodeDeploy) GetDeploymentGroup(input *GetDeploymentGroupInput) (*GetDeploymentGroupOutput, error) { @@ -2393,7 +2390,7 @@ func (c *CodeDeploy) GetDeploymentInstanceRequest(input *GetDeploymentInstanceIn // At least one deployment ID must be specified. // // * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException" -// The deployment does not exist with the applicable IAM user or AWS account. +// The deployment with the IAM user or AWS account does not exist. // // * ErrCodeInstanceIdRequiredException "InstanceIdRequiredException" // The instance ID was not specified. @@ -2405,7 +2402,7 @@ func (c *CodeDeploy) GetDeploymentInstanceRequest(input *GetDeploymentInstanceIn // The specified instance does not exist in the deployment group. // // * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException" -// The specified on-premises instance name was specified in an invalid format. +// The on-premises instance name was specified in an invalid format. // // * ErrCodeInvalidComputePlatformException "InvalidComputePlatformException" // The computePlatform is invalid. The computePlatform should be Lambda or Server. @@ -2497,19 +2494,19 @@ func (c *CodeDeploy) GetDeploymentTargetRequest(input *GetDeploymentTargetInput) // At least one deployment ID must be specified. // // * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException" -// The deployment does not exist with the applicable IAM user or AWS account. +// The deployment with the IAM user or AWS account does not exist. // // * ErrCodeDeploymentTargetIdRequiredException "DeploymentTargetIdRequiredException" // A deployment target ID was not provided. // // * ErrCodeInvalidDeploymentTargetIdException "InvalidDeploymentTargetIdException" -// The target ID provide was not valid. +// The target ID provided was not valid. // // * ErrCodeDeploymentTargetDoesNotExistException "DeploymentTargetDoesNotExistException" // The provided target ID does not belong to the attempted deployment. // // * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException" -// The specified on-premises instance name was specified in an invalid format. +// The on-premises instance name was specified in an invalid format. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentTarget func (c *CodeDeploy) GetDeploymentTarget(input *GetDeploymentTargetInput) (*GetDeploymentTargetOutput, error) { @@ -2594,7 +2591,7 @@ func (c *CodeDeploy) GetOnPremisesInstanceRequest(input *GetOnPremisesInstanceIn // The specified on-premises instance is not registered. // // * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException" -// The specified on-premises instance name was specified in an invalid format. +// The on-premises instance name was specified in an invalid format. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetOnPremisesInstance func (c *CodeDeploy) GetOnPremisesInstance(input *GetOnPremisesInstanceInput) (*GetOnPremisesInstanceOutput, error) { @@ -2679,7 +2676,7 @@ func (c *CodeDeploy) ListApplicationRevisionsRequest(input *ListApplicationRevis // // Returned Error Codes: // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException" // The minimum number of required application names was not specified. @@ -2831,7 +2828,7 @@ func (c *CodeDeploy) ListApplicationsRequest(input *ListApplicationsInput) (req // ListApplications API operation for AWS CodeDeploy. // -// Lists the applications registered with the applicable IAM user or AWS account. +// Lists the applications registered with the IAM user or 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 @@ -2966,7 +2963,7 @@ func (c *CodeDeploy) ListDeploymentConfigsRequest(input *ListDeploymentConfigsIn // ListDeploymentConfigs API operation for AWS CodeDeploy. // -// Lists the deployment configurations with the applicable IAM user or AWS account. +// Lists the deployment configurations with the IAM user or 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 @@ -3101,8 +3098,8 @@ func (c *CodeDeploy) ListDeploymentGroupsRequest(input *ListDeploymentGroupsInpu // ListDeploymentGroups API operation for AWS CodeDeploy. // -// Lists the deployment groups for an application registered with the applicable -// IAM user or AWS account. +// Lists the deployment groups for an application registered with the IAM user +// or 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 @@ -3119,7 +3116,7 @@ func (c *CodeDeploy) ListDeploymentGroupsRequest(input *ListDeploymentGroupsInpu // The application name was specified in an invalid format. // // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // * ErrCodeInvalidNextTokenException "InvalidNextTokenException" // The next token was specified in an invalid format. @@ -3255,8 +3252,7 @@ func (c *CodeDeploy) ListDeploymentInstancesRequest(input *ListDeploymentInstanc // with all compute types. ListDeploymentInstances throws an exception if it // is used with a compute platform other than EC2/On-premises or AWS Lambda. // -// Lists the instance for a deployment associated with the applicable IAM user -// or AWS account. +// Lists the instance for a deployment associated with the IAM user or 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 @@ -3270,7 +3266,7 @@ func (c *CodeDeploy) ListDeploymentInstancesRequest(input *ListDeploymentInstanc // At least one deployment ID must be specified. // // * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException" -// The deployment does not exist with the applicable IAM user or AWS account. +// The deployment with the IAM user or AWS account does not exist. // // * ErrCodeDeploymentNotStartedException "DeploymentNotStartedException" // The specified deployment has not started. @@ -3437,7 +3433,7 @@ func (c *CodeDeploy) ListDeploymentTargetsRequest(input *ListDeploymentTargetsIn // At least one deployment ID must be specified. // // * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException" -// The deployment does not exist with the applicable IAM user or AWS account. +// The deployment with the IAM user or AWS account does not exist. // // * ErrCodeDeploymentNotStartedException "DeploymentNotStartedException" // The specified deployment has not started. @@ -3533,7 +3529,7 @@ func (c *CodeDeploy) ListDeploymentsRequest(input *ListDeploymentsInput) (req *r // ListDeployments API operation for AWS CodeDeploy. // // Lists the deployments in a deployment group for an application registered -// with the applicable IAM user or AWS account. +// with the IAM user or 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 @@ -3550,14 +3546,13 @@ func (c *CodeDeploy) ListDeploymentsRequest(input *ListDeploymentsInput) (req *r // The application name was specified in an invalid format. // // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // * ErrCodeInvalidDeploymentGroupNameException "InvalidDeploymentGroupNameException" // The deployment group name was specified in an invalid format. // // * ErrCodeDeploymentGroupDoesNotExistException "DeploymentGroupDoesNotExistException" -// The named deployment group does not exist with the applicable IAM user or -// AWS account. +// The named deployment group with the IAM user or AWS account does not exist. // // * ErrCodeDeploymentGroupNameRequiredException "DeploymentGroupNameRequiredException" // The deployment group name was not specified. @@ -3775,7 +3770,7 @@ func (c *CodeDeploy) ListOnPremisesInstancesRequest(input *ListOnPremisesInstanc // Gets a list of names for one or more on-premises instances. // // Unless otherwise specified, both registered and deregistered on-premises -// instance names will be listed. To list only registered or deregistered on-premises +// instance names are listed. To list only registered or deregistered on-premises // instance names, use the registration status parameter. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3790,7 +3785,7 @@ func (c *CodeDeploy) ListOnPremisesInstancesRequest(input *ListOnPremisesInstanc // The registration status was specified in an invalid format. // // * ErrCodeInvalidTagFilterException "InvalidTagFilterException" -// The specified tag filter was specified in an invalid format. +// The tag filter was specified in an invalid format. // // * ErrCodeInvalidNextTokenException "InvalidNextTokenException" // The next token was specified in an invalid format. @@ -3888,7 +3883,7 @@ func (c *CodeDeploy) PutLifecycleEventHookExecutionStatusRequest(input *PutLifec // At least one deployment ID must be specified. // // * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException" -// The deployment does not exist with the applicable IAM user or AWS account. +// The deployment with the IAM user or AWS account does not exist. // // * ErrCodeInvalidDeploymentIdException "InvalidDeploymentIdException" // At least one of the deployment IDs was specified in an invalid format. @@ -3974,7 +3969,7 @@ func (c *CodeDeploy) RegisterApplicationRevisionRequest(input *RegisterApplicati // // Returned Error Codes: // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException" // The minimum number of required application names was not specified. @@ -4092,7 +4087,7 @@ func (c *CodeDeploy) RegisterOnPremisesInstanceRequest(input *RegisterOnPremises // An IAM user ARN was not specified. // // * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException" -// The specified on-premises instance name was specified in an invalid format. +// The on-premises instance name was specified in an invalid format. // // * ErrCodeInvalidIamSessionArnException "InvalidIamSessionArnException" // The IAM session ARN was specified in an invalid format. @@ -4185,13 +4180,13 @@ func (c *CodeDeploy) RemoveTagsFromOnPremisesInstancesRequest(input *RemoveTagsF // An on-premises instance name was not specified. // // * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException" -// The specified on-premises instance name was specified in an invalid format. +// The on-premises instance name was specified in an invalid format. // // * ErrCodeTagRequiredException "TagRequiredException" // A tag was not specified. // // * ErrCodeInvalidTagException "InvalidTagException" -// The specified tag was specified in an invalid format. +// The tag was specified in an invalid format. // // * ErrCodeTagLimitExceededException "TagLimitExceededException" // The maximum allowed number of tags was exceeded. @@ -4276,7 +4271,7 @@ func (c *CodeDeploy) SkipWaitTimeForInstanceTerminationRequest(input *SkipWaitTi // SkipWaitTimeForInstanceTermination API operation for AWS CodeDeploy. // // In a blue/green deployment, overrides any specified wait time and starts -// terminating instances immediately after the traffic routing is completed. +// terminating instances immediately after the traffic routing is complete. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4290,7 +4285,7 @@ func (c *CodeDeploy) SkipWaitTimeForInstanceTerminationRequest(input *SkipWaitTi // At least one deployment ID must be specified. // // * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException" -// The deployment does not exist with the applicable IAM user or AWS account. +// The deployment with the IAM user or AWS account does not exist. // // * ErrCodeDeploymentAlreadyCompletedException "DeploymentAlreadyCompletedException" // The deployment is already complete. @@ -4388,11 +4383,10 @@ func (c *CodeDeploy) StopDeploymentRequest(input *StopDeploymentInput) (req *req // At least one deployment ID must be specified. // // * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException" -// The deployment does not exist with the applicable IAM user or AWS account. +// The deployment with the IAM user or AWS account does not exist. // // * ErrCodeDeploymentGroupDoesNotExistException "DeploymentGroupDoesNotExistException" -// The named deployment group does not exist with the applicable IAM user or -// AWS account. +// The named deployment group with the IAM user or AWS account does not exist. // // * ErrCodeDeploymentAlreadyCompletedException "DeploymentAlreadyCompletedException" // The deployment is already complete. @@ -4484,11 +4478,11 @@ func (c *CodeDeploy) UpdateApplicationRequest(input *UpdateApplicationInput) (re // The application name was specified in an invalid format. // // * ErrCodeApplicationAlreadyExistsException "ApplicationAlreadyExistsException" -// An application with the specified name already exists with the applicable -// IAM user or AWS account. +// An application with the specified name with the IAM user or AWS account already +// exists. // // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateApplication func (c *CodeDeploy) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) { @@ -4573,27 +4567,26 @@ func (c *CodeDeploy) UpdateDeploymentGroupRequest(input *UpdateDeploymentGroupIn // The application name was specified in an invalid format. // // * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException" -// The application does not exist with the applicable IAM user or AWS account. +// The application does not exist with the IAM user or AWS account. // // * ErrCodeInvalidDeploymentGroupNameException "InvalidDeploymentGroupNameException" // The deployment group name was specified in an invalid format. // // * ErrCodeDeploymentGroupAlreadyExistsException "DeploymentGroupAlreadyExistsException" -// A deployment group with the specified name already exists with the applicable -// IAM user or AWS account. +// A deployment group with the specified name with the IAM user or AWS account +// already exists. // // * ErrCodeDeploymentGroupNameRequiredException "DeploymentGroupNameRequiredException" // The deployment group name was not specified. // // * ErrCodeDeploymentGroupDoesNotExistException "DeploymentGroupDoesNotExistException" -// The named deployment group does not exist with the applicable IAM user or -// AWS account. +// The named deployment group with the IAM user or AWS account does not exist. // // * ErrCodeInvalidEC2TagException "InvalidEC2TagException" // The tag was specified in an invalid format. // // * ErrCodeInvalidTagException "InvalidTagException" -// The specified tag was specified in an invalid format. +// The tag was specified in an invalid format. // // * ErrCodeInvalidAutoScalingGroupException "InvalidAutoScalingGroupException" // The Auto Scaling group was specified in an invalid format or does not exist. @@ -4602,13 +4595,12 @@ func (c *CodeDeploy) UpdateDeploymentGroupRequest(input *UpdateDeploymentGroupIn // The deployment configuration name was specified in an invalid format. // // * ErrCodeDeploymentConfigDoesNotExistException "DeploymentConfigDoesNotExistException" -// The deployment configuration does not exist with the applicable IAM user -// or AWS account. +// The deployment configuration does not exist with the IAM user or AWS account. // // * ErrCodeInvalidRoleException "InvalidRoleException" // The service role ARN was specified in an invalid format. Or, if an Auto Scaling // group was specified, the specified service role does not grant the appropriate -// permissions to Auto Scaling. +// permissions to Amazon EC2 Auto Scaling. // // * ErrCodeLifecycleHookLimitExceededException "LifecycleHookLimitExceededException" // The limit for lifecycle hooks was exceeded. @@ -4626,18 +4618,18 @@ func (c *CodeDeploy) UpdateDeploymentGroupRequest(input *UpdateDeploymentGroupIn // // * The alarm object is null. // -// * The alarm name is empty or null or exceeds the 255 character limit. +// * The alarm name is empty or null or exceeds the limit of 255 characters. // // * Two alarms with the same name have been specified. // -// * The alarm configuration is enabled but the alarm list is empty. +// * The alarm configuration is enabled, but the alarm list is empty. // // * ErrCodeAlarmsLimitExceededException "AlarmsLimitExceededException" // The maximum number of alarms for a deployment group (10) was exceeded. // // * ErrCodeInvalidAutoRollbackConfigException "InvalidAutoRollbackConfigException" // The automatic rollback configuration was specified in an invalid format. -// For example, automatic rollback is enabled but an invalid triggering event +// For example, automatic rollback is enabled, but an invalid triggering event // type or no event types were listed. // // * ErrCodeInvalidLoadBalancerInfoException "InvalidLoadBalancerInfoException" @@ -4645,8 +4637,8 @@ func (c *CodeDeploy) UpdateDeploymentGroupRequest(input *UpdateDeploymentGroupIn // // * ErrCodeInvalidDeploymentStyleException "InvalidDeploymentStyleException" // An invalid deployment style was specified. Valid deployment types include -// "IN_PLACE" and "BLUE_GREEN". Valid deployment options include "WITH_TRAFFIC_CONTROL" -// and "WITHOUT_TRAFFIC_CONTROL". +// "IN_PLACE" and "BLUE_GREEN." Valid deployment options include "WITH_TRAFFIC_CONTROL" +// and "WITHOUT_TRAFFIC_CONTROL." // // * ErrCodeInvalidBlueGreenDeploymentConfigurationException "InvalidBlueGreenDeploymentConfigurationException" // The configuration for the blue/green deployment group was provided in an @@ -4666,7 +4658,7 @@ func (c *CodeDeploy) UpdateDeploymentGroupRequest(input *UpdateDeploymentGroupIn // allowed limit of 3. // // * ErrCodeInvalidInputException "InvalidInputException" -// The specified input was specified in an invalid format. +// The input was specified in an invalid format. // // * ErrCodeThrottlingException "ThrottlingException" // An API function was called too frequently. @@ -4679,7 +4671,7 @@ func (c *CodeDeploy) UpdateDeploymentGroupRequest(input *UpdateDeploymentGroupIn // // * ErrCodeECSServiceMappingLimitExceededException "ECSServiceMappingLimitExceededException" // The Amazon ECS service is associated with more than one deployment groups. -// An ECS service can only be associated with one deployment group. +// An Amazon ECS service can be associated with only one deployment group. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateDeploymentGroup func (c *CodeDeploy) UpdateDeploymentGroup(input *UpdateDeploymentGroupInput) (*UpdateDeploymentGroupOutput, error) { @@ -4813,11 +4805,11 @@ type AlarmConfiguration struct { // state of alarms cannot be retrieved from Amazon CloudWatch. The default value // is false. // - // * true: The deployment will proceed even if alarm status information can't + // * true: The deployment proceeds even if alarm status information can't // be retrieved from Amazon CloudWatch. // - // * false: The deployment will stop if alarm status information can't be - // retrieved from Amazon CloudWatch. + // * false: The deployment stops if alarm status information can't be retrieved + // from Amazon CloudWatch. IgnorePollAlarmFailure *bool `locationName:"ignorePollAlarmFailure" type:"boolean"` } @@ -4858,12 +4850,12 @@ type AppSpecContent struct { // The YAML-formatted or JSON-formatted revision string. // - // For an AWS Lambda deployment the content includes a Lambda function name, + // For an AWS Lambda deployment, the content includes a Lambda function name, // the alias for its original version, and the alias for its replacement version. // The deployment shifts traffic from the original version of the Lambda function // to the replacement version. // - // For an Amazon ECS deployment the content includes the task name, information + // For an Amazon ECS deployment, the content includes the task name, information // about the load balancer that serves traffic to the container, and more. // // For both types of deployments, the content can specify Lambda functions that @@ -4916,8 +4908,8 @@ type ApplicationInfo struct { // The name for a connection to a GitHub account. GitHubAccountName *string `locationName:"gitHubAccountName" type:"string"` - // True if the user has authenticated with GitHub for the specified application; - // otherwise, false. + // True if the user has authenticated with GitHub for the specified application. + // Otherwise, false. LinkedToGitHub *bool `locationName:"linkedToGitHub" type:"boolean"` } @@ -4968,7 +4960,7 @@ func (s *ApplicationInfo) SetLinkedToGitHub(v bool) *ApplicationInfo { } // Information about a configuration for automatically rolling back to a previous -// version of an application revision when a deployment doesn't complete successfully. +// version of an application revision when a deployment is not completed successfully. type AutoRollbackConfiguration struct { _ struct{} `type:"structure"` @@ -5098,7 +5090,7 @@ type BatchGetApplicationRevisionsOutput struct { // The name of the application that corresponds to the revisions. ApplicationName *string `locationName:"applicationName" min:"1" type:"string"` - // Information about errors that may have occurred during the API call. + // Information about errors that might have occurred during the API call. ErrorMessage *string `locationName:"errorMessage" type:"string"` // Additional information about the revisions, including the type and location. @@ -5206,7 +5198,7 @@ type BatchGetDeploymentGroupsInput struct { // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` - // The deployment groups' names. + // The names of the deployment groups. // // DeploymentGroupNames is a required field DeploymentGroupNames []*string `locationName:"deploymentGroupNames" type:"list" required:"true"` @@ -5260,7 +5252,7 @@ type BatchGetDeploymentGroupsOutput struct { // Information about the deployment groups. DeploymentGroupsInfo []*DeploymentGroupInfo `locationName:"deploymentGroupsInfo" type:"list"` - // Information about errors that may have occurred during the API call. + // Information about errors that might have occurred during the API call. ErrorMessage *string `locationName:"errorMessage" type:"string"` } @@ -5295,7 +5287,7 @@ type BatchGetDeploymentInstancesInput struct { // DeploymentId is a required field DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"` - // The unique IDs of instances of the deployment. + // The unique IDs of instances used in the deployment. // // InstanceIds is a required field InstanceIds []*string `locationName:"instanceIds" type:"list" required:"true"` @@ -5343,7 +5335,7 @@ func (s *BatchGetDeploymentInstancesInput) SetInstanceIds(v []*string) *BatchGet type BatchGetDeploymentInstancesOutput struct { _ struct{} `type:"structure"` - // Information about errors that may have occurred during the API call. + // Information about errors that might have occurred during the API call. ErrorMessage *string `locationName:"errorMessage" type:"string"` // Information about the instance. @@ -5382,11 +5374,11 @@ type BatchGetDeploymentTargetsInput struct { // determines the type of the targets and their formats. // // * For deployments that use the EC2/On-premises compute platform, the - // target IDs are EC2 or on-premises instances IDs and their target type + // target IDs are EC2 or on-premises instances IDs, and their target type // is instanceTarget. // // * For deployments that use the AWS Lambda compute platform, the target - // IDs are the names of Lambda functions and their target type is instanceTarget. + // IDs are the names of Lambda functions, and their target type is instanceTarget. // // // * For deployments that use the Amazon ECS compute platform, the target @@ -5424,13 +5416,13 @@ type BatchGetDeploymentTargetsOutput struct { // about the target, such as its status and lifecycle events. The type of the // target objects depends on the deployment' compute platform. // - // * EC2/On-premises - Each target object is an EC2 or on-premises instance. + // * EC2/On-premises: Each target object is an EC2 or on-premises instance. // // - // * AWS Lambda - The target object is a specific version of an AWS Lambda + // * AWS Lambda: The target object is a specific version of an AWS Lambda // function. // - // * Amazon ECS - The target object is an Amazon ECS service. + // * Amazon ECS: The target object is an Amazon ECS service. DeploymentTargets []*DeploymentTarget `locationName:"deploymentTargets" type:"list"` } @@ -5821,7 +5813,7 @@ type CreateDeploymentConfigInput struct { // FLEET_PERCENT and a value of 95. MinimumHealthyHosts *MinimumHealthyHosts `locationName:"minimumHealthyHosts" type:"structure"` - // The configuration that specifies how the deployment traffic will be routed. + // The configuration that specifies how the deployment traffic is routed. TrafficRoutingConfig *TrafficRoutingConfig `locationName:"trafficRoutingConfig" type:"structure"` } @@ -5907,8 +5899,8 @@ type CreateDeploymentGroupInput struct { // is created. AlarmConfiguration *AlarmConfiguration `locationName:"alarmConfiguration" type:"structure"` - // The name of an AWS CodeDeploy application associated with the applicable - // IAM user or AWS account. + // The name of an AWS CodeDeploy application associated with the IAM user or + // AWS account. // // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` @@ -5917,7 +5909,7 @@ type CreateDeploymentGroupInput struct { // deployment group is created. AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"` - // A list of associated Auto Scaling groups. + // A list of associated Amazon EC2 Auto Scaling groups. AutoScalingGroups []*string `locationName:"autoScalingGroups" type:"list"` // Information about blue/green deployment options for a deployment group. @@ -5929,11 +5921,11 @@ type CreateDeploymentGroupInput struct { // operation. // // CodeDeployDefault.OneAtATime is the default deployment configuration. It - // is used if a configuration isn't specified for the deployment or the deployment + // is used if a configuration isn't specified for the deployment or deployment // group. // // For more information about the predefined deployment configurations in AWS - // CodeDeploy, see Working with Deployment Groups in AWS CodeDeploy (http://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) + // CodeDeploy, see Working with Deployment Groups in AWS CodeDeploy (https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) // in the AWS CodeDeploy User Guide. DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string"` @@ -5946,32 +5938,32 @@ type CreateDeploymentGroupInput struct { // want to run and whether to route deployment traffic behind a load balancer. DeploymentStyle *DeploymentStyle `locationName:"deploymentStyle" type:"structure"` - // The Amazon EC2 tags on which to filter. The deployment group will include - // EC2 instances with any of the specified tags. Cannot be used in the same - // call as ec2TagSet. + // The Amazon EC2 tags on which to filter. The deployment group includes EC2 + // instances with any of the specified tags. Cannot be used in the same call + // as ec2TagSet. Ec2TagFilters []*EC2TagFilter `locationName:"ec2TagFilters" type:"list"` // Information about groups of tags applied to EC2 instances. The deployment - // group will include only EC2 instances identified by all the tag groups. Cannot + // group includes only EC2 instances identified by all the tag groups. Cannot // be used in the same call as ec2TagFilters. Ec2TagSet *EC2TagSet `locationName:"ec2TagSet" type:"structure"` - // The target ECS services in the deployment group. This only applies to deployment - // groups that use the Amazon ECS compute platform. A target ECS service is - // specified as an Amazon ECS cluster and service name pair using the format - // :. + // The target Amazon ECS services in the deployment group. This applies only + // to deployment groups that use the Amazon ECS compute platform. A target Amazon + // ECS service is specified as an Amazon ECS cluster and service name pair using + // the format :. EcsServices []*ECSService `locationName:"ecsServices" type:"list"` // Information about the load balancer used in a deployment. LoadBalancerInfo *LoadBalancerInfo `locationName:"loadBalancerInfo" type:"structure"` - // The on-premises instance tags on which to filter. The deployment group will - // include on-premises instances with any of the specified tags. Cannot be used - // in the same call as OnPremisesTagSet. + // The on-premises instance tags on which to filter. The deployment group includes + // on-premises instances with any of the specified tags. Cannot be used in the + // same call as OnPremisesTagSet. OnPremisesInstanceTagFilters []*TagFilter `locationName:"onPremisesInstanceTagFilters" type:"list"` // Information about groups of tags applied to on-premises instances. The deployment - // group will include only on-premises instances identified by all the tag groups. + // group includes only on-premises instances identified by all of the tag groups. // Cannot be used in the same call as onPremisesInstanceTagFilters. OnPremisesTagSet *OnPremisesTagSet `locationName:"onPremisesTagSet" type:"structure"` @@ -5982,7 +5974,7 @@ type CreateDeploymentGroupInput struct { ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string" required:"true"` // Information about triggers to create when the deployment group is created. - // For examples, see Create a Trigger for an AWS CodeDeploy Event (http://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-sns.html) + // For examples, see Create a Trigger for an AWS CodeDeploy Event (https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-sns.html) // in the AWS CodeDeploy User Guide. TriggerConfigurations []*TriggerConfig `locationName:"triggerConfigurations" type:"list"` } @@ -6149,8 +6141,8 @@ func (s *CreateDeploymentGroupOutput) SetDeploymentGroupId(v string) *CreateDepl type CreateDeploymentInput struct { _ struct{} `type:"structure"` - // The name of an AWS CodeDeploy application associated with the applicable - // IAM user or AWS account. + // The name of an AWS CodeDeploy application associated with the IAM user or + // AWS account. // // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` @@ -6159,12 +6151,12 @@ type CreateDeploymentInput struct { // deployment is created. AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"` - // The name of a deployment configuration associated with the applicable IAM - // user or AWS account. + // The name of a deployment configuration associated with the IAM user or AWS + // account. // - // If not specified, the value configured in the deployment group will be used - // as the default. If the deployment group does not have a deployment configuration - // associated with it, then CodeDeployDefault.OneAtATime will be used by default. + // If not specified, the value configured in the deployment group is used as + // the default. If the deployment group does not have a deployment configuration + // associated with it, CodeDeployDefault.OneAtATime is used by default. DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string"` // The name of the deployment group. @@ -6189,21 +6181,35 @@ type CreateDeploymentInput struct { // used as part of the new deployment. FileExistsBehavior *string `locationName:"fileExistsBehavior" type:"string" enum:"FileExistsBehavior"` - // If set to true, then if the deployment causes the ApplicationStop deployment - // lifecycle event to an instance to fail, the deployment to that instance will - // not be considered to have failed at that point and will continue on to the - // BeforeInstall deployment lifecycle event. - // - // If set to false or not specified, then if the deployment causes the ApplicationStop - // deployment lifecycle event to fail to an instance, the deployment to that - // instance will stop, and the deployment to that instance will be considered - // to have failed. + // If true, then if an ApplicationStop, BeforeBlockTraffic, or AfterBlockTraffic + // deployment lifecycle event to an instance fails, then the deployment continues + // to the next deployment lifecycle event. For example, if ApplicationStop fails, + // the deployment continues with DownloadBundle. If BeforeBlockTraffic fails, + // the deployment continues with BlockTraffic. If AfterBlockTraffic fails, the + // deployment continues with ApplicationStop. + // + // If false or not specified, then if a lifecycle event fails during a deployment + // to an instance, that deployment fails. If deployment to that instance is + // part of an overall deployment and the number of healthy hosts is not less + // than the minimum number of healthy hosts, then a deployment to the next instance + // is attempted. + // + // During a deployment, the AWS CodeDeploy agent runs the scripts specified + // for ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic in the AppSpec + // file from the previous successful deployment. (All other scripts are run + // from the AppSpec file in the current deployment.) If one of these scripts + // contains an error and does not run successfully, the deployment can fail. + // + // If the cause of the failure is a script from the last successful deployment + // that will never run successfully, create a new deployment and use ignoreApplicationStopFailures + // to specify that the ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic + // failures should be ignored. IgnoreApplicationStopFailures *bool `locationName:"ignoreApplicationStopFailures" type:"boolean"` // The type and location of the revision to deploy. Revision *RevisionLocation `locationName:"revision" type:"structure"` - // Information about the instances that will belong to the replacement environment + // Information about the instances that belong to the replacement environment // in a blue/green deployment. TargetInstances *TargetInstances `locationName:"targetInstances" type:"structure"` @@ -6332,8 +6338,8 @@ func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutp type DeleteApplicationInput struct { _ struct{} `type:"structure"` - // The name of an AWS CodeDeploy application associated with the applicable - // IAM user or AWS account. + // The name of an AWS CodeDeploy application associated with the IAM user or + // AWS account. // // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` @@ -6389,8 +6395,8 @@ func (s DeleteApplicationOutput) GoString() string { type DeleteDeploymentConfigInput struct { _ struct{} `type:"structure"` - // The name of a deployment configuration associated with the applicable IAM - // user or AWS account. + // The name of a deployment configuration associated with the IAM user or AWS + // account. // // DeploymentConfigName is a required field DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string" required:"true"` @@ -6446,13 +6452,13 @@ func (s DeleteDeploymentConfigOutput) GoString() string { type DeleteDeploymentGroupInput struct { _ struct{} `type:"structure"` - // The name of an AWS CodeDeploy application associated with the applicable - // IAM user or AWS account. + // The name of an AWS CodeDeploy application associated with the IAM user or + // AWS account. // // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` - // The name of an existing deployment group for the specified application. + // The name of a deployment group for the specified application. // // DeploymentGroupName is a required field DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string" required:"true"` @@ -6598,7 +6604,7 @@ type DeploymentConfigInfo struct { // Information about the number or percentage of minimum healthy instance. MinimumHealthyHosts *MinimumHealthyHosts `locationName:"minimumHealthyHosts" type:"structure"` - // The configuration specifying how the deployment traffic will be routed. Only + // The configuration that specifies how the deployment traffic is routed. Only // deployments with a Lambda compute platform can specify this. TrafficRoutingConfig *TrafficRoutingConfig `locationName:"trafficRoutingConfig" type:"structure"` } @@ -6690,14 +6696,14 @@ type DeploymentGroupInfo struct { Ec2TagFilters []*EC2TagFilter `locationName:"ec2TagFilters" type:"list"` // Information about groups of tags applied to an EC2 instance. The deployment - // group includes only EC2 instances identified by all the tag groups. Cannot + // group includes only EC2 instances identified by all of the tag groups. Cannot // be used in the same call as ec2TagFilters. Ec2TagSet *EC2TagSet `locationName:"ec2TagSet" type:"structure"` - // The target ECS services in the deployment group. This only applies to deployment - // groups that use the Amazon ECS compute platform. A target ECS service is - // specified as an Amazon ECS cluster and service name pair using the format - // :. + // The target Amazon ECS services in the deployment group. This applies only + // to deployment groups that use the Amazon ECS compute platform. A target Amazon + // ECS service is specified as an Amazon ECS cluster and service name pair using + // the format :. EcsServices []*ECSService `locationName:"ecsServices" type:"list"` // Information about the most recent attempted deployment to the deployment @@ -6885,20 +6891,20 @@ type DeploymentInfo struct { // Information about blue/green deployment options for this deployment. BlueGreenDeploymentConfiguration *BlueGreenDeploymentConfiguration `locationName:"blueGreenDeploymentConfiguration" type:"structure"` - // A timestamp indicating when the deployment was complete. + // A timestamp that indicates when the deployment was complete. CompleteTime *time.Time `locationName:"completeTime" type:"timestamp"` // The destination platform type for the deployment (Lambda or Server). ComputePlatform *string `locationName:"computePlatform" type:"string" enum:"ComputePlatform"` - // A timestamp indicating when the deployment was created. + // A timestamp that indicates when the deployment was created. CreateTime *time.Time `locationName:"createTime" type:"timestamp"` // The means by which the deployment was created: // // * user: A user created the deployment. // - // * autoscaling: Auto Scaling created the deployment. + // * autoscaling: Amazon EC2 Auto Scaling created the deployment. // // * codeDeployRollback: A rollback process created the deployment. Creator *string `locationName:"creator" type:"string" enum:"DeploymentCreator"` @@ -6942,20 +6948,34 @@ type DeploymentInfo struct { // used as part of the new deployment. FileExistsBehavior *string `locationName:"fileExistsBehavior" type:"string" enum:"FileExistsBehavior"` - // If true, then if the deployment causes the ApplicationStop deployment lifecycle - // event to an instance to fail, the deployment to that instance will not be - // considered to have failed at that point and will continue on to the BeforeInstall - // deployment lifecycle event. - // - // If false or not specified, then if the deployment causes the ApplicationStop - // deployment lifecycle event to an instance to fail, the deployment to that - // instance will stop, and the deployment to that instance will be considered - // to have failed. + // If true, then if an ApplicationStop, BeforeBlockTraffic, or AfterBlockTraffic + // deployment lifecycle event to an instance fails, then the deployment continues + // to the next deployment lifecycle event. For example, if ApplicationStop fails, + // the deployment continues with DownloadBundle. If BeforeBlockTraffic fails, + // the deployment continues with BlockTraffic. If AfterBlockTraffic fails, the + // deployment continues with ApplicationStop. + // + // If false or not specified, then if a lifecycle event fails during a deployment + // to an instance, that deployment fails. If deployment to that instance is + // part of an overall deployment and the number of healthy hosts is not less + // than the minimum number of healthy hosts, then a deployment to the next instance + // is attempted. + // + // During a deployment, the AWS CodeDeploy agent runs the scripts specified + // for ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic in the AppSpec + // file from the previous successful deployment. (All other scripts are run + // from the AppSpec file in the current deployment.) If one of these scripts + // contains an error and does not run successfully, the deployment can fail. + // + // If the cause of the failure is a script from the last successful deployment + // that will never run successfully, create a new deployment and use ignoreApplicationStopFailures + // to specify that the ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic + // failures should be ignored. IgnoreApplicationStopFailures *bool `locationName:"ignoreApplicationStopFailures" type:"boolean"` // Indicates whether the wait period set for the termination of instances in // the original environment has started. Status is 'false' if the KEEP_ALIVE - // option is specified; otherwise, 'true' as soon as the termination wait period + // option is specified. Otherwise, 'true' as soon as the termination wait period // starts. InstanceTerminationWaitTimeStarted *bool `locationName:"instanceTerminationWaitTimeStarted" type:"boolean"` @@ -6973,11 +6993,11 @@ type DeploymentInfo struct { // Information about a deployment rollback. RollbackInfo *RollbackInfo `locationName:"rollbackInfo" type:"structure"` - // A timestamp indicating when the deployment was deployed to the deployment + // A timestamp that indicates when the deployment was deployed to the deployment // group. // - // In some cases, the reported value of the start time may be later than the - // complete time. This is due to differences in the clock settings of back-end + // In some cases, the reported value of the start time might be later than the + // complete time. This is due to differences in the clock settings of backend // servers that participate in the deployment process. StartTime *time.Time `locationName:"startTime" type:"timestamp"` @@ -7255,8 +7275,8 @@ type DeploymentReadyOption struct { ActionOnTimeout *string `locationName:"actionOnTimeout" type:"string" enum:"DeploymentReadyAction"` // The number of minutes to wait before the status of a blue/green deployment - // changed to Stopped if rerouting is not started manually. Applies only to - // the STOP_DEPLOYMENT option for actionOnTimeout + // is changed to Stopped if rerouting is not started manually. Applies only + // to the STOP_DEPLOYMENT option for actionOnTimeout WaitTimeInMinutes *int64 `locationName:"waitTimeInMinutes" type:"integer"` } @@ -7320,7 +7340,7 @@ func (s *DeploymentStyle) SetDeploymentType(v string) *DeploymentStyle { type DeploymentTarget struct { _ struct{} `type:"structure"` - // The deployment type which is specific to the deployment's compute platform. + // The deployment type that is specific to the deployment's compute platform. DeploymentTargetType *string `locationName:"deploymentTargetType" type:"string" enum:"DeploymentTargetType"` // Information about the target for a deployment that uses the Amazon ECS compute @@ -7543,9 +7563,9 @@ func (s *EC2TagFilter) SetValue(v string) *EC2TagFilter { type EC2TagSet struct { _ struct{} `type:"structure"` - // A list containing other lists of EC2 instance tag groups. In order for an - // instance to be included in the deployment group, it must be identified by - // all the tag groups in the list. + // A list that contains other lists of EC2 instance tag groups. For an instance + // to be included in the deployment group, it must be identified by all of the + // tag groups in the list. Ec2TagSetList [][]*EC2TagFilter `locationName:"ec2TagSetList" type:"list"` } @@ -7570,10 +7590,10 @@ func (s *EC2TagSet) SetEc2TagSetList(v [][]*EC2TagFilter) *EC2TagSet { type ECSService struct { _ struct{} `type:"structure"` - // The name of the cluster that the ECS service is associated with. + // The name of the cluster that the Amazon ECS service is associated with. ClusterName *string `locationName:"clusterName" type:"string"` - // The name of the target ECS service. + // The name of the target Amazon ECS service. ServiceName *string `locationName:"serviceName" type:"string"` } @@ -7678,18 +7698,17 @@ func (s *ECSTarget) SetTaskSetsInfo(v []*ECSTaskSet) *ECSTarget { return s } -// A set of Amazon ECS tasks. A task set runs a specified number of instances -// of a task definition simultaneously inside an Amazon ECS service. Information -// about a set of Amazon ECS tasks in an AWS CodeDeploy deployment. An Amazon -// ECS task set includes details such as the desired number of tasks, how many -// tasks are running, and whether the task set serves production traffic or -// not. +// Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment. +// An Amazon ECS task set includes details such as the desired number of tasks, +// how many tasks are running, and whether the task set serves production traffic. +// An AWS CodeDeploy application that uses the Amazon ECS compute platform deploys +// a containerized application in an Amazon ECS service as a task set. type ECSTaskSet struct { _ struct{} `type:"structure"` // The number of tasks in a task set. During a deployment that uses the Amazon - // ECS compute type, CodeDeploy asks Amazon ECS to create a new task set and - // uses this value to determine how many tasks to create. After the updated + // ECS compute type, CodeDeploy instructs Amazon ECS to create a new task set + // and uses this value to determine how many tasks to create. After the updated // task set is created, CodeDeploy shifts traffic to the new task set. DesiredCount *int64 `locationName:"desiredCount" type:"long"` @@ -7709,11 +7728,11 @@ type ECSTaskSet struct { // The status of the task set. There are three valid task set statuses: // - // * PRIMARY - indicates the task set is serving production traffic. + // * PRIMARY: Indicates the task set is serving production traffic. // - // * ACTIVE - indicates the task set is not serving production traffic. + // * ACTIVE: Indicates the task set is not serving production traffic. // - // * DRAINING - indicates the tasks in the task set are being stopped and + // * DRAINING: Indicates the tasks in the task set are being stopped and // their corresponding targets are being deregistered from their target group. Status *string `locationName:"status" type:"string"` @@ -7793,11 +7812,11 @@ func (s *ECSTaskSet) SetTrafficWeight(v float64) *ECSTaskSet { type ELBInfo struct { _ struct{} `type:"structure"` - // For blue/green deployments, the name of the load balancer that will be used - // to route traffic from original instances to replacement instances in a blue/green + // For blue/green deployments, the name of the load balancer that is used to + // route traffic from original instances to replacement instances in a blue/green // deployment. For in-place deployments, the name of the load balancer that // instances are deregistered from so they are not serving traffic during a - // deployment, and then re-registered with after the deployment completes. + // deployment, and then re-registered with after the deployment is complete. Name *string `locationName:"name" type:"string"` } @@ -7821,19 +7840,18 @@ func (s *ELBInfo) SetName(v string) *ELBInfo { type ErrorInformation struct { _ struct{} `type:"structure"` - // For information about additional error codes, see Error Codes for AWS CodeDeploy - // (http://docs.aws.amazon.com/codedeploy/latest/userguide/error-codes.html) - // in the AWS CodeDeploy User Guide (http://docs.aws.amazon.com/codedeploy/latest/userguide). + // For more information, see Error Codes for AWS CodeDeploy (https://docs.aws.amazon.com/codedeploy/latest/userguide/error-codes.html) + // in the AWS CodeDeploy User Guide (https://docs.aws.amazon.com/codedeploy/latest/userguide). // // The error code: // - // * APPLICATION_MISSING: The application was missing. This error code will - // most likely be raised if the application is deleted after the deployment - // is created but before it is started. + // * APPLICATION_MISSING: The application was missing. This error code is + // most likely raised if the application is deleted after the deployment + // is created, but before it is started. // // * DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error - // code will most likely be raised if the deployment group is deleted after - // the deployment is created but before it is started. + // code is most likely raised if the deployment group is deleted after the + // deployment is created, but before it is started. // // * HEALTH_CONSTRAINTS: The deployment failed on too many instances to be // successfully deployed within the instance health constraints specified. @@ -7847,21 +7865,21 @@ type ErrorInformation struct { // // * INTERNAL_ERROR: There was an internal error. // - // * NO_EC2_SUBSCRIPTION: The calling account is not subscribed to the Amazon - // EC2 service. + // * NO_EC2_SUBSCRIPTION: The calling account is not subscribed to Amazon + // EC2. // - // * NO_INSTANCES: No instance were specified, or no instance can be found. + // * NO_INSTANCES: No instances were specified, or no instances can be found. // - // * OVER_MAX_INSTANCES: The maximum number of instance was exceeded. + // * OVER_MAX_INSTANCES: The maximum number of instances was exceeded. // // * THROTTLED: The operation was throttled because the calling account exceeded // the throttling limits of one or more AWS services. // // * TIMEOUT: The deployment has timed out. // - // * REVISION_MISSING: The revision ID was missing. This error code will - // most likely be raised if the revision is deleted after the deployment - // is created but before it is started. + // * REVISION_MISSING: The revision ID was missing. This error code is most + // likely raised if the revision is deleted after the deployment is created, + // but before it is started. Code *string `locationName:"code" type:"string" enum:"ErrorCode"` // An accompanying error message. @@ -7954,8 +7972,8 @@ func (s *GenericRevisionInfo) SetRegisterTime(v time.Time) *GenericRevisionInfo type GetApplicationInput struct { _ struct{} `type:"structure"` - // The name of an AWS CodeDeploy application associated with the applicable - // IAM user or AWS account. + // The name of an AWS CodeDeploy application associated with the IAM user or + // AWS account. // // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` @@ -8119,8 +8137,8 @@ func (s *GetApplicationRevisionOutput) SetRevisionInfo(v *GenericRevisionInfo) * type GetDeploymentConfigInput struct { _ struct{} `type:"structure"` - // The name of a deployment configuration associated with the applicable IAM - // user or AWS account. + // The name of a deployment configuration associated with the IAM user or AWS + // account. // // DeploymentConfigName is a required field DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string" required:"true"` @@ -8186,13 +8204,13 @@ func (s *GetDeploymentConfigOutput) SetDeploymentConfigInfo(v *DeploymentConfigI type GetDeploymentGroupInput struct { _ struct{} `type:"structure"` - // The name of an AWS CodeDeploy application associated with the applicable - // IAM user or AWS account. + // The name of an AWS CodeDeploy application associated with the IAM user or + // AWS account. // // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` - // The name of an existing deployment group for the specified application. + // The name of a deployment group for the specified application. // // DeploymentGroupName is a required field DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string" required:"true"` @@ -8270,8 +8288,7 @@ func (s *GetDeploymentGroupOutput) SetDeploymentGroupInfo(v *DeploymentGroupInfo type GetDeploymentInput struct { _ struct{} `type:"structure"` - // The unique ID of a deployment associated with the applicable IAM user or - // AWS account. + // The unique ID of a deployment associated with the IAM user or AWS account. // // DeploymentId is a required field DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"` @@ -8443,7 +8460,7 @@ type GetDeploymentTargetOutput struct { _ struct{} `type:"structure"` // A deployment target that contains information about a deployment such as - // its status, lifecyle events, and when it was updated last. It also contains + // its status, lifecyle events, and when it was last updated. It also contains // metadata about the deployment target. The deployment target metadata depends // on the deployment target's type (instanceTarget, lambdaTarget, or ecsTarget). DeploymentTarget *DeploymentTarget `locationName:"deploymentTarget" type:"structure"` @@ -8695,7 +8712,7 @@ type InstanceSummary struct { // * GREEN: The instance is part of the replacement environment. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` - // A timestamp indicating when the instance information was last updated. + // A timestamp that indicaties when the instance information was last updated. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // A list of lifecycle events for this instance. @@ -8917,15 +8934,15 @@ func (s *LambdaTarget) SetTargetId(v string) *LambdaTarget { type LastDeploymentInfo struct { _ struct{} `type:"structure"` - // A timestamp indicating when the most recent deployment to the deployment + // A timestamp that indicates when the most recent deployment to the deployment // group started. CreateTime *time.Time `locationName:"createTime" type:"timestamp"` // The unique ID of a deployment. DeploymentId *string `locationName:"deploymentId" type:"string"` - // A timestamp indicating when the most recent deployment to the deployment - // group completed. + // A timestamp that indicates when the most recent deployment to the deployment + // group was complete. EndTime *time.Time `locationName:"endTime" type:"timestamp"` // The status of the most recent deployment. @@ -8973,14 +8990,14 @@ type LifecycleEvent struct { // Diagnostic information about the deployment lifecycle event. Diagnostics *Diagnostics `locationName:"diagnostics" type:"structure"` - // A timestamp indicating when the deployment lifecycle event ended. + // A timestamp that indicates when the deployment lifecycle event ended. EndTime *time.Time `locationName:"endTime" type:"timestamp"` // The deployment lifecycle event name, such as ApplicationStop, BeforeInstall, // AfterInstall, ApplicationStart, or ValidateService. LifecycleEventName *string `locationName:"lifecycleEventName" type:"string"` - // A timestamp indicating when the deployment lifecycle event started. + // A timestamp that indicates when the deployment lifecycle event started. StartTime *time.Time `locationName:"startTime" type:"timestamp"` // The deployment lifecycle event status: @@ -9043,8 +9060,8 @@ func (s *LifecycleEvent) SetStatus(v string) *LifecycleEvent { type ListApplicationRevisionsInput struct { _ struct{} `type:"structure"` - // The name of an AWS CodeDeploy application associated with the applicable - // IAM user or AWS account. + // The name of an AWS CodeDeploy application associated with the IAM user or + // AWS account. // // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` @@ -9081,7 +9098,7 @@ type ListApplicationRevisionsInput struct { // // * lastUsedTime: Sort by the time the revisions were last used in a deployment. // - // If not specified or set to null, the results will be returned in an arbitrary + // If not specified or set to null, the results are returned in an arbitrary // order. SortBy *string `locationName:"sortBy" type:"string" enum:"ApplicationRevisionSortBy"` @@ -9091,9 +9108,9 @@ type ListApplicationRevisionsInput struct { // // * descending: descending order. // - // If not specified, the results will be sorted in ascending order. + // If not specified, the results are sorted in ascending order. // - // If set to null, the results will be sorted in an arbitrary order. + // If set to null, the results are sorted in an arbitrary order. SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` } @@ -9169,9 +9186,9 @@ func (s *ListApplicationRevisionsInput) SetSortOrder(v string) *ListApplicationR type ListApplicationRevisionsOutput struct { _ struct{} `type:"structure"` - // If a large amount of information is returned, an identifier will also be - // returned. It can be used in a subsequent list application revisions call - // to return the next set of application revisions in the list. + // If a large amount of information is returned, an identifier is also returned. + // It can be used in a subsequent list application revisions call to return + // the next set of application revisions in the list. NextToken *string `locationName:"nextToken" type:"string"` // A list of locations that contain the matching revisions. @@ -9234,7 +9251,7 @@ type ListApplicationsOutput struct { // If a large amount of information is returned, an identifier is also returned. // It can be used in a subsequent list applications call to return the next - // set of applications, will also be returned. in the list. + // set of applications in the list. NextToken *string `locationName:"nextToken" type:"string"` } @@ -9325,8 +9342,8 @@ func (s *ListDeploymentConfigsOutput) SetNextToken(v string) *ListDeploymentConf type ListDeploymentGroupsInput struct { _ struct{} `type:"structure"` - // The name of an AWS CodeDeploy application associated with the applicable - // IAM user or AWS account. + // The name of an AWS CodeDeploy application associated with the IAM user or + // AWS account. // // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` @@ -9381,7 +9398,7 @@ type ListDeploymentGroupsOutput struct { // The application name. ApplicationName *string `locationName:"applicationName" min:"1" type:"string"` - // A list of corresponding deployment group names. + // A list of deployment group names. DeploymentGroups []*string `locationName:"deploymentGroups" type:"list"` // If a large amount of information is returned, an identifier is also returned. @@ -9429,17 +9446,17 @@ type ListDeploymentInstancesInput struct { // A subset of instances to list by status: // - // * Pending: Include those instance with pending deployments. + // * Pending: Include those instances with pending deployments. // - // * InProgress: Include those instance where deployments are still in progress. + // * InProgress: Include those instances where deployments are still in progress. // // * Succeeded: Include those instances with successful deployments. // - // * Failed: Include those instance with failed deployments. + // * Failed: Include those instances with failed deployments. // - // * Skipped: Include those instance with skipped deployments. + // * Skipped: Include those instances with skipped deployments. // - // * Unknown: Include those instance with deployments in an unknown state. + // * Unknown: Include those instances with deployments in an unknown state. InstanceStatusFilter []*string `locationName:"instanceStatusFilter" type:"list"` // The set of instances in a blue/green deployment, either those in the original @@ -9579,9 +9596,9 @@ func (s *ListDeploymentTargetsInput) SetTargetFilters(v map[string][]*string) *L type ListDeploymentTargetsOutput struct { _ struct{} `type:"structure"` - // If a large amount of information is returned, a token identifier will also - // be returned. It can be used in a subsequent ListDeploymentTargets call to - // return the next set of deployment targets in the list. + // If a large amount of information is returned, a token identifier is also + // returned. It can be used in a subsequent ListDeploymentTargets call to return + // the next set of deployment targets in the list. NextToken *string `locationName:"nextToken" type:"string"` // The unique IDs of deployment targets. @@ -9614,14 +9631,14 @@ func (s *ListDeploymentTargetsOutput) SetTargetIds(v []*string) *ListDeploymentT type ListDeploymentsInput struct { _ struct{} `type:"structure"` - // The name of an AWS CodeDeploy application associated with the applicable - // IAM user or AWS account. + // The name of an AWS CodeDeploy application associated with the IAM user or + // AWS account. ApplicationName *string `locationName:"applicationName" min:"1" type:"string"` // A time range (start and end) for returning a subset of the list of deployments. CreateTimeRange *TimeRange `locationName:"createTimeRange" type:"structure"` - // The name of an existing deployment group for the specified application. + // The name of a deployment group for the specified application. DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string"` // A subset of deployments to list by status: @@ -9812,8 +9829,8 @@ type ListOnPremisesInstancesInput struct { // list. RegistrationStatus *string `locationName:"registrationStatus" type:"string" enum:"RegistrationStatus"` - // The on-premises instance tags that will be used to restrict the corresponding - // on-premises instance names returned. + // The on-premises instance tags that are used to restrict the on-premises instance + // names returned. TagFilters []*TagFilter `locationName:"tagFilters" type:"list"` } @@ -9845,7 +9862,7 @@ func (s *ListOnPremisesInstancesInput) SetTagFilters(v []*TagFilter) *ListOnPrem return s } -// Represents the output of list on-premises instances operation. +// Represents the output of the list on-premises instances operation. type ListOnPremisesInstancesOutput struct { _ struct{} `type:"structure"` @@ -9885,16 +9902,16 @@ func (s *ListOnPremisesInstancesOutput) SetNextToken(v string) *ListOnPremisesIn type LoadBalancerInfo struct { _ struct{} `type:"structure"` - // An array containing information about the load balancer to use for load balancing - // in a deployment. In Elastic Load Balancing, load balancers are used with - // Classic Load Balancers. + // An array that contains information about the load balancer to use for load + // balancing in a deployment. In Elastic Load Balancing, load balancers are + // used with Classic Load Balancers. // // Adding more than one load balancer to the array is not supported. ElbInfoList []*ELBInfo `locationName:"elbInfoList" type:"list"` - // An array containing information about the target group to use for load balancing - // in a deployment. In Elastic Load Balancing, target groups are used with Application - // Load Balancers. + // An array that contains information about the target group to use for load + // balancing in a deployment. In Elastic Load Balancing, target groups are used + // with Application Load Balancers. // // Adding more than one target group to the array is not supported. TargetGroupInfoList []*TargetGroupInfo `locationName:"targetGroupInfoList" type:"list"` @@ -9944,23 +9961,23 @@ type MinimumHealthyHosts struct { // of the total number of instance in the deployment. // // In an example of nine instance, if a HOST_COUNT of six is specified, deploy - // to up to three instances at a time. The deployment will be successful if - // six or more instances are deployed to successfully; otherwise, the deployment - // fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instance - // at a time. The deployment will be successful if four or more instance are - // deployed to successfully; otherwise, the deployment fails. + // to up to three instances at a time. The deployment is successful if six or + // more instances are deployed to successfully. Otherwise, the deployment fails. + // If a FLEET_PERCENT of 40 is specified, deploy to up to five instance at a + // time. The deployment is successful if four or more instance are deployed + // to successfully. Otherwise, the deployment fails. // // In a call to the get deployment configuration operation, CodeDeployDefault.OneAtATime - // will return a minimum healthy instance type of MOST_CONCURRENCY and a value - // of 1. This means a deployment to only one instance at a time. (You cannot - // set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In - // addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy will try to ensure - // that all instances but one are kept in a healthy state during the deployment. + // returns a minimum healthy instance type of MOST_CONCURRENCY and a value of + // 1. This means a deployment to only one instance at a time. (You cannot set + // the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, + // with CodeDeployDefault.OneAtATime, AWS CodeDeploy attempts to ensure that + // all instances but one are kept in a healthy state during the deployment. // Although this allows one instance at a time to be taken offline for a new // deployment, it also means that if the deployment to the last instance fails, - // the overall deployment still succeeds. + // the overall deployment is still successful. // - // For more information, see AWS CodeDeploy Instance Health (http://docs.aws.amazon.com/codedeploy/latest/userguide/instances-health.html) + // For more information, see AWS CodeDeploy Instance Health (https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-health.html) // in the AWS CodeDeploy User Guide. Type *string `locationName:"type" type:"string" enum:"MinimumHealthyHostsType"` @@ -9994,9 +10011,9 @@ func (s *MinimumHealthyHosts) SetValue(v int64) *MinimumHealthyHosts { type OnPremisesTagSet struct { _ struct{} `type:"structure"` - // A list containing other lists of on-premises instance tag groups. In order - // for an instance to be included in the deployment group, it must be identified - // by all the tag groups in the list. + // A list that contains other lists of on-premises instance tag groups. For + // an instance to be included in the deployment group, it must be identified + // by all of the tag groups in the list. OnPremisesTagSetList [][]*TagFilter `locationName:"onPremisesTagSetList" type:"list"` } @@ -10127,8 +10144,8 @@ func (s *RawString) SetSha256(v string) *RawString { type RegisterApplicationRevisionInput struct { _ struct{} `type:"structure"` - // The name of an AWS CodeDeploy application associated with the applicable - // IAM user or AWS account. + // The name of an AWS CodeDeploy application associated with the IAM user or + // AWS account. // // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` @@ -10392,10 +10409,10 @@ type RevisionLocation struct { // * S3: An application revision stored in Amazon S3. // // * GitHub: An application revision stored in GitHub (EC2/On-premises deployments - // only) + // only). // // * String: A YAML-formatted or JSON-formatted string (AWS Lambda deployments - // only) + // only). RevisionType *string `locationName:"revisionType" type:"string" enum:"RevisionLocationType"` // Information about the location of a revision stored in Amazon S3. @@ -10453,8 +10470,8 @@ type RollbackInfo struct { // The ID of the deployment rollback. RollbackDeploymentId *string `locationName:"rollbackDeploymentId" type:"string"` - // Information describing the status of a deployment rollback; for example, - // whether the deployment can't be rolled back, is in progress, failed, or succeeded. + // Information that describes the status of a deployment rollback (for example, + // whether the deployment can't be rolled back, is in progress, failed, or succeeded). RollbackMessage *string `locationName:"rollbackMessage" type:"string"` // The deployment ID of the deployment that was underway and triggered a rollback @@ -10511,7 +10528,7 @@ type S3Location struct { // the application revision. // // If the ETag is not specified as an input parameter, ETag validation of the - // object will be skipped. + // object is skipped. ETag *string `locationName:"eTag" type:"string"` // The name of the Amazon S3 object that represents the bundled artifacts for @@ -10521,7 +10538,7 @@ type S3Location struct { // A specific version of the Amazon S3 object that represents the bundled artifacts // for the application revision. // - // If the version is not specified, the system will use the most recent version + // If the version is not specified, the system uses the most recent version // by default. Version *string `locationName:"version" type:"string"` } @@ -10780,9 +10797,10 @@ type TargetGroupInfo struct { // For blue/green deployments, the name of the target group that instances in // the original environment are deregistered from, and instances in the replacement - // environment registered with. For in-place deployments, the name of the target - // group that instances are deregistered from, so they are not serving traffic - // during a deployment, and then re-registered with after the deployment completes. + // environment are registered with. For in-place deployments, the name of the + // target group that instances are deregistered from, so they are not serving + // traffic during a deployment, and then re-registered with after the deployment + // is complete. Name *string `locationName:"name" type:"string"` } @@ -10802,7 +10820,7 @@ func (s *TargetGroupInfo) SetName(v string) *TargetGroupInfo { return s } -// Information about two target groups and how traffic routes during an Amazon +// Information about two target groups and how traffic is routed during an Amazon // ECS deployment. An optional test traffic route can be specified. type TargetGroupPairInfo struct { _ struct{} `type:"structure"` @@ -10812,12 +10830,12 @@ type TargetGroupPairInfo struct { ProdTrafficRoute *TrafficRoute `locationName:"prodTrafficRoute" type:"structure"` // One pair of target groups. One is associated with the original task set. - // The second target is associated with the task set that serves traffic after - // the deployment completes. + // The second is associated with the task set that serves traffic after the + // deployment is complete. TargetGroups []*TargetGroupInfo `locationName:"targetGroups" type:"list"` // An optional path used by a load balancer to route test traffic after an Amazon - // ECS deployment. Validation can happen while test traffic is served during + // ECS deployment. Validation can occur while test traffic is served during // a deployment. TestTrafficRoute *TrafficRoute `locationName:"testTrafficRoute" type:"structure"` } @@ -11200,7 +11218,7 @@ type UpdateDeploymentGroupInput struct { // group is updated. AlarmConfiguration *AlarmConfiguration `locationName:"alarmConfiguration" type:"structure"` - // The application name corresponding to the deployment group to update. + // The application name that corresponds to the deployment group to update. // // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` @@ -11237,13 +11255,13 @@ type UpdateDeploymentGroupInput struct { Ec2TagFilters []*EC2TagFilter `locationName:"ec2TagFilters" type:"list"` // Information about groups of tags applied to on-premises instances. The deployment - // group will include only EC2 instances identified by all the tag groups. + // group includes only EC2 instances identified by all the tag groups. Ec2TagSet *EC2TagSet `locationName:"ec2TagSet" type:"structure"` - // The target ECS services in the deployment group. This only applies to deployment - // groups that use the Amazon ECS compute platform. A target ECS service is - // specified as an Amazon ECS cluster and service name pair using the format - // :. + // The target Amazon ECS services in the deployment group. This applies only + // to deployment groups that use the Amazon ECS compute platform. A target Amazon + // ECS service is specified as an Amazon ECS cluster and service name pair using + // the format :. EcsServices []*ECSService `locationName:"ecsServices" type:"list"` // Information about the load balancer used in a deployment. @@ -11257,15 +11275,15 @@ type UpdateDeploymentGroupInput struct { // tags, do not enter any tag names. OnPremisesInstanceTagFilters []*TagFilter `locationName:"onPremisesInstanceTagFilters" type:"list"` - // Information about an on-premises instance tag set. The deployment group will - // include only on-premises instances identified by all the tag groups. + // Information about an on-premises instance tag set. The deployment group includes + // only on-premises instances identified by all the tag groups. OnPremisesTagSet *OnPremisesTagSet `locationName:"onPremisesTagSet" type:"structure"` // A replacement ARN for the service role, if you want to change it. ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"` // Information about triggers to change when the deployment group is updated. - // For examples, see Modify Triggers in an AWS CodeDeploy Deployment Group (http://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-edit.html) + // For examples, see Modify Triggers in an AWS CodeDeploy Deployment Group (https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-edit.html) // in the AWS CodeDeploy User Guide. TriggerConfigurations []*TriggerConfig `locationName:"triggerConfigurations" type:"list"` } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codedeploy/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codedeploy/doc.go index 48544140be8..788d421da49 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codedeploy/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codedeploy/doc.go @@ -5,14 +5,14 @@ // // AWS CodeDeploy is a deployment service that automates application deployments // to Amazon EC2 instances, on-premises instances running in your own facility, -// or serverless AWS Lambda functions. +// serverless AWS Lambda functions, or applications in an Amazon ECS service. // // You can deploy a nearly unlimited variety of application content, such as -// an updated Lambda function, code, web and configuration files, executables, -// packages, scripts, multimedia files, and so on. AWS CodeDeploy can deploy -// application content stored in Amazon S3 buckets, GitHub repositories, or -// Bitbucket repositories. You do not need to make changes to your existing -// code before you can use AWS CodeDeploy. +// an updated Lambda function, updated applications in an Amazon ECS service, +// code, web and configuration files, executables, packages, scripts, multimedia +// files, and so on. AWS CodeDeploy can deploy application content stored in +// Amazon S3 buckets, GitHub repositories, or Bitbucket repositories. You do +// not need to make changes to your existing code before you can use AWS CodeDeploy. // // AWS CodeDeploy makes it easier for you to rapidly release new features, helps // you avoid downtime during application deployment, and handles the complexity @@ -29,38 +29,47 @@ // to ensure the correct combination of revision, deployment configuration, // and deployment group are referenced during a deployment. // -// * Deployment group: A set of individual instances or CodeDeploy Lambda -// applications. A Lambda deployment group contains a group of applications. -// An EC2/On-premises deployment group contains individually tagged instances, -// Amazon EC2 instances in Auto Scaling groups, or both. +// * Deployment group: A set of individual instances, CodeDeploy Lambda deployment +// configuration settings, or an Amazon ECS service and network details. +// A Lambda deployment group specifies how to route traffic to a new version +// of a Lambda function. An Amazon ECS deployment group specifies the service +// created in Amazon ECS to deploy, a load balancer, and a listener to reroute +// production traffic to an updated containerized application. An EC2/On-premises +// deployment group contains individually tagged instances, Amazon EC2 instances +// in Amazon EC2 Auto Scaling groups, or both. All deployment groups can +// specify optional trigger, alarm, and rollback settings. // // * Deployment configuration: A set of deployment rules and deployment success // and failure conditions used by AWS CodeDeploy during a deployment. // -// * Deployment: The process and the components used in the process of updating -// a Lambda function or of installing content on one or more instances. +// * Deployment: The process and the components used when updating a Lambda +// function, a containerized application in an Amazon ECS service, or of +// installing content on one or more instances. // // * Application revisions: For an AWS Lambda deployment, this is an AppSpec -// file that specifies the Lambda function to update and one or more functions -// to validate deployment lifecycle events. For an EC2/On-premises deployment, -// this is an archive file containing source content—source code, web pages, -// executable files, and deployment scripts—along with an AppSpec file. Revisions -// are stored in Amazon S3 buckets or GitHub repositories. For Amazon S3, -// a revision is uniquely identified by its Amazon S3 object key and its -// ETag, version, or both. For GitHub, a revision is uniquely identified -// by its commit ID. +// file that specifies the Lambda function to be updated and one or more +// functions to validate deployment lifecycle events. For an Amazon ECS deployment, +// this is an AppSpec file that specifies the Amazon ECS task definition, +// container, and port where production traffic is rerouted. For an EC2/On-premises +// deployment, this is an archive file that contains source content—source +// code, webpages, executable files, and deployment scripts—along with an +// AppSpec file. Revisions are stored in Amazon S3 buckets or GitHub repositories. +// For Amazon S3, a revision is uniquely identified by its Amazon S3 object +// key and its ETag, version, or both. For GitHub, a revision is uniquely +// identified by its commit ID. // // This guide also contains information to help you get details about the instances // in your deployments, to make on-premises instances available for AWS CodeDeploy -// deployments, and to get details about a Lambda function deployment. +// deployments, to get details about a Lambda function deployment, and to get +// details about Amazon ECS service deployments. // // AWS CodeDeploy Information Resources // -// * AWS CodeDeploy User Guide (http://docs.aws.amazon.com/codedeploy/latest/userguide) +// * AWS CodeDeploy User Guide (https://docs.aws.amazon.com/codedeploy/latest/userguide) // -// * AWS CodeDeploy API Reference Guide (http://docs.aws.amazon.com/codedeploy/latest/APIReference/) +// * AWS CodeDeploy API Reference Guide (https://docs.aws.amazon.com/codedeploy/latest/APIReference/) // -// * AWS CLI Reference for AWS CodeDeploy (http://docs.aws.amazon.com/cli/latest/reference/deploy/index.html) +// * AWS CLI Reference for AWS CodeDeploy (https://docs.aws.amazon.com/cli/latest/reference/deploy/index.html) // // * AWS CodeDeploy Developer Forum (https://forums.aws.amazon.com/forum.jspa?forumID=179) // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codedeploy/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codedeploy/errors.go index bdf5503f593..50cfb414f76 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codedeploy/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/codedeploy/errors.go @@ -13,14 +13,14 @@ const ( // ErrCodeApplicationAlreadyExistsException for service response error code // "ApplicationAlreadyExistsException". // - // An application with the specified name already exists with the applicable - // IAM user or AWS account. + // An application with the specified name with the IAM user or AWS account already + // exists. ErrCodeApplicationAlreadyExistsException = "ApplicationAlreadyExistsException" // ErrCodeApplicationDoesNotExistException for service response error code // "ApplicationDoesNotExistException". // - // The application does not exist with the applicable IAM user or AWS account. + // The application does not exist with the IAM user or AWS account. ErrCodeApplicationDoesNotExistException = "ApplicationDoesNotExistException" // ErrCodeApplicationLimitExceededException for service response error code @@ -56,15 +56,14 @@ const ( // ErrCodeDeploymentConfigAlreadyExistsException for service response error code // "DeploymentConfigAlreadyExistsException". // - // A deployment configuration with the specified name already exists with the - // applicable IAM user or AWS account. + // A deployment configuration with the specified name with the IAM user or AWS + // account already exists . ErrCodeDeploymentConfigAlreadyExistsException = "DeploymentConfigAlreadyExistsException" // ErrCodeDeploymentConfigDoesNotExistException for service response error code // "DeploymentConfigDoesNotExistException". // - // The deployment configuration does not exist with the applicable IAM user - // or AWS account. + // The deployment configuration does not exist with the IAM user or AWS account. ErrCodeDeploymentConfigDoesNotExistException = "DeploymentConfigDoesNotExistException" // ErrCodeDeploymentConfigInUseException for service response error code @@ -88,21 +87,20 @@ const ( // ErrCodeDeploymentDoesNotExistException for service response error code // "DeploymentDoesNotExistException". // - // The deployment does not exist with the applicable IAM user or AWS account. + // The deployment with the IAM user or AWS account does not exist. ErrCodeDeploymentDoesNotExistException = "DeploymentDoesNotExistException" // ErrCodeDeploymentGroupAlreadyExistsException for service response error code // "DeploymentGroupAlreadyExistsException". // - // A deployment group with the specified name already exists with the applicable - // IAM user or AWS account. + // A deployment group with the specified name with the IAM user or AWS account + // already exists. ErrCodeDeploymentGroupAlreadyExistsException = "DeploymentGroupAlreadyExistsException" // ErrCodeDeploymentGroupDoesNotExistException for service response error code // "DeploymentGroupDoesNotExistException". // - // The named deployment group does not exist with the applicable IAM user or - // AWS account. + // The named deployment group with the IAM user or AWS account does not exist. ErrCodeDeploymentGroupDoesNotExistException = "DeploymentGroupDoesNotExistException" // ErrCodeDeploymentGroupLimitExceededException for service response error code @@ -172,7 +170,7 @@ const ( // "ECSServiceMappingLimitExceededException". // // The Amazon ECS service is associated with more than one deployment groups. - // An ECS service can only be associated with one deployment group. + // An Amazon ECS service can be associated with only one deployment group. ErrCodeECSServiceMappingLimitExceededException = "ECSServiceMappingLimitExceededException" // ErrCodeGitHubAccountTokenDoesNotExistException for service response error code @@ -259,11 +257,11 @@ const ( // // * The alarm object is null. // - // * The alarm name is empty or null or exceeds the 255 character limit. + // * The alarm name is empty or null or exceeds the limit of 255 characters. // // * Two alarms with the same name have been specified. // - // * The alarm configuration is enabled but the alarm list is empty. + // * The alarm configuration is enabled, but the alarm list is empty. ErrCodeInvalidAlarmConfigException = "InvalidAlarmConfigException" // ErrCodeInvalidApplicationNameException for service response error code @@ -276,7 +274,7 @@ const ( // "InvalidAutoRollbackConfigException". // // The automatic rollback configuration was specified in an invalid format. - // For example, automatic rollback is enabled but an invalid triggering event + // For example, automatic rollback is enabled, but an invalid triggering event // type or no event types were listed. ErrCodeInvalidAutoRollbackConfigException = "InvalidAutoRollbackConfigException" @@ -347,14 +345,14 @@ const ( // "InvalidDeploymentStyleException". // // An invalid deployment style was specified. Valid deployment types include - // "IN_PLACE" and "BLUE_GREEN". Valid deployment options include "WITH_TRAFFIC_CONTROL" - // and "WITHOUT_TRAFFIC_CONTROL". + // "IN_PLACE" and "BLUE_GREEN." Valid deployment options include "WITH_TRAFFIC_CONTROL" + // and "WITHOUT_TRAFFIC_CONTROL." ErrCodeInvalidDeploymentStyleException = "InvalidDeploymentStyleException" // ErrCodeInvalidDeploymentTargetIdException for service response error code // "InvalidDeploymentTargetIdException". // - // The target ID provide was not valid. + // The target ID provided was not valid. ErrCodeInvalidDeploymentTargetIdException = "InvalidDeploymentTargetIdException" // ErrCodeInvalidDeploymentWaitTypeException for service response error code @@ -386,9 +384,9 @@ const ( // "InvalidFileExistsBehaviorException". // // An invalid fileExistsBehavior option was specified to determine how AWS CodeDeploy - // handles files or directories that already exist in a deployment target location + // handles files or directories that already exist in a deployment target location, // but weren't part of the previous successful deployment. Valid values include - // "DISALLOW", "OVERWRITE", and "RETAIN". + // "DISALLOW," "OVERWRITE," and "RETAIN." ErrCodeInvalidFileExistsBehaviorException = "InvalidFileExistsBehaviorException" // ErrCodeInvalidGitHubAccountTokenException for service response error code @@ -425,13 +423,13 @@ const ( // ErrCodeInvalidInputException for service response error code // "InvalidInputException". // - // The specified input was specified in an invalid format. + // The input was specified in an invalid format. ErrCodeInvalidInputException = "InvalidInputException" // ErrCodeInvalidInstanceNameException for service response error code // "InvalidInstanceNameException". // - // The specified on-premises instance name was specified in an invalid format. + // The on-premises instance name was specified in an invalid format. ErrCodeInvalidInstanceNameException = "InvalidInstanceNameException" // ErrCodeInvalidInstanceStatusException for service response error code @@ -516,7 +514,7 @@ const ( // // The service role ARN was specified in an invalid format. Or, if an Auto Scaling // group was specified, the specified service role does not grant the appropriate - // permissions to Auto Scaling. + // permissions to Amazon EC2 Auto Scaling. ErrCodeInvalidRoleException = "InvalidRoleException" // ErrCodeInvalidSortByException for service response error code @@ -535,13 +533,13 @@ const ( // ErrCodeInvalidTagException for service response error code // "InvalidTagException". // - // The specified tag was specified in an invalid format. + // The tag was specified in an invalid format. ErrCodeInvalidTagException = "InvalidTagException" // ErrCodeInvalidTagFilterException for service response error code // "InvalidTagFilterException". // - // The specified tag filter was specified in an invalid format. + // The tag filter was specified in an invalid format. ErrCodeInvalidTagFilterException = "InvalidTagFilterException" // ErrCodeInvalidTargetFilterNameException for service response error code @@ -631,7 +629,7 @@ const ( // ErrCodeRevisionDoesNotExistException for service response error code // "RevisionDoesNotExistException". // - // The named revision does not exist with the applicable IAM user or AWS account. + // The named revision does not exist with the IAM user or AWS account. ErrCodeRevisionDoesNotExistException = "RevisionDoesNotExistException" // ErrCodeRevisionRequiredException for service response error code diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/api.go index 782226a7f41..ec0339b1ceb 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/api.go @@ -8,6 +8,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/credentials" "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" @@ -535,6 +536,7 @@ func (c *CognitoIdentity) GetCredentialsForIdentityRequest(input *GetCredentials output = &GetCredentialsForIdentityOutput{} req = c.newRequest(op, input, output) + req.Config.Credentials = credentials.AnonymousCredentials return } @@ -644,6 +646,7 @@ func (c *CognitoIdentity) GetIdRequest(input *GetIdInput) (req *request.Request, output = &GetIdOutput{} req = c.newRequest(op, input, output) + req.Config.Credentials = credentials.AnonymousCredentials return } @@ -848,6 +851,7 @@ func (c *CognitoIdentity) GetOpenIdTokenRequest(input *GetOpenIdTokenInput) (req output = &GetOpenIdTokenOutput{} req = c.newRequest(op, input, output) + req.Config.Credentials = credentials.AnonymousCredentials return } @@ -1667,6 +1671,7 @@ func (c *CognitoIdentity) UnlinkIdentityRequest(input *UnlinkIdentityInput) (req output = &UnlinkIdentityOutput{} req = c.newRequest(op, input, output) + req.Config.Credentials = credentials.AnonymousCredentials req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/customizations.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/customizations.go deleted file mode 100644 index 4bf243c35d6..00000000000 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/customizations.go +++ /dev/null @@ -1,12 +0,0 @@ -package cognitoidentity - -import "github.com/aws/aws-sdk-go/aws/request" - -func init() { - initRequest = func(r *request.Request) { - switch r.Operation.Name { - case opGetOpenIdToken, opGetId, opGetCredentialsForIdentity: - r.Handlers.Sign.Clear() // these operations are unsigned - } - } -} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go index 0b0cbb9f361..61c48ee2197 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go @@ -9888,6 +9888,128 @@ func (c *CognitoIdentityProvider) UpdateUserPoolClientWithContext(ctx aws.Contex return out, req.Send() } +const opUpdateUserPoolDomain = "UpdateUserPoolDomain" + +// UpdateUserPoolDomainRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUserPoolDomain 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 UpdateUserPoolDomain for more information on using the UpdateUserPoolDomain +// 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 UpdateUserPoolDomainRequest method. +// req, resp := client.UpdateUserPoolDomainRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPoolDomain +func (c *CognitoIdentityProvider) UpdateUserPoolDomainRequest(input *UpdateUserPoolDomainInput) (req *request.Request, output *UpdateUserPoolDomainOutput) { + op := &request.Operation{ + Name: opUpdateUserPoolDomain, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateUserPoolDomainInput{} + } + + output = &UpdateUserPoolDomainOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateUserPoolDomain API operation for Amazon Cognito Identity Provider. +// +// Updates the Secure Sockets Layer (SSL) certificate for the custom domain +// for your user pool. +// +// You can use this operation to provide the Amazon Resource Name (ARN) of a +// new certificate to Amazon Cognito. You cannot use it to change the domain +// for a user pool. +// +// A custom domain is used to host the Amazon Cognito hosted UI, which provides +// sign-up and sign-in pages for your application. When you set up a custom +// domain, you provide a certificate that you manage with AWS Certificate Manager +// (ACM). When necessary, you can use this operation to change the certificate +// that you applied to your custom domain. +// +// Usually, this is unnecessary following routine certificate renewal with ACM. +// When you renew your existing certificate in ACM, the ARN for your certificate +// remains the same, and your custom domain uses the new certificate automatically. +// +// However, if you replace your existing certificate with a new one, ACM gives +// the new certificate a new ARN. To apply the new certificate to your custom +// domain, you must provide this ARN to Amazon Cognito. +// +// When you add your new certificate in ACM, you must choose US East (N. Virginia) +// as the AWS Region. +// +// After you submit your request, Amazon Cognito requires up to 1 hour to distribute +// your new certificate to your custom domain. +// +// For more information about adding a custom domain to your user pool, see +// Using Your Own Domain for the Hosted UI (http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-add-custom-domain.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 Cognito Identity Provider's +// API operation UpdateUserPoolDomain for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// This exception is thrown when the Amazon Cognito service encounters an invalid +// parameter. +// +// * ErrCodeNotAuthorizedException "NotAuthorizedException" +// This exception is thrown when a user is not authorized. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// This exception is thrown when the Amazon Cognito service cannot find the +// requested resource. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// This exception is thrown when the user has made too many requests for a given +// operation. +// +// * ErrCodeInternalErrorException "InternalErrorException" +// This exception is thrown when Amazon Cognito encounters an internal error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPoolDomain +func (c *CognitoIdentityProvider) UpdateUserPoolDomain(input *UpdateUserPoolDomainInput) (*UpdateUserPoolDomainOutput, error) { + req, out := c.UpdateUserPoolDomainRequest(input) + return out, req.Send() +} + +// UpdateUserPoolDomainWithContext is the same as UpdateUserPoolDomain with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateUserPoolDomain 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 *CognitoIdentityProvider) UpdateUserPoolDomainWithContext(ctx aws.Context, input *UpdateUserPoolDomainInput, opts ...request.Option) (*UpdateUserPoolDomainOutput, error) { + req, out := c.UpdateUserPoolDomainRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opVerifySoftwareToken = "VerifySoftwareToken" // VerifySoftwareTokenRequest generates a "aws/request.Request" representing the @@ -14949,7 +15071,15 @@ type CreateUserPoolClientInput struct { // UserPoolId is a required field UserPoolId *string `min:"1" type:"string" required:"true"` - // The write attributes. + // The user pool attributes that the app client can write to. + // + // If your app client allows users to sign in through an identity provider, + // this array must include all attributes that are mapped to identity provider + // attributes. Amazon Cognito updates mapped attributes when users sign in to + // your application through an identity provider. If your app client lacks write + // access to a mapped attribute, Amazon Cognito throws an error when it attempts + // to update the attribute. For more information, see Specifying Identity Provider + // Attribute Mappings for Your User Pool (http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html). WriteAttributes []*string `type:"list"` } @@ -15113,8 +15243,8 @@ type CreateUserPoolDomainInput struct { // The configuration for a custom domain that hosts the sign-up and sign-in // webpages for your application. // - // Provide this parameter only if you want to use own custom domain for your - // user pool. Otherwise, you can exclude this parameter and use the Amazon Cognito + // Provide this parameter only if you want to use a custom domain for your user + // pool. Otherwise, you can exclude this parameter and use the Amazon Cognito // hosted domain instead. // // For more information about the hosted domain and custom domains, see Configuring @@ -20636,6 +20766,13 @@ type SchemaAttributeType struct { DeveloperOnlyAttribute *bool `type:"boolean"` // Specifies whether the value of the attribute can be changed. + // + // For any user pool attribute that's mapped to an identity provider attribute, + // you must set this parameter to true. Amazon Cognito updates mapped attributes + // when users sign in to your application through an identity provider. If an + // attribute is immutable, Amazon Cognito throws an error when it attempts to + // update the attribute. For more information, see Specifying Identity Provider + // Attribute Mappings for Your User Pool (http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html). Mutable *bool `type:"boolean"` // A schema attribute of the name type. @@ -22721,6 +22858,117 @@ func (s *UpdateUserPoolClientOutput) SetUserPoolClient(v *UserPoolClientType) *U return s } +// The UpdateUserPoolDomain request input. +type UpdateUserPoolDomainInput struct { + _ struct{} `type:"structure"` + + // The configuration for a custom domain that hosts the sign-up and sign-in + // pages for your application. Use this object to specify an SSL certificate + // that is managed by ACM. + // + // CustomDomainConfig is a required field + CustomDomainConfig *CustomDomainConfigType `type:"structure" required:"true"` + + // The domain name for the custom domain that hosts the sign-up and sign-in + // pages for your application. For example: auth.example.com. + // + // This string can include only lowercase letters, numbers, and hyphens. Do + // not use a hyphen for the first or last character. Use periods to separate + // subdomain names. + // + // Domain is a required field + Domain *string `min:"1" type:"string" required:"true"` + + // The ID of the user pool that is associated with the custom domain that you + // are updating the certificate for. + // + // UserPoolId is a required field + UserPoolId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateUserPoolDomainInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateUserPoolDomainInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateUserPoolDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateUserPoolDomainInput"} + if s.CustomDomainConfig == nil { + invalidParams.Add(request.NewErrParamRequired("CustomDomainConfig")) + } + if s.Domain == nil { + invalidParams.Add(request.NewErrParamRequired("Domain")) + } + if s.Domain != nil && len(*s.Domain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Domain", 1)) + } + if s.UserPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("UserPoolId")) + } + if s.UserPoolId != nil && len(*s.UserPoolId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1)) + } + if s.CustomDomainConfig != nil { + if err := s.CustomDomainConfig.Validate(); err != nil { + invalidParams.AddNested("CustomDomainConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomDomainConfig sets the CustomDomainConfig field's value. +func (s *UpdateUserPoolDomainInput) SetCustomDomainConfig(v *CustomDomainConfigType) *UpdateUserPoolDomainInput { + s.CustomDomainConfig = v + return s +} + +// SetDomain sets the Domain field's value. +func (s *UpdateUserPoolDomainInput) SetDomain(v string) *UpdateUserPoolDomainInput { + s.Domain = &v + return s +} + +// SetUserPoolId sets the UserPoolId field's value. +func (s *UpdateUserPoolDomainInput) SetUserPoolId(v string) *UpdateUserPoolDomainInput { + s.UserPoolId = &v + return s +} + +// The UpdateUserPoolDomain response output. +type UpdateUserPoolDomainOutput struct { + _ struct{} `type:"structure"` + + // The Amazon CloudFront endpoint that Amazon Cognito set up when you added + // the custom domain to your user pool. + CloudFrontDomain *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateUserPoolDomainOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateUserPoolDomainOutput) GoString() string { + return s.String() +} + +// SetCloudFrontDomain sets the CloudFrontDomain field's value. +func (s *UpdateUserPoolDomainOutput) SetCloudFrontDomain(v string) *UpdateUserPoolDomainOutput { + s.CloudFrontDomain = &v + return s +} + // Represents the request to update the user pool. type UpdateUserPoolInput struct { _ struct{} `type:"structure"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go new file mode 100644 index 00000000000..9c6b8ecd77f --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go @@ -0,0 +1,773 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package costandusagereportservice + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +const opDeleteReportDefinition = "DeleteReportDefinition" + +// DeleteReportDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReportDefinition 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 DeleteReportDefinition for more information on using the DeleteReportDefinition +// 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 DeleteReportDefinitionRequest method. +// req, resp := client.DeleteReportDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/DeleteReportDefinition +func (c *CostandUsageReportService) DeleteReportDefinitionRequest(input *DeleteReportDefinitionInput) (req *request.Request, output *DeleteReportDefinitionOutput) { + op := &request.Operation{ + Name: opDeleteReportDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteReportDefinitionInput{} + } + + output = &DeleteReportDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteReportDefinition API operation for AWS Cost and Usage Report Service. +// +// Deletes the specified report. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Cost and Usage Report Service's +// API operation DeleteReportDefinition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// An error on the server occurred during the processing of your request. Try +// again later. +// +// * ErrCodeValidationException "ValidationException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/DeleteReportDefinition +func (c *CostandUsageReportService) DeleteReportDefinition(input *DeleteReportDefinitionInput) (*DeleteReportDefinitionOutput, error) { + req, out := c.DeleteReportDefinitionRequest(input) + return out, req.Send() +} + +// DeleteReportDefinitionWithContext is the same as DeleteReportDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteReportDefinition 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 *CostandUsageReportService) DeleteReportDefinitionWithContext(ctx aws.Context, input *DeleteReportDefinitionInput, opts ...request.Option) (*DeleteReportDefinitionOutput, error) { + req, out := c.DeleteReportDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeReportDefinitions = "DescribeReportDefinitions" + +// DescribeReportDefinitionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReportDefinitions 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 DescribeReportDefinitions for more information on using the DescribeReportDefinitions +// 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 DescribeReportDefinitionsRequest method. +// req, resp := client.DescribeReportDefinitionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/DescribeReportDefinitions +func (c *CostandUsageReportService) DescribeReportDefinitionsRequest(input *DescribeReportDefinitionsInput) (req *request.Request, output *DescribeReportDefinitionsOutput) { + op := &request.Operation{ + Name: opDescribeReportDefinitions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeReportDefinitionsInput{} + } + + output = &DescribeReportDefinitionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeReportDefinitions API operation for AWS Cost and Usage Report Service. +// +// Lists the AWS Cost and Usage reports available to this 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 AWS Cost and Usage Report Service's +// API operation DescribeReportDefinitions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// An error on the server occurred during the processing of your request. Try +// again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/DescribeReportDefinitions +func (c *CostandUsageReportService) DescribeReportDefinitions(input *DescribeReportDefinitionsInput) (*DescribeReportDefinitionsOutput, error) { + req, out := c.DescribeReportDefinitionsRequest(input) + return out, req.Send() +} + +// DescribeReportDefinitionsWithContext is the same as DescribeReportDefinitions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeReportDefinitions 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 *CostandUsageReportService) DescribeReportDefinitionsWithContext(ctx aws.Context, input *DescribeReportDefinitionsInput, opts ...request.Option) (*DescribeReportDefinitionsOutput, error) { + req, out := c.DescribeReportDefinitionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeReportDefinitionsPages iterates over the pages of a DescribeReportDefinitions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReportDefinitions 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 DescribeReportDefinitions operation. +// pageNum := 0 +// err := client.DescribeReportDefinitionsPages(params, +// func(page *DescribeReportDefinitionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CostandUsageReportService) DescribeReportDefinitionsPages(input *DescribeReportDefinitionsInput, fn func(*DescribeReportDefinitionsOutput, bool) bool) error { + return c.DescribeReportDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeReportDefinitionsPagesWithContext same as DescribeReportDefinitionsPages 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 *CostandUsageReportService) DescribeReportDefinitionsPagesWithContext(ctx aws.Context, input *DescribeReportDefinitionsInput, fn func(*DescribeReportDefinitionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeReportDefinitionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeReportDefinitionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeReportDefinitionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opPutReportDefinition = "PutReportDefinition" + +// PutReportDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the PutReportDefinition 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 PutReportDefinition for more information on using the PutReportDefinition +// 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 PutReportDefinitionRequest method. +// req, resp := client.PutReportDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/PutReportDefinition +func (c *CostandUsageReportService) PutReportDefinitionRequest(input *PutReportDefinitionInput) (req *request.Request, output *PutReportDefinitionOutput) { + op := &request.Operation{ + Name: opPutReportDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutReportDefinitionInput{} + } + + output = &PutReportDefinitionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutReportDefinition API operation for AWS Cost and Usage Report Service. +// +// Creates a new report using the description that you provide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Cost and Usage Report Service's +// API operation PutReportDefinition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDuplicateReportNameException "DuplicateReportNameException" +// A report with the specified name already exists in the account. Specify a +// different report name. +// +// * ErrCodeReportLimitReachedException "ReportLimitReachedException" +// This account already has five reports defined. To define a new report, you +// must delete an existing report. +// +// * ErrCodeInternalErrorException "InternalErrorException" +// An error on the server occurred during the processing of your request. Try +// again later. +// +// * ErrCodeValidationException "ValidationException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/PutReportDefinition +func (c *CostandUsageReportService) PutReportDefinition(input *PutReportDefinitionInput) (*PutReportDefinitionOutput, error) { + req, out := c.PutReportDefinitionRequest(input) + return out, req.Send() +} + +// PutReportDefinitionWithContext is the same as PutReportDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See PutReportDefinition 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 *CostandUsageReportService) PutReportDefinitionWithContext(ctx aws.Context, input *PutReportDefinitionInput, opts ...request.Option) (*PutReportDefinitionOutput, error) { + req, out := c.PutReportDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Deletes the specified report. +type DeleteReportDefinitionInput struct { + _ struct{} `type:"structure"` + + // The name of the report that you want to create. The name must be unique, + // is case sensitive, and can't include spaces. + ReportName *string `type:"string"` +} + +// String returns the string representation +func (s DeleteReportDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReportDefinitionInput) GoString() string { + return s.String() +} + +// SetReportName sets the ReportName field's value. +func (s *DeleteReportDefinitionInput) SetReportName(v string) *DeleteReportDefinitionInput { + s.ReportName = &v + return s +} + +// If the action is successful, the service sends back an HTTP 200 response. +type DeleteReportDefinitionOutput struct { + _ struct{} `type:"structure"` + + // Whether the deletion was successful or not. + ResponseMessage *string `type:"string"` +} + +// String returns the string representation +func (s DeleteReportDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReportDefinitionOutput) GoString() string { + return s.String() +} + +// SetResponseMessage sets the ResponseMessage field's value. +func (s *DeleteReportDefinitionOutput) SetResponseMessage(v string) *DeleteReportDefinitionOutput { + s.ResponseMessage = &v + return s +} + +// Requests a list of AWS Cost and Usage reports owned by the account. +type DescribeReportDefinitionsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results that AWS returns for the operation. + MaxResults *int64 `min:"5" type:"integer"` + + // A generic string. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeReportDefinitionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReportDefinitionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeReportDefinitionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeReportDefinitionsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeReportDefinitionsInput) SetMaxResults(v int64) *DescribeReportDefinitionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeReportDefinitionsInput) SetNextToken(v string) *DescribeReportDefinitionsInput { + s.NextToken = &v + return s +} + +// If the action is successful, the service sends back an HTTP 200 response. +type DescribeReportDefinitionsOutput struct { + _ struct{} `type:"structure"` + + // A generic string. + NextToken *string `type:"string"` + + // A list of AWS Cost and Usage reports owned by the account. + ReportDefinitions []*ReportDefinition `type:"list"` +} + +// String returns the string representation +func (s DescribeReportDefinitionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReportDefinitionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeReportDefinitionsOutput) SetNextToken(v string) *DescribeReportDefinitionsOutput { + s.NextToken = &v + return s +} + +// SetReportDefinitions sets the ReportDefinitions field's value. +func (s *DescribeReportDefinitionsOutput) SetReportDefinitions(v []*ReportDefinition) *DescribeReportDefinitionsOutput { + s.ReportDefinitions = v + return s +} + +// Creates a Cost and Usage Report. +type PutReportDefinitionInput struct { + _ struct{} `type:"structure"` + + // Represents the output of the PutReportDefinition operation. The content consists + // of the detailed metadata and data file information. + // + // ReportDefinition is a required field + ReportDefinition *ReportDefinition `type:"structure" required:"true"` +} + +// String returns the string representation +func (s PutReportDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutReportDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutReportDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutReportDefinitionInput"} + if s.ReportDefinition == nil { + invalidParams.Add(request.NewErrParamRequired("ReportDefinition")) + } + if s.ReportDefinition != nil { + if err := s.ReportDefinition.Validate(); err != nil { + invalidParams.AddNested("ReportDefinition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReportDefinition sets the ReportDefinition field's value. +func (s *PutReportDefinitionInput) SetReportDefinition(v *ReportDefinition) *PutReportDefinitionInput { + s.ReportDefinition = v + return s +} + +// If the action is successful, the service sends back an HTTP 200 response +// with an empty HTTP body. +type PutReportDefinitionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutReportDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutReportDefinitionOutput) GoString() string { + return s.String() +} + +// The definition of AWS Cost and Usage Report. You can specify the report name, +// time unit, report format, compression format, S3 bucket, additional artifacts, +// and schema elements in the definition. +type ReportDefinition struct { + _ struct{} `type:"structure"` + + // A list of manifests that you want Amazon Web Services to create for this + // report. + AdditionalArtifacts []*string `type:"list"` + + // A list of strings that indicate additional content that Amazon Web Services + // includes in the report, such as individual resource IDs. + // + // AdditionalSchemaElements is a required field + AdditionalSchemaElements []*string `type:"list" required:"true"` + + // The compression format that AWS uses for the report. + // + // Compression is a required field + Compression *string `type:"string" required:"true" enum:"CompressionFormat"` + + // The format that AWS saves the report in. + // + // Format is a required field + Format *string `type:"string" required:"true" enum:"ReportFormat"` + + // Whether you want Amazon Web Services to update your reports after they have + // been finalized if Amazon Web Services detects charges related to previous + // months. These charges can include refunds, credits, or support fees. + RefreshClosedReports *bool `type:"boolean"` + + // The name of the report that you want to create. The name must be unique, + // is case sensitive, and can't include spaces. + // + // ReportName is a required field + ReportName *string `type:"string" required:"true"` + + // Whether you want Amazon Web Services to overwrite the previous version of + // each report or to deliver the report in addition to the previous versions. + ReportVersioning *string `type:"string" enum:"ReportVersioning"` + + // The S3 bucket where AWS delivers the report. + // + // S3Bucket is a required field + S3Bucket *string `type:"string" required:"true"` + + // The prefix that AWS adds to the report name when AWS delivers the report. + // Your prefix can't include spaces. + // + // S3Prefix is a required field + S3Prefix *string `type:"string" required:"true"` + + // The region of the S3 bucket that AWS delivers the report into. + // + // S3Region is a required field + S3Region *string `type:"string" required:"true" enum:"AWSRegion"` + + // The length of time covered by the report. + // + // TimeUnit is a required field + TimeUnit *string `type:"string" required:"true" enum:"TimeUnit"` +} + +// String returns the string representation +func (s ReportDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReportDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReportDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReportDefinition"} + if s.AdditionalSchemaElements == nil { + invalidParams.Add(request.NewErrParamRequired("AdditionalSchemaElements")) + } + if s.Compression == nil { + invalidParams.Add(request.NewErrParamRequired("Compression")) + } + if s.Format == nil { + invalidParams.Add(request.NewErrParamRequired("Format")) + } + if s.ReportName == nil { + invalidParams.Add(request.NewErrParamRequired("ReportName")) + } + if s.S3Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("S3Bucket")) + } + if s.S3Prefix == nil { + invalidParams.Add(request.NewErrParamRequired("S3Prefix")) + } + if s.S3Region == nil { + invalidParams.Add(request.NewErrParamRequired("S3Region")) + } + if s.TimeUnit == nil { + invalidParams.Add(request.NewErrParamRequired("TimeUnit")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdditionalArtifacts sets the AdditionalArtifacts field's value. +func (s *ReportDefinition) SetAdditionalArtifacts(v []*string) *ReportDefinition { + s.AdditionalArtifacts = v + return s +} + +// SetAdditionalSchemaElements sets the AdditionalSchemaElements field's value. +func (s *ReportDefinition) SetAdditionalSchemaElements(v []*string) *ReportDefinition { + s.AdditionalSchemaElements = v + return s +} + +// SetCompression sets the Compression field's value. +func (s *ReportDefinition) SetCompression(v string) *ReportDefinition { + s.Compression = &v + return s +} + +// SetFormat sets the Format field's value. +func (s *ReportDefinition) SetFormat(v string) *ReportDefinition { + s.Format = &v + return s +} + +// SetRefreshClosedReports sets the RefreshClosedReports field's value. +func (s *ReportDefinition) SetRefreshClosedReports(v bool) *ReportDefinition { + s.RefreshClosedReports = &v + return s +} + +// SetReportName sets the ReportName field's value. +func (s *ReportDefinition) SetReportName(v string) *ReportDefinition { + s.ReportName = &v + return s +} + +// SetReportVersioning sets the ReportVersioning field's value. +func (s *ReportDefinition) SetReportVersioning(v string) *ReportDefinition { + s.ReportVersioning = &v + return s +} + +// SetS3Bucket sets the S3Bucket field's value. +func (s *ReportDefinition) SetS3Bucket(v string) *ReportDefinition { + s.S3Bucket = &v + return s +} + +// SetS3Prefix sets the S3Prefix field's value. +func (s *ReportDefinition) SetS3Prefix(v string) *ReportDefinition { + s.S3Prefix = &v + return s +} + +// SetS3Region sets the S3Region field's value. +func (s *ReportDefinition) SetS3Region(v string) *ReportDefinition { + s.S3Region = &v + return s +} + +// SetTimeUnit sets the TimeUnit field's value. +func (s *ReportDefinition) SetTimeUnit(v string) *ReportDefinition { + s.TimeUnit = &v + return s +} + +// The region of the S3 bucket that AWS delivers the report into. +const ( + // AWSRegionUsEast1 is a AWSRegion enum value + AWSRegionUsEast1 = "us-east-1" + + // AWSRegionUsWest1 is a AWSRegion enum value + AWSRegionUsWest1 = "us-west-1" + + // AWSRegionUsWest2 is a AWSRegion enum value + AWSRegionUsWest2 = "us-west-2" + + // AWSRegionEuCentral1 is a AWSRegion enum value + AWSRegionEuCentral1 = "eu-central-1" + + // AWSRegionEuWest1 is a AWSRegion enum value + AWSRegionEuWest1 = "eu-west-1" + + // AWSRegionApSoutheast1 is a AWSRegion enum value + AWSRegionApSoutheast1 = "ap-southeast-1" + + // AWSRegionApSoutheast2 is a AWSRegion enum value + AWSRegionApSoutheast2 = "ap-southeast-2" + + // AWSRegionApNortheast1 is a AWSRegion enum value + AWSRegionApNortheast1 = "ap-northeast-1" + + // AWSRegionEuNorth1 is a AWSRegion enum value + AWSRegionEuNorth1 = "eu-north-1" + + // AWSRegionApNortheast3 is a AWSRegion enum value + AWSRegionApNortheast3 = "ap-northeast-3" +) + +// The types of manifest that you want AWS to create for this report. +const ( + // AdditionalArtifactRedshift is a AdditionalArtifact enum value + AdditionalArtifactRedshift = "REDSHIFT" + + // AdditionalArtifactQuicksight is a AdditionalArtifact enum value + AdditionalArtifactQuicksight = "QUICKSIGHT" + + // AdditionalArtifactAthena is a AdditionalArtifact enum value + AdditionalArtifactAthena = "ATHENA" +) + +// The compression format that AWS uses for the report. +const ( + // CompressionFormatZip is a CompressionFormat enum value + CompressionFormatZip = "ZIP" + + // CompressionFormatGzip is a CompressionFormat enum value + CompressionFormatGzip = "GZIP" + + // CompressionFormatParquet is a CompressionFormat enum value + CompressionFormatParquet = "Parquet" +) + +// The format that AWS saves the report in. +const ( + // ReportFormatTextOrcsv is a ReportFormat enum value + ReportFormatTextOrcsv = "textORcsv" + + // ReportFormatParquet is a ReportFormat enum value + ReportFormatParquet = "Parquet" +) + +const ( + // ReportVersioningCreateNewReport is a ReportVersioning enum value + ReportVersioningCreateNewReport = "CREATE_NEW_REPORT" + + // ReportVersioningOverwriteReport is a ReportVersioning enum value + ReportVersioningOverwriteReport = "OVERWRITE_REPORT" +) + +// Whether or not AWS includes resource IDs in the report. +const ( + // SchemaElementResources is a SchemaElement enum value + SchemaElementResources = "RESOURCES" +) + +// The length of time covered by the report. +const ( + // TimeUnitHourly is a TimeUnit enum value + TimeUnitHourly = "HOURLY" + + // TimeUnitDaily is a TimeUnit enum value + TimeUnitDaily = "DAILY" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/doc.go new file mode 100644 index 00000000000..f25420cb612 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/doc.go @@ -0,0 +1,41 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package costandusagereportservice provides the client and types for making API +// requests to AWS Cost and Usage Report Service. +// +// The AWS Cost and Usage Report API enables you to programmatically create, +// query, and delete AWS Cost and Usage report definitions. +// +// AWS Cost and Usage reports track the monthly AWS costs and usage associated +// with your AWS account. The report contains line items for each unique combination +// of AWS product, usage type, and operation that your AWS account uses. You +// can configure the AWS Cost and Usage report to show only the data that you +// want, using the AWS Cost and Usage API. +// +// Service Endpoint +// +// The AWS Cost and Usage Report API provides the following endpoint: +// +// * cur.us-east-1.amazonaws.com +// +// See https://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06 for more information on this service. +// +// See costandusagereportservice package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/costandusagereportservice/ +// +// Using the Client +// +// To contact AWS Cost and Usage Report 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 Cost and Usage Report Service client CostandUsageReportService for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/costandusagereportservice/#New +package costandusagereportservice diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/errors.go new file mode 100644 index 00000000000..0602538036c --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/errors.go @@ -0,0 +1,33 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package costandusagereportservice + +const ( + + // ErrCodeDuplicateReportNameException for service response error code + // "DuplicateReportNameException". + // + // A report with the specified name already exists in the account. Specify a + // different report name. + ErrCodeDuplicateReportNameException = "DuplicateReportNameException" + + // ErrCodeInternalErrorException for service response error code + // "InternalErrorException". + // + // An error on the server occurred during the processing of your request. Try + // again later. + ErrCodeInternalErrorException = "InternalErrorException" + + // ErrCodeReportLimitReachedException for service response error code + // "ReportLimitReachedException". + // + // This account already has five reports defined. To define a new report, you + // must delete an existing report. + ErrCodeReportLimitReachedException = "ReportLimitReachedException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The input fails to satisfy the constraints specified by an AWS service. + ErrCodeValidationException = "ValidationException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/service.go new file mode 100644 index 00000000000..39e3cedfeae --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/service.go @@ -0,0 +1,100 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package costandusagereportservice + +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" +) + +// CostandUsageReportService provides the API operation methods for making requests to +// AWS Cost and Usage Report Service. See this package's package overview docs +// for details on the service. +// +// CostandUsageReportService methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type CostandUsageReportService 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 = "cur" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "Cost and Usage Report Service" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the CostandUsageReportService 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 CostandUsageReportService client from just a session. +// svc := costandusagereportservice.New(mySession) +// +// // Create a CostandUsageReportService client with additional configuration +// svc := costandusagereportservice.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *CostandUsageReportService { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "cur" + } + 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) *CostandUsageReportService { + svc := &CostandUsageReportService{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2017-01-06", + JSONVersion: "1.1", + TargetPrefix: "AWSOrigamiServiceGatewayService", + }, + 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 CostandUsageReportService operation and runs any +// custom request initialization. +func (c *CostandUsageReportService) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/waiters.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/waiters.go index 225f2d58ccf..d034d3f6543 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/waiters.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/waiters.go @@ -512,10 +512,10 @@ func (c *DatabaseMigrationService) WaitUntilReplicationTaskStoppedWithContext(ct } // WaitUntilTestConnectionSucceeds uses the AWS Database Migration Service API operation -// TestConnection to wait for a condition to be met before returning. +// DescribeConnections to wait for a condition to be met before returning. // If the condition is not met within the max attempt window, an error will // be returned. -func (c *DatabaseMigrationService) WaitUntilTestConnectionSucceeds(input *TestConnectionInput) error { +func (c *DatabaseMigrationService) WaitUntilTestConnectionSucceeds(input *DescribeConnectionsInput) error { return c.WaitUntilTestConnectionSucceedsWithContext(aws.BackgroundContext(), input) } @@ -527,7 +527,7 @@ func (c *DatabaseMigrationService) WaitUntilTestConnectionSucceeds(input *TestCo // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DatabaseMigrationService) WaitUntilTestConnectionSucceedsWithContext(ctx aws.Context, input *TestConnectionInput, opts ...request.WaiterOption) error { +func (c *DatabaseMigrationService) WaitUntilTestConnectionSucceedsWithContext(ctx aws.Context, input *DescribeConnectionsInput, opts ...request.WaiterOption) error { w := request.Waiter{ Name: "WaitUntilTestConnectionSucceeds", MaxAttempts: 60, @@ -535,23 +535,23 @@ func (c *DatabaseMigrationService) WaitUntilTestConnectionSucceedsWithContext(ct Acceptors: []request.WaiterAcceptor{ { State: request.SuccessWaiterState, - Matcher: request.PathWaiterMatch, Argument: "Connection.Status", + Matcher: request.PathAllWaiterMatch, Argument: "Connections[].Status", Expected: "successful", }, { State: request.FailureWaiterState, - Matcher: request.PathWaiterMatch, Argument: "Connection.Status", + Matcher: request.PathAnyWaiterMatch, Argument: "Connections[].Status", Expected: "failed", }, }, Logger: c.Config.Logger, NewRequest: func(opts []request.Option) (*request.Request, error) { - var inCpy *TestConnectionInput + var inCpy *DescribeConnectionsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.TestConnectionRequest(inCpy) + req, _ := c.DescribeConnectionsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/datapipeline/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/datapipeline/api.go new file mode 100644 index 00000000000..1dac2334651 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/datapipeline/api.go @@ -0,0 +1,4663 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package datapipeline + +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 opActivatePipeline = "ActivatePipeline" + +// ActivatePipelineRequest generates a "aws/request.Request" representing the +// client's request for the ActivatePipeline 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 ActivatePipeline for more information on using the ActivatePipeline +// 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 ActivatePipelineRequest method. +// req, resp := client.ActivatePipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ActivatePipeline +func (c *DataPipeline) ActivatePipelineRequest(input *ActivatePipelineInput) (req *request.Request, output *ActivatePipelineOutput) { + op := &request.Operation{ + Name: opActivatePipeline, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ActivatePipelineInput{} + } + + output = &ActivatePipelineOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// ActivatePipeline API operation for AWS Data Pipeline. +// +// Validates the specified pipeline and starts processing pipeline tasks. If +// the pipeline does not pass validation, activation fails. +// +// If you need to pause the pipeline to investigate an issue with a component, +// such as a data source or script, call DeactivatePipeline. +// +// To activate a finished pipeline, modify the end date for the pipeline and +// then activate it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Data Pipeline's +// API operation ActivatePipeline for usage and error information. +// +// Returned Error Codes: +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ActivatePipeline +func (c *DataPipeline) ActivatePipeline(input *ActivatePipelineInput) (*ActivatePipelineOutput, error) { + req, out := c.ActivatePipelineRequest(input) + return out, req.Send() +} + +// ActivatePipelineWithContext is the same as ActivatePipeline with the addition of +// the ability to pass a context and additional request options. +// +// See ActivatePipeline 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 *DataPipeline) ActivatePipelineWithContext(ctx aws.Context, input *ActivatePipelineInput, opts ...request.Option) (*ActivatePipelineOutput, error) { + req, out := c.ActivatePipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAddTags = "AddTags" + +// AddTagsRequest generates a "aws/request.Request" representing the +// client's request for the AddTags 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 AddTags for more information on using the AddTags +// 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 AddTagsRequest method. +// req, resp := client.AddTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/AddTags +func (c *DataPipeline) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) { + op := &request.Operation{ + Name: opAddTags, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddTagsInput{} + } + + output = &AddTagsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AddTags API operation for AWS Data Pipeline. +// +// Adds or modifies tags for the specified pipeline. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation AddTags for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/AddTags +func (c *DataPipeline) AddTags(input *AddTagsInput) (*AddTagsOutput, error) { + req, out := c.AddTagsRequest(input) + return out, req.Send() +} + +// AddTagsWithContext is the same as AddTags with the addition of +// the ability to pass a context and additional request options. +// +// See AddTags 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 *DataPipeline) AddTagsWithContext(ctx aws.Context, input *AddTagsInput, opts ...request.Option) (*AddTagsOutput, error) { + req, out := c.AddTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreatePipeline = "CreatePipeline" + +// CreatePipelineRequest generates a "aws/request.Request" representing the +// client's request for the CreatePipeline 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 CreatePipeline for more information on using the CreatePipeline +// 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 CreatePipelineRequest method. +// req, resp := client.CreatePipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/CreatePipeline +func (c *DataPipeline) CreatePipelineRequest(input *CreatePipelineInput) (req *request.Request, output *CreatePipelineOutput) { + op := &request.Operation{ + Name: opCreatePipeline, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreatePipelineInput{} + } + + output = &CreatePipelineOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePipeline API operation for AWS Data Pipeline. +// +// Creates a new, empty pipeline. Use PutPipelineDefinition to populate the +// pipeline. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation CreatePipeline for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/CreatePipeline +func (c *DataPipeline) CreatePipeline(input *CreatePipelineInput) (*CreatePipelineOutput, error) { + req, out := c.CreatePipelineRequest(input) + return out, req.Send() +} + +// CreatePipelineWithContext is the same as CreatePipeline with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePipeline 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 *DataPipeline) CreatePipelineWithContext(ctx aws.Context, input *CreatePipelineInput, opts ...request.Option) (*CreatePipelineOutput, error) { + req, out := c.CreatePipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeactivatePipeline = "DeactivatePipeline" + +// DeactivatePipelineRequest generates a "aws/request.Request" representing the +// client's request for the DeactivatePipeline 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 DeactivatePipeline for more information on using the DeactivatePipeline +// 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 DeactivatePipelineRequest method. +// req, resp := client.DeactivatePipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DeactivatePipeline +func (c *DataPipeline) DeactivatePipelineRequest(input *DeactivatePipelineInput) (req *request.Request, output *DeactivatePipelineOutput) { + op := &request.Operation{ + Name: opDeactivatePipeline, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeactivatePipelineInput{} + } + + output = &DeactivatePipelineOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeactivatePipeline API operation for AWS Data Pipeline. +// +// Deactivates the specified running pipeline. The pipeline is set to the DEACTIVATING +// state until the deactivation process completes. +// +// To resume a deactivated pipeline, use ActivatePipeline. By default, the pipeline +// resumes from the last completed execution. Optionally, you can specify the +// date and time to resume the pipeline. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation DeactivatePipeline for usage and error information. +// +// Returned Error Codes: +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DeactivatePipeline +func (c *DataPipeline) DeactivatePipeline(input *DeactivatePipelineInput) (*DeactivatePipelineOutput, error) { + req, out := c.DeactivatePipelineRequest(input) + return out, req.Send() +} + +// DeactivatePipelineWithContext is the same as DeactivatePipeline with the addition of +// the ability to pass a context and additional request options. +// +// See DeactivatePipeline 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 *DataPipeline) DeactivatePipelineWithContext(ctx aws.Context, input *DeactivatePipelineInput, opts ...request.Option) (*DeactivatePipelineOutput, error) { + req, out := c.DeactivatePipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeletePipeline = "DeletePipeline" + +// DeletePipelineRequest generates a "aws/request.Request" representing the +// client's request for the DeletePipeline 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 DeletePipeline for more information on using the DeletePipeline +// 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 DeletePipelineRequest method. +// req, resp := client.DeletePipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DeletePipeline +func (c *DataPipeline) DeletePipelineRequest(input *DeletePipelineInput) (req *request.Request, output *DeletePipelineOutput) { + op := &request.Operation{ + Name: opDeletePipeline, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeletePipelineInput{} + } + + output = &DeletePipelineOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePipeline API operation for AWS Data Pipeline. +// +// Deletes a pipeline, its pipeline definition, and its run history. AWS Data +// Pipeline attempts to cancel instances associated with the pipeline that are +// currently being processed by task runners. +// +// Deleting a pipeline cannot be undone. You cannot query or restore a deleted +// pipeline. To temporarily pause a pipeline instead of deleting it, call SetStatus +// with the status set to PAUSE on individual components. Components that are +// paused by SetStatus can 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 AWS Data Pipeline's +// API operation DeletePipeline for usage and error information. +// +// Returned Error Codes: +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DeletePipeline +func (c *DataPipeline) DeletePipeline(input *DeletePipelineInput) (*DeletePipelineOutput, error) { + req, out := c.DeletePipelineRequest(input) + return out, req.Send() +} + +// DeletePipelineWithContext is the same as DeletePipeline with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePipeline 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 *DataPipeline) DeletePipelineWithContext(ctx aws.Context, input *DeletePipelineInput, opts ...request.Option) (*DeletePipelineOutput, error) { + req, out := c.DeletePipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeObjects = "DescribeObjects" + +// DescribeObjectsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeObjects 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 DescribeObjects for more information on using the DescribeObjects +// 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 DescribeObjectsRequest method. +// req, resp := client.DescribeObjectsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DescribeObjects +func (c *DataPipeline) DescribeObjectsRequest(input *DescribeObjectsInput) (req *request.Request, output *DescribeObjectsOutput) { + op := &request.Operation{ + Name: opDescribeObjects, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"marker"}, + LimitToken: "", + TruncationToken: "hasMoreResults", + }, + } + + if input == nil { + input = &DescribeObjectsInput{} + } + + output = &DescribeObjectsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeObjects API operation for AWS Data Pipeline. +// +// Gets the object definitions for a set of objects associated with the pipeline. +// Object definitions are composed of a set of fields that define the properties +// of the object. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation DescribeObjects for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DescribeObjects +func (c *DataPipeline) DescribeObjects(input *DescribeObjectsInput) (*DescribeObjectsOutput, error) { + req, out := c.DescribeObjectsRequest(input) + return out, req.Send() +} + +// DescribeObjectsWithContext is the same as DescribeObjects with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeObjects 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 *DataPipeline) DescribeObjectsWithContext(ctx aws.Context, input *DescribeObjectsInput, opts ...request.Option) (*DescribeObjectsOutput, error) { + req, out := c.DescribeObjectsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeObjectsPages iterates over the pages of a DescribeObjects operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeObjects 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 DescribeObjects operation. +// pageNum := 0 +// err := client.DescribeObjectsPages(params, +// func(page *DescribeObjectsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DataPipeline) DescribeObjectsPages(input *DescribeObjectsInput, fn func(*DescribeObjectsOutput, bool) bool) error { + return c.DescribeObjectsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeObjectsPagesWithContext same as DescribeObjectsPages 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 *DataPipeline) DescribeObjectsPagesWithContext(ctx aws.Context, input *DescribeObjectsInput, fn func(*DescribeObjectsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeObjectsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeObjectsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeObjectsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribePipelines = "DescribePipelines" + +// DescribePipelinesRequest generates a "aws/request.Request" representing the +// client's request for the DescribePipelines 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 DescribePipelines for more information on using the DescribePipelines +// 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 DescribePipelinesRequest method. +// req, resp := client.DescribePipelinesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DescribePipelines +func (c *DataPipeline) DescribePipelinesRequest(input *DescribePipelinesInput) (req *request.Request, output *DescribePipelinesOutput) { + op := &request.Operation{ + Name: opDescribePipelines, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribePipelinesInput{} + } + + output = &DescribePipelinesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribePipelines API operation for AWS Data Pipeline. +// +// Retrieves metadata about one or more pipelines. The information retrieved +// includes the name of the pipeline, the pipeline identifier, its current state, +// and the user account that owns the pipeline. Using account credentials, you +// can retrieve metadata about pipelines that you or your IAM users have created. +// If you are using an IAM user account, you can retrieve metadata about only +// those pipelines for which you have read permissions. +// +// To retrieve the full pipeline definition instead of metadata about the pipeline, +// call GetPipelineDefinition. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation DescribePipelines for usage and error information. +// +// Returned Error Codes: +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DescribePipelines +func (c *DataPipeline) DescribePipelines(input *DescribePipelinesInput) (*DescribePipelinesOutput, error) { + req, out := c.DescribePipelinesRequest(input) + return out, req.Send() +} + +// DescribePipelinesWithContext is the same as DescribePipelines with the addition of +// the ability to pass a context and additional request options. +// +// See DescribePipelines 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 *DataPipeline) DescribePipelinesWithContext(ctx aws.Context, input *DescribePipelinesInput, opts ...request.Option) (*DescribePipelinesOutput, error) { + req, out := c.DescribePipelinesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opEvaluateExpression = "EvaluateExpression" + +// EvaluateExpressionRequest generates a "aws/request.Request" representing the +// client's request for the EvaluateExpression 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 EvaluateExpression for more information on using the EvaluateExpression +// 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 EvaluateExpressionRequest method. +// req, resp := client.EvaluateExpressionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/EvaluateExpression +func (c *DataPipeline) EvaluateExpressionRequest(input *EvaluateExpressionInput) (req *request.Request, output *EvaluateExpressionOutput) { + op := &request.Operation{ + Name: opEvaluateExpression, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &EvaluateExpressionInput{} + } + + output = &EvaluateExpressionOutput{} + req = c.newRequest(op, input, output) + return +} + +// EvaluateExpression API operation for AWS Data Pipeline. +// +// Task runners call EvaluateExpression to evaluate a string in the context +// of the specified object. For example, a task runner can evaluate SQL queries +// stored 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 Data Pipeline's +// API operation EvaluateExpression for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeTaskNotFoundException "TaskNotFoundException" +// The specified task was not found. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/EvaluateExpression +func (c *DataPipeline) EvaluateExpression(input *EvaluateExpressionInput) (*EvaluateExpressionOutput, error) { + req, out := c.EvaluateExpressionRequest(input) + return out, req.Send() +} + +// EvaluateExpressionWithContext is the same as EvaluateExpression with the addition of +// the ability to pass a context and additional request options. +// +// See EvaluateExpression 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 *DataPipeline) EvaluateExpressionWithContext(ctx aws.Context, input *EvaluateExpressionInput, opts ...request.Option) (*EvaluateExpressionOutput, error) { + req, out := c.EvaluateExpressionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPipelineDefinition = "GetPipelineDefinition" + +// GetPipelineDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the GetPipelineDefinition 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 GetPipelineDefinition for more information on using the GetPipelineDefinition +// 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 GetPipelineDefinitionRequest method. +// req, resp := client.GetPipelineDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/GetPipelineDefinition +func (c *DataPipeline) GetPipelineDefinitionRequest(input *GetPipelineDefinitionInput) (req *request.Request, output *GetPipelineDefinitionOutput) { + op := &request.Operation{ + Name: opGetPipelineDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetPipelineDefinitionInput{} + } + + output = &GetPipelineDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPipelineDefinition API operation for AWS Data Pipeline. +// +// Gets the definition of the specified pipeline. You can call GetPipelineDefinition +// to retrieve the pipeline definition that you provided using PutPipelineDefinition. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation GetPipelineDefinition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/GetPipelineDefinition +func (c *DataPipeline) GetPipelineDefinition(input *GetPipelineDefinitionInput) (*GetPipelineDefinitionOutput, error) { + req, out := c.GetPipelineDefinitionRequest(input) + return out, req.Send() +} + +// GetPipelineDefinitionWithContext is the same as GetPipelineDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See GetPipelineDefinition 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 *DataPipeline) GetPipelineDefinitionWithContext(ctx aws.Context, input *GetPipelineDefinitionInput, opts ...request.Option) (*GetPipelineDefinitionOutput, error) { + req, out := c.GetPipelineDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListPipelines = "ListPipelines" + +// ListPipelinesRequest generates a "aws/request.Request" representing the +// client's request for the ListPipelines 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 ListPipelines for more information on using the ListPipelines +// 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 ListPipelinesRequest method. +// req, resp := client.ListPipelinesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ListPipelines +func (c *DataPipeline) ListPipelinesRequest(input *ListPipelinesInput) (req *request.Request, output *ListPipelinesOutput) { + op := &request.Operation{ + Name: opListPipelines, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"marker"}, + LimitToken: "", + TruncationToken: "hasMoreResults", + }, + } + + if input == nil { + input = &ListPipelinesInput{} + } + + output = &ListPipelinesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPipelines API operation for AWS Data Pipeline. +// +// Lists the pipeline identifiers for all active pipelines that you have permission +// to access. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation ListPipelines for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ListPipelines +func (c *DataPipeline) ListPipelines(input *ListPipelinesInput) (*ListPipelinesOutput, error) { + req, out := c.ListPipelinesRequest(input) + return out, req.Send() +} + +// ListPipelinesWithContext is the same as ListPipelines with the addition of +// the ability to pass a context and additional request options. +// +// See ListPipelines 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 *DataPipeline) ListPipelinesWithContext(ctx aws.Context, input *ListPipelinesInput, opts ...request.Option) (*ListPipelinesOutput, error) { + req, out := c.ListPipelinesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPipelinesPages iterates over the pages of a ListPipelines operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPipelines 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 ListPipelines operation. +// pageNum := 0 +// err := client.ListPipelinesPages(params, +// func(page *ListPipelinesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DataPipeline) ListPipelinesPages(input *ListPipelinesInput, fn func(*ListPipelinesOutput, bool) bool) error { + return c.ListPipelinesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPipelinesPagesWithContext same as ListPipelinesPages 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 *DataPipeline) ListPipelinesPagesWithContext(ctx aws.Context, input *ListPipelinesInput, fn func(*ListPipelinesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPipelinesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPipelinesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListPipelinesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opPollForTask = "PollForTask" + +// PollForTaskRequest generates a "aws/request.Request" representing the +// client's request for the PollForTask 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 PollForTask for more information on using the PollForTask +// 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 PollForTaskRequest method. +// req, resp := client.PollForTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/PollForTask +func (c *DataPipeline) PollForTaskRequest(input *PollForTaskInput) (req *request.Request, output *PollForTaskOutput) { + op := &request.Operation{ + Name: opPollForTask, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PollForTaskInput{} + } + + output = &PollForTaskOutput{} + req = c.newRequest(op, input, output) + return +} + +// PollForTask API operation for AWS Data Pipeline. +// +// Task runners call PollForTask to receive a task to perform from AWS Data +// Pipeline. The task runner specifies which tasks it can perform by setting +// a value for the workerGroup parameter. The task returned can come from any +// of the pipelines that match the workerGroup value passed in by the task runner +// and that was launched using the IAM user credentials specified by the task +// runner. +// +// If tasks are ready in the work queue, PollForTask returns a response immediately. +// If no tasks are available in the queue, PollForTask uses long-polling and +// holds on to a poll connection for up to a 90 seconds, during which time the +// first newly scheduled task is handed to the task runner. To accomodate this, +// set the socket timeout in your task runner to 90 seconds. The task runner +// should not call PollForTask again on the same workerGroup until it receives +// a response, and this can take up to 90 seconds. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation PollForTask for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// * ErrCodeTaskNotFoundException "TaskNotFoundException" +// The specified task was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/PollForTask +func (c *DataPipeline) PollForTask(input *PollForTaskInput) (*PollForTaskOutput, error) { + req, out := c.PollForTaskRequest(input) + return out, req.Send() +} + +// PollForTaskWithContext is the same as PollForTask with the addition of +// the ability to pass a context and additional request options. +// +// See PollForTask 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 *DataPipeline) PollForTaskWithContext(ctx aws.Context, input *PollForTaskInput, opts ...request.Option) (*PollForTaskOutput, error) { + req, out := c.PollForTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutPipelineDefinition = "PutPipelineDefinition" + +// PutPipelineDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the PutPipelineDefinition 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 PutPipelineDefinition for more information on using the PutPipelineDefinition +// 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 PutPipelineDefinitionRequest method. +// req, resp := client.PutPipelineDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/PutPipelineDefinition +func (c *DataPipeline) PutPipelineDefinitionRequest(input *PutPipelineDefinitionInput) (req *request.Request, output *PutPipelineDefinitionOutput) { + op := &request.Operation{ + Name: opPutPipelineDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutPipelineDefinitionInput{} + } + + output = &PutPipelineDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutPipelineDefinition API operation for AWS Data Pipeline. +// +// Adds tasks, schedules, and preconditions to the specified pipeline. You can +// use PutPipelineDefinition to populate a new pipeline. +// +// PutPipelineDefinition also validates the configuration as it adds it to the +// pipeline. Changes to the pipeline are saved unless one of the following three +// validation errors exists in the pipeline. +// +// An object is missing a name or identifier field. +// A string or reference field is empty. +// The number of objects in the pipeline exceeds the maximum allowed objects. +// +// The pipeline is in a FINISHED state. +// Pipeline object definitions are passed to the PutPipelineDefinition action +// and returned by the GetPipelineDefinition 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 AWS Data Pipeline's +// API operation PutPipelineDefinition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/PutPipelineDefinition +func (c *DataPipeline) PutPipelineDefinition(input *PutPipelineDefinitionInput) (*PutPipelineDefinitionOutput, error) { + req, out := c.PutPipelineDefinitionRequest(input) + return out, req.Send() +} + +// PutPipelineDefinitionWithContext is the same as PutPipelineDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See PutPipelineDefinition 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 *DataPipeline) PutPipelineDefinitionWithContext(ctx aws.Context, input *PutPipelineDefinitionInput, opts ...request.Option) (*PutPipelineDefinitionOutput, error) { + req, out := c.PutPipelineDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opQueryObjects = "QueryObjects" + +// QueryObjectsRequest generates a "aws/request.Request" representing the +// client's request for the QueryObjects 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 QueryObjects for more information on using the QueryObjects +// 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 QueryObjectsRequest method. +// req, resp := client.QueryObjectsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/QueryObjects +func (c *DataPipeline) QueryObjectsRequest(input *QueryObjectsInput) (req *request.Request, output *QueryObjectsOutput) { + op := &request.Operation{ + Name: opQueryObjects, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"marker"}, + LimitToken: "limit", + TruncationToken: "hasMoreResults", + }, + } + + if input == nil { + input = &QueryObjectsInput{} + } + + output = &QueryObjectsOutput{} + req = c.newRequest(op, input, output) + return +} + +// QueryObjects API operation for AWS Data Pipeline. +// +// Queries the specified pipeline for the names of objects that match the specified +// set of conditions. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation QueryObjects for usage and error information. +// +// Returned Error Codes: +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/QueryObjects +func (c *DataPipeline) QueryObjects(input *QueryObjectsInput) (*QueryObjectsOutput, error) { + req, out := c.QueryObjectsRequest(input) + return out, req.Send() +} + +// QueryObjectsWithContext is the same as QueryObjects with the addition of +// the ability to pass a context and additional request options. +// +// See QueryObjects 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 *DataPipeline) QueryObjectsWithContext(ctx aws.Context, input *QueryObjectsInput, opts ...request.Option) (*QueryObjectsOutput, error) { + req, out := c.QueryObjectsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// QueryObjectsPages iterates over the pages of a QueryObjects operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See QueryObjects 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 QueryObjects operation. +// pageNum := 0 +// err := client.QueryObjectsPages(params, +// func(page *QueryObjectsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DataPipeline) QueryObjectsPages(input *QueryObjectsInput, fn func(*QueryObjectsOutput, bool) bool) error { + return c.QueryObjectsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// QueryObjectsPagesWithContext same as QueryObjectsPages 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 *DataPipeline) QueryObjectsPagesWithContext(ctx aws.Context, input *QueryObjectsInput, fn func(*QueryObjectsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *QueryObjectsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.QueryObjectsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*QueryObjectsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opRemoveTags = "RemoveTags" + +// RemoveTagsRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTags 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 RemoveTags for more information on using the RemoveTags +// 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 RemoveTagsRequest method. +// req, resp := client.RemoveTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/RemoveTags +func (c *DataPipeline) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) { + op := &request.Operation{ + Name: opRemoveTags, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RemoveTagsInput{} + } + + output = &RemoveTagsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// RemoveTags API operation for AWS Data Pipeline. +// +// Removes existing tags from the specified pipeline. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation RemoveTags for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/RemoveTags +func (c *DataPipeline) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { + req, out := c.RemoveTagsRequest(input) + return out, req.Send() +} + +// RemoveTagsWithContext is the same as RemoveTags with the addition of +// the ability to pass a context and additional request options. +// +// See RemoveTags 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 *DataPipeline) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) { + req, out := c.RemoveTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opReportTaskProgress = "ReportTaskProgress" + +// ReportTaskProgressRequest generates a "aws/request.Request" representing the +// client's request for the ReportTaskProgress 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 ReportTaskProgress for more information on using the ReportTaskProgress +// 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 ReportTaskProgressRequest method. +// req, resp := client.ReportTaskProgressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ReportTaskProgress +func (c *DataPipeline) ReportTaskProgressRequest(input *ReportTaskProgressInput) (req *request.Request, output *ReportTaskProgressOutput) { + op := &request.Operation{ + Name: opReportTaskProgress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ReportTaskProgressInput{} + } + + output = &ReportTaskProgressOutput{} + req = c.newRequest(op, input, output) + return +} + +// ReportTaskProgress API operation for AWS Data Pipeline. +// +// Task runners call ReportTaskProgress when assigned a task to acknowledge +// that it has the task. If the web service does not receive this acknowledgement +// within 2 minutes, it assigns the task in a subsequent PollForTask call. After +// this initial acknowledgement, the task runner only needs to report progress +// every 15 minutes to maintain its ownership of the task. You can change this +// reporting time from 15 minutes by specifying a reportProgressTimeout field +// in your pipeline. +// +// If a task runner does not report its status after 5 minutes, AWS Data Pipeline +// assumes that the task runner is unable to process the task and reassigns +// the task in a subsequent response to PollForTask. Task runners should call +// ReportTaskProgress every 60 seconds. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation ReportTaskProgress for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// * ErrCodeTaskNotFoundException "TaskNotFoundException" +// The specified task was not found. +// +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ReportTaskProgress +func (c *DataPipeline) ReportTaskProgress(input *ReportTaskProgressInput) (*ReportTaskProgressOutput, error) { + req, out := c.ReportTaskProgressRequest(input) + return out, req.Send() +} + +// ReportTaskProgressWithContext is the same as ReportTaskProgress with the addition of +// the ability to pass a context and additional request options. +// +// See ReportTaskProgress 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 *DataPipeline) ReportTaskProgressWithContext(ctx aws.Context, input *ReportTaskProgressInput, opts ...request.Option) (*ReportTaskProgressOutput, error) { + req, out := c.ReportTaskProgressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opReportTaskRunnerHeartbeat = "ReportTaskRunnerHeartbeat" + +// ReportTaskRunnerHeartbeatRequest generates a "aws/request.Request" representing the +// client's request for the ReportTaskRunnerHeartbeat 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 ReportTaskRunnerHeartbeat for more information on using the ReportTaskRunnerHeartbeat +// 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 ReportTaskRunnerHeartbeatRequest method. +// req, resp := client.ReportTaskRunnerHeartbeatRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ReportTaskRunnerHeartbeat +func (c *DataPipeline) ReportTaskRunnerHeartbeatRequest(input *ReportTaskRunnerHeartbeatInput) (req *request.Request, output *ReportTaskRunnerHeartbeatOutput) { + op := &request.Operation{ + Name: opReportTaskRunnerHeartbeat, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ReportTaskRunnerHeartbeatInput{} + } + + output = &ReportTaskRunnerHeartbeatOutput{} + req = c.newRequest(op, input, output) + return +} + +// ReportTaskRunnerHeartbeat API operation for AWS Data Pipeline. +// +// Task runners call ReportTaskRunnerHeartbeat every 15 minutes to indicate +// that they are operational. If the AWS Data Pipeline Task Runner is launched +// on a resource managed by AWS Data Pipeline, the web service can use this +// call to detect when the task runner application has failed and restart a +// new 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 AWS Data Pipeline's +// API operation ReportTaskRunnerHeartbeat for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ReportTaskRunnerHeartbeat +func (c *DataPipeline) ReportTaskRunnerHeartbeat(input *ReportTaskRunnerHeartbeatInput) (*ReportTaskRunnerHeartbeatOutput, error) { + req, out := c.ReportTaskRunnerHeartbeatRequest(input) + return out, req.Send() +} + +// ReportTaskRunnerHeartbeatWithContext is the same as ReportTaskRunnerHeartbeat with the addition of +// the ability to pass a context and additional request options. +// +// See ReportTaskRunnerHeartbeat 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 *DataPipeline) ReportTaskRunnerHeartbeatWithContext(ctx aws.Context, input *ReportTaskRunnerHeartbeatInput, opts ...request.Option) (*ReportTaskRunnerHeartbeatOutput, error) { + req, out := c.ReportTaskRunnerHeartbeatRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSetStatus = "SetStatus" + +// SetStatusRequest generates a "aws/request.Request" representing the +// client's request for the SetStatus 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 SetStatus for more information on using the SetStatus +// 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 SetStatusRequest method. +// req, resp := client.SetStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/SetStatus +func (c *DataPipeline) SetStatusRequest(input *SetStatusInput) (req *request.Request, output *SetStatusOutput) { + op := &request.Operation{ + Name: opSetStatus, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetStatusInput{} + } + + output = &SetStatusOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// SetStatus API operation for AWS Data Pipeline. +// +// Requests that the status of the specified physical or logical pipeline objects +// be updated in the specified pipeline. This update might not occur immediately, +// but is eventually consistent. The status that can be set depends on the type +// of object (for example, DataNode or Activity). You cannot perform this operation +// on FINISHED pipelines and attempting to do so returns InvalidRequestException. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation SetStatus for usage and error information. +// +// Returned Error Codes: +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/SetStatus +func (c *DataPipeline) SetStatus(input *SetStatusInput) (*SetStatusOutput, error) { + req, out := c.SetStatusRequest(input) + return out, req.Send() +} + +// SetStatusWithContext is the same as SetStatus with the addition of +// the ability to pass a context and additional request options. +// +// See SetStatus 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 *DataPipeline) SetStatusWithContext(ctx aws.Context, input *SetStatusInput, opts ...request.Option) (*SetStatusOutput, error) { + req, out := c.SetStatusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSetTaskStatus = "SetTaskStatus" + +// SetTaskStatusRequest generates a "aws/request.Request" representing the +// client's request for the SetTaskStatus 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 SetTaskStatus for more information on using the SetTaskStatus +// 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 SetTaskStatusRequest method. +// req, resp := client.SetTaskStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/SetTaskStatus +func (c *DataPipeline) SetTaskStatusRequest(input *SetTaskStatusInput) (req *request.Request, output *SetTaskStatusOutput) { + op := &request.Operation{ + Name: opSetTaskStatus, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetTaskStatusInput{} + } + + output = &SetTaskStatusOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// SetTaskStatus API operation for AWS Data Pipeline. +// +// Task runners call SetTaskStatus to notify AWS Data Pipeline that a task is +// completed and provide information about the final status. A task runner makes +// this call regardless of whether the task was sucessful. A task runner does +// not need to call SetTaskStatus for tasks that are canceled by the web service +// during a call to ReportTaskProgress. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation SetTaskStatus for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeTaskNotFoundException "TaskNotFoundException" +// The specified task was not found. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/SetTaskStatus +func (c *DataPipeline) SetTaskStatus(input *SetTaskStatusInput) (*SetTaskStatusOutput, error) { + req, out := c.SetTaskStatusRequest(input) + return out, req.Send() +} + +// SetTaskStatusWithContext is the same as SetTaskStatus with the addition of +// the ability to pass a context and additional request options. +// +// See SetTaskStatus 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 *DataPipeline) SetTaskStatusWithContext(ctx aws.Context, input *SetTaskStatusInput, opts ...request.Option) (*SetTaskStatusOutput, error) { + req, out := c.SetTaskStatusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opValidatePipelineDefinition = "ValidatePipelineDefinition" + +// ValidatePipelineDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the ValidatePipelineDefinition 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 ValidatePipelineDefinition for more information on using the ValidatePipelineDefinition +// 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 ValidatePipelineDefinitionRequest method. +// req, resp := client.ValidatePipelineDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ValidatePipelineDefinition +func (c *DataPipeline) ValidatePipelineDefinitionRequest(input *ValidatePipelineDefinitionInput) (req *request.Request, output *ValidatePipelineDefinitionOutput) { + op := &request.Operation{ + Name: opValidatePipelineDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ValidatePipelineDefinitionInput{} + } + + output = &ValidatePipelineDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// ValidatePipelineDefinition API operation for AWS Data Pipeline. +// +// Validates the specified pipeline definition to ensure that it is well formed +// and can be run without error. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Data Pipeline's +// API operation ValidatePipelineDefinition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceError "InternalServiceError" +// An internal service error occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request was not valid. Verify that your request was properly formatted, +// that the signature was generated with the correct credentials, and that you +// haven't exceeded any of the service limits for your account. +// +// * ErrCodePipelineNotFoundException "PipelineNotFoundException" +// The specified pipeline was not found. Verify that you used the correct user +// and account identifiers. +// +// * ErrCodePipelineDeletedException "PipelineDeletedException" +// The specified pipeline has been deleted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ValidatePipelineDefinition +func (c *DataPipeline) ValidatePipelineDefinition(input *ValidatePipelineDefinitionInput) (*ValidatePipelineDefinitionOutput, error) { + req, out := c.ValidatePipelineDefinitionRequest(input) + return out, req.Send() +} + +// ValidatePipelineDefinitionWithContext is the same as ValidatePipelineDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See ValidatePipelineDefinition 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 *DataPipeline) ValidatePipelineDefinitionWithContext(ctx aws.Context, input *ValidatePipelineDefinitionInput, opts ...request.Option) (*ValidatePipelineDefinitionOutput, error) { + req, out := c.ValidatePipelineDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Contains the parameters for ActivatePipeline. +type ActivatePipelineInput struct { + _ struct{} `type:"structure"` + + // A list of parameter values to pass to the pipeline at activation. + ParameterValues []*ParameterValue `locationName:"parameterValues" type:"list"` + + // The ID of the pipeline. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` + + // The date and time to resume the pipeline. By default, the pipeline resumes + // from the last completed execution. + StartTimestamp *time.Time `locationName:"startTimestamp" type:"timestamp"` +} + +// String returns the string representation +func (s ActivatePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActivatePipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ActivatePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ActivatePipelineInput"} + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + if s.PipelineId != nil && len(*s.PipelineId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1)) + } + if s.ParameterValues != nil { + for i, v := range s.ParameterValues { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterValues", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetParameterValues sets the ParameterValues field's value. +func (s *ActivatePipelineInput) SetParameterValues(v []*ParameterValue) *ActivatePipelineInput { + s.ParameterValues = v + return s +} + +// SetPipelineId sets the PipelineId field's value. +func (s *ActivatePipelineInput) SetPipelineId(v string) *ActivatePipelineInput { + s.PipelineId = &v + return s +} + +// SetStartTimestamp sets the StartTimestamp field's value. +func (s *ActivatePipelineInput) SetStartTimestamp(v time.Time) *ActivatePipelineInput { + s.StartTimestamp = &v + return s +} + +// Contains the output of ActivatePipeline. +type ActivatePipelineOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ActivatePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActivatePipelineOutput) GoString() string { + return s.String() +} + +// Contains the parameters for AddTags. +type AddTagsInput struct { + _ struct{} `type:"structure"` + + // The ID of the pipeline. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` + + // The tags to add, as key/value pairs. + // + // Tags is a required field + Tags []*Tag `locationName:"tags" type:"list" required:"true"` +} + +// String returns the string representation +func (s AddTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"} + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + if s.PipelineId != nil && len(*s.PipelineId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1)) + } + 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 +} + +// SetPipelineId sets the PipelineId field's value. +func (s *AddTagsInput) SetPipelineId(v string) *AddTagsInput { + s.PipelineId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *AddTagsInput) SetTags(v []*Tag) *AddTagsInput { + s.Tags = v + return s +} + +// Contains the output of AddTags. +type AddTagsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AddTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddTagsOutput) GoString() string { + return s.String() +} + +// Contains the parameters for CreatePipeline. +type CreatePipelineInput struct { + _ struct{} `type:"structure"` + + // The description for the pipeline. + Description *string `locationName:"description" type:"string"` + + // The name for the pipeline. You can use the same name for multiple pipelines + // associated with your AWS account, because AWS Data Pipeline assigns each + // pipeline a unique pipeline identifier. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // A list of tags to associate with the pipeline at creation. Tags let you control + // access to pipelines. For more information, see Controlling User Access to + // Pipelines (http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html) + // in the AWS Data Pipeline Developer Guide. + Tags []*Tag `locationName:"tags" type:"list"` + + // A unique identifier. This identifier is not the same as the pipeline identifier + // assigned by AWS Data Pipeline. You are responsible for defining the format + // and ensuring the uniqueness of this identifier. You use this parameter to + // ensure idempotency during repeated calls to CreatePipeline. For example, + // if the first call to CreatePipeline does not succeed, you can pass in the + // same unique identifier and pipeline name combination on a subsequent call + // to CreatePipeline. CreatePipeline ensures that if a pipeline already exists + // with the same name and unique identifier, a new pipeline is not created. + // Instead, you'll receive the pipeline identifier from the previous attempt. + // The uniqueness of the name and unique identifier combination is scoped to + // the AWS account or IAM user credentials. + // + // UniqueId is a required field + UniqueId *string `locationName:"uniqueId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePipelineInput"} + 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.UniqueId == nil { + invalidParams.Add(request.NewErrParamRequired("UniqueId")) + } + if s.UniqueId != nil && len(*s.UniqueId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UniqueId", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreatePipelineInput) SetDescription(v string) *CreatePipelineInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreatePipelineInput) SetName(v string) *CreatePipelineInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreatePipelineInput) SetTags(v []*Tag) *CreatePipelineInput { + s.Tags = v + return s +} + +// SetUniqueId sets the UniqueId field's value. +func (s *CreatePipelineInput) SetUniqueId(v string) *CreatePipelineInput { + s.UniqueId = &v + return s +} + +// Contains the output of CreatePipeline. +type CreatePipelineOutput struct { + _ struct{} `type:"structure"` + + // The ID that AWS Data Pipeline assigns the newly created pipeline. For example, + // df-06372391ZG65EXAMPLE. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePipelineOutput) GoString() string { + return s.String() +} + +// SetPipelineId sets the PipelineId field's value. +func (s *CreatePipelineOutput) SetPipelineId(v string) *CreatePipelineOutput { + s.PipelineId = &v + return s +} + +// Contains the parameters for DeactivatePipeline. +type DeactivatePipelineInput struct { + _ struct{} `type:"structure"` + + // Indicates whether to cancel any running objects. The default is true, which + // sets the state of any running objects to CANCELED. If this value is false, + // the pipeline is deactivated after all running objects finish. + CancelActive *bool `locationName:"cancelActive" type:"boolean"` + + // The ID of the pipeline. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeactivatePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeactivatePipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeactivatePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeactivatePipelineInput"} + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + if s.PipelineId != nil && len(*s.PipelineId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCancelActive sets the CancelActive field's value. +func (s *DeactivatePipelineInput) SetCancelActive(v bool) *DeactivatePipelineInput { + s.CancelActive = &v + return s +} + +// SetPipelineId sets the PipelineId field's value. +func (s *DeactivatePipelineInput) SetPipelineId(v string) *DeactivatePipelineInput { + s.PipelineId = &v + return s +} + +// Contains the output of DeactivatePipeline. +type DeactivatePipelineOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeactivatePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeactivatePipelineOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DeletePipeline. +type DeletePipelineInput struct { + _ struct{} `type:"structure"` + + // The ID of the pipeline. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePipelineInput"} + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + if s.PipelineId != nil && len(*s.PipelineId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPipelineId sets the PipelineId field's value. +func (s *DeletePipelineInput) SetPipelineId(v string) *DeletePipelineInput { + s.PipelineId = &v + return s +} + +type DeletePipelineOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeletePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePipelineOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DescribeObjects. +type DescribeObjectsInput struct { + _ struct{} `type:"structure"` + + // Indicates whether any expressions in the object should be evaluated when + // the object descriptions are returned. + EvaluateExpressions *bool `locationName:"evaluateExpressions" type:"boolean"` + + // The starting point for the results to be returned. For the first call, this + // value should be empty. As long as there are more results, continue to call + // DescribeObjects with the marker value from the previous call to retrieve + // the next set of results. + Marker *string `locationName:"marker" type:"string"` + + // The IDs of the pipeline objects that contain the definitions to be described. + // You can pass as many as 25 identifiers in a single call to DescribeObjects. + // + // ObjectIds is a required field + ObjectIds []*string `locationName:"objectIds" type:"list" required:"true"` + + // The ID of the pipeline that contains the object definitions. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeObjectsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeObjectsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeObjectsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeObjectsInput"} + if s.ObjectIds == nil { + invalidParams.Add(request.NewErrParamRequired("ObjectIds")) + } + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + if s.PipelineId != nil && len(*s.PipelineId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluateExpressions sets the EvaluateExpressions field's value. +func (s *DescribeObjectsInput) SetEvaluateExpressions(v bool) *DescribeObjectsInput { + s.EvaluateExpressions = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeObjectsInput) SetMarker(v string) *DescribeObjectsInput { + s.Marker = &v + return s +} + +// SetObjectIds sets the ObjectIds field's value. +func (s *DescribeObjectsInput) SetObjectIds(v []*string) *DescribeObjectsInput { + s.ObjectIds = v + return s +} + +// SetPipelineId sets the PipelineId field's value. +func (s *DescribeObjectsInput) SetPipelineId(v string) *DescribeObjectsInput { + s.PipelineId = &v + return s +} + +// Contains the output of DescribeObjects. +type DescribeObjectsOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether there are more results to return. + HasMoreResults *bool `locationName:"hasMoreResults" type:"boolean"` + + // The starting point for the next page of results. To view the next page of + // results, call DescribeObjects again with this marker value. If the value + // is null, there are no more results. + Marker *string `locationName:"marker" type:"string"` + + // An array of object definitions. + // + // PipelineObjects is a required field + PipelineObjects []*PipelineObject `locationName:"pipelineObjects" type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribeObjectsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeObjectsOutput) GoString() string { + return s.String() +} + +// SetHasMoreResults sets the HasMoreResults field's value. +func (s *DescribeObjectsOutput) SetHasMoreResults(v bool) *DescribeObjectsOutput { + s.HasMoreResults = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeObjectsOutput) SetMarker(v string) *DescribeObjectsOutput { + s.Marker = &v + return s +} + +// SetPipelineObjects sets the PipelineObjects field's value. +func (s *DescribeObjectsOutput) SetPipelineObjects(v []*PipelineObject) *DescribeObjectsOutput { + s.PipelineObjects = v + return s +} + +// Contains the parameters for DescribePipelines. +type DescribePipelinesInput struct { + _ struct{} `type:"structure"` + + // The IDs of the pipelines to describe. You can pass as many as 25 identifiers + // in a single call. To obtain pipeline IDs, call ListPipelines. + // + // PipelineIds is a required field + PipelineIds []*string `locationName:"pipelineIds" type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribePipelinesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePipelinesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribePipelinesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribePipelinesInput"} + if s.PipelineIds == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPipelineIds sets the PipelineIds field's value. +func (s *DescribePipelinesInput) SetPipelineIds(v []*string) *DescribePipelinesInput { + s.PipelineIds = v + return s +} + +// Contains the output of DescribePipelines. +type DescribePipelinesOutput struct { + _ struct{} `type:"structure"` + + // An array of descriptions for the specified pipelines. + // + // PipelineDescriptionList is a required field + PipelineDescriptionList []*PipelineDescription `locationName:"pipelineDescriptionList" type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribePipelinesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePipelinesOutput) GoString() string { + return s.String() +} + +// SetPipelineDescriptionList sets the PipelineDescriptionList field's value. +func (s *DescribePipelinesOutput) SetPipelineDescriptionList(v []*PipelineDescription) *DescribePipelinesOutput { + s.PipelineDescriptionList = v + return s +} + +// Contains the parameters for EvaluateExpression. +type EvaluateExpressionInput struct { + _ struct{} `type:"structure"` + + // The expression to evaluate. + // + // Expression is a required field + Expression *string `locationName:"expression" type:"string" required:"true"` + + // The ID of the object. + // + // ObjectId is a required field + ObjectId *string `locationName:"objectId" min:"1" type:"string" required:"true"` + + // The ID of the pipeline. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s EvaluateExpressionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EvaluateExpressionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluateExpressionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluateExpressionInput"} + if s.Expression == nil { + invalidParams.Add(request.NewErrParamRequired("Expression")) + } + if s.ObjectId == nil { + invalidParams.Add(request.NewErrParamRequired("ObjectId")) + } + if s.ObjectId != nil && len(*s.ObjectId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ObjectId", 1)) + } + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + if s.PipelineId != nil && len(*s.PipelineId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExpression sets the Expression field's value. +func (s *EvaluateExpressionInput) SetExpression(v string) *EvaluateExpressionInput { + s.Expression = &v + return s +} + +// SetObjectId sets the ObjectId field's value. +func (s *EvaluateExpressionInput) SetObjectId(v string) *EvaluateExpressionInput { + s.ObjectId = &v + return s +} + +// SetPipelineId sets the PipelineId field's value. +func (s *EvaluateExpressionInput) SetPipelineId(v string) *EvaluateExpressionInput { + s.PipelineId = &v + return s +} + +// Contains the output of EvaluateExpression. +type EvaluateExpressionOutput struct { + _ struct{} `type:"structure"` + + // The evaluated expression. + // + // EvaluatedExpression is a required field + EvaluatedExpression *string `locationName:"evaluatedExpression" type:"string" required:"true"` +} + +// String returns the string representation +func (s EvaluateExpressionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EvaluateExpressionOutput) GoString() string { + return s.String() +} + +// SetEvaluatedExpression sets the EvaluatedExpression field's value. +func (s *EvaluateExpressionOutput) SetEvaluatedExpression(v string) *EvaluateExpressionOutput { + s.EvaluatedExpression = &v + return s +} + +// A key-value pair that describes a property of a pipeline object. The value +// is specified as either a string value (StringValue) or a reference to another +// object (RefValue) but not as both. +type Field struct { + _ struct{} `type:"structure"` + + // The field identifier. + // + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` + + // The field value, expressed as the identifier of another object. + RefValue *string `locationName:"refValue" min:"1" type:"string"` + + // The field value, expressed as a String. + StringValue *string `locationName:"stringValue" type:"string"` +} + +// String returns the string representation +func (s Field) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Field) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Field) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Field"} + 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.RefValue != nil && len(*s.RefValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RefValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Field) SetKey(v string) *Field { + s.Key = &v + return s +} + +// SetRefValue sets the RefValue field's value. +func (s *Field) SetRefValue(v string) *Field { + s.RefValue = &v + return s +} + +// SetStringValue sets the StringValue field's value. +func (s *Field) SetStringValue(v string) *Field { + s.StringValue = &v + return s +} + +// Contains the parameters for GetPipelineDefinition. +type GetPipelineDefinitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the pipeline. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` + + // The version of the pipeline definition to retrieve. Set this parameter to + // latest (default) to use the last definition saved to the pipeline or active + // to use the last definition that was activated. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s GetPipelineDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPipelineDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPipelineDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPipelineDefinitionInput"} + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + if s.PipelineId != nil && len(*s.PipelineId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPipelineId sets the PipelineId field's value. +func (s *GetPipelineDefinitionInput) SetPipelineId(v string) *GetPipelineDefinitionInput { + s.PipelineId = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *GetPipelineDefinitionInput) SetVersion(v string) *GetPipelineDefinitionInput { + s.Version = &v + return s +} + +// Contains the output of GetPipelineDefinition. +type GetPipelineDefinitionOutput struct { + _ struct{} `type:"structure"` + + // The parameter objects used in the pipeline definition. + ParameterObjects []*ParameterObject `locationName:"parameterObjects" type:"list"` + + // The parameter values used in the pipeline definition. + ParameterValues []*ParameterValue `locationName:"parameterValues" type:"list"` + + // The objects defined in the pipeline. + PipelineObjects []*PipelineObject `locationName:"pipelineObjects" type:"list"` +} + +// String returns the string representation +func (s GetPipelineDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPipelineDefinitionOutput) GoString() string { + return s.String() +} + +// SetParameterObjects sets the ParameterObjects field's value. +func (s *GetPipelineDefinitionOutput) SetParameterObjects(v []*ParameterObject) *GetPipelineDefinitionOutput { + s.ParameterObjects = v + return s +} + +// SetParameterValues sets the ParameterValues field's value. +func (s *GetPipelineDefinitionOutput) SetParameterValues(v []*ParameterValue) *GetPipelineDefinitionOutput { + s.ParameterValues = v + return s +} + +// SetPipelineObjects sets the PipelineObjects field's value. +func (s *GetPipelineDefinitionOutput) SetPipelineObjects(v []*PipelineObject) *GetPipelineDefinitionOutput { + s.PipelineObjects = v + return s +} + +// Identity information for the EC2 instance that is hosting the task runner. +// You can get this value by calling a metadata URI from the EC2 instance. For +// more information, see Instance Metadata (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html) +// in the Amazon Elastic Compute Cloud User Guide. Passing in this value proves +// that your task runner is running on an EC2 instance, and ensures the proper +// AWS Data Pipeline service charges are applied to your pipeline. +type InstanceIdentity struct { + _ struct{} `type:"structure"` + + // A description of an EC2 instance that is generated when the instance is launched + // and exposed to the instance via the instance metadata service in the form + // of a JSON representation of an object. + Document *string `locationName:"document" type:"string"` + + // A signature which can be used to verify the accuracy and authenticity of + // the information provided in the instance identity document. + Signature *string `locationName:"signature" type:"string"` +} + +// String returns the string representation +func (s InstanceIdentity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceIdentity) GoString() string { + return s.String() +} + +// SetDocument sets the Document field's value. +func (s *InstanceIdentity) SetDocument(v string) *InstanceIdentity { + s.Document = &v + return s +} + +// SetSignature sets the Signature field's value. +func (s *InstanceIdentity) SetSignature(v string) *InstanceIdentity { + s.Signature = &v + return s +} + +// Contains the parameters for ListPipelines. +type ListPipelinesInput struct { + _ struct{} `type:"structure"` + + // The starting point for the results to be returned. For the first call, this + // value should be empty. As long as there are more results, continue to call + // ListPipelines with the marker value from the previous call to retrieve the + // next set of results. + Marker *string `locationName:"marker" type:"string"` +} + +// String returns the string representation +func (s ListPipelinesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPipelinesInput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *ListPipelinesInput) SetMarker(v string) *ListPipelinesInput { + s.Marker = &v + return s +} + +// Contains the output of ListPipelines. +type ListPipelinesOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether there are more results that can be obtained by a subsequent + // call. + HasMoreResults *bool `locationName:"hasMoreResults" type:"boolean"` + + // The starting point for the next page of results. To view the next page of + // results, call ListPipelinesOutput again with this marker value. If the value + // is null, there are no more results. + Marker *string `locationName:"marker" type:"string"` + + // The pipeline identifiers. If you require additional information about the + // pipelines, you can use these identifiers to call DescribePipelines and GetPipelineDefinition. + // + // PipelineIdList is a required field + PipelineIdList []*PipelineIdName `locationName:"pipelineIdList" type:"list" required:"true"` +} + +// String returns the string representation +func (s ListPipelinesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPipelinesOutput) GoString() string { + return s.String() +} + +// SetHasMoreResults sets the HasMoreResults field's value. +func (s *ListPipelinesOutput) SetHasMoreResults(v bool) *ListPipelinesOutput { + s.HasMoreResults = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *ListPipelinesOutput) SetMarker(v string) *ListPipelinesOutput { + s.Marker = &v + return s +} + +// SetPipelineIdList sets the PipelineIdList field's value. +func (s *ListPipelinesOutput) SetPipelineIdList(v []*PipelineIdName) *ListPipelinesOutput { + s.PipelineIdList = v + return s +} + +// Contains a logical operation for comparing the value of a field with a specified +// value. +type Operator struct { + _ struct{} `type:"structure"` + + // The logical operation to be performed: equal (EQ), equal reference (REF_EQ), + // less than or equal (LE), greater than or equal (GE), or between (BETWEEN). + // Equal reference (REF_EQ) can be used only with reference fields. The other + // comparison types can be used only with String fields. The comparison types + // you can use apply only to certain object fields, as detailed below. + // + // The comparison operators EQ and REF_EQ act on the following fields: + // + // * name + // * @sphere + // * parent + // * @componentParent + // * @instanceParent + // * @status + // * @scheduledStartTime + // * @scheduledEndTime + // * @actualStartTime + // * @actualEndTime + // The comparison operators GE, LE, and BETWEEN act on the following fields: + // + // * @scheduledStartTime + // * @scheduledEndTime + // * @actualStartTime + // * @actualEndTime + // Note that fields beginning with the at sign (@) are read-only and set by + // the web service. When you name fields, you should choose names containing + // only alpha-numeric values, as symbols may be reserved by AWS Data Pipeline. + // User-defined fields that you add to a pipeline should prefix their name with + // the string "my". + Type *string `locationName:"type" type:"string" enum:"OperatorType"` + + // The value that the actual field value will be compared with. + Values []*string `locationName:"values" type:"list"` +} + +// String returns the string representation +func (s Operator) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Operator) GoString() string { + return s.String() +} + +// SetType sets the Type field's value. +func (s *Operator) SetType(v string) *Operator { + s.Type = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Operator) SetValues(v []*string) *Operator { + s.Values = v + return s +} + +// The attributes allowed or specified with a parameter object. +type ParameterAttribute struct { + _ struct{} `type:"structure"` + + // The field identifier. + // + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` + + // The field value, expressed as a String. + // + // StringValue is a required field + StringValue *string `locationName:"stringValue" type:"string" required:"true"` +} + +// String returns the string representation +func (s ParameterAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterAttribute) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParameterAttribute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParameterAttribute"} + 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.StringValue == nil { + invalidParams.Add(request.NewErrParamRequired("StringValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *ParameterAttribute) SetKey(v string) *ParameterAttribute { + s.Key = &v + return s +} + +// SetStringValue sets the StringValue field's value. +func (s *ParameterAttribute) SetStringValue(v string) *ParameterAttribute { + s.StringValue = &v + return s +} + +// Contains information about a parameter object. +type ParameterObject struct { + _ struct{} `type:"structure"` + + // The attributes of the parameter object. + // + // Attributes is a required field + Attributes []*ParameterAttribute `locationName:"attributes" type:"list" required:"true"` + + // The ID of the parameter object. + // + // Id is a required field + Id *string `locationName:"id" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ParameterObject) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterObject) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParameterObject) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParameterObject"} + if s.Attributes == nil { + invalidParams.Add(request.NewErrParamRequired("Attributes")) + } + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.Attributes != nil { + for i, v := range s.Attributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributes sets the Attributes field's value. +func (s *ParameterObject) SetAttributes(v []*ParameterAttribute) *ParameterObject { + s.Attributes = v + return s +} + +// SetId sets the Id field's value. +func (s *ParameterObject) SetId(v string) *ParameterObject { + s.Id = &v + return s +} + +// A value or list of parameter values. +type ParameterValue struct { + _ struct{} `type:"structure"` + + // The ID of the parameter value. + // + // Id is a required field + Id *string `locationName:"id" min:"1" type:"string" required:"true"` + + // The field value, expressed as a String. + // + // StringValue is a required field + StringValue *string `locationName:"stringValue" type:"string" required:"true"` +} + +// String returns the string representation +func (s ParameterValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParameterValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParameterValue"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.StringValue == nil { + invalidParams.Add(request.NewErrParamRequired("StringValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *ParameterValue) SetId(v string) *ParameterValue { + s.Id = &v + return s +} + +// SetStringValue sets the StringValue field's value. +func (s *ParameterValue) SetStringValue(v string) *ParameterValue { + s.StringValue = &v + return s +} + +// Contains pipeline metadata. +type PipelineDescription struct { + _ struct{} `type:"structure"` + + // Description of the pipeline. + Description *string `locationName:"description" type:"string"` + + // A list of read-only fields that contain metadata about the pipeline: @userId, + // @accountId, and @pipelineState. + // + // Fields is a required field + Fields []*Field `locationName:"fields" type:"list" required:"true"` + + // The name of the pipeline. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The pipeline identifier that was assigned by AWS Data Pipeline. This is a + // string of the form df-297EG78HU43EEXAMPLE. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` + + // A list of tags to associated with a pipeline. Tags let you control access + // to pipelines. For more information, see Controlling User Access to Pipelines + // (http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html) + // in the AWS Data Pipeline Developer Guide. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation +func (s PipelineDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PipelineDescription) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *PipelineDescription) SetDescription(v string) *PipelineDescription { + s.Description = &v + return s +} + +// SetFields sets the Fields field's value. +func (s *PipelineDescription) SetFields(v []*Field) *PipelineDescription { + s.Fields = v + return s +} + +// SetName sets the Name field's value. +func (s *PipelineDescription) SetName(v string) *PipelineDescription { + s.Name = &v + return s +} + +// SetPipelineId sets the PipelineId field's value. +func (s *PipelineDescription) SetPipelineId(v string) *PipelineDescription { + s.PipelineId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *PipelineDescription) SetTags(v []*Tag) *PipelineDescription { + s.Tags = v + return s +} + +// Contains the name and identifier of a pipeline. +type PipelineIdName struct { + _ struct{} `type:"structure"` + + // The ID of the pipeline that was assigned by AWS Data Pipeline. This is a + // string of the form df-297EG78HU43EEXAMPLE. + Id *string `locationName:"id" min:"1" type:"string"` + + // The name of the pipeline. + Name *string `locationName:"name" min:"1" type:"string"` +} + +// String returns the string representation +func (s PipelineIdName) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PipelineIdName) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *PipelineIdName) SetId(v string) *PipelineIdName { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *PipelineIdName) SetName(v string) *PipelineIdName { + s.Name = &v + return s +} + +// Contains information about a pipeline object. This can be a logical, physical, +// or physical attempt pipeline object. The complete set of components of a +// pipeline defines the pipeline. +type PipelineObject struct { + _ struct{} `type:"structure"` + + // Key-value pairs that define the properties of the object. + // + // Fields is a required field + Fields []*Field `locationName:"fields" type:"list" required:"true"` + + // The ID of the object. + // + // Id is a required field + Id *string `locationName:"id" min:"1" type:"string" required:"true"` + + // The name of the object. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s PipelineObject) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PipelineObject) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PipelineObject) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PipelineObject"} + if s.Fields == nil { + invalidParams.Add(request.NewErrParamRequired("Fields")) + } + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 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.Fields != nil { + for i, v := range s.Fields { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Fields", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFields sets the Fields field's value. +func (s *PipelineObject) SetFields(v []*Field) *PipelineObject { + s.Fields = v + return s +} + +// SetId sets the Id field's value. +func (s *PipelineObject) SetId(v string) *PipelineObject { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *PipelineObject) SetName(v string) *PipelineObject { + s.Name = &v + return s +} + +// Contains the parameters for PollForTask. +type PollForTaskInput struct { + _ struct{} `type:"structure"` + + // The public DNS name of the calling task runner. + Hostname *string `locationName:"hostname" min:"1" type:"string"` + + // Identity information for the EC2 instance that is hosting the task runner. + // You can get this value from the instance using http://169.254.169.254/latest/meta-data/instance-id. + // For more information, see Instance Metadata (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html) + // in the Amazon Elastic Compute Cloud User Guide. Passing in this value proves + // that your task runner is running on an EC2 instance, and ensures the proper + // AWS Data Pipeline service charges are applied to your pipeline. + InstanceIdentity *InstanceIdentity `locationName:"instanceIdentity" type:"structure"` + + // The type of task the task runner is configured to accept and process. The + // worker group is set as a field on objects in the pipeline when they are created. + // You can only specify a single value for workerGroup in the call to PollForTask. + // There are no wildcard values permitted in workerGroup; the string must be + // an exact, case-sensitive, match. + // + // WorkerGroup is a required field + WorkerGroup *string `locationName:"workerGroup" type:"string" required:"true"` +} + +// String returns the string representation +func (s PollForTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PollForTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PollForTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PollForTaskInput"} + if s.Hostname != nil && len(*s.Hostname) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Hostname", 1)) + } + if s.WorkerGroup == nil { + invalidParams.Add(request.NewErrParamRequired("WorkerGroup")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHostname sets the Hostname field's value. +func (s *PollForTaskInput) SetHostname(v string) *PollForTaskInput { + s.Hostname = &v + return s +} + +// SetInstanceIdentity sets the InstanceIdentity field's value. +func (s *PollForTaskInput) SetInstanceIdentity(v *InstanceIdentity) *PollForTaskInput { + s.InstanceIdentity = v + return s +} + +// SetWorkerGroup sets the WorkerGroup field's value. +func (s *PollForTaskInput) SetWorkerGroup(v string) *PollForTaskInput { + s.WorkerGroup = &v + return s +} + +// Contains the output of PollForTask. +type PollForTaskOutput struct { + _ struct{} `type:"structure"` + + // The information needed to complete the task that is being assigned to the + // task runner. One of the fields returned in this object is taskId, which contains + // an identifier for the task being assigned. The calling task runner uses taskId + // in subsequent calls to ReportTaskProgress and SetTaskStatus. + TaskObject *TaskObject `locationName:"taskObject" type:"structure"` +} + +// String returns the string representation +func (s PollForTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PollForTaskOutput) GoString() string { + return s.String() +} + +// SetTaskObject sets the TaskObject field's value. +func (s *PollForTaskOutput) SetTaskObject(v *TaskObject) *PollForTaskOutput { + s.TaskObject = v + return s +} + +// Contains the parameters for PutPipelineDefinition. +type PutPipelineDefinitionInput struct { + _ struct{} `type:"structure"` + + // The parameter objects used with the pipeline. + ParameterObjects []*ParameterObject `locationName:"parameterObjects" type:"list"` + + // The parameter values used with the pipeline. + ParameterValues []*ParameterValue `locationName:"parameterValues" type:"list"` + + // The ID of the pipeline. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` + + // The objects that define the pipeline. These objects overwrite the existing + // pipeline definition. + // + // PipelineObjects is a required field + PipelineObjects []*PipelineObject `locationName:"pipelineObjects" type:"list" required:"true"` +} + +// String returns the string representation +func (s PutPipelineDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutPipelineDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutPipelineDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutPipelineDefinitionInput"} + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + if s.PipelineId != nil && len(*s.PipelineId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1)) + } + if s.PipelineObjects == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineObjects")) + } + if s.ParameterObjects != nil { + for i, v := range s.ParameterObjects { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterObjects", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ParameterValues != nil { + for i, v := range s.ParameterValues { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterValues", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PipelineObjects != nil { + for i, v := range s.PipelineObjects { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PipelineObjects", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetParameterObjects sets the ParameterObjects field's value. +func (s *PutPipelineDefinitionInput) SetParameterObjects(v []*ParameterObject) *PutPipelineDefinitionInput { + s.ParameterObjects = v + return s +} + +// SetParameterValues sets the ParameterValues field's value. +func (s *PutPipelineDefinitionInput) SetParameterValues(v []*ParameterValue) *PutPipelineDefinitionInput { + s.ParameterValues = v + return s +} + +// SetPipelineId sets the PipelineId field's value. +func (s *PutPipelineDefinitionInput) SetPipelineId(v string) *PutPipelineDefinitionInput { + s.PipelineId = &v + return s +} + +// SetPipelineObjects sets the PipelineObjects field's value. +func (s *PutPipelineDefinitionInput) SetPipelineObjects(v []*PipelineObject) *PutPipelineDefinitionInput { + s.PipelineObjects = v + return s +} + +// Contains the output of PutPipelineDefinition. +type PutPipelineDefinitionOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether there were validation errors, and the pipeline definition + // is stored but cannot be activated until you correct the pipeline and call + // PutPipelineDefinition to commit the corrected pipeline. + // + // Errored is a required field + Errored *bool `locationName:"errored" type:"boolean" required:"true"` + + // The validation errors that are associated with the objects defined in pipelineObjects. + ValidationErrors []*ValidationError `locationName:"validationErrors" type:"list"` + + // The validation warnings that are associated with the objects defined in pipelineObjects. + ValidationWarnings []*ValidationWarning `locationName:"validationWarnings" type:"list"` +} + +// String returns the string representation +func (s PutPipelineDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutPipelineDefinitionOutput) GoString() string { + return s.String() +} + +// SetErrored sets the Errored field's value. +func (s *PutPipelineDefinitionOutput) SetErrored(v bool) *PutPipelineDefinitionOutput { + s.Errored = &v + return s +} + +// SetValidationErrors sets the ValidationErrors field's value. +func (s *PutPipelineDefinitionOutput) SetValidationErrors(v []*ValidationError) *PutPipelineDefinitionOutput { + s.ValidationErrors = v + return s +} + +// SetValidationWarnings sets the ValidationWarnings field's value. +func (s *PutPipelineDefinitionOutput) SetValidationWarnings(v []*ValidationWarning) *PutPipelineDefinitionOutput { + s.ValidationWarnings = v + return s +} + +// Defines the query to run against an object. +type Query struct { + _ struct{} `type:"structure"` + + // List of selectors that define the query. An object must satisfy all of the + // selectors to match the query. + Selectors []*Selector `locationName:"selectors" type:"list"` +} + +// String returns the string representation +func (s Query) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Query) GoString() string { + return s.String() +} + +// SetSelectors sets the Selectors field's value. +func (s *Query) SetSelectors(v []*Selector) *Query { + s.Selectors = v + return s +} + +// Contains the parameters for QueryObjects. +type QueryObjectsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of object names that QueryObjects will return in a single + // call. The default value is 100. + Limit *int64 `locationName:"limit" type:"integer"` + + // The starting point for the results to be returned. For the first call, this + // value should be empty. As long as there are more results, continue to call + // QueryObjects with the marker value from the previous call to retrieve the + // next set of results. + Marker *string `locationName:"marker" type:"string"` + + // The ID of the pipeline. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` + + // The query that defines the objects to be returned. The Query object can contain + // a maximum of ten selectors. The conditions in the query are limited to top-level + // String fields in the object. These filters can be applied to components, + // instances, and attempts. + Query *Query `locationName:"query" type:"structure"` + + // Indicates whether the query applies to components or instances. The possible + // values are: COMPONENT, INSTANCE, and ATTEMPT. + // + // Sphere is a required field + Sphere *string `locationName:"sphere" type:"string" required:"true"` +} + +// String returns the string representation +func (s QueryObjectsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueryObjectsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *QueryObjectsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "QueryObjectsInput"} + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + if s.PipelineId != nil && len(*s.PipelineId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1)) + } + if s.Sphere == nil { + invalidParams.Add(request.NewErrParamRequired("Sphere")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *QueryObjectsInput) SetLimit(v int64) *QueryObjectsInput { + s.Limit = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *QueryObjectsInput) SetMarker(v string) *QueryObjectsInput { + s.Marker = &v + return s +} + +// SetPipelineId sets the PipelineId field's value. +func (s *QueryObjectsInput) SetPipelineId(v string) *QueryObjectsInput { + s.PipelineId = &v + return s +} + +// SetQuery sets the Query field's value. +func (s *QueryObjectsInput) SetQuery(v *Query) *QueryObjectsInput { + s.Query = v + return s +} + +// SetSphere sets the Sphere field's value. +func (s *QueryObjectsInput) SetSphere(v string) *QueryObjectsInput { + s.Sphere = &v + return s +} + +// Contains the output of QueryObjects. +type QueryObjectsOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether there are more results that can be obtained by a subsequent + // call. + HasMoreResults *bool `locationName:"hasMoreResults" type:"boolean"` + + // The identifiers that match the query selectors. + Ids []*string `locationName:"ids" type:"list"` + + // The starting point for the next page of results. To view the next page of + // results, call QueryObjects again with this marker value. If the value is + // null, there are no more results. + Marker *string `locationName:"marker" type:"string"` +} + +// String returns the string representation +func (s QueryObjectsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueryObjectsOutput) GoString() string { + return s.String() +} + +// SetHasMoreResults sets the HasMoreResults field's value. +func (s *QueryObjectsOutput) SetHasMoreResults(v bool) *QueryObjectsOutput { + s.HasMoreResults = &v + return s +} + +// SetIds sets the Ids field's value. +func (s *QueryObjectsOutput) SetIds(v []*string) *QueryObjectsOutput { + s.Ids = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *QueryObjectsOutput) SetMarker(v string) *QueryObjectsOutput { + s.Marker = &v + return s +} + +// Contains the parameters for RemoveTags. +type RemoveTagsInput struct { + _ struct{} `type:"structure"` + + // The ID of the pipeline. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` + + // The keys of the tags to remove. + // + // TagKeys is a required field + TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s RemoveTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemoveTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"} + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + if s.PipelineId != nil && len(*s.PipelineId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPipelineId sets the PipelineId field's value. +func (s *RemoveTagsInput) SetPipelineId(v string) *RemoveTagsInput { + s.PipelineId = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput { + s.TagKeys = v + return s +} + +// Contains the output of RemoveTags. +type RemoveTagsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RemoveTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveTagsOutput) GoString() string { + return s.String() +} + +// Contains the parameters for ReportTaskProgress. +type ReportTaskProgressInput struct { + _ struct{} `type:"structure"` + + // Key-value pairs that define the properties of the ReportTaskProgressInput + // object. + Fields []*Field `locationName:"fields" type:"list"` + + // The ID of the task assigned to the task runner. This value is provided in + // the response for PollForTask. + // + // TaskId is a required field + TaskId *string `locationName:"taskId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ReportTaskProgressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReportTaskProgressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReportTaskProgressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReportTaskProgressInput"} + if s.TaskId == nil { + invalidParams.Add(request.NewErrParamRequired("TaskId")) + } + if s.TaskId != nil && len(*s.TaskId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TaskId", 1)) + } + if s.Fields != nil { + for i, v := range s.Fields { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Fields", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFields sets the Fields field's value. +func (s *ReportTaskProgressInput) SetFields(v []*Field) *ReportTaskProgressInput { + s.Fields = v + return s +} + +// SetTaskId sets the TaskId field's value. +func (s *ReportTaskProgressInput) SetTaskId(v string) *ReportTaskProgressInput { + s.TaskId = &v + return s +} + +// Contains the output of ReportTaskProgress. +type ReportTaskProgressOutput struct { + _ struct{} `type:"structure"` + + // If true, the calling task runner should cancel processing of the task. The + // task runner does not need to call SetTaskStatus for canceled tasks. + // + // Canceled is a required field + Canceled *bool `locationName:"canceled" type:"boolean" required:"true"` +} + +// String returns the string representation +func (s ReportTaskProgressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReportTaskProgressOutput) GoString() string { + return s.String() +} + +// SetCanceled sets the Canceled field's value. +func (s *ReportTaskProgressOutput) SetCanceled(v bool) *ReportTaskProgressOutput { + s.Canceled = &v + return s +} + +// Contains the parameters for ReportTaskRunnerHeartbeat. +type ReportTaskRunnerHeartbeatInput struct { + _ struct{} `type:"structure"` + + // The public DNS name of the task runner. + Hostname *string `locationName:"hostname" min:"1" type:"string"` + + // The ID of the task runner. This value should be unique across your AWS account. + // In the case of AWS Data Pipeline Task Runner launched on a resource managed + // by AWS Data Pipeline, the web service provides a unique identifier when it + // launches the application. If you have written a custom task runner, you should + // assign a unique identifier for the task runner. + // + // TaskrunnerId is a required field + TaskrunnerId *string `locationName:"taskrunnerId" min:"1" type:"string" required:"true"` + + // The type of task the task runner is configured to accept and process. The + // worker group is set as a field on objects in the pipeline when they are created. + // You can only specify a single value for workerGroup. There are no wildcard + // values permitted in workerGroup; the string must be an exact, case-sensitive, + // match. + WorkerGroup *string `locationName:"workerGroup" type:"string"` +} + +// String returns the string representation +func (s ReportTaskRunnerHeartbeatInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReportTaskRunnerHeartbeatInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReportTaskRunnerHeartbeatInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReportTaskRunnerHeartbeatInput"} + if s.Hostname != nil && len(*s.Hostname) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Hostname", 1)) + } + if s.TaskrunnerId == nil { + invalidParams.Add(request.NewErrParamRequired("TaskrunnerId")) + } + if s.TaskrunnerId != nil && len(*s.TaskrunnerId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TaskrunnerId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHostname sets the Hostname field's value. +func (s *ReportTaskRunnerHeartbeatInput) SetHostname(v string) *ReportTaskRunnerHeartbeatInput { + s.Hostname = &v + return s +} + +// SetTaskrunnerId sets the TaskrunnerId field's value. +func (s *ReportTaskRunnerHeartbeatInput) SetTaskrunnerId(v string) *ReportTaskRunnerHeartbeatInput { + s.TaskrunnerId = &v + return s +} + +// SetWorkerGroup sets the WorkerGroup field's value. +func (s *ReportTaskRunnerHeartbeatInput) SetWorkerGroup(v string) *ReportTaskRunnerHeartbeatInput { + s.WorkerGroup = &v + return s +} + +// Contains the output of ReportTaskRunnerHeartbeat. +type ReportTaskRunnerHeartbeatOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether the calling task runner should terminate. + // + // Terminate is a required field + Terminate *bool `locationName:"terminate" type:"boolean" required:"true"` +} + +// String returns the string representation +func (s ReportTaskRunnerHeartbeatOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReportTaskRunnerHeartbeatOutput) GoString() string { + return s.String() +} + +// SetTerminate sets the Terminate field's value. +func (s *ReportTaskRunnerHeartbeatOutput) SetTerminate(v bool) *ReportTaskRunnerHeartbeatOutput { + s.Terminate = &v + return s +} + +// A comparision that is used to determine whether a query should return this +// object. +type Selector struct { + _ struct{} `type:"structure"` + + // The name of the field that the operator will be applied to. The field name + // is the "key" portion of the field definition in the pipeline definition syntax + // that is used by the AWS Data Pipeline API. If the field is not set on the + // object, the condition fails. + FieldName *string `locationName:"fieldName" type:"string"` + + // Contains a logical operation for comparing the value of a field with a specified + // value. + Operator *Operator `locationName:"operator" type:"structure"` +} + +// String returns the string representation +func (s Selector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Selector) GoString() string { + return s.String() +} + +// SetFieldName sets the FieldName field's value. +func (s *Selector) SetFieldName(v string) *Selector { + s.FieldName = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *Selector) SetOperator(v *Operator) *Selector { + s.Operator = v + return s +} + +// Contains the parameters for SetStatus. +type SetStatusInput struct { + _ struct{} `type:"structure"` + + // The IDs of the objects. The corresponding objects can be either physical + // or components, but not a mix of both types. + // + // ObjectIds is a required field + ObjectIds []*string `locationName:"objectIds" type:"list" required:"true"` + + // The ID of the pipeline that contains the objects. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` + + // The status to be set on all the objects specified in objectIds. For components, + // use PAUSE or RESUME. For instances, use TRY_CANCEL, RERUN, or MARK_FINISHED. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true"` +} + +// String returns the string representation +func (s SetStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetStatusInput"} + if s.ObjectIds == nil { + invalidParams.Add(request.NewErrParamRequired("ObjectIds")) + } + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + if s.PipelineId != nil && len(*s.PipelineId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1)) + } + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetObjectIds sets the ObjectIds field's value. +func (s *SetStatusInput) SetObjectIds(v []*string) *SetStatusInput { + s.ObjectIds = v + return s +} + +// SetPipelineId sets the PipelineId field's value. +func (s *SetStatusInput) SetPipelineId(v string) *SetStatusInput { + s.PipelineId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SetStatusInput) SetStatus(v string) *SetStatusInput { + s.Status = &v + return s +} + +type SetStatusOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetStatusOutput) GoString() string { + return s.String() +} + +// Contains the parameters for SetTaskStatus. +type SetTaskStatusInput struct { + _ struct{} `type:"structure"` + + // If an error occurred during the task, this value specifies the error code. + // This value is set on the physical attempt object. It is used to display error + // information to the user. It should not start with string "Service_" which + // is reserved by the system. + ErrorId *string `locationName:"errorId" type:"string"` + + // If an error occurred during the task, this value specifies a text description + // of the error. This value is set on the physical attempt object. It is used + // to display error information to the user. The web service does not parse + // this value. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // If an error occurred during the task, this value specifies the stack trace + // associated with the error. This value is set on the physical attempt object. + // It is used to display error information to the user. The web service does + // not parse this value. + ErrorStackTrace *string `locationName:"errorStackTrace" type:"string"` + + // The ID of the task assigned to the task runner. This value is provided in + // the response for PollForTask. + // + // TaskId is a required field + TaskId *string `locationName:"taskId" min:"1" type:"string" required:"true"` + + // If FINISHED, the task successfully completed. If FAILED, the task ended unsuccessfully. + // Preconditions use false. + // + // TaskStatus is a required field + TaskStatus *string `locationName:"taskStatus" type:"string" required:"true" enum:"TaskStatus"` +} + +// String returns the string representation +func (s SetTaskStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetTaskStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetTaskStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetTaskStatusInput"} + if s.TaskId == nil { + invalidParams.Add(request.NewErrParamRequired("TaskId")) + } + if s.TaskId != nil && len(*s.TaskId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TaskId", 1)) + } + if s.TaskStatus == nil { + invalidParams.Add(request.NewErrParamRequired("TaskStatus")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetErrorId sets the ErrorId field's value. +func (s *SetTaskStatusInput) SetErrorId(v string) *SetTaskStatusInput { + s.ErrorId = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *SetTaskStatusInput) SetErrorMessage(v string) *SetTaskStatusInput { + s.ErrorMessage = &v + return s +} + +// SetErrorStackTrace sets the ErrorStackTrace field's value. +func (s *SetTaskStatusInput) SetErrorStackTrace(v string) *SetTaskStatusInput { + s.ErrorStackTrace = &v + return s +} + +// SetTaskId sets the TaskId field's value. +func (s *SetTaskStatusInput) SetTaskId(v string) *SetTaskStatusInput { + s.TaskId = &v + return s +} + +// SetTaskStatus sets the TaskStatus field's value. +func (s *SetTaskStatusInput) SetTaskStatus(v string) *SetTaskStatusInput { + s.TaskStatus = &v + return s +} + +// Contains the output of SetTaskStatus. +type SetTaskStatusOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetTaskStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetTaskStatusOutput) GoString() string { + return s.String() +} + +// Tags are key/value pairs defined by a user and associated with a pipeline +// to control access. AWS Data Pipeline allows you to associate ten tags per +// pipeline. For more information, see Controlling User Access to Pipelines +// (http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html) +// in the AWS Data Pipeline Developer Guide. +type Tag struct { + _ struct{} `type:"structure"` + + // The key name of a tag defined by a user. For more information, see Controlling + // User Access to Pipelines (http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html) + // in the AWS Data Pipeline Developer Guide. + // + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` + + // The optional value portion of a tag defined by a user. For more information, + // see Controlling User Access to Pipelines (http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html) + // in the AWS Data Pipeline Developer Guide. + // + // Value is a required field + Value *string `locationName:"value" 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 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 +} + +// Contains information about a pipeline task that is assigned to a task runner. +type TaskObject struct { + _ struct{} `type:"structure"` + + // The ID of the pipeline task attempt object. AWS Data Pipeline uses this value + // to track how many times a task is attempted. + AttemptId *string `locationName:"attemptId" min:"1" type:"string"` + + // Connection information for the location where the task runner will publish + // the output of the task. + Objects map[string]*PipelineObject `locationName:"objects" type:"map"` + + // The ID of the pipeline that provided the task. + PipelineId *string `locationName:"pipelineId" min:"1" type:"string"` + + // An internal identifier for the task. This ID is passed to the SetTaskStatus + // and ReportTaskProgress actions. + TaskId *string `locationName:"taskId" min:"1" type:"string"` +} + +// String returns the string representation +func (s TaskObject) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TaskObject) GoString() string { + return s.String() +} + +// SetAttemptId sets the AttemptId field's value. +func (s *TaskObject) SetAttemptId(v string) *TaskObject { + s.AttemptId = &v + return s +} + +// SetObjects sets the Objects field's value. +func (s *TaskObject) SetObjects(v map[string]*PipelineObject) *TaskObject { + s.Objects = v + return s +} + +// SetPipelineId sets the PipelineId field's value. +func (s *TaskObject) SetPipelineId(v string) *TaskObject { + s.PipelineId = &v + return s +} + +// SetTaskId sets the TaskId field's value. +func (s *TaskObject) SetTaskId(v string) *TaskObject { + s.TaskId = &v + return s +} + +// Contains the parameters for ValidatePipelineDefinition. +type ValidatePipelineDefinitionInput struct { + _ struct{} `type:"structure"` + + // The parameter objects used with the pipeline. + ParameterObjects []*ParameterObject `locationName:"parameterObjects" type:"list"` + + // The parameter values used with the pipeline. + ParameterValues []*ParameterValue `locationName:"parameterValues" type:"list"` + + // The ID of the pipeline. + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"` + + // The objects that define the pipeline changes to validate against the pipeline. + // + // PipelineObjects is a required field + PipelineObjects []*PipelineObject `locationName:"pipelineObjects" type:"list" required:"true"` +} + +// String returns the string representation +func (s ValidatePipelineDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidatePipelineDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ValidatePipelineDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ValidatePipelineDefinitionInput"} + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + if s.PipelineId != nil && len(*s.PipelineId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1)) + } + if s.PipelineObjects == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineObjects")) + } + if s.ParameterObjects != nil { + for i, v := range s.ParameterObjects { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterObjects", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ParameterValues != nil { + for i, v := range s.ParameterValues { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterValues", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PipelineObjects != nil { + for i, v := range s.PipelineObjects { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PipelineObjects", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetParameterObjects sets the ParameterObjects field's value. +func (s *ValidatePipelineDefinitionInput) SetParameterObjects(v []*ParameterObject) *ValidatePipelineDefinitionInput { + s.ParameterObjects = v + return s +} + +// SetParameterValues sets the ParameterValues field's value. +func (s *ValidatePipelineDefinitionInput) SetParameterValues(v []*ParameterValue) *ValidatePipelineDefinitionInput { + s.ParameterValues = v + return s +} + +// SetPipelineId sets the PipelineId field's value. +func (s *ValidatePipelineDefinitionInput) SetPipelineId(v string) *ValidatePipelineDefinitionInput { + s.PipelineId = &v + return s +} + +// SetPipelineObjects sets the PipelineObjects field's value. +func (s *ValidatePipelineDefinitionInput) SetPipelineObjects(v []*PipelineObject) *ValidatePipelineDefinitionInput { + s.PipelineObjects = v + return s +} + +// Contains the output of ValidatePipelineDefinition. +type ValidatePipelineDefinitionOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether there were validation errors. + // + // Errored is a required field + Errored *bool `locationName:"errored" type:"boolean" required:"true"` + + // Any validation errors that were found. + ValidationErrors []*ValidationError `locationName:"validationErrors" type:"list"` + + // Any validation warnings that were found. + ValidationWarnings []*ValidationWarning `locationName:"validationWarnings" type:"list"` +} + +// String returns the string representation +func (s ValidatePipelineDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidatePipelineDefinitionOutput) GoString() string { + return s.String() +} + +// SetErrored sets the Errored field's value. +func (s *ValidatePipelineDefinitionOutput) SetErrored(v bool) *ValidatePipelineDefinitionOutput { + s.Errored = &v + return s +} + +// SetValidationErrors sets the ValidationErrors field's value. +func (s *ValidatePipelineDefinitionOutput) SetValidationErrors(v []*ValidationError) *ValidatePipelineDefinitionOutput { + s.ValidationErrors = v + return s +} + +// SetValidationWarnings sets the ValidationWarnings field's value. +func (s *ValidatePipelineDefinitionOutput) SetValidationWarnings(v []*ValidationWarning) *ValidatePipelineDefinitionOutput { + s.ValidationWarnings = v + return s +} + +// Defines a validation error. Validation errors prevent pipeline activation. +// The set of validation errors that can be returned are defined by AWS Data +// Pipeline. +type ValidationError struct { + _ struct{} `type:"structure"` + + // A description of the validation error. + Errors []*string `locationName:"errors" type:"list"` + + // The identifier of the object that contains the validation error. + Id *string `locationName:"id" min:"1" type:"string"` +} + +// String returns the string representation +func (s ValidationError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidationError) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *ValidationError) SetErrors(v []*string) *ValidationError { + s.Errors = v + return s +} + +// SetId sets the Id field's value. +func (s *ValidationError) SetId(v string) *ValidationError { + s.Id = &v + return s +} + +// Defines a validation warning. Validation warnings do not prevent pipeline +// activation. The set of validation warnings that can be returned are defined +// by AWS Data Pipeline. +type ValidationWarning struct { + _ struct{} `type:"structure"` + + // The identifier of the object that contains the validation warning. + Id *string `locationName:"id" min:"1" type:"string"` + + // A description of the validation warning. + Warnings []*string `locationName:"warnings" type:"list"` +} + +// String returns the string representation +func (s ValidationWarning) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidationWarning) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *ValidationWarning) SetId(v string) *ValidationWarning { + s.Id = &v + return s +} + +// SetWarnings sets the Warnings field's value. +func (s *ValidationWarning) SetWarnings(v []*string) *ValidationWarning { + s.Warnings = v + return s +} + +const ( + // OperatorTypeEq is a OperatorType enum value + OperatorTypeEq = "EQ" + + // OperatorTypeRefEq is a OperatorType enum value + OperatorTypeRefEq = "REF_EQ" + + // OperatorTypeLe is a OperatorType enum value + OperatorTypeLe = "LE" + + // OperatorTypeGe is a OperatorType enum value + OperatorTypeGe = "GE" + + // OperatorTypeBetween is a OperatorType enum value + OperatorTypeBetween = "BETWEEN" +) + +const ( + // TaskStatusFinished is a TaskStatus enum value + TaskStatusFinished = "FINISHED" + + // TaskStatusFailed is a TaskStatus enum value + TaskStatusFailed = "FAILED" + + // TaskStatusFalse is a TaskStatus enum value + TaskStatusFalse = "FALSE" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/datapipeline/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/datapipeline/doc.go new file mode 100644 index 00000000000..79ee00a1eec --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/datapipeline/doc.go @@ -0,0 +1,49 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package datapipeline provides the client and types for making API +// requests to AWS Data Pipeline. +// +// AWS Data Pipeline configures and manages a data-driven workflow called a +// pipeline. AWS Data Pipeline handles the details of scheduling and ensuring +// that data dependencies are met so that your application can focus on processing +// the data. +// +// AWS Data Pipeline provides a JAR implementation of a task runner called AWS +// Data Pipeline Task Runner. AWS Data Pipeline Task Runner provides logic for +// common data management scenarios, such as performing database queries and +// running data analysis using Amazon Elastic MapReduce (Amazon EMR). You can +// use AWS Data Pipeline Task Runner as your task runner, or you can write your +// own task runner to provide custom data management. +// +// AWS Data Pipeline implements two main sets of functionality. Use the first +// set to create a pipeline and define data sources, schedules, dependencies, +// and the transforms to be performed on the data. Use the second set in your +// task runner application to receive the next task ready for processing. The +// logic for performing the task, such as querying the data, running data analysis, +// or converting the data from one format to another, is contained within the +// task runner. The task runner performs the task assigned to it by the web +// service, reporting progress to the web service as it does so. When the task +// is done, the task runner reports the final success or failure of the task +// to the web service. +// +// See https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29 for more information on this service. +// +// See datapipeline package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/datapipeline/ +// +// Using the Client +// +// To contact AWS Data Pipeline 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 Data Pipeline client DataPipeline for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/datapipeline/#New +package datapipeline diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/datapipeline/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/datapipeline/errors.go new file mode 100644 index 00000000000..f60b7da9f17 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/datapipeline/errors.go @@ -0,0 +1,39 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package datapipeline + +const ( + + // ErrCodeInternalServiceError for service response error code + // "InternalServiceError". + // + // An internal service error occurred. + ErrCodeInternalServiceError = "InternalServiceError" + + // ErrCodeInvalidRequestException for service response error code + // "InvalidRequestException". + // + // The request was not valid. Verify that your request was properly formatted, + // that the signature was generated with the correct credentials, and that you + // haven't exceeded any of the service limits for your account. + ErrCodeInvalidRequestException = "InvalidRequestException" + + // ErrCodePipelineDeletedException for service response error code + // "PipelineDeletedException". + // + // The specified pipeline has been deleted. + ErrCodePipelineDeletedException = "PipelineDeletedException" + + // ErrCodePipelineNotFoundException for service response error code + // "PipelineNotFoundException". + // + // The specified pipeline was not found. Verify that you used the correct user + // and account identifiers. + ErrCodePipelineNotFoundException = "PipelineNotFoundException" + + // ErrCodeTaskNotFoundException for service response error code + // "TaskNotFoundException". + // + // The specified task was not found. + ErrCodeTaskNotFoundException = "TaskNotFoundException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/datapipeline/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/datapipeline/service.go new file mode 100644 index 00000000000..ebd5c29b2fc --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/datapipeline/service.go @@ -0,0 +1,97 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package datapipeline + +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" +) + +// DataPipeline provides the API operation methods for making requests to +// AWS Data Pipeline. See this package's package overview docs +// for details on the service. +// +// DataPipeline methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type DataPipeline 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 = "datapipeline" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "Data Pipeline" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the DataPipeline 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 DataPipeline client from just a session. +// svc := datapipeline.New(mySession) +// +// // Create a DataPipeline client with additional configuration +// svc := datapipeline.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *DataPipeline { + 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) *DataPipeline { + svc := &DataPipeline{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2012-10-29", + JSONVersion: "1.1", + TargetPrefix: "DataPipeline", + }, + 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 DataPipeline operation and runs any +// custom request initialization. +func (c *DataPipeline) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go index fcda3756803..3183204612f 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go @@ -6630,6 +6630,8 @@ type Artifact struct { // // * MESSAGE_LOG: The message log type. // + // * VIDEO_LOG: The video log type. + // // * RESULT_LOG: The result log type. // // * SERVICE_LOG: The service log type. @@ -6668,6 +6670,14 @@ type Artifact struct { // * APPLICATION_CRASH_REPORT: The application crash report output type. // // * XCTEST_LOG: The XCode test output type. + // + // * VIDEO: The Video output type. + // + // * CUSTOMER_ARTIFACT:The Customer Artifact output type. + // + // * CUSTOMER_ARTIFACT_LOG: The Customer Artifact Log output type. + // + // * TESTSPEC_OUTPUT: The Test Spec Output type. Type *string `locationName:"type" type:"string" enum:"ArtifactType"` // The pre-signed Amazon S3 URL that can be used with a corresponding GET request @@ -6845,6 +6855,16 @@ type CreateDevicePoolInput struct { // The device pool's description. Description *string `locationName:"description" type:"string"` + // The number of devices that Device Farm can add to your device pool. Device + // Farm adds devices that are available and that meet the criteria that you + // assign for the rules parameter. Depending on how many devices meet these + // constraints, your device pool might contain fewer devices than the value + // for this parameter. + // + // By specifying the maximum number of devices, you can control the costs that + // you incur by running tests. + MaxDevices *int64 `locationName:"maxDevices" type:"integer"` + // The device pool's name. // // Name is a required field @@ -6899,6 +6919,12 @@ func (s *CreateDevicePoolInput) SetDescription(v string) *CreateDevicePoolInput return s } +// SetMaxDevices sets the MaxDevices field's value. +func (s *CreateDevicePoolInput) SetMaxDevices(v int64) *CreateDevicePoolInput { + s.MaxDevices = &v + return s +} + // SetName sets the Name field's value. func (s *CreateDevicePoolInput) SetName(v string) *CreateDevicePoolInput { s.Name = &v @@ -7569,13 +7595,24 @@ type CreateUploadInput struct { // // * APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload. // + // * APPIUM_NODE_TEST_PACKAGE: An Appium Node.js test package upload. + // + // * APPIUM_RUBY_TEST_PACKAGE: An Appium Ruby test package upload. + // // * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package - // upload. + // upload for a web app. // // * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package - // upload. + // upload for a web app. // - // * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload. + // * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload + // for a web app. + // + // * APPIUM_WEB_NODE_TEST_PACKAGE: An Appium Node.js test package upload + // for a web app. + // + // * APPIUM_WEB_RUBY_TEST_PACKAGE: An Appium Ruby test package upload for + // a web app. // // * CALABASH_TEST_PACKAGE: A Calabash test package upload. // @@ -7595,11 +7632,24 @@ type CreateUploadInput struct { // // * APPIUM_PYTHON_TEST_SPEC: An Appium Python test spec upload. // - // * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload. + // * APPIUM_NODE_TEST_SPEC: An Appium Node.js test spec upload. + // + // * APPIUM_RUBY_TEST_SPEC: An Appium Ruby test spec upload. + // + // * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload + // for a web app. + // + // * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload + // for a web app. // - // * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload. + // * APPIUM_WEB_PYTHON_TEST_SPEC: An Appium Python test spec upload for a + // web app. // - // * APPIUM_WEB_PYTHON_TEST_SPEC: An Appium Python test spec upload. + // * APPIUM_WEB_NODE_TEST_SPEC: An Appium Node.js test spec upload for a + // web app. + // + // * APPIUM_WEB_RUBY_TEST_SPEC: An Appium Ruby test spec upload for a web + // app. // // * INSTRUMENTATION_TEST_SPEC: An instrumentation test spec upload. // @@ -8307,7 +8357,8 @@ type Device struct { // The device's ARN. Arn *string `locationName:"arn" min:"32" type:"string"` - // Reflects how likely a device will be available for a test run. + // Reflects how likely a device will be available for a test run. It is currently + // available in the ListDevices and GetDevice API methods. Availability *string `locationName:"availability" type:"string" enum:"DeviceAvailability"` // The device's carrier. @@ -8518,11 +8569,11 @@ func (s *Device) SetResolution(v *Resolution) *Device { } // Represents a device filter used to select a set of devices to be included -// in a test run. This data structure is passed in as the "deviceSelectionConfiguration" +// in a test run. This data structure is passed in as the deviceSelectionConfiguration // parameter to ScheduleRun. For an example of the JSON request syntax, see // ScheduleRun. // -// It is also passed in as the "filters" parameter to ListDevices. For an example +// It is also passed in as the filters parameter to ListDevices. For an example // of the JSON request syntax, see ListDevices. type DeviceFilter struct { _ struct{} `type:"structure"` @@ -8530,53 +8581,71 @@ type DeviceFilter struct { // The aspect of a device such as platform or model used as the selection criteria // in a device filter. // - // Allowed values include: + // The supported operators for each attribute are provided in the following + // list. // - // * ARN: The Amazon Resource Name (ARN) of the device. For example, "arn:aws:devicefarm:us-west-2::device:12345Example". + // ARNThe Amazon Resource Name (ARN) of the device. For example, "arn:aws:devicefarm:us-west-2::device:12345Example". // - // * PLATFORM: The device platform. Valid values are "ANDROID" or "IOS". + // Supported operators: EQUALS, IN, NOT_IN // - // * OS_VERSION: The operating system version. For example, "10.3.2". + // PLATFORMThe device platform. Valid values are "ANDROID" or "IOS". // - // * MODEL: The device model. For example, "iPad 5th Gen". + // Supported operators: EQUALS // - // * AVAILABILITY: The current availability of the device. Valid values are - // "AVAILABLE", "HIGHLY_AVAILABLE", "BUSY", or "TEMPORARY_NOT_AVAILABLE". + // OS_VERSIONThe operating system version. For example, "10.3.2". // - // * FORM_FACTOR: The device form factor. Valid values are "PHONE" or "TABLET". + // Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN, + // LESS_THAN_OR_EQUALS, NOT_IN // - // * MANUFACTURER: The device manufacturer. For example, "Apple". + // MODELThe device model. For example, "iPad 5th Gen". // - // * REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access. + // Supported operators: CONTAINS, EQUALS, IN, NOT_IN // - // * REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging. + // AVAILABILITYThe current availability of the device. Valid values are "AVAILABLE", + // "HIGHLY_AVAILABLE", "BUSY", or "TEMPORARY_NOT_AVAILABLE". // - // * INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance. + // Supported operators: EQUALS // - // * INSTANCE_LABELS: The label of the device instance. + // FORM_FACTORThe device form factor. Valid values are "PHONE" or "TABLET". // - // * FLEET_TYPE: The fleet type. Valid values are "PUBLIC" or "PRIVATE". - Attribute *string `locationName:"attribute" type:"string" enum:"DeviceFilterAttribute"` - - // The filter operator. + // Supported operators: EQUALS // - // * The EQUALS operator is available for every attribute except INSTANCE_LABELS. + // MANUFACTURERThe device manufacturer. For example, "Apple". // - // * The CONTAINS operator is available for the INSTANCE_LABELS and MODEL - // attributes. + // Supported operators: EQUALS, IN, NOT_IN // - // * The IN and NOT_IN operators are available for the ARN, OS_VERSION, MODEL, - // MANUFACTURER, and INSTANCE_ARN attributes. + // REMOTE_ACCESS_ENABLEDWhether the device is enabled for remote access. Valid + // values are "TRUE" or "FALSE". // - // * The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS - // operators are also available for the OS_VERSION attribute. - Operator *string `locationName:"operator" type:"string" enum:"DeviceFilterOperator"` + // Supported operators: EQUALS + // + // REMOTE_DEBUG_ENABLEDWhether the device is enabled for remote debugging. Valid + // values are "TRUE" or "FALSE". + // + // Supported operators: EQUALS + // + // INSTANCE_ARNThe Amazon Resource Name (ARN) of the device instance. + // + // Supported operators: EQUALS, IN, NOT_IN + // + // INSTANCE_LABELSThe label of the device instance. + // + // Supported operators: CONTAINS + // + // FLEET_TYPEThe fleet type. Valid values are "PUBLIC" or "PRIVATE". + // + // Supported operators: EQUALS + Attribute *string `locationName:"attribute" type:"string" enum:"DeviceFilterAttribute"` + + // Specifies how Device Farm compares the filter's attribute to the value. For + // the operators that are supported by each attribute, see the attribute descriptions. + Operator *string `locationName:"operator" type:"string" enum:"RuleOperator"` // An array of one or more filter values used in a device filter. // // Operator Values // - // * The IN and NOT operators can take a values array that has more than + // * The IN and NOT_IN operators can take a values array that has more than // one element. // // * The other operators require an array with a single element. @@ -8747,6 +8816,16 @@ type DevicePool struct { // The device pool's description. Description *string `locationName:"description" type:"string"` + // The number of devices that Device Farm can add to your device pool. Device + // Farm adds devices that are available and that meet the criteria that you + // assign for the rules parameter. Depending on how many devices meet these + // constraints, your device pool might contain fewer devices than the value + // for this parameter. + // + // By specifying the maximum number of devices, you can control the costs that + // you incur by running tests. + MaxDevices *int64 `locationName:"maxDevices" type:"integer"` + // The device pool's name. Name *string `locationName:"name" type:"string"` @@ -8786,6 +8865,12 @@ func (s *DevicePool) SetDescription(v string) *DevicePool { return s } +// SetMaxDevices sets the MaxDevices field's value. +func (s *DevicePool) SetMaxDevices(v int64) *DevicePool { + s.MaxDevices = &v + return s +} + // SetName sets the Name field's value. func (s *DevicePool) SetName(v string) *DevicePool { s.Name = &v @@ -8855,8 +8940,10 @@ type DeviceSelectionConfiguration struct { // Used to dynamically select a set of devices for a test run. A filter is made // up of an attribute, an operator, and one or more values. // - // * Attribute: The aspect of a device such as platform or model used as - // the selection criteria in a device filter. + // * Attribute + // + // The aspect of a device such as platform or model used as the selection criteria + // in a device filter. // // Allowed values include: // @@ -8875,9 +8962,11 @@ type DeviceSelectionConfiguration struct { // // MANUFACTURER: The device manufacturer. For example, "Apple". // - // REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access. + // REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access. Valid + // values are "TRUE" or "FALSE". // // REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging. + // Valid values are "TRUE" or "FALSE". // // INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance. // @@ -8885,7 +8974,9 @@ type DeviceSelectionConfiguration struct { // // FLEET_TYPE: The fleet type. Valid values are "PUBLIC" or "PRIVATE". // - // * Operator: The filter operator. + // * Operator + // + // The filter operator. // // The EQUALS operator is available for every attribute except INSTANCE_LABELS. // @@ -8897,14 +8988,27 @@ type DeviceSelectionConfiguration struct { // The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS // operators are also available for the OS_VERSION attribute. // - // * Values: An array of one or more filter values. + // * Values + // + // An array of one or more filter values. + // + // Operator Values // - // The IN and NOT operators can take a values array that has more than one element. + // The IN and NOT_IN operators can take a values array that has more than one + // element. // // The other operators require an array with a single element. // - // In a request, the AVAILABILITY attribute takes "AVAILABLE", "HIGHLY_AVAILABLE", - // "BUSY", or "TEMPORARY_NOT_AVAILABLE" as values. + // Attribute Values + // + // The PLATFORM attribute can be set to "ANDROID" or "IOS". + // + // The AVAILABILITY attribute can be set to "AVAILABLE", "HIGHLY_AVAILABLE", + // "BUSY", or "TEMPORARY_NOT_AVAILABLE". + // + // The FORM_FACTOR attribute can be set to "PHONE" or "TABLET". + // + // The FLEET_TYPE attribute can be set to "PUBLIC" or "PRIVATE". // // Filters is a required field Filters []*DeviceFilter `locationName:"filters" type:"list" required:"true"` @@ -9273,11 +9377,19 @@ type GetDevicePoolCompatibilityInput struct { // // * APPIUM_PYTHON: The Appium Python type. // - // * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. + // * APPIUM_NODE: The Appium Node.js type. + // + // * APPIUM_RUBY: The Appium Ruby type. + // + // * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for web apps. // - // * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. + // * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for web apps. // - // * APPIUM_WEB_PYTHON: The Appium Python type for Web apps. + // * APPIUM_WEB_PYTHON: The Appium Python type for web apps. + // + // * APPIUM_WEB_NODE: The Appium Node.js type for web apps. + // + // * APPIUM_WEB_RUBY: The Appium Ruby type for web apps. // // * CALABASH: The Calabash type. // @@ -10502,11 +10614,19 @@ type Job struct { // // * APPIUM_PYTHON: The Appium Python type. // - // * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. + // * APPIUM_NODE: The Appium Node.js type. + // + // * APPIUM_RUBY: The Appium Ruby type. // - // * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. + // * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for web apps. // - // * APPIUM_WEB_PYTHON: The Appium Python type for Web apps. + // * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for web apps. + // + // * APPIUM_WEB_PYTHON: The Appium Python type for web apps. + // + // * APPIUM_WEB_NODE: The Appium Node.js type for web apps. + // + // * APPIUM_WEB_RUBY: The Appium Ruby test type for web apps. // // * CALABASH: The Calabash type. // @@ -10957,9 +11077,11 @@ type ListDevicesInput struct { // // MANUFACTURER: The device manufacturer. For example, "Apple". // - // REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access. + // REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access. Valid + // values are "TRUE" or "FALSE". // // REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging. + // Valid values are "TRUE" or "FALSE". // // INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance. // @@ -10981,7 +11103,7 @@ type ListDevicesInput struct { // // * Values: An array of one or more filter values. // - // The IN and NOT operators can take a values array that has more than one element. + // The IN and NOT_IN operators take a values array that has one or more elements. // // The other operators require an array with a single element. // @@ -12235,13 +12357,24 @@ type ListUploadsInput struct { // // * APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload. // + // * APPIUM_NODE_TEST_PACKAGE: An Appium Node.js test package upload. + // + // * APPIUM_RUBY_TEST_PACKAGE: An Appium Ruby test package upload. + // // * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package - // upload. + // upload for a web app. // // * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package - // upload. + // upload for a web app. + // + // * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload + // for a web app. // - // * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload. + // * APPIUM_WEB_NODE_TEST_PACKAGE: An Appium Node.js test package upload + // for a web app. + // + // * APPIUM_WEB_RUBY_TEST_PACKAGE: An Appium Ruby test package upload for + // a web app. // // * CALABASH_TEST_PACKAGE: A Calabash test package upload. // @@ -12261,11 +12394,24 @@ type ListUploadsInput struct { // // * APPIUM_PYTHON_TEST_SPEC: An Appium Python test spec upload. // - // * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload. + // * APPIUM_NODE_TEST_SPEC: An Appium Node.js test spec upload. + // + // * APPIUM_RUBY_TEST_SPEC: An Appium Ruby test spec upload. // - // * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload. + // * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload + // for a web app. // - // * APPIUM_WEB_PYTHON_TEST_SPEC: An Appium Python test spec upload. + // * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload + // for a web app. + // + // * APPIUM_WEB_PYTHON_TEST_SPEC: An Appium Python test spec upload for a + // web app. + // + // * APPIUM_WEB_NODE_TEST_SPEC: An Appium Node.js test spec upload for a + // web app. + // + // * APPIUM_WEB_RUBY_TEST_SPEC: An Appium Ruby test spec upload for a web + // app. // // * INSTRUMENTATION_TEST_SPEC: An instrumentation test spec upload. // @@ -13212,7 +13358,7 @@ type RemoteAccessSession struct { // The billing method of the remote access session. Possible values include // METERED or UNMETERED. For more information about metered devices, see AWS - // Device Farm terminology (http://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html#welcome-terminology)." + // Device Farm terminology (https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html#welcome-terminology)." BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"` // Unique identifier of your client for the remote access session. Only returned @@ -13569,59 +13715,77 @@ func (s *Resolution) SetWidth(v int64) *Resolution { return s } -// Represents a condition for a device pool. It is passed in as the rules parameter -// to CreateDevicePool and UpdateDevicePool. +// Represents a condition for a device pool. type Rule struct { _ struct{} `type:"structure"` - // The rule's attribute. It is the aspect of a device such as platform or model - // used as selection criteria to create or update a device pool. + // The rule's stringified attribute. For example, specify the value as "\"abc\"". // - // Allowed values include: + // The supported operators for each attribute are provided in the following + // list. // - // * ARN: The Amazon Resource Name (ARN) of a device. For example, "arn:aws:devicefarm:us-west-2::device:12345Example". + // APPIUM_VERSIONThe Appium version for the test. // - // * PLATFORM: The device platform. Valid values are "ANDROID" or "IOS". + // Supported operators: CONTAINS // - // * FORM_FACTOR: The device form factor. Valid values are "PHONE" or "TABLET". + // ARNThe Amazon Resource Name (ARN) of the device. For example, "arn:aws:devicefarm:us-west-2::device:12345Example". // - // * MANUFACTURER: The device manufacturer. For example, "Apple". + // Supported operators: EQUALS, IN, NOT_IN // - // * REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access. + // AVAILABILITYThe current availability of the device. Valid values are "AVAILABLE", + // "HIGHLY_AVAILABLE", "BUSY", or "TEMPORARY_NOT_AVAILABLE". // - // * REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging. + // Supported operators: EQUALS // - // * APPIUM_VERSION: The Appium version for the test. + // FLEET_TYPEThe fleet type. Valid values are "PUBLIC" or "PRIVATE". // - // * INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance. + // Supported operators: EQUALS // - // * INSTANCE_LABELS: The label of the device instance. + // FORM_FACTORThe device form factor. Valid values are "PHONE" or "TABLET". // - // * FLEET_TYPE: The fleet type. Valid values are "PUBLIC" or "PRIVATE". - Attribute *string `locationName:"attribute" type:"string" enum:"DeviceAttribute"` - - // The rule's operator. + // Supported operators: EQUALS, IN, NOT_IN // - // * EQUALS: The equals operator. + // INSTANCE_ARNThe Amazon Resource Name (ARN) of the device instance. // - // * GREATER_THAN: The greater-than operator. + // Supported operators: IN, NOT_IN // - // * IN: The in operator. + // INSTANCE_LABELSThe label of the device instance. // - // * LESS_THAN: The less-than operator. + // Supported operators: CONTAINS // - // * NOT_IN: The not-in operator. + // MANUFACTURERThe device manufacturer. For example, "Apple". // - // * CONTAINS: The contains operator. - Operator *string `locationName:"operator" type:"string" enum:"RuleOperator"` - - // The rule's value. + // Supported operators: EQUALS, IN, NOT_IN + // + // MODELThe device model, such as "Apple iPad Air 2" or "Google Pixel". + // + // Supported operators: CONTAINS, EQUALS, IN, NOT_IN + // + // OS_VERSIONThe operating system version. For example, "10.3.2". + // + // Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN, + // LESS_THAN_OR_EQUALS, NOT_IN + // + // PLATFORMThe device platform. Valid values are "ANDROID" or "IOS". // - // The value must be passed in as a string using escaped quotes. + // Supported operators: EQUALS, IN, NOT_IN // - // For example: + // REMOTE_ACCESS_ENABLEDWhether the device is enabled for remote access. Valid + // values are "TRUE" or "FALSE". // - // "value": "\"ANDROID\"" + // Supported operators: EQUALS + // + // REMOTE_DEBUG_ENABLEDWhether the device is enabled for remote debugging. Valid + // values are "TRUE" or "FALSE". + // + // Supported operators: EQUALS + Attribute *string `locationName:"attribute" type:"string" enum:"DeviceAttribute"` + + // Specifies how Device Farm compares the rule's attribute to the value. For + // the operators that are supported by each attribute, see the attribute descriptions. + Operator *string `locationName:"operator" type:"string" enum:"RuleOperator"` + + // The rule's value. Value *string `locationName:"value" type:"string"` } @@ -13815,11 +13979,19 @@ type Run struct { // // * APPIUM_PYTHON: The Appium Python type. // - // * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. + // * APPIUM_NODE: The Appium Node.js type. + // + // * APPIUM_RUBY: The Appium Ruby type. + // + // * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for web apps. + // + // * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for web apps. + // + // * APPIUM_WEB_PYTHON: The Appium Python type for web apps. // - // * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. + // * APPIUM_WEB_NODE: The Appium Node.js type for web apps. // - // * APPIUM_WEB_PYTHON: The Appium Python type for Web apps. + // * APPIUM_WEB_RUBY: The Appium Ruby type for web apps. // // * CALABASH: The Calabash type. // @@ -14250,14 +14422,12 @@ type ScheduleRunInput struct { Configuration *ScheduleRunConfiguration `locationName:"configuration" type:"structure"` // The ARN of the device pool for the run to be scheduled. - // - // Either devicePoolArn or deviceSelectionConfiguration are required in a request. DevicePoolArn *string `locationName:"devicePoolArn" min:"32" type:"string"` // The filter criteria used to dynamically select a set of devices for a test // run, as well as the maximum number of devices to be included in the run. // - // Either devicePoolArn or deviceSelectionConfiguration are required in a request. + // Either devicePoolArn or deviceSelectionConfiguration is required in a request. DeviceSelectionConfiguration *DeviceSelectionConfiguration `locationName:"deviceSelectionConfiguration" type:"structure"` // Specifies configuration information about a test run, such as the execution @@ -14426,10 +14596,10 @@ type ScheduleRunTest struct { // // For Appium tests (all types): // - // * appium_version: The Appium version. Currently supported values are "1.7.2", - // "1.7.1", "1.6.5", "latest", and "default". + // * appium_version: The Appium version. Currently supported values are "1.6.5" + // (and higher), "latest", and "default". // - // “latest” will run the latest Appium version supported by Device Farm (1.7.2). + // “latest” will run the latest Appium version supported by Device Farm (1.9.1). // // For “default”, Device Farm will choose a compatible version of Appium for // the device. The current behavior is to run 1.7.2 on Android devices and @@ -14511,11 +14681,19 @@ type ScheduleRunTest struct { // // * APPIUM_PYTHON: The Appium Python type. // - // * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. + // * APPIUM_NODE: The Appium Node.js type. + // + // * APPIUM_RUBY: The Appium Ruby type. + // + // * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for web apps. // - // * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. + // * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for web apps. // - // * APPIUM_WEB_PYTHON: The Appium Python type for Web apps. + // * APPIUM_WEB_PYTHON: The Appium Python type for web apps. + // + // * APPIUM_WEB_NODE: The Appium Node.js type for web apps. + // + // * APPIUM_WEB_RUBY: The Appium Ruby type for web apps. // // * CALABASH: The Calabash type. // @@ -14878,11 +15056,19 @@ type Suite struct { // // * APPIUM_PYTHON: The Appium Python type. // - // * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. + // * APPIUM_NODE: The Appium Node.js type. + // + // * APPIUM_RUBY: The Appium Ruby type. // - // * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. + // * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for web apps. // - // * APPIUM_WEB_PYTHON: The Appium Python type for Web apps. + // * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for web apps. + // + // * APPIUM_WEB_PYTHON: The Appium Python type for web apps. + // + // * APPIUM_WEB_NODE: The Appium Node.js type for web apps. + // + // * APPIUM_WEB_RUBY: The Appium Ruby type for web apps. // // * CALABASH: The Calabash type. // @@ -15060,11 +15246,19 @@ type Test struct { // // * APPIUM_PYTHON: The Appium Python type. // - // * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. + // * APPIUM_NODE: The Appium Node.js type. + // + // * APPIUM_RUBY: The Appium Ruby type. + // + // * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for web apps. // - // * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. + // * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for web apps. // - // * APPIUM_WEB_PYTHON: The Appium Python type for Web apps. + // * APPIUM_WEB_PYTHON: The Appium Python type for web apps. + // + // * APPIUM_WEB_NODE: The Appium Node.js type for web apps. + // + // * APPIUM_WEB_RUBY: The Appium Ruby type for web apps. // // * CALABASH: The Calabash type. // @@ -15318,9 +15512,32 @@ type UpdateDevicePoolInput struct { // Arn is a required field Arn *string `locationName:"arn" min:"32" type:"string" required:"true"` + // Sets whether the maxDevices parameter applies to your device pool. If you + // set this parameter to true, the maxDevices parameter does not apply, and + // Device Farm does not limit the number of devices that it adds to your device + // pool. In this case, Device Farm adds all available devices that meet the + // criteria that are specified for the rules parameter. + // + // If you use this parameter in your request, you cannot use the maxDevices + // parameter in the same request. + ClearMaxDevices *bool `locationName:"clearMaxDevices" type:"boolean"` + // A description of the device pool you wish to update. Description *string `locationName:"description" type:"string"` + // The number of devices that Device Farm can add to your device pool. Device + // Farm adds devices that are available and that meet the criteria that you + // assign for the rules parameter. Depending on how many devices meet these + // constraints, your device pool might contain fewer devices than the value + // for this parameter. + // + // By specifying the maximum number of devices, you can control the costs that + // you incur by running tests. + // + // If you use this parameter in your request, you cannot use the clearMaxDevices + // parameter in the same request. + MaxDevices *int64 `locationName:"maxDevices" type:"integer"` + // A string representing the name of the device pool you wish to update. Name *string `locationName:"name" type:"string"` @@ -15362,12 +15579,24 @@ func (s *UpdateDevicePoolInput) SetArn(v string) *UpdateDevicePoolInput { return s } +// SetClearMaxDevices sets the ClearMaxDevices field's value. +func (s *UpdateDevicePoolInput) SetClearMaxDevices(v bool) *UpdateDevicePoolInput { + s.ClearMaxDevices = &v + return s +} + // SetDescription sets the Description field's value. func (s *UpdateDevicePoolInput) SetDescription(v string) *UpdateDevicePoolInput { s.Description = &v return s } +// SetMaxDevices sets the MaxDevices field's value. +func (s *UpdateDevicePoolInput) SetMaxDevices(v int64) *UpdateDevicePoolInput { + s.MaxDevices = &v + return s +} + // SetName sets the Name field's value. func (s *UpdateDevicePoolInput) SetName(v string) *UpdateDevicePoolInput { s.Name = &v @@ -16032,13 +16261,24 @@ type Upload struct { // // * APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload. // + // * APPIUM_NODE_TEST_PACKAGE: An Appium Node.js test package upload. + // + // * APPIUM_RUBY_TEST_PACKAGE: An Appium Ruby test package upload. + // // * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package - // upload. + // upload for web apps. // // * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package - // upload. + // upload for web apps. + // + // * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload + // for web apps. // - // * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload. + // * APPIUM_WEB_NODE_TEST_PACKAGE: An Appium Node.js test package upload + // for web apps. + // + // * APPIUM_WEB_RUBY_TEST_PACKAGE: An Appium Ruby test package upload for + // web apps. // // * CALABASH_TEST_PACKAGE: A Calabash test package upload. // @@ -16058,11 +16298,24 @@ type Upload struct { // // * APPIUM_PYTHON_TEST_SPEC: An Appium Python test spec upload. // - // * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload. + // * APPIUM_NODE_TEST_SPEC: An Appium Node.js test spec upload. + // + // * APPIUM_RUBY_TEST_SPEC: An Appium Ruby test spec upload. + // + // * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload + // for a web app. // - // * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload. + // * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload + // for a web app. // - // * APPIUM_WEB_PYTHON_TEST_SPEC: An Appium Python test spec upload. + // * APPIUM_WEB_PYTHON_TEST_SPEC: An Appium Python test spec upload for a + // web app. + // + // * APPIUM_WEB_NODE_TEST_SPEC: An Appium Node.js test spec upload for a + // web app. + // + // * APPIUM_WEB_RUBY_TEST_SPEC: An Appium Ruby test spec upload for a web + // app. // // * INSTRUMENTATION_TEST_SPEC: An instrumentation test spec upload. // @@ -16347,6 +16600,15 @@ const ( // DeviceAttributeFleetType is a DeviceAttribute enum value DeviceAttributeFleetType = "FLEET_TYPE" + + // DeviceAttributeOsVersion is a DeviceAttribute enum value + DeviceAttributeOsVersion = "OS_VERSION" + + // DeviceAttributeModel is a DeviceAttribute enum value + DeviceAttributeModel = "MODEL" + + // DeviceAttributeAvailability is a DeviceAttribute enum value + DeviceAttributeAvailability = "AVAILABILITY" ) const ( @@ -16401,32 +16663,6 @@ const ( DeviceFilterAttributeFleetType = "FLEET_TYPE" ) -const ( - // DeviceFilterOperatorEquals is a DeviceFilterOperator enum value - DeviceFilterOperatorEquals = "EQUALS" - - // DeviceFilterOperatorLessThan is a DeviceFilterOperator enum value - DeviceFilterOperatorLessThan = "LESS_THAN" - - // DeviceFilterOperatorLessThanOrEquals is a DeviceFilterOperator enum value - DeviceFilterOperatorLessThanOrEquals = "LESS_THAN_OR_EQUALS" - - // DeviceFilterOperatorGreaterThan is a DeviceFilterOperator enum value - DeviceFilterOperatorGreaterThan = "GREATER_THAN" - - // DeviceFilterOperatorGreaterThanOrEquals is a DeviceFilterOperator enum value - DeviceFilterOperatorGreaterThanOrEquals = "GREATER_THAN_OR_EQUALS" - - // DeviceFilterOperatorIn is a DeviceFilterOperator enum value - DeviceFilterOperatorIn = "IN" - - // DeviceFilterOperatorNotIn is a DeviceFilterOperator enum value - DeviceFilterOperatorNotIn = "NOT_IN" - - // DeviceFilterOperatorContains is a DeviceFilterOperator enum value - DeviceFilterOperatorContains = "CONTAINS" -) - const ( // DeviceFormFactorPhone is a DeviceFormFactor enum value DeviceFormFactorPhone = "PHONE" @@ -16572,9 +16808,15 @@ const ( // RuleOperatorLessThan is a RuleOperator enum value RuleOperatorLessThan = "LESS_THAN" + // RuleOperatorLessThanOrEquals is a RuleOperator enum value + RuleOperatorLessThanOrEquals = "LESS_THAN_OR_EQUALS" + // RuleOperatorGreaterThan is a RuleOperator enum value RuleOperatorGreaterThan = "GREATER_THAN" + // RuleOperatorGreaterThanOrEquals is a RuleOperator enum value + RuleOperatorGreaterThanOrEquals = "GREATER_THAN_OR_EQUALS" + // RuleOperatorIn is a RuleOperator enum value RuleOperatorIn = "IN" @@ -16657,6 +16899,12 @@ const ( // TestTypeAppiumPython is a TestType enum value TestTypeAppiumPython = "APPIUM_PYTHON" + // TestTypeAppiumNode is a TestType enum value + TestTypeAppiumNode = "APPIUM_NODE" + + // TestTypeAppiumRuby is a TestType enum value + TestTypeAppiumRuby = "APPIUM_RUBY" + // TestTypeAppiumWebJavaJunit is a TestType enum value TestTypeAppiumWebJavaJunit = "APPIUM_WEB_JAVA_JUNIT" @@ -16666,6 +16914,12 @@ const ( // TestTypeAppiumWebPython is a TestType enum value TestTypeAppiumWebPython = "APPIUM_WEB_PYTHON" + // TestTypeAppiumWebNode is a TestType enum value + TestTypeAppiumWebNode = "APPIUM_WEB_NODE" + + // TestTypeAppiumWebRuby is a TestType enum value + TestTypeAppiumWebRuby = "APPIUM_WEB_RUBY" + // TestTypeCalabash is a TestType enum value TestTypeCalabash = "CALABASH" @@ -16735,6 +16989,12 @@ const ( // UploadTypeAppiumPythonTestPackage is a UploadType enum value UploadTypeAppiumPythonTestPackage = "APPIUM_PYTHON_TEST_PACKAGE" + // UploadTypeAppiumNodeTestPackage is a UploadType enum value + UploadTypeAppiumNodeTestPackage = "APPIUM_NODE_TEST_PACKAGE" + + // UploadTypeAppiumRubyTestPackage is a UploadType enum value + UploadTypeAppiumRubyTestPackage = "APPIUM_RUBY_TEST_PACKAGE" + // UploadTypeAppiumWebJavaJunitTestPackage is a UploadType enum value UploadTypeAppiumWebJavaJunitTestPackage = "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE" @@ -16744,6 +17004,12 @@ const ( // UploadTypeAppiumWebPythonTestPackage is a UploadType enum value UploadTypeAppiumWebPythonTestPackage = "APPIUM_WEB_PYTHON_TEST_PACKAGE" + // UploadTypeAppiumWebNodeTestPackage is a UploadType enum value + UploadTypeAppiumWebNodeTestPackage = "APPIUM_WEB_NODE_TEST_PACKAGE" + + // UploadTypeAppiumWebRubyTestPackage is a UploadType enum value + UploadTypeAppiumWebRubyTestPackage = "APPIUM_WEB_RUBY_TEST_PACKAGE" + // UploadTypeCalabashTestPackage is a UploadType enum value UploadTypeCalabashTestPackage = "CALABASH_TEST_PACKAGE" @@ -16771,6 +17037,12 @@ const ( // UploadTypeAppiumPythonTestSpec is a UploadType enum value UploadTypeAppiumPythonTestSpec = "APPIUM_PYTHON_TEST_SPEC" + // UploadTypeAppiumNodeTestSpec is a UploadType enum value + UploadTypeAppiumNodeTestSpec = "APPIUM_NODE_TEST_SPEC" + + // UploadTypeAppiumRubyTestSpec is a UploadType enum value + UploadTypeAppiumRubyTestSpec = "APPIUM_RUBY_TEST_SPEC" + // UploadTypeAppiumWebJavaJunitTestSpec is a UploadType enum value UploadTypeAppiumWebJavaJunitTestSpec = "APPIUM_WEB_JAVA_JUNIT_TEST_SPEC" @@ -16780,6 +17052,12 @@ const ( // UploadTypeAppiumWebPythonTestSpec is a UploadType enum value UploadTypeAppiumWebPythonTestSpec = "APPIUM_WEB_PYTHON_TEST_SPEC" + // UploadTypeAppiumWebNodeTestSpec is a UploadType enum value + UploadTypeAppiumWebNodeTestSpec = "APPIUM_WEB_NODE_TEST_SPEC" + + // UploadTypeAppiumWebRubyTestSpec is a UploadType enum value + UploadTypeAppiumWebRubyTestSpec = "APPIUM_WEB_RUBY_TEST_SPEC" + // UploadTypeInstrumentationTestSpec is a UploadType enum value UploadTypeInstrumentationTestSpec = "INSTRUMENTATION_TEST_SPEC" diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go index 244425bd46b..76d66c684b2 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go @@ -2311,7 +2311,7 @@ func (c *DirectConnect) DescribeConnectionLoaRequest(input *DescribeConnectionLo // The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is // a document that your APN partner or service provider uses when establishing // your cross connect to AWS at the colocation facility. For more information, -// see Requesting Cross Connects at AWS Direct Connect Locations (http://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html) +// see Requesting Cross Connects at AWS Direct Connect Locations (https://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html) // in the AWS Direct Connect User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2932,7 +2932,7 @@ func (c *DirectConnect) DescribeInterconnectLoaRequest(input *DescribeInterconne // The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is // a document that is used when establishing your cross connect to AWS at the // colocation facility. For more information, see Requesting Cross Connects -// at AWS Direct Connect Locations (http://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html) +// at AWS Direct Connect Locations (https://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html) // in the AWS Direct Connect User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3189,7 +3189,7 @@ func (c *DirectConnect) DescribeLoaRequest(input *DescribeLoaInput) (req *reques // The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is // a document that is used when establishing your cross connect to AWS at the // colocation facility. For more information, see Requesting Cross Connects -// at AWS Direct Connect Locations (http://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html) +// at AWS Direct Connect Locations (https://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html) // in the AWS Direct Connect User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4556,7 +4556,7 @@ type BGPPeer struct { // // * down: The BGP peer is down. // - // * unknown: The BGP peer status is unknown. + // * unknown: The BGP peer status is not available. BgpStatus *string `locationName:"bgpStatus" type:"string" enum:"BGPStatus"` // The IP address assigned to the customer interface. @@ -4690,6 +4690,8 @@ type ConfirmConnectionOutput struct { // // * rejected: A hosted connection in the ordering state enters the rejected // state if it is deleted by the customer. + // + // * unknown: The state of the connection is not available. ConnectionState *string `locationName:"connectionState" type:"string" enum:"ConnectionState"` } @@ -4796,6 +4798,8 @@ type ConfirmPrivateVirtualInterfaceOutput struct { // interface. If a virtual interface in the Confirming state is deleted by // the virtual interface owner, the virtual interface enters the Rejected // state. + // + // * unknown: The state of the virtual interface is not available. VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"` } @@ -4884,6 +4888,8 @@ type ConfirmPublicVirtualInterfaceOutput struct { // interface. If a virtual interface in the Confirming state is deleted by // the virtual interface owner, the virtual interface enters the Rejected // state. + // + // * unknown: The state of the virtual interface is not available. VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"` } @@ -4944,6 +4950,8 @@ type Connection struct { // // * rejected: A hosted connection in the ordering state enters the rejected // state if it is deleted by the customer. + // + // * unknown: The state of the connection is not available. ConnectionState *string `locationName:"connectionState" type:"string" enum:"ConnectionState"` // Indicates whether the connection supports a secondary BGP peer in the same @@ -5960,6 +5968,8 @@ type DeleteInterconnectOutput struct { // * deleting: The interconnect is being deleted. // // * deleted: The interconnect is deleted. + // + // * unknown: The state of the interconnect is not available. InterconnectState *string `locationName:"interconnectState" type:"string" enum:"InterconnectState"` } @@ -6086,6 +6096,8 @@ type DeleteVirtualInterfaceOutput struct { // interface. If a virtual interface in the Confirming state is deleted by // the virtual interface owner, the virtual interface enters the Rejected // state. + // + // * unknown: The state of the virtual interface is not available. VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"` } @@ -7278,6 +7290,8 @@ type Interconnect struct { // * deleting: The interconnect is being deleted. // // * deleted: The interconnect is deleted. + // + // * unknown: The state of the interconnect is not available. InterconnectState *string `locationName:"interconnectState" type:"string" enum:"InterconnectState"` // Indicates whether jumbo frames (9001 MTU) are supported. @@ -7426,6 +7440,8 @@ type Lag struct { // * deleting: The LAG is being deleted. // // * deleted: The LAG is deleted. + // + // * unknown: The state of the LAG is not available. LagState *string `locationName:"lagState" type:"string" enum:"LagState"` // The location of the LAG. @@ -8610,6 +8626,8 @@ type UpdateVirtualInterfaceAttributesOutput struct { // interface. If a virtual interface in the Confirming state is deleted by // the virtual interface owner, the virtual interface enters the Rejected // state. + // + // * unknown: The state of the virtual interface is not available. VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"` // The type of virtual interface. The possible values are private and public. @@ -8904,6 +8922,8 @@ type VirtualInterface struct { // interface. If a virtual interface in the Confirming state is deleted by // the virtual interface owner, the virtual interface enters the Rejected // state. + // + // * unknown: The state of the virtual interface is not available. VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"` // The type of virtual interface. The possible values are private and public. @@ -9092,6 +9112,9 @@ const ( // BGPStatusDown is a BGPStatus enum value BGPStatusDown = "down" + + // BGPStatusUnknown is a BGPStatus enum value + BGPStatusUnknown = "unknown" ) const ( @@ -9118,6 +9141,9 @@ const ( // ConnectionStateRejected is a ConnectionState enum value ConnectionStateRejected = "rejected" + + // ConnectionStateUnknown is a ConnectionState enum value + ConnectionStateUnknown = "unknown" ) const ( @@ -9191,6 +9217,9 @@ const ( // InterconnectStateDeleted is a InterconnectState enum value InterconnectStateDeleted = "deleted" + + // InterconnectStateUnknown is a InterconnectState enum value + InterconnectStateUnknown = "unknown" ) const ( @@ -9211,6 +9240,9 @@ const ( // LagStateDeleted is a LagState enum value LagStateDeleted = "deleted" + + // LagStateUnknown is a LagState enum value + LagStateUnknown = "unknown" ) const ( @@ -9242,4 +9274,7 @@ const ( // VirtualInterfaceStateRejected is a VirtualInterfaceState enum value VirtualInterfaceStateRejected = "rejected" + + // VirtualInterfaceStateUnknown is a VirtualInterfaceState enum value + VirtualInterfaceStateUnknown = "unknown" ) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/directoryservice/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/directoryservice/api.go index c14ce177c00..72b454d6b97 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/directoryservice/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/directoryservice/api.go @@ -5279,6 +5279,9 @@ type ConnectDirectoryInput struct { // // Size is a required field Size *string `type:"string" required:"true" enum:"DirectorySize"` + + // The tags to be assigned to AD Connector. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -5314,6 +5317,16 @@ func (s *ConnectDirectoryInput) Validate() error { invalidParams.AddNested("ConnectSettings", err.(request.ErrInvalidParams)) } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -5357,6 +5370,12 @@ func (s *ConnectDirectoryInput) SetSize(v string) *ConnectDirectoryInput { return s } +// SetTags sets the Tags field's value. +func (s *ConnectDirectoryInput) SetTags(v []*Tag) *ConnectDirectoryInput { + s.Tags = v + return s +} + // Contains the results of the ConnectDirectory operation. type ConnectDirectoryOutput struct { _ struct{} `type:"structure"` @@ -5717,6 +5736,9 @@ type CreateDirectoryInput struct { // Size is a required field Size *string `type:"string" required:"true" enum:"DirectorySize"` + // The tags to be assigned to the Simple AD directory. + Tags []*Tag `type:"list"` + // A DirectoryVpcSettings object that contains additional information for the // operation. VpcSettings *DirectoryVpcSettings `type:"structure"` @@ -5744,6 +5766,16 @@ func (s *CreateDirectoryInput) Validate() error { if s.Size == nil { invalidParams.Add(request.NewErrParamRequired("Size")) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if s.VpcSettings != nil { if err := s.VpcSettings.Validate(); err != nil { invalidParams.AddNested("VpcSettings", err.(request.ErrInvalidParams)) @@ -5786,6 +5818,12 @@ func (s *CreateDirectoryInput) SetSize(v string) *CreateDirectoryInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateDirectoryInput) SetTags(v []*Tag) *CreateDirectoryInput { + s.Tags = v + return s +} + // SetVpcSettings sets the VpcSettings field's value. func (s *CreateDirectoryInput) SetVpcSettings(v *DirectoryVpcSettings) *CreateDirectoryInput { s.VpcSettings = v @@ -5916,6 +5954,9 @@ type CreateMicrosoftADInput struct { // part of your directory DNS. For example, CORP for the directory DNS corp.example.com. ShortName *string `type:"string"` + // The tags to be assigned to the AWS Managed Microsoft AD directory. + Tags []*Tag `type:"list"` + // Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation. // // VpcSettings is a required field @@ -5944,6 +5985,16 @@ func (s *CreateMicrosoftADInput) Validate() error { if s.VpcSettings == nil { invalidParams.Add(request.NewErrParamRequired("VpcSettings")) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if s.VpcSettings != nil { if err := s.VpcSettings.Validate(); err != nil { invalidParams.AddNested("VpcSettings", err.(request.ErrInvalidParams)) @@ -5986,6 +6037,12 @@ func (s *CreateMicrosoftADInput) SetShortName(v string) *CreateMicrosoftADInput return s } +// SetTags sets the Tags field's value. +func (s *CreateMicrosoftADInput) SetTags(v []*Tag) *CreateMicrosoftADInput { + s.Tags = v + return s +} + // SetVpcSettings sets the VpcSettings field's value. func (s *CreateMicrosoftADInput) SetVpcSettings(v *DirectoryVpcSettings) *CreateMicrosoftADInput { s.VpcSettings = v diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go index 82d7778f116..2c83090c38c 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go @@ -858,10 +858,10 @@ type LifecyclePolicy struct { _ struct{} `type:"structure"` // The local date and time when the lifecycle policy was created. - DateCreated *time.Time `type:"timestamp"` + DateCreated *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The local date and time when the lifecycle policy was last modified. - DateModified *time.Time `type:"timestamp"` + DateModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The description of the lifecycle policy. Description *string `type:"string"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dlm/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dlm/doc.go index 52f3edd7316..4b83d40d0b4 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dlm/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dlm/doc.go @@ -9,7 +9,7 @@ // // Amazon DLM supports Amazon EBS volumes and snapshots. For information about // using Amazon DLM with Amazon EBS, see Automating the Amazon EBS Snapshot -// Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html) +// Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html) // in the Amazon EC2 User Guide. // // See https://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12 for more information on this service. diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/api.go new file mode 100644 index 00000000000..471a189f11e --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/api.go @@ -0,0 +1,10980 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package docdb + +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/query" +) + +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/docdb-2014-10-31/AddTagsToResource +func (c *DocDB) 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(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AddTagsToResource API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Adds metadata tags to an Amazon DocumentDB resource. You can use these tags +// with cost allocation reporting to track costs that are associated with Amazon +// DocumentDB resources. or in a Condition statement in an AWS Identity and +// Access Management (IAM) policy for Amazon DocumentDB. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation AddTagsToResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound" +// DBSnapshotIdentifier doesn't refer to an existing DB snapshot. +// +// * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault" +// DBClusterIdentifier doesn't refer to an existing DB cluster. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/AddTagsToResource +func (c *DocDB) 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 *DocDB) 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 opApplyPendingMaintenanceAction = "ApplyPendingMaintenanceAction" + +// ApplyPendingMaintenanceActionRequest generates a "aws/request.Request" representing the +// client's request for the ApplyPendingMaintenanceAction 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 ApplyPendingMaintenanceAction for more information on using the ApplyPendingMaintenanceAction +// 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 ApplyPendingMaintenanceActionRequest method. +// req, resp := client.ApplyPendingMaintenanceActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ApplyPendingMaintenanceAction +func (c *DocDB) ApplyPendingMaintenanceActionRequest(input *ApplyPendingMaintenanceActionInput) (req *request.Request, output *ApplyPendingMaintenanceActionOutput) { + op := &request.Operation{ + Name: opApplyPendingMaintenanceAction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ApplyPendingMaintenanceActionInput{} + } + + output = &ApplyPendingMaintenanceActionOutput{} + req = c.newRequest(op, input, output) + return +} + +// ApplyPendingMaintenanceAction API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Applies a pending maintenance action to a resource (for example, to a DB +// 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 DocumentDB with MongoDB compatibility's +// API operation ApplyPendingMaintenanceAction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundFault "ResourceNotFoundFault" +// The specified resource ID was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ApplyPendingMaintenanceAction +func (c *DocDB) ApplyPendingMaintenanceAction(input *ApplyPendingMaintenanceActionInput) (*ApplyPendingMaintenanceActionOutput, error) { + req, out := c.ApplyPendingMaintenanceActionRequest(input) + return out, req.Send() +} + +// ApplyPendingMaintenanceActionWithContext is the same as ApplyPendingMaintenanceAction with the addition of +// the ability to pass a context and additional request options. +// +// See ApplyPendingMaintenanceAction 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 *DocDB) ApplyPendingMaintenanceActionWithContext(ctx aws.Context, input *ApplyPendingMaintenanceActionInput, opts ...request.Option) (*ApplyPendingMaintenanceActionOutput, error) { + req, out := c.ApplyPendingMaintenanceActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup" + +// CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the CopyDBClusterParameterGroup 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 CopyDBClusterParameterGroup for more information on using the CopyDBClusterParameterGroup +// 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 CopyDBClusterParameterGroupRequest method. +// req, resp := client.CopyDBClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterParameterGroup +func (c *DocDB) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGroupInput) (req *request.Request, output *CopyDBClusterParameterGroupOutput) { + op := &request.Operation{ + Name: opCopyDBClusterParameterGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CopyDBClusterParameterGroupInput{} + } + + output = &CopyDBClusterParameterGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CopyDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Copies the specified DB cluster parameter 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 DocumentDB with MongoDB compatibility's +// API operation CopyDBClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound" +// DBParameterGroupName doesn't refer to an existing DB parameter group. +// +// * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded" +// This request would cause you to exceed the allowed number of DB parameter +// groups. +// +// * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists" +// A DB parameter group with the same name already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterParameterGroup +func (c *DocDB) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) { + req, out := c.CopyDBClusterParameterGroupRequest(input) + return out, req.Send() +} + +// CopyDBClusterParameterGroupWithContext is the same as CopyDBClusterParameterGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CopyDBClusterParameterGroup 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 *DocDB) CopyDBClusterParameterGroupWithContext(ctx aws.Context, input *CopyDBClusterParameterGroupInput, opts ...request.Option) (*CopyDBClusterParameterGroupOutput, error) { + req, out := c.CopyDBClusterParameterGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot" + +// CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CopyDBClusterSnapshot 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 CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot +// 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 CopyDBClusterSnapshotRequest method. +// req, resp := client.CopyDBClusterSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterSnapshot +func (c *DocDB) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) { + op := &request.Operation{ + Name: opCopyDBClusterSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CopyDBClusterSnapshotInput{} + } + + output = &CopyDBClusterSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// CopyDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Copies a snapshot of a DB cluster. +// +// To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier +// must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot. +// +// To cancel the copy operation after it is in progress, delete the target DB +// cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that +// DB cluster snapshot is in the copying status. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation CopyDBClusterSnapshot for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault" +// You already have a DB cluster snapshot with the given identifier. +// +// * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault" +// DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot. +// +// * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault" +// The DB cluster isn't in a valid state. +// +// * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault" +// The provided value isn't a valid DB cluster snapshot state. +// +// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded" +// The request would cause you to exceed the allowed number of DB snapshots. +// +// * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" +// An error occurred when accessing an AWS KMS key. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterSnapshot +func (c *DocDB) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) { + req, out := c.CopyDBClusterSnapshotRequest(input) + return out, req.Send() +} + +// CopyDBClusterSnapshotWithContext is the same as CopyDBClusterSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See CopyDBClusterSnapshot 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 *DocDB) CopyDBClusterSnapshotWithContext(ctx aws.Context, input *CopyDBClusterSnapshotInput, opts ...request.Option) (*CopyDBClusterSnapshotOutput, error) { + req, out := c.CopyDBClusterSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDBCluster = "CreateDBCluster" + +// CreateDBClusterRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBCluster 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 CreateDBCluster for more information on using the CreateDBCluster +// 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 CreateDBClusterRequest method. +// req, resp := client.CreateDBClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBCluster +func (c *DocDB) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) { + op := &request.Operation{ + Name: opCreateDBCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDBClusterInput{} + } + + output = &CreateDBClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDBCluster API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Creates a new Amazon DocumentDB DB cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation CreateDBCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault" +// You already have a DB cluster with the given identifier. +// +// * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity" +// There is not enough storage available for the current action. You might be +// able to resolve this error by updating your subnet group to use different +// Availability Zones that have more storage available. +// +// * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault" +// The DB cluster can't be created because you have reached the maximum allowed +// quota of DB clusters. +// +// * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded" +// The request would cause you to exceed the allowed amount of storage available +// across all DB instances. +// +// * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault" +// DBSubnetGroupName doesn't refer to an existing DB subnet group. +// +// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" +// The DB subnet group doesn't cover all Availability Zones after it is created +// because of changes that were made. +// +// * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault" +// The DB cluster isn't in a valid state. +// +// * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault" +// The DB subnet group can't be deleted because it's in use. +// +// * ErrCodeInvalidSubnet "InvalidSubnet" +// The requested subnet is not valid, or multiple subnets were requested that +// are not all in a common virtual private cloud (VPC). +// +// * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState" +// The specified DB instance isn't in the available state. +// +// * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound" +// DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter +// group. +// +// * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" +// An error occurred when accessing an AWS KMS key. +// +// * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault" +// DBClusterIdentifier doesn't refer to an existing DB cluster. +// +// * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs" +// Subnets in the DB subnet group should cover at least two Availability Zones +// unless there is only one Availability Zone. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBCluster +func (c *DocDB) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) { + req, out := c.CreateDBClusterRequest(input) + return out, req.Send() +} + +// CreateDBClusterWithContext is the same as CreateDBCluster with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDBCluster 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 *DocDB) CreateDBClusterWithContext(ctx aws.Context, input *CreateDBClusterInput, opts ...request.Option) (*CreateDBClusterOutput, error) { + req, out := c.CreateDBClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup" + +// CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBClusterParameterGroup 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 CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup +// 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 CreateDBClusterParameterGroupRequest method. +// req, resp := client.CreateDBClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterParameterGroup +func (c *DocDB) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) { + op := &request.Operation{ + Name: opCreateDBClusterParameterGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDBClusterParameterGroupInput{} + } + + output = &CreateDBClusterParameterGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Creates a new DB cluster parameter group. +// +// Parameters in a DB cluster parameter group apply to all of the instances +// in a DB cluster. +// +// A DB cluster parameter group is initially created with the default parameters +// for the database engine used by instances in the DB cluster. To provide custom +// values for any of the parameters, you must modify the group after you create +// it. After you create a DB cluster parameter group, you must associate it +// with your DB cluster. For the new DB cluster parameter group and associated +// settings to take effect, you must then reboot the DB instances in the DB +// cluster without failover. +// +// After you create a DB cluster parameter group, you should wait at least 5 +// minutes before creating your first DB cluster that uses that DB cluster parameter +// group as the default parameter group. This allows Amazon DocumentDB to fully +// complete the create action before the DB cluster parameter group is used +// as the default for a new DB cluster. This step is especially important for +// parameters that are critical when creating the default database for a DB +// cluster, such as the character set for the default database defined by the +// character_set_database parameter. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation CreateDBClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded" +// This request would cause you to exceed the allowed number of DB parameter +// groups. +// +// * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists" +// A DB parameter group with the same name already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterParameterGroup +func (c *DocDB) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) { + req, out := c.CreateDBClusterParameterGroupRequest(input) + return out, req.Send() +} + +// CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDBClusterParameterGroup 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 *DocDB) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) { + req, out := c.CreateDBClusterParameterGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot" + +// CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBClusterSnapshot 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 CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot +// 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 CreateDBClusterSnapshotRequest method. +// req, resp := client.CreateDBClusterSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterSnapshot +func (c *DocDB) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) { + op := &request.Operation{ + Name: opCreateDBClusterSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDBClusterSnapshotInput{} + } + + output = &CreateDBClusterSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Creates a snapshot of a DB cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation CreateDBClusterSnapshot for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault" +// You already have a DB cluster snapshot with the given identifier. +// +// * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault" +// The DB cluster isn't in a valid state. +// +// * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault" +// DBClusterIdentifier doesn't refer to an existing DB cluster. +// +// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded" +// The request would cause you to exceed the allowed number of DB snapshots. +// +// * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault" +// The provided value isn't a valid DB cluster snapshot state. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterSnapshot +func (c *DocDB) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) { + req, out := c.CreateDBClusterSnapshotRequest(input) + return out, req.Send() +} + +// CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDBClusterSnapshot 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 *DocDB) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) { + req, out := c.CreateDBClusterSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDBInstance = "CreateDBInstance" + +// CreateDBInstanceRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBInstance 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 CreateDBInstance for more information on using the CreateDBInstance +// 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 CreateDBInstanceRequest method. +// req, resp := client.CreateDBInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBInstance +func (c *DocDB) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) { + op := &request.Operation{ + Name: opCreateDBInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDBInstanceInput{} + } + + output = &CreateDBInstanceOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDBInstance API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Creates a new DB 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 DocumentDB with MongoDB compatibility's +// API operation CreateDBInstance for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists" +// You already have a DB instance with the given identifier. +// +// * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity" +// The specified DB instance class isn't available in the specified Availability +// Zone. +// +// * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound" +// DBParameterGroupName doesn't refer to an existing DB parameter group. +// +// * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound" +// DBSecurityGroupName doesn't refer to an existing DB security group. +// +// * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded" +// The request would cause you to exceed the allowed number of DB instances. +// +// * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded" +// The request would cause you to exceed the allowed amount of storage available +// across all DB instances. +// +// * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault" +// DBSubnetGroupName doesn't refer to an existing DB subnet group. +// +// * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs" +// Subnets in the DB subnet group should cover at least two Availability Zones +// unless there is only one Availability Zone. +// +// * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault" +// The DB cluster isn't in a valid state. +// +// * ErrCodeInvalidSubnet "InvalidSubnet" +// The requested subnet is not valid, or multiple subnets were requested that +// are not all in a common virtual private cloud (VPC). +// +// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" +// The DB subnet group doesn't cover all Availability Zones after it is created +// because of changes that were made. +// +// * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault" +// DBClusterIdentifier doesn't refer to an existing DB cluster. +// +// * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported" +// Storage of the specified StorageType can't be associated with the DB instance. +// +// * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" +// The specified CIDR IP or Amazon EC2 security group isn't authorized for the +// specified DB security group. +// +// Amazon DocumentDB also might not be authorized to perform necessary actions +// on your behalf using IAM. +// +// * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" +// An error occurred when accessing an AWS KMS key. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBInstance +func (c *DocDB) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) { + req, out := c.CreateDBInstanceRequest(input) + return out, req.Send() +} + +// CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDBInstance 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 *DocDB) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) { + req, out := c.CreateDBInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDBSubnetGroup = "CreateDBSubnetGroup" + +// CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBSubnetGroup 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 CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup +// 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 CreateDBSubnetGroupRequest method. +// req, resp := client.CreateDBSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBSubnetGroup +func (c *DocDB) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) { + op := &request.Operation{ + Name: opCreateDBSubnetGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDBSubnetGroupInput{} + } + + output = &CreateDBSubnetGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Creates a new DB subnet group. DB subnet groups must contain at least one +// subnet in at least two Availability Zones in the AWS Region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation CreateDBSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists" +// DBSubnetGroupName is already being used by an existing DB subnet group. +// +// * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded" +// The request would cause you to exceed the allowed number of DB subnet groups. +// +// * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault" +// The request would cause you to exceed the allowed number of subnets in a +// DB subnet group. +// +// * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs" +// Subnets in the DB subnet group should cover at least two Availability Zones +// unless there is only one Availability Zone. +// +// * ErrCodeInvalidSubnet "InvalidSubnet" +// The requested subnet is not valid, or multiple subnets were requested that +// are not all in a common virtual private cloud (VPC). +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBSubnetGroup +func (c *DocDB) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) { + req, out := c.CreateDBSubnetGroupRequest(input) + return out, req.Send() +} + +// CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDBSubnetGroup 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 *DocDB) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) { + req, out := c.CreateDBSubnetGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDBCluster = "DeleteDBCluster" + +// DeleteDBClusterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDBCluster 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 DeleteDBCluster for more information on using the DeleteDBCluster +// 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 DeleteDBClusterRequest method. +// req, resp := client.DeleteDBClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBCluster +func (c *DocDB) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) { + op := &request.Operation{ + Name: opDeleteDBCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDBClusterInput{} + } + + output = &DeleteDBClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDBCluster API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Deletes a previously provisioned DB cluster. When you delete a DB cluster, +// all automated backups for that DB cluster are deleted and can't be recovered. +// Manual DB cluster snapshots of the specified DB cluster are not deleted. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation DeleteDBCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault" +// DBClusterIdentifier doesn't refer to an existing DB cluster. +// +// * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault" +// The DB cluster isn't in a valid state. +// +// * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault" +// You already have a DB cluster snapshot with the given identifier. +// +// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded" +// The request would cause you to exceed the allowed number of DB snapshots. +// +// * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault" +// The provided value isn't a valid DB cluster snapshot state. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBCluster +func (c *DocDB) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) { + req, out := c.DeleteDBClusterRequest(input) + return out, req.Send() +} + +// DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDBCluster 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 *DocDB) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) { + req, out := c.DeleteDBClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup" + +// DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDBClusterParameterGroup 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 DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup +// 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 DeleteDBClusterParameterGroupRequest method. +// req, resp := client.DeleteDBClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterParameterGroup +func (c *DocDB) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) { + op := &request.Operation{ + Name: opDeleteDBClusterParameterGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDBClusterParameterGroupInput{} + } + + output = &DeleteDBClusterParameterGroupOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Deletes a specified DB cluster parameter group. The DB cluster parameter +// group to be deleted can't be associated with any DB clusters. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation DeleteDBClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState" +// The DB parameter group is in use, or it is in a state that is not valid. +// If you are trying to delete the parameter group, you can't delete it when +// the parameter group is in this state. +// +// * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound" +// DBParameterGroupName doesn't refer to an existing DB parameter group. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterParameterGroup +func (c *DocDB) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) { + req, out := c.DeleteDBClusterParameterGroupRequest(input) + return out, req.Send() +} + +// DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDBClusterParameterGroup 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 *DocDB) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) { + req, out := c.DeleteDBClusterParameterGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot" + +// DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDBClusterSnapshot 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 DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot +// 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 DeleteDBClusterSnapshotRequest method. +// req, resp := client.DeleteDBClusterSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterSnapshot +func (c *DocDB) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) { + op := &request.Operation{ + Name: opDeleteDBClusterSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDBClusterSnapshotInput{} + } + + output = &DeleteDBClusterSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Deletes a DB cluster snapshot. If the snapshot is being copied, the copy +// operation is terminated. +// +// The DB cluster snapshot must be in the available state to be deleted. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation DeleteDBClusterSnapshot for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault" +// The provided value isn't a valid DB cluster snapshot state. +// +// * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault" +// DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterSnapshot +func (c *DocDB) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) { + req, out := c.DeleteDBClusterSnapshotRequest(input) + return out, req.Send() +} + +// DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDBClusterSnapshot 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 *DocDB) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) { + req, out := c.DeleteDBClusterSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDBInstance = "DeleteDBInstance" + +// DeleteDBInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDBInstance 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 DeleteDBInstance for more information on using the DeleteDBInstance +// 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 DeleteDBInstanceRequest method. +// req, resp := client.DeleteDBInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBInstance +func (c *DocDB) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) { + op := &request.Operation{ + Name: opDeleteDBInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDBInstanceInput{} + } + + output = &DeleteDBInstanceOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDBInstance API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Deletes a previously provisioned DB 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 DocumentDB with MongoDB compatibility's +// API operation DeleteDBInstance for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState" +// The specified DB instance isn't in the available state. +// +// * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists" +// DBSnapshotIdentifier is already being used by an existing snapshot. +// +// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded" +// The request would cause you to exceed the allowed number of DB snapshots. +// +// * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault" +// The DB cluster isn't in a valid state. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBInstance +func (c *DocDB) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) { + req, out := c.DeleteDBInstanceRequest(input) + return out, req.Send() +} + +// DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDBInstance 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 *DocDB) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) { + req, out := c.DeleteDBInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup" + +// DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDBSubnetGroup 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 DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup +// 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 DeleteDBSubnetGroupRequest method. +// req, resp := client.DeleteDBSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBSubnetGroup +func (c *DocDB) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) { + op := &request.Operation{ + Name: opDeleteDBSubnetGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDBSubnetGroupInput{} + } + + output = &DeleteDBSubnetGroupOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Deletes a DB subnet group. +// +// The specified database subnet group must not be associated with any DB 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 DocumentDB with MongoDB compatibility's +// API operation DeleteDBSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault" +// The DB subnet group can't be deleted because it's in use. +// +// * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault" +// The DB subnet isn't in the available state. +// +// * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault" +// DBSubnetGroupName doesn't refer to an existing DB subnet group. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBSubnetGroup +func (c *DocDB) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) { + req, out := c.DeleteDBSubnetGroupRequest(input) + return out, req.Send() +} + +// DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDBSubnetGroup 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 *DocDB) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) { + req, out := c.DeleteDBSubnetGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups" + +// DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBClusterParameterGroups 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 DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups +// 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 DescribeDBClusterParameterGroupsRequest method. +// req, resp := client.DescribeDBClusterParameterGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameterGroups +func (c *DocDB) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) { + op := &request.Operation{ + Name: opDescribeDBClusterParameterGroups, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDBClusterParameterGroupsInput{} + } + + output = &DescribeDBClusterParameterGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDBClusterParameterGroups API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName +// parameter is specified, the list contains only the description of the specified +// DB cluster parameter 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 DocumentDB with MongoDB compatibility's +// API operation DescribeDBClusterParameterGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound" +// DBParameterGroupName doesn't refer to an existing DB parameter group. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameterGroups +func (c *DocDB) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) { + req, out := c.DescribeDBClusterParameterGroupsRequest(input) + return out, req.Send() +} + +// DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDBClusterParameterGroups 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 *DocDB) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) { + req, out := c.DescribeDBClusterParameterGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDBClusterParameters = "DescribeDBClusterParameters" + +// DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBClusterParameters 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 DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters +// 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 DescribeDBClusterParametersRequest method. +// req, resp := client.DescribeDBClusterParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameters +func (c *DocDB) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) { + op := &request.Operation{ + Name: opDescribeDBClusterParameters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDBClusterParametersInput{} + } + + output = &DescribeDBClusterParametersOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDBClusterParameters API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Returns the detailed parameter list for a particular DB cluster parameter +// 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 DocumentDB with MongoDB compatibility's +// API operation DescribeDBClusterParameters for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound" +// DBParameterGroupName doesn't refer to an existing DB parameter group. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameters +func (c *DocDB) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) { + req, out := c.DescribeDBClusterParametersRequest(input) + return out, req.Send() +} + +// DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDBClusterParameters 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 *DocDB) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) { + req, out := c.DescribeDBClusterParametersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes" + +// DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBClusterSnapshotAttributes 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 DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes +// 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 DescribeDBClusterSnapshotAttributesRequest method. +// req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshotAttributes +func (c *DocDB) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) { + op := &request.Operation{ + Name: opDescribeDBClusterSnapshotAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDBClusterSnapshotAttributesInput{} + } + + output = &DescribeDBClusterSnapshotAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDBClusterSnapshotAttributes API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Returns a list of DB cluster snapshot attribute names and values for a manual +// DB cluster snapshot. +// +// When you share snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes +// returns the restore attribute and a list of IDs for the AWS accounts that +// are authorized to copy or restore the manual DB cluster snapshot. If all +// is included in the list of values for the restore attribute, then the manual +// DB cluster snapshot is public and can be copied or restored by all AWS accounts. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation DescribeDBClusterSnapshotAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault" +// DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshotAttributes +func (c *DocDB) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) { + req, out := c.DescribeDBClusterSnapshotAttributesRequest(input) + return out, req.Send() +} + +// DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDBClusterSnapshotAttributes 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 *DocDB) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) { + req, out := c.DescribeDBClusterSnapshotAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots" + +// DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBClusterSnapshots 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 DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots +// 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 DescribeDBClusterSnapshotsRequest method. +// req, resp := client.DescribeDBClusterSnapshotsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshots +func (c *DocDB) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) { + op := &request.Operation{ + Name: opDescribeDBClusterSnapshots, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDBClusterSnapshotsInput{} + } + + output = &DescribeDBClusterSnapshotsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDBClusterSnapshots API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Returns information about DB cluster snapshots. This API operation supports +// pagination. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation DescribeDBClusterSnapshots for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault" +// DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshots +func (c *DocDB) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) { + req, out := c.DescribeDBClusterSnapshotsRequest(input) + return out, req.Send() +} + +// DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDBClusterSnapshots 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 *DocDB) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) { + req, out := c.DescribeDBClusterSnapshotsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDBClusters = "DescribeDBClusters" + +// DescribeDBClustersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBClusters 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 DescribeDBClusters for more information on using the DescribeDBClusters +// 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 DescribeDBClustersRequest method. +// req, resp := client.DescribeDBClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusters +func (c *DocDB) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) { + op := &request.Operation{ + Name: opDescribeDBClusters, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeDBClustersInput{} + } + + output = &DescribeDBClustersOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDBClusters API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Returns information about provisioned Amazon DocumentDB DB clusters. This +// API operation supports pagination. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation DescribeDBClusters for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault" +// DBClusterIdentifier doesn't refer to an existing DB cluster. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusters +func (c *DocDB) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) { + req, out := c.DescribeDBClustersRequest(input) + return out, req.Send() +} + +// DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDBClusters 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 *DocDB) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) { + req, out := c.DescribeDBClustersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeDBClustersPages iterates over the pages of a DescribeDBClusters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBClusters 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 DescribeDBClusters operation. +// pageNum := 0 +// err := client.DescribeDBClustersPages(params, +// func(page *DescribeDBClustersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DocDB) DescribeDBClustersPages(input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool) error { + return c.DescribeDBClustersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeDBClustersPagesWithContext same as DescribeDBClustersPages 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 *DocDB) DescribeDBClustersPagesWithContext(ctx aws.Context, input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeDBClustersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDBClustersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeDBClustersOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeDBEngineVersions = "DescribeDBEngineVersions" + +// DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBEngineVersions 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 DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions +// 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 DescribeDBEngineVersionsRequest method. +// req, resp := client.DescribeDBEngineVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBEngineVersions +func (c *DocDB) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) { + op := &request.Operation{ + Name: opDescribeDBEngineVersions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeDBEngineVersionsInput{} + } + + output = &DescribeDBEngineVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDBEngineVersions API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Returns a list of the available DB engines. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation DescribeDBEngineVersions for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBEngineVersions +func (c *DocDB) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) { + req, out := c.DescribeDBEngineVersionsRequest(input) + return out, req.Send() +} + +// DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDBEngineVersions 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 *DocDB) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) { + req, out := c.DescribeDBEngineVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBEngineVersions 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 DescribeDBEngineVersions operation. +// pageNum := 0 +// err := client.DescribeDBEngineVersionsPages(params, +// func(page *DescribeDBEngineVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DocDB) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error { + return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages 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 *DocDB) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeDBEngineVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDBEngineVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeDBInstances = "DescribeDBInstances" + +// DescribeDBInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBInstances 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 DescribeDBInstances for more information on using the DescribeDBInstances +// 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 DescribeDBInstancesRequest method. +// req, resp := client.DescribeDBInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBInstances +func (c *DocDB) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) { + op := &request.Operation{ + Name: opDescribeDBInstances, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeDBInstancesInput{} + } + + output = &DescribeDBInstancesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDBInstances API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Returns information about provisioned Amazon DocumentDB instances. This API +// supports pagination. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation DescribeDBInstances for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBInstances +func (c *DocDB) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) { + req, out := c.DescribeDBInstancesRequest(input) + return out, req.Send() +} + +// DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDBInstances 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 *DocDB) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) { + req, out := c.DescribeDBInstancesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBInstances 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 DescribeDBInstances operation. +// pageNum := 0 +// err := client.DescribeDBInstancesPages(params, +// func(page *DescribeDBInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DocDB) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error { + return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages 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 *DocDB) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeDBInstancesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDBInstancesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups" + +// DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBSubnetGroups 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 DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups +// 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 DescribeDBSubnetGroupsRequest method. +// req, resp := client.DescribeDBSubnetGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBSubnetGroups +func (c *DocDB) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) { + op := &request.Operation{ + Name: opDescribeDBSubnetGroups, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeDBSubnetGroupsInput{} + } + + output = &DescribeDBSubnetGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDBSubnetGroups API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, +// the list will contain only the descriptions of the specified DBSubnetGroup. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation DescribeDBSubnetGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault" +// DBSubnetGroupName doesn't refer to an existing DB subnet group. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBSubnetGroups +func (c *DocDB) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) { + req, out := c.DescribeDBSubnetGroupsRequest(input) + return out, req.Send() +} + +// DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDBSubnetGroups 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 *DocDB) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) { + req, out := c.DescribeDBSubnetGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBSubnetGroups 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 DescribeDBSubnetGroups operation. +// pageNum := 0 +// err := client.DescribeDBSubnetGroupsPages(params, +// func(page *DescribeDBSubnetGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DocDB) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error { + return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages 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 *DocDB) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeDBSubnetGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDBSubnetGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters" + +// DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEngineDefaultClusterParameters 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 DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters +// 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 DescribeEngineDefaultClusterParametersRequest method. +// req, resp := client.DescribeEngineDefaultClusterParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEngineDefaultClusterParameters +func (c *DocDB) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) { + op := &request.Operation{ + Name: opDescribeEngineDefaultClusterParameters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEngineDefaultClusterParametersInput{} + } + + output = &DescribeEngineDefaultClusterParametersOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEngineDefaultClusterParameters API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Returns the default engine and system parameter information for the cluster +// database engine. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation DescribeEngineDefaultClusterParameters for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEngineDefaultClusterParameters +func (c *DocDB) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) { + req, out := c.DescribeEngineDefaultClusterParametersRequest(input) + return out, req.Send() +} + +// DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEngineDefaultClusterParameters 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 *DocDB) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) { + req, out := c.DescribeEngineDefaultClusterParametersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeEventCategories = "DescribeEventCategories" + +// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEventCategories 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 DescribeEventCategories for more information on using the DescribeEventCategories +// 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 DescribeEventCategoriesRequest method. +// req, resp := client.DescribeEventCategoriesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventCategories +func (c *DocDB) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) { + op := &request.Operation{ + Name: opDescribeEventCategories, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEventCategoriesInput{} + } + + output = &DescribeEventCategoriesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEventCategories API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Displays a list of categories for all event source types, or, if specified, +// for a specified source 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 DocumentDB with MongoDB compatibility's +// API operation DescribeEventCategories for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventCategories +func (c *DocDB) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) { + req, out := c.DescribeEventCategoriesRequest(input) + return out, req.Send() +} + +// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEventCategories 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 *DocDB) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) { + req, out := c.DescribeEventCategoriesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeEvents = "DescribeEvents" + +// DescribeEventsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEvents 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 DescribeEvents for more information on using the DescribeEvents +// 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 DescribeEventsRequest method. +// req, resp := client.DescribeEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents +func (c *DocDB) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { + op := &request.Operation{ + Name: opDescribeEvents, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeEventsInput{} + } + + output = &DescribeEventsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEvents API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Returns events related to DB instances, DB security groups, DB snapshots, +// and DB parameter groups for the past 14 days. You can obtain events specific +// to a particular DB instance, DB security group, DB snapshot, or DB parameter +// group by providing the name as a parameter. By default, the events of the +// past hour are 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 DocumentDB with MongoDB compatibility's +// API operation DescribeEvents for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents +func (c *DocDB) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { + req, out := c.DescribeEventsRequest(input) + return out, req.Send() +} + +// DescribeEventsWithContext is the same as DescribeEvents with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEvents 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 *DocDB) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) { + req, out := c.DescribeEventsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeEventsPages iterates over the pages of a DescribeEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEvents 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 DescribeEvents operation. +// pageNum := 0 +// err := client.DescribeEventsPages(params, +// func(page *DescribeEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DocDB) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error { + return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeEventsPagesWithContext same as DescribeEventsPages 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 *DocDB) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeEventsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEventsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions" + +// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOrderableDBInstanceOptions 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 DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions +// 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 DescribeOrderableDBInstanceOptionsRequest method. +// req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions +func (c *DocDB) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) { + op := &request.Operation{ + Name: opDescribeOrderableDBInstanceOptions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeOrderableDBInstanceOptionsInput{} + } + + output = &DescribeOrderableDBInstanceOptionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeOrderableDBInstanceOptions API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Returns a list of orderable DB instance options for the specified engine. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation DescribeOrderableDBInstanceOptions for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions +func (c *DocDB) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) { + req, out := c.DescribeOrderableDBInstanceOptionsRequest(input) + return out, req.Send() +} + +// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeOrderableDBInstanceOptions 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 *DocDB) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) { + req, out := c.DescribeOrderableDBInstanceOptionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeOrderableDBInstanceOptions 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 DescribeOrderableDBInstanceOptions operation. +// pageNum := 0 +// err := client.DescribeOrderableDBInstanceOptionsPages(params, +// func(page *DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DocDB) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error { + return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages 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 *DocDB) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeOrderableDBInstanceOptionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions" + +// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribePendingMaintenanceActions 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 DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions +// 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 DescribePendingMaintenanceActionsRequest method. +// req, resp := client.DescribePendingMaintenanceActionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribePendingMaintenanceActions +func (c *DocDB) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) { + op := &request.Operation{ + Name: opDescribePendingMaintenanceActions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribePendingMaintenanceActionsInput{} + } + + output = &DescribePendingMaintenanceActionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribePendingMaintenanceActions API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Returns a list of resources (for example, DB instances) that have at least +// one pending maintenance 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 DocumentDB with MongoDB compatibility's +// API operation DescribePendingMaintenanceActions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundFault "ResourceNotFoundFault" +// The specified resource ID was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribePendingMaintenanceActions +func (c *DocDB) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) { + req, out := c.DescribePendingMaintenanceActionsRequest(input) + return out, req.Send() +} + +// DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribePendingMaintenanceActions 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 *DocDB) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) { + req, out := c.DescribePendingMaintenanceActionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opFailoverDBCluster = "FailoverDBCluster" + +// FailoverDBClusterRequest generates a "aws/request.Request" representing the +// client's request for the FailoverDBCluster 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 FailoverDBCluster for more information on using the FailoverDBCluster +// 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 FailoverDBClusterRequest method. +// req, resp := client.FailoverDBClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/FailoverDBCluster +func (c *DocDB) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) { + op := &request.Operation{ + Name: opFailoverDBCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &FailoverDBClusterInput{} + } + + output = &FailoverDBClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// FailoverDBCluster API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Forces a failover for a DB cluster. +// +// A failover for a DB cluster promotes one of the Amazon DocumentDB replicas +// (read-only instances) in the DB cluster to be the primary instance (the cluster +// writer). +// +// If the primary instance fails, Amazon DocumentDB automatically fails over +// to an Amazon DocumentDB replica, if one exists. You can force a failover +// when you want to simulate a failure of a primary instance for testing. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation FailoverDBCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault" +// DBClusterIdentifier doesn't refer to an existing DB cluster. +// +// * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault" +// The DB cluster isn't in a valid state. +// +// * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState" +// The specified DB instance isn't in the available state. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/FailoverDBCluster +func (c *DocDB) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) { + req, out := c.FailoverDBClusterRequest(input) + return out, req.Send() +} + +// FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of +// the ability to pass a context and additional request options. +// +// See FailoverDBCluster 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 *DocDB) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) { + req, out := c.FailoverDBClusterRequest(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/docdb-2014-10-31/ListTagsForResource +func (c *DocDB) 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 DocumentDB with MongoDB compatibility. +// +// Lists all tags on an Amazon DocumentDB 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 DocumentDB with MongoDB compatibility's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound" +// DBSnapshotIdentifier doesn't refer to an existing DB snapshot. +// +// * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault" +// DBClusterIdentifier doesn't refer to an existing DB cluster. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ListTagsForResource +func (c *DocDB) 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 *DocDB) 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 opModifyDBCluster = "ModifyDBCluster" + +// ModifyDBClusterRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDBCluster 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 ModifyDBCluster for more information on using the ModifyDBCluster +// 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 ModifyDBClusterRequest method. +// req, resp := client.ModifyDBClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBCluster +func (c *DocDB) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) { + op := &request.Operation{ + Name: opModifyDBCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyDBClusterInput{} + } + + output = &ModifyDBClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyDBCluster API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Modifies a setting for an Amazon DocumentDB DB cluster. You can change one +// or more database configuration parameters by specifying these parameters +// and the new values in 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 DocumentDB with MongoDB compatibility's +// API operation ModifyDBCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault" +// DBClusterIdentifier doesn't refer to an existing DB cluster. +// +// * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault" +// The DB cluster isn't in a valid state. +// +// * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded" +// The request would cause you to exceed the allowed amount of storage available +// across all DB instances. +// +// * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault" +// DBSubnetGroupName doesn't refer to an existing DB subnet group. +// +// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" +// The DB subnet group doesn't cover all Availability Zones after it is created +// because of changes that were made. +// +// * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault" +// The DB subnet group can't be deleted because it's in use. +// +// * ErrCodeInvalidSubnet "InvalidSubnet" +// The requested subnet is not valid, or multiple subnets were requested that +// are not all in a common virtual private cloud (VPC). +// +// * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound" +// DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter +// group. +// +// * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState" +// The state of the DB security group doesn't allow deletion. +// +// * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState" +// The specified DB instance isn't in the available state. +// +// * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault" +// You already have a DB cluster with the given identifier. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBCluster +func (c *DocDB) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) { + req, out := c.ModifyDBClusterRequest(input) + return out, req.Send() +} + +// ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyDBCluster 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 *DocDB) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) { + req, out := c.ModifyDBClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup" + +// ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDBClusterParameterGroup 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 ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup +// 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 ModifyDBClusterParameterGroupRequest method. +// req, resp := client.ModifyDBClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterParameterGroup +func (c *DocDB) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *ModifyDBClusterParameterGroupOutput) { + op := &request.Operation{ + Name: opModifyDBClusterParameterGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyDBClusterParameterGroupInput{} + } + + output = &ModifyDBClusterParameterGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Modifies the parameters of a DB cluster parameter group. To modify more than +// one parameter, submit a list of the following: ParameterName, ParameterValue, +// and ApplyMethod. A maximum of 20 parameters can be modified in a single request. +// +// Changes to dynamic parameters are applied immediately. Changes to static +// parameters require a reboot or maintenance window before the change can take +// effect. +// +// After you create a DB cluster parameter group, you should wait at least 5 +// minutes before creating your first DB cluster that uses that DB cluster parameter +// group as the default parameter group. This allows Amazon DocumentDB to fully +// complete the create action before the parameter group is used as the default +// for a new DB cluster. This step is especially important for parameters that +// are critical when creating the default database for a DB cluster, such as +// the character set for the default database defined by the character_set_database +// parameter. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation ModifyDBClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound" +// DBParameterGroupName doesn't refer to an existing DB parameter group. +// +// * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState" +// The DB parameter group is in use, or it is in a state that is not valid. +// If you are trying to delete the parameter group, you can't delete it when +// the parameter group is in this state. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterParameterGroup +func (c *DocDB) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*ModifyDBClusterParameterGroupOutput, error) { + req, out := c.ModifyDBClusterParameterGroupRequest(input) + return out, req.Send() +} + +// ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyDBClusterParameterGroup 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 *DocDB) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*ModifyDBClusterParameterGroupOutput, error) { + req, out := c.ModifyDBClusterParameterGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute" + +// ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDBClusterSnapshotAttribute 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 ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute +// 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 ModifyDBClusterSnapshotAttributeRequest method. +// req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterSnapshotAttribute +func (c *DocDB) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) { + op := &request.Operation{ + Name: opModifyDBClusterSnapshotAttribute, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyDBClusterSnapshotAttributeInput{} + } + + output = &ModifyDBClusterSnapshotAttributeOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyDBClusterSnapshotAttribute API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Adds an attribute and values to, or removes an attribute and values from, +// a manual DB cluster snapshot. +// +// To share a manual DB cluster snapshot with other AWS accounts, specify restore +// as the AttributeName, and use the ValuesToAdd parameter to add a list of +// IDs of the AWS accounts that are authorized to restore the manual DB cluster +// snapshot. Use the value all to make the manual DB cluster snapshot public, +// which means that it can be copied or restored by all AWS accounts. Do not +// add the all value for any manual DB cluster snapshots that contain private +// information that you don't want available to all AWS accounts. If a manual +// DB cluster snapshot is encrypted, it can be shared, but only by specifying +// a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't +// use all as a value for that parameter in this case. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation ModifyDBClusterSnapshotAttribute for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault" +// DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot. +// +// * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault" +// The provided value isn't a valid DB cluster snapshot state. +// +// * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded" +// You have exceeded the maximum number of accounts that you can share a manual +// DB snapshot with. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterSnapshotAttribute +func (c *DocDB) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) { + req, out := c.ModifyDBClusterSnapshotAttributeRequest(input) + return out, req.Send() +} + +// ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyDBClusterSnapshotAttribute 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 *DocDB) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) { + req, out := c.ModifyDBClusterSnapshotAttributeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opModifyDBInstance = "ModifyDBInstance" + +// ModifyDBInstanceRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDBInstance 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 ModifyDBInstance for more information on using the ModifyDBInstance +// 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 ModifyDBInstanceRequest method. +// req, resp := client.ModifyDBInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBInstance +func (c *DocDB) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) { + op := &request.Operation{ + Name: opModifyDBInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyDBInstanceInput{} + } + + output = &ModifyDBInstanceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyDBInstance API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Modifies settings for a DB instance. You can change one or more database +// configuration parameters by specifying these parameters and the new values +// in 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 DocumentDB with MongoDB compatibility's +// API operation ModifyDBInstance for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState" +// The specified DB instance isn't in the available state. +// +// * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState" +// The state of the DB security group doesn't allow deletion. +// +// * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists" +// You already have a DB instance with the given identifier. +// +// * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound" +// DBSecurityGroupName doesn't refer to an existing DB security group. +// +// * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound" +// DBParameterGroupName doesn't refer to an existing DB parameter group. +// +// * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity" +// The specified DB instance class isn't available in the specified Availability +// Zone. +// +// * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded" +// The request would cause you to exceed the allowed amount of storage available +// across all DB instances. +// +// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" +// The DB subnet group doesn't cover all Availability Zones after it is created +// because of changes that were made. +// +// * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure" +// The DB upgrade failed because a resource that the DB depends on can't be +// modified. +// +// * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported" +// Storage of the specified StorageType can't be associated with the DB instance. +// +// * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" +// The specified CIDR IP or Amazon EC2 security group isn't authorized for the +// specified DB security group. +// +// Amazon DocumentDB also might not be authorized to perform necessary actions +// on your behalf using IAM. +// +// * ErrCodeCertificateNotFoundFault "CertificateNotFound" +// CertificateIdentifier doesn't refer to an existing certificate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBInstance +func (c *DocDB) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) { + req, out := c.ModifyDBInstanceRequest(input) + return out, req.Send() +} + +// ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyDBInstance 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 *DocDB) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) { + req, out := c.ModifyDBInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opModifyDBSubnetGroup = "ModifyDBSubnetGroup" + +// ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDBSubnetGroup 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 ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup +// 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 ModifyDBSubnetGroupRequest method. +// req, resp := client.ModifyDBSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBSubnetGroup +func (c *DocDB) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) { + op := &request.Operation{ + Name: opModifyDBSubnetGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyDBSubnetGroupInput{} + } + + output = &ModifyDBSubnetGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Modifies an existing DB subnet group. DB subnet groups must contain at least +// one subnet in at least two Availability Zones in the AWS Region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation ModifyDBSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault" +// DBSubnetGroupName doesn't refer to an existing DB subnet group. +// +// * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault" +// The request would cause you to exceed the allowed number of subnets in a +// DB subnet group. +// +// * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse" +// The DB subnet is already in use in the Availability Zone. +// +// * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs" +// Subnets in the DB subnet group should cover at least two Availability Zones +// unless there is only one Availability Zone. +// +// * ErrCodeInvalidSubnet "InvalidSubnet" +// The requested subnet is not valid, or multiple subnets were requested that +// are not all in a common virtual private cloud (VPC). +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBSubnetGroup +func (c *DocDB) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) { + req, out := c.ModifyDBSubnetGroupRequest(input) + return out, req.Send() +} + +// ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyDBSubnetGroup 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 *DocDB) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) { + req, out := c.ModifyDBSubnetGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRebootDBInstance = "RebootDBInstance" + +// RebootDBInstanceRequest generates a "aws/request.Request" representing the +// client's request for the RebootDBInstance 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 RebootDBInstance for more information on using the RebootDBInstance +// 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 RebootDBInstanceRequest method. +// req, resp := client.RebootDBInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RebootDBInstance +func (c *DocDB) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) { + op := &request.Operation{ + Name: opRebootDBInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RebootDBInstanceInput{} + } + + output = &RebootDBInstanceOutput{} + req = c.newRequest(op, input, output) + return +} + +// RebootDBInstance API operation for Amazon DocumentDB with MongoDB compatibility. +// +// You might need to reboot your DB instance, usually for maintenance reasons. +// For example, if you make certain changes, or if you change the DB cluster +// parameter group that is associated with the DB instance, you must reboot +// the instance for the changes to take effect. +// +// Rebooting a DB instance restarts the database engine service. Rebooting a +// DB instance results in a momentary outage, during which the DB instance status +// is set to rebooting. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation RebootDBInstance for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState" +// The specified DB instance isn't in the available state. +// +// * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RebootDBInstance +func (c *DocDB) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) { + req, out := c.RebootDBInstanceRequest(input) + return out, req.Send() +} + +// RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of +// the ability to pass a context and additional request options. +// +// See RebootDBInstance 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 *DocDB) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) { + req, out := c.RebootDBInstanceRequest(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/docdb-2014-10-31/RemoveTagsFromResource +func (c *DocDB) 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(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// RemoveTagsFromResource API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Removes metadata tags from an Amazon DocumentDB 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 DocumentDB with MongoDB compatibility's +// API operation RemoveTagsFromResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound" +// DBSnapshotIdentifier doesn't refer to an existing DB snapshot. +// +// * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault" +// DBClusterIdentifier doesn't refer to an existing DB cluster. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveTagsFromResource +func (c *DocDB) 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 *DocDB) 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 opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup" + +// ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the ResetDBClusterParameterGroup 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 ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup +// 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 ResetDBClusterParameterGroupRequest method. +// req, resp := client.ResetDBClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ResetDBClusterParameterGroup +func (c *DocDB) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *ResetDBClusterParameterGroupOutput) { + op := &request.Operation{ + Name: opResetDBClusterParameterGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ResetDBClusterParameterGroupInput{} + } + + output = &ResetDBClusterParameterGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// ResetDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Modifies the parameters of a DB cluster parameter group to the default value. +// To reset specific parameters, submit a list of the following: ParameterName +// and ApplyMethod. To reset the entire DB cluster parameter group, specify +// the DBClusterParameterGroupName and ResetAllParameters parameters. +// +// When you reset the entire group, dynamic parameters are updated immediately +// and static parameters are set to pending-reboot to take effect on the next +// DB instance reboot. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation ResetDBClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState" +// The DB parameter group is in use, or it is in a state that is not valid. +// If you are trying to delete the parameter group, you can't delete it when +// the parameter group is in this state. +// +// * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound" +// DBParameterGroupName doesn't refer to an existing DB parameter group. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ResetDBClusterParameterGroup +func (c *DocDB) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*ResetDBClusterParameterGroupOutput, error) { + req, out := c.ResetDBClusterParameterGroupRequest(input) + return out, req.Send() +} + +// ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of +// the ability to pass a context and additional request options. +// +// See ResetDBClusterParameterGroup 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 *DocDB) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*ResetDBClusterParameterGroupOutput, error) { + req, out := c.ResetDBClusterParameterGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot" + +// RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the RestoreDBClusterFromSnapshot 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 RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot +// 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 RestoreDBClusterFromSnapshotRequest method. +// req, resp := client.RestoreDBClusterFromSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterFromSnapshot +func (c *DocDB) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) { + op := &request.Operation{ + Name: opRestoreDBClusterFromSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RestoreDBClusterFromSnapshotInput{} + } + + output = &RestoreDBClusterFromSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// RestoreDBClusterFromSnapshot API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Creates a new DB cluster from a DB snapshot or DB cluster snapshot. +// +// If a DB snapshot is specified, the target DB cluster is created from the +// source DB snapshot with a default configuration and default security group. +// +// If a DB cluster snapshot is specified, the target DB cluster is created from +// the source DB cluster restore point with the same configuration as the original +// source DB cluster, except that the new DB cluster is created with the default +// security 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 DocumentDB with MongoDB compatibility's +// API operation RestoreDBClusterFromSnapshot for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault" +// You already have a DB cluster with the given identifier. +// +// * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault" +// The DB cluster can't be created because you have reached the maximum allowed +// quota of DB clusters. +// +// * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded" +// The request would cause you to exceed the allowed amount of storage available +// across all DB instances. +// +// * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault" +// DBSubnetGroupName doesn't refer to an existing DB subnet group. +// +// * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound" +// DBSnapshotIdentifier doesn't refer to an existing DB snapshot. +// +// * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault" +// DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot. +// +// * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault" +// The DB cluster doesn't have enough capacity for the current operation. +// +// * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity" +// There is not enough storage available for the current action. You might be +// able to resolve this error by updating your subnet group to use different +// Availability Zones that have more storage available. +// +// * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState" +// The state of the DB snapshot doesn't allow deletion. +// +// * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault" +// The provided value isn't a valid DB cluster snapshot state. +// +// * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded" +// The request would cause you to exceed the allowed amount of storage available +// across all DB instances. +// +// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" +// The DB subnet group doesn't cover all Availability Zones after it is created +// because of changes that were made. +// +// * ErrCodeInvalidRestoreFault "InvalidRestoreFault" +// You cannot restore from a virtual private cloud (VPC) backup to a non-VPC +// DB instance. +// +// * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault" +// DBSubnetGroupName doesn't refer to an existing DB subnet group. +// +// * ErrCodeInvalidSubnet "InvalidSubnet" +// The requested subnet is not valid, or multiple subnets were requested that +// are not all in a common virtual private cloud (VPC). +// +// * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" +// An error occurred when accessing an AWS KMS key. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterFromSnapshot +func (c *DocDB) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) { + req, out := c.RestoreDBClusterFromSnapshotRequest(input) + return out, req.Send() +} + +// RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See RestoreDBClusterFromSnapshot 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 *DocDB) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) { + req, out := c.RestoreDBClusterFromSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime" + +// RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the +// client's request for the RestoreDBClusterToPointInTime 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 RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime +// 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 RestoreDBClusterToPointInTimeRequest method. +// req, resp := client.RestoreDBClusterToPointInTimeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterToPointInTime +func (c *DocDB) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) { + op := &request.Operation{ + Name: opRestoreDBClusterToPointInTime, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RestoreDBClusterToPointInTimeInput{} + } + + output = &RestoreDBClusterToPointInTimeOutput{} + req = c.newRequest(op, input, output) + return +} + +// RestoreDBClusterToPointInTime API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Restores a DB cluster to an arbitrary point in time. Users can restore to +// any point in time before LatestRestorableTime for up to BackupRetentionPeriod +// days. The target DB cluster is created from the source DB cluster with the +// same configuration as the original DB cluster, except that the new DB cluster +// is created with the default DB security 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 DocumentDB with MongoDB compatibility's +// API operation RestoreDBClusterToPointInTime for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault" +// You already have a DB cluster with the given identifier. +// +// * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault" +// DBClusterIdentifier doesn't refer to an existing DB cluster. +// +// * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault" +// The DB cluster can't be created because you have reached the maximum allowed +// quota of DB clusters. +// +// * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault" +// DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot. +// +// * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault" +// DBSubnetGroupName doesn't refer to an existing DB subnet group. +// +// * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault" +// The DB cluster doesn't have enough capacity for the current operation. +// +// * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity" +// There is not enough storage available for the current action. You might be +// able to resolve this error by updating your subnet group to use different +// Availability Zones that have more storage available. +// +// * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault" +// The provided value isn't a valid DB cluster snapshot state. +// +// * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault" +// The DB cluster isn't in a valid state. +// +// * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState" +// The state of the DB snapshot doesn't allow deletion. +// +// * ErrCodeInvalidRestoreFault "InvalidRestoreFault" +// You cannot restore from a virtual private cloud (VPC) backup to a non-VPC +// DB instance. +// +// * ErrCodeInvalidSubnet "InvalidSubnet" +// The requested subnet is not valid, or multiple subnets were requested that +// are not all in a common virtual private cloud (VPC). +// +// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" +// The DB subnet group doesn't cover all Availability Zones after it is created +// because of changes that were made. +// +// * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" +// An error occurred when accessing an AWS KMS key. +// +// * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded" +// The request would cause you to exceed the allowed amount of storage available +// across all DB instances. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterToPointInTime +func (c *DocDB) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) { + req, out := c.RestoreDBClusterToPointInTimeRequest(input) + return out, req.Send() +} + +// RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of +// the ability to pass a context and additional request options. +// +// See RestoreDBClusterToPointInTime 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 *DocDB) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) { + req, out := c.RestoreDBClusterToPointInTimeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Represents the input to AddTagsToResource. +type AddTagsToResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon DocumentDB resource that the tags are added to. This value is + // an Amazon Resource Name (ARN). + // + // ResourceName is a required field + ResourceName *string `type:"string" required:"true"` + + // The tags to be assigned to the Amazon DocumentDB resource. + // + // Tags is a required field + Tags []*Tag `locationNameList:"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.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceName sets the ResourceName field's value. +func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput { + s.ResourceName = &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() +} + +// Represents the input to ApplyPendingMaintenanceAction. +type ApplyPendingMaintenanceActionInput struct { + _ struct{} `type:"structure"` + + // The pending maintenance action to apply to this resource. + // + // Valid values: system-update, db-upgrade + // + // ApplyAction is a required field + ApplyAction *string `type:"string" required:"true"` + + // A value that specifies the type of opt-in request or undoes an opt-in request. + // An opt-in request of type immediate can't be undone. + // + // Valid values: + // + // * immediate - Apply the maintenance action immediately. + // + // * next-maintenance - Apply the maintenance action during the next maintenance + // window for the resource. + // + // * undo-opt-in - Cancel any existing next-maintenance opt-in requests. + // + // OptInType is a required field + OptInType *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the resource that the pending maintenance + // action applies to. + // + // ResourceIdentifier is a required field + ResourceIdentifier *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ApplyPendingMaintenanceActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplyPendingMaintenanceActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ApplyPendingMaintenanceActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"} + if s.ApplyAction == nil { + invalidParams.Add(request.NewErrParamRequired("ApplyAction")) + } + if s.OptInType == nil { + invalidParams.Add(request.NewErrParamRequired("OptInType")) + } + if s.ResourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplyAction sets the ApplyAction field's value. +func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput { + s.ApplyAction = &v + return s +} + +// SetOptInType sets the OptInType field's value. +func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput { + s.OptInType = &v + return s +} + +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput { + s.ResourceIdentifier = &v + return s +} + +type ApplyPendingMaintenanceActionOutput struct { + _ struct{} `type:"structure"` + + // Represents the output of ApplyPendingMaintenanceAction. + ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"` +} + +// String returns the string representation +func (s ApplyPendingMaintenanceActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplyPendingMaintenanceActionOutput) GoString() string { + return s.String() +} + +// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value. +func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput { + s.ResourcePendingMaintenanceActions = v + return s +} + +// Information about an Availability Zone. +type AvailabilityZone struct { + _ struct{} `type:"structure"` + + // The name of the Availability Zone. + Name *string `type:"string"` +} + +// String returns the string representation +func (s AvailabilityZone) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AvailabilityZone) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *AvailabilityZone) SetName(v string) *AvailabilityZone { + s.Name = &v + return s +} + +// The configuration setting for the log types to be enabled for export to Amazon +// CloudWatch Logs for a specific DB instance or DB cluster. +// +// The EnableLogTypes and DisableLogTypes arrays determine which logs are exported +// (or not exported) to CloudWatch Logs. The values within these arrays depend +// on the DB engine that is being used. +type CloudwatchLogsExportConfiguration struct { + _ struct{} `type:"structure"` + + // The list of log types to disable. + DisableLogTypes []*string `type:"list"` + + // The list of log types to enable. + EnableLogTypes []*string `type:"list"` +} + +// String returns the string representation +func (s CloudwatchLogsExportConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudwatchLogsExportConfiguration) GoString() string { + return s.String() +} + +// SetDisableLogTypes sets the DisableLogTypes field's value. +func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration { + s.DisableLogTypes = v + return s +} + +// SetEnableLogTypes sets the EnableLogTypes field's value. +func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration { + s.EnableLogTypes = v + return s +} + +// Represents the input to CopyDBClusterParameterGroup. +type CopyDBClusterParameterGroupInput struct { + _ struct{} `type:"structure"` + + // The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter + // group. + // + // Constraints: + // + // * Must specify a valid DB cluster parameter group. + // + // * If the source DB cluster parameter group is in the same AWS Region as + // the copy, specify a valid DB parameter group identifier; for example, + // my-db-cluster-param-group, or a valid ARN. + // + // * If the source DB parameter group is in a different AWS Region than the + // copy, specify a valid DB cluster parameter group ARN; for example, arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1. + // + // SourceDBClusterParameterGroupIdentifier is a required field + SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"` + + // The tags that are to be assigned to the parameter group. + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // A description for the copied DB cluster parameter group. + // + // TargetDBClusterParameterGroupDescription is a required field + TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"` + + // The identifier for the copied DB cluster parameter group. + // + // Constraints: + // + // * Cannot be null, empty, or blank. + // + // * Must contain from 1 to 255 letters, numbers, or hyphens. + // + // * The first character must be a letter. + // + // * Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: my-cluster-param-group1 + // + // TargetDBClusterParameterGroupIdentifier is a required field + TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CopyDBClusterParameterGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CopyDBClusterParameterGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CopyDBClusterParameterGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"} + if s.SourceDBClusterParameterGroupIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier")) + } + if s.TargetDBClusterParameterGroupDescription == nil { + invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription")) + } + if s.TargetDBClusterParameterGroupIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value. +func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput { + s.SourceDBClusterParameterGroupIdentifier = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput { + s.Tags = v + return s +} + +// SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value. +func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput { + s.TargetDBClusterParameterGroupDescription = &v + return s +} + +// SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value. +func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput { + s.TargetDBClusterParameterGroupIdentifier = &v + return s +} + +type CopyDBClusterParameterGroupOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB cluster parameter group. + DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"` +} + +// String returns the string representation +func (s CopyDBClusterParameterGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CopyDBClusterParameterGroupOutput) GoString() string { + return s.String() +} + +// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value. +func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput { + s.DBClusterParameterGroup = v + return s +} + +// Represents the input to CopyDBClusterSnapshot. +type CopyDBClusterSnapshotInput struct { + _ struct{} `type:"structure"` + + // Set to true to copy all tags from the source DB cluster snapshot to the target + // DB cluster snapshot, and otherwise false. The default is false. + CopyTags *bool `type:"boolean"` + + // The AWS KMS key ID for an encrypted DB cluster snapshot. The AWS KMS key + // ID is the Amazon Resource Name (ARN), AWS KMS key identifier, or the AWS + // KMS key alias for the AWS KMS encryption key. + // + // If you copy an encrypted DB cluster snapshot from your AWS account, you can + // specify a value for KmsKeyId to encrypt the copy with a new AWS KMS encryption + // key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster + // snapshot is encrypted with the same AWS KMS key as the source DB cluster + // snapshot. + // + // If you copy an encrypted DB cluster snapshot that is shared from another + // AWS account, then you must specify a value for KmsKeyId. + // + // To copy an encrypted DB cluster snapshot to another AWS Region, set KmsKeyId + // to the AWS KMS key ID that you want to use to encrypt the copy of the DB + // cluster snapshot in the destination Region. AWS KMS encryption keys are specific + // to the AWS Region that they are created in, and you can't use encryption + // keys from one Region in another Region. + // + // If you copy an unencrypted DB cluster snapshot and specify a value for the + // KmsKeyId parameter, an error is returned. + KmsKeyId *string `type:"string"` + + // The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot + // API action in the AWS Region that contains the source DB cluster snapshot + // to copy. You must use the PreSignedUrl parameter when copying an encrypted + // DB cluster snapshot from another AWS Region. + // + // The presigned URL must be a valid request for the CopyDBSClusterSnapshot + // API action that can be executed in the source AWS Region that contains the + // encrypted DB cluster snapshot to be copied. The presigned URL request must + // contain the following parameter values: + // + // * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt + // the copy of the DB cluster snapshot in the destination AWS Region. This + // is the same identifier for both the CopyDBClusterSnapshot action that + // is called in the destination AWS Region, and the action contained in the + // presigned URL. + // + // * DestinationRegion - The name of the AWS Region that the DB cluster snapshot + // will be created in. + // + // * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier + // for the encrypted DB cluster snapshot to be copied. This identifier must + // be in the Amazon Resource Name (ARN) format for the source AWS Region. + // For example, if you are copying an encrypted DB cluster snapshot from + // the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier + // looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:my-cluster-snapshot-20161115. + PreSignedUrl *string `type:"string"` + + // The identifier of the DB cluster snapshot to copy. This parameter is not + // case sensitive. + // + // You can't copy an encrypted, shared DB cluster snapshot from one AWS Region + // to another. + // + // Constraints: + // + // * Must specify a valid system snapshot in the "available" state. + // + // * If the source snapshot is in the same AWS Region as the copy, specify + // a valid DB snapshot identifier. + // + // * If the source snapshot is in a different AWS Region than the copy, specify + // a valid DB cluster snapshot ARN. + // + // Example: my-cluster-snapshot1 + // + // SourceDBClusterSnapshotIdentifier is a required field + SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"` + + // The tags to be assigned to the DB cluster snapshot. + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // The identifier of the new DB cluster snapshot to create from the source DB + // cluster snapshot. This parameter is not case sensitive. + // + // Constraints: + // + // * Must contain from 1 to 63 letters, numbers, or hyphens. + // + // * The first character must be a letter. + // + // * Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: my-cluster-snapshot2 + // + // TargetDBClusterSnapshotIdentifier is a required field + TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CopyDBClusterSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CopyDBClusterSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CopyDBClusterSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"} + if s.SourceDBClusterSnapshotIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier")) + } + if s.TargetDBClusterSnapshotIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCopyTags sets the CopyTags field's value. +func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput { + s.CopyTags = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput { + s.KmsKeyId = &v + return s +} + +// SetPreSignedUrl sets the PreSignedUrl field's value. +func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput { + s.PreSignedUrl = &v + return s +} + +// SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value. +func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput { + s.SourceDBClusterSnapshotIdentifier = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput { + s.Tags = v + return s +} + +// SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value. +func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput { + s.TargetDBClusterSnapshotIdentifier = &v + return s +} + +type CopyDBClusterSnapshotOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB cluster snapshot. + DBClusterSnapshot *DBClusterSnapshot `type:"structure"` +} + +// String returns the string representation +func (s CopyDBClusterSnapshotOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CopyDBClusterSnapshotOutput) GoString() string { + return s.String() +} + +// SetDBClusterSnapshot sets the DBClusterSnapshot field's value. +func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput { + s.DBClusterSnapshot = v + return s +} + +// Represents the input to CreateDBCluster. +type CreateDBClusterInput struct { + _ struct{} `type:"structure"` + + // A list of Amazon EC2 Availability Zones that instances in the DB cluster + // can be created in. + AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` + + // The number of days for which automated backups are retained. You must specify + // a minimum value of 1. + // + // Default: 1 + // + // Constraints: + // + // * Must be a value from 1 to 35. + BackupRetentionPeriod *int64 `type:"integer"` + + // The DB cluster identifier. This parameter is stored as a lowercase string. + // + // Constraints: + // + // * Must contain from 1 to 63 letters, numbers, or hyphens. + // + // * The first character must be a letter. + // + // * Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: my-cluster + // + // DBClusterIdentifier is a required field + DBClusterIdentifier *string `type:"string" required:"true"` + + // The name of the DB cluster parameter group to associate with this DB cluster. + DBClusterParameterGroupName *string `type:"string"` + + // A DB subnet group to associate with this DB cluster. + // + // Constraints: Must match the name of an existing DBSubnetGroup. Must not be + // default. + // + // Example: mySubnetgroup + DBSubnetGroupName *string `type:"string"` + + // A list of log types that need to be enabled for exporting to Amazon CloudWatch + // Logs. + EnableCloudwatchLogsExports []*string `type:"list"` + + // The name of the database engine to be used for this DB cluster. + // + // Valid values: docdb + // + // Engine is a required field + Engine *string `type:"string" required:"true"` + + // The version number of the database engine to use. + EngineVersion *string `type:"string"` + + // The AWS KMS key identifier for an encrypted DB cluster. + // + // The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS + // KMS encryption key. If you are creating a DB cluster using the same AWS account + // that owns the AWS KMS encryption key that is used to encrypt the new DB cluster, + // you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption + // key. + // + // If an encryption key is not specified in KmsKeyId: + // + // * If ReplicationSourceIdentifier identifies an encrypted source, then + // Amazon DocumentDB uses the encryption key that is used to encrypt the + // source. Otherwise, Amazon DocumentDB uses your default encryption key. + // + // + // * If the StorageEncrypted parameter is true and ReplicationSourceIdentifier + // is not specified, Amazon DocumentDB uses your default encryption key. + // + // AWS KMS creates the default encryption key for your AWS account. Your AWS + // account has a different default encryption key for each AWS Region. + // + // If you create a replica of an encrypted DB cluster in another AWS Region, + // you must set KmsKeyId to a KMS key ID that is valid in the destination AWS + // Region. This key is used to encrypt the replica in that AWS Region. + KmsKeyId *string `type:"string"` + + // The password for the master database user. This password can contain any + // printable ASCII character except "/", """, or "@". + // + // Constraints: Must contain from 8 to 41 characters. + MasterUserPassword *string `type:"string"` + + // The name of the master user for the DB cluster. + // + // Constraints: + // + // * Must be from 1 to 16 letters or numbers. + // + // * The first character must be a letter. + // + // * Cannot be a reserved word for the chosen database engine. + MasterUsername *string `type:"string"` + + // The port number on which the instances in the DB cluster accept connections. + Port *int64 `type:"integer"` + + // The daily time range during which automated backups are created if automated + // backups are enabled using the BackupRetentionPeriod parameter. + // + // The default is a 30-minute window selected at random from an 8-hour block + // of time for each AWS Region. + // + // Constraints: + // + // * Must be in the format hh24:mi-hh24:mi. + // + // * Must be in Universal Coordinated Time (UTC). + // + // * Must not conflict with the preferred maintenance window. + // + // * Must be at least 30 minutes. + PreferredBackupWindow *string `type:"string"` + + // The weekly time range during which system maintenance can occur, in Universal + // Coordinated Time (UTC). + // + // Format: ddd:hh24:mi-ddd:hh24:mi + // + // The default is a 30-minute window selected at random from an 8-hour block + // of time for each AWS Region, occurring on a random day of the week. + // + // Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun + // + // Constraints: Minimum 30-minute window. + PreferredMaintenanceWindow *string `type:"string"` + + // Specifies whether the DB cluster is encrypted. + StorageEncrypted *bool `type:"boolean"` + + // The tags to be assigned to the DB cluster. + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // A list of EC2 VPC security groups to associate with this DB cluster. + VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"` +} + +// String returns the string representation +func (s CreateDBClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDBClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDBClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"} + if s.DBClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier")) + } + if s.Engine == nil { + invalidParams.Add(request.NewErrParamRequired("Engine")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput { + s.AvailabilityZones = v + return s +} + +// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value. +func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput { + s.BackupRetentionPeriod = &v + return s +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput { + s.DBClusterIdentifier = &v + return s +} + +// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value. +func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput { + s.DBClusterParameterGroupName = &v + return s +} + +// SetDBSubnetGroupName sets the DBSubnetGroupName field's value. +func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput { + s.DBSubnetGroupName = &v + return s +} + +// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value. +func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput { + s.EnableCloudwatchLogsExports = v + return s +} + +// SetEngine sets the Engine field's value. +func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput { + s.Engine = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput { + s.EngineVersion = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput { + s.KmsKeyId = &v + return s +} + +// SetMasterUserPassword sets the MasterUserPassword field's value. +func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput { + s.MasterUserPassword = &v + return s +} + +// SetMasterUsername sets the MasterUsername field's value. +func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput { + s.MasterUsername = &v + return s +} + +// SetPort sets the Port field's value. +func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput { + s.Port = &v + return s +} + +// SetPreferredBackupWindow sets the PreferredBackupWindow field's value. +func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput { + s.PreferredBackupWindow = &v + return s +} + +// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. +func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput { + s.PreferredMaintenanceWindow = &v + return s +} + +// SetStorageEncrypted sets the StorageEncrypted field's value. +func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput { + s.StorageEncrypted = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput { + s.Tags = v + return s +} + +// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value. +func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput { + s.VpcSecurityGroupIds = v + return s +} + +type CreateDBClusterOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB cluster. + DBCluster *DBCluster `type:"structure"` +} + +// String returns the string representation +func (s CreateDBClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDBClusterOutput) GoString() string { + return s.String() +} + +// SetDBCluster sets the DBCluster field's value. +func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput { + s.DBCluster = v + return s +} + +// Represents the input of CreateDBClusterParameterGroup. +type CreateDBClusterParameterGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the DB cluster parameter group. + // + // Constraints: + // + // * Must match the name of an existing DBClusterParameterGroup. + // + // This value is stored as a lowercase string. + // + // DBClusterParameterGroupName is a required field + DBClusterParameterGroupName *string `type:"string" required:"true"` + + // The DB cluster parameter group family name. + // + // DBParameterGroupFamily is a required field + DBParameterGroupFamily *string `type:"string" required:"true"` + + // The description for the DB cluster parameter group. + // + // Description is a required field + Description *string `type:"string" required:"true"` + + // The tags to be assigned to the DB cluster parameter group. + Tags []*Tag `locationNameList:"Tag" type:"list"` +} + +// String returns the string representation +func (s CreateDBClusterParameterGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDBClusterParameterGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDBClusterParameterGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"} + if s.DBClusterParameterGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName")) + } + if s.DBParameterGroupFamily == nil { + invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily")) + } + if s.Description == nil { + invalidParams.Add(request.NewErrParamRequired("Description")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value. +func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput { + s.DBClusterParameterGroupName = &v + return s +} + +// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value. +func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput { + s.DBParameterGroupFamily = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput { + s.Description = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput { + s.Tags = v + return s +} + +type CreateDBClusterParameterGroupOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB cluster parameter group. + DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"` +} + +// String returns the string representation +func (s CreateDBClusterParameterGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDBClusterParameterGroupOutput) GoString() string { + return s.String() +} + +// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value. +func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput { + s.DBClusterParameterGroup = v + return s +} + +// Represents the input of CreateDBClusterSnapshot. +type CreateDBClusterSnapshotInput struct { + _ struct{} `type:"structure"` + + // The identifier of the DB cluster to create a snapshot for. This parameter + // is not case sensitive. + // + // Constraints: + // + // * Must match the identifier of an existing DBCluster. + // + // Example: my-cluster + // + // DBClusterIdentifier is a required field + DBClusterIdentifier *string `type:"string" required:"true"` + + // The identifier of the DB cluster snapshot. This parameter is stored as a + // lowercase string. + // + // Constraints: + // + // * Must contain from 1 to 63 letters, numbers, or hyphens. + // + // * The first character must be a letter. + // + // * Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: my-cluster-snapshot1 + // + // DBClusterSnapshotIdentifier is a required field + DBClusterSnapshotIdentifier *string `type:"string" required:"true"` + + // The tags to be assigned to the DB cluster snapshot. + Tags []*Tag `locationNameList:"Tag" type:"list"` +} + +// String returns the string representation +func (s CreateDBClusterSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDBClusterSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDBClusterSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"} + if s.DBClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier")) + } + if s.DBClusterSnapshotIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput { + s.DBClusterIdentifier = &v + return s +} + +// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value. +func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput { + s.DBClusterSnapshotIdentifier = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput { + s.Tags = v + return s +} + +type CreateDBClusterSnapshotOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB cluster snapshot. + DBClusterSnapshot *DBClusterSnapshot `type:"structure"` +} + +// String returns the string representation +func (s CreateDBClusterSnapshotOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDBClusterSnapshotOutput) GoString() string { + return s.String() +} + +// SetDBClusterSnapshot sets the DBClusterSnapshot field's value. +func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput { + s.DBClusterSnapshot = v + return s +} + +// Represents the input to CreateDBInstance. +type CreateDBInstanceInput struct { + _ struct{} `type:"structure"` + + // Indicates that minor engine upgrades are applied automatically to the DB + // instance during the maintenance window. + // + // Default: true + AutoMinorVersionUpgrade *bool `type:"boolean"` + + // The Amazon EC2 Availability Zone that the DB instance is created in. + // + // Default: A random, system-chosen Availability Zone in the endpoint's AWS + // Region. + // + // Example: us-east-1d + // + // Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ + // parameter is set to true. The specified Availability Zone must be in the + // same AWS Region as the current endpoint. + AvailabilityZone *string `type:"string"` + + // The identifier of the DB cluster that the instance will belong to. + // + // DBClusterIdentifier is a required field + DBClusterIdentifier *string `type:"string" required:"true"` + + // The compute and memory capacity of the DB instance; for example, db.m4.large. + // + // DBInstanceClass is a required field + DBInstanceClass *string `type:"string" required:"true"` + + // The DB instance identifier. This parameter is stored as a lowercase string. + // + // Constraints: + // + // * Must contain from 1 to 63 letters, numbers, or hyphens. + // + // * The first character must be a letter. + // + // * Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: mydbinstance + // + // DBInstanceIdentifier is a required field + DBInstanceIdentifier *string `type:"string" required:"true"` + + // The name of the database engine to be used for this instance. + // + // Valid value: docdb + // + // Engine is a required field + Engine *string `type:"string" required:"true"` + + // The time range each week during which system maintenance can occur, in Universal + // Coordinated Time (UTC). + // + // Format: ddd:hh24:mi-ddd:hh24:mi + // + // The default is a 30-minute window selected at random from an 8-hour block + // of time for each AWS Region, occurring on a random day of the week. + // + // Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun + // + // Constraints: Minimum 30-minute window. + PreferredMaintenanceWindow *string `type:"string"` + + // A value that specifies the order in which an Amazon DocumentDB replica is + // promoted to the primary instance after a failure of the existing primary + // instance. + // + // Default: 1 + // + // Valid values: 0-15 + PromotionTier *int64 `type:"integer"` + + // The tags to be assigned to the DB instance. + Tags []*Tag `locationNameList:"Tag" type:"list"` +} + +// String returns the string representation +func (s CreateDBInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDBInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDBInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"} + if s.DBClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier")) + } + if s.DBInstanceClass == nil { + invalidParams.Add(request.NewErrParamRequired("DBInstanceClass")) + } + if s.DBInstanceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier")) + } + if s.Engine == nil { + invalidParams.Add(request.NewErrParamRequired("Engine")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. +func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput { + s.AutoMinorVersionUpgrade = &v + return s +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput { + s.AvailabilityZone = &v + return s +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput { + s.DBClusterIdentifier = &v + return s +} + +// SetDBInstanceClass sets the DBInstanceClass field's value. +func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput { + s.DBInstanceClass = &v + return s +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput { + s.DBInstanceIdentifier = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput { + s.Engine = &v + return s +} + +// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. +func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput { + s.PreferredMaintenanceWindow = &v + return s +} + +// SetPromotionTier sets the PromotionTier field's value. +func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput { + s.PromotionTier = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput { + s.Tags = v + return s +} + +type CreateDBInstanceOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB instance. + DBInstance *DBInstance `type:"structure"` +} + +// String returns the string representation +func (s CreateDBInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDBInstanceOutput) GoString() string { + return s.String() +} + +// SetDBInstance sets the DBInstance field's value. +func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput { + s.DBInstance = v + return s +} + +// Represents the input to CreateDBSubnetGroup. +type CreateDBSubnetGroupInput struct { + _ struct{} `type:"structure"` + + // The description for the DB subnet group. + // + // DBSubnetGroupDescription is a required field + DBSubnetGroupDescription *string `type:"string" required:"true"` + + // The name for the DB subnet group. This value is stored as a lowercase string. + // + // Constraints: Must contain no more than 255 letters, numbers, periods, underscores, + // spaces, or hyphens. Must not be default. + // + // Example: mySubnetgroup + // + // DBSubnetGroupName is a required field + DBSubnetGroupName *string `type:"string" required:"true"` + + // The Amazon EC2 subnet IDs for the DB subnet group. + // + // SubnetIds is a required field + SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` + + // The tags to be assigned to the DB subnet group. + Tags []*Tag `locationNameList:"Tag" type:"list"` +} + +// String returns the string representation +func (s CreateDBSubnetGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDBSubnetGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDBSubnetGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"} + if s.DBSubnetGroupDescription == nil { + invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription")) + } + if s.DBSubnetGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName")) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value. +func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput { + s.DBSubnetGroupDescription = &v + return s +} + +// SetDBSubnetGroupName sets the DBSubnetGroupName field's value. +func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput { + s.DBSubnetGroupName = &v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput { + s.SubnetIds = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput { + s.Tags = v + return s +} + +type CreateDBSubnetGroupOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB subnet group. + DBSubnetGroup *DBSubnetGroup `type:"structure"` +} + +// String returns the string representation +func (s CreateDBSubnetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDBSubnetGroupOutput) GoString() string { + return s.String() +} + +// SetDBSubnetGroup sets the DBSubnetGroup field's value. +func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput { + s.DBSubnetGroup = v + return s +} + +// Detailed information about a DB cluster. +type DBCluster struct { + _ struct{} `type:"structure"` + + // Provides a list of the AWS Identity and Access Management (IAM) roles that + // are associated with the DB cluster. IAM roles that are associated with a + // DB cluster grant permission for the DB cluster to access other AWS services + // on your behalf. + AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"` + + // Provides the list of Amazon EC2 Availability Zones that instances in the + // DB cluster can be created in. + AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` + + // Specifies the number of days for which automatic DB snapshots are retained. + BackupRetentionPeriod *int64 `type:"integer"` + + // Specifies the time when the DB cluster was created, in Universal Coordinated + // Time (UTC). + ClusterCreateTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) for the DB cluster. + DBClusterArn *string `type:"string"` + + // Contains a user-supplied DB cluster identifier. This identifier is the unique + // key that identifies a DB cluster. + DBClusterIdentifier *string `type:"string"` + + // Provides the list of instances that make up the DB cluster. + DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"` + + // Specifies the name of the DB cluster parameter group for the DB cluster. + DBClusterParameterGroup *string `type:"string"` + + // Specifies information on the subnet group that is associated with the DB + // cluster, including the name, description, and subnets in the subnet group. + DBSubnetGroup *string `type:"string"` + + // The AWS Region-unique, immutable identifier for the DB cluster. This identifier + // is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB + // cluster is accessed. + DbClusterResourceId *string `type:"string"` + + // The earliest time to which a database can be restored with point-in-time + // restore. + EarliestRestorableTime *time.Time `type:"timestamp"` + + // A list of log types that this DB cluster is configured to export to Amazon + // CloudWatch Logs. + EnabledCloudwatchLogsExports []*string `type:"list"` + + // Specifies the connection endpoint for the primary instance of the DB cluster. + Endpoint *string `type:"string"` + + // Provides the name of the database engine to be used for this DB cluster. + Engine *string `type:"string"` + + // Indicates the database engine version. + EngineVersion *string `type:"string"` + + // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + HostedZoneId *string `type:"string"` + + // If StorageEncrypted is true, the AWS KMS key identifier for the encrypted + // DB cluster. + KmsKeyId *string `type:"string"` + + // Specifies the latest time to which a database can be restored with point-in-time + // restore. + LatestRestorableTime *time.Time `type:"timestamp"` + + // Contains the master user name for the DB cluster. + MasterUsername *string `type:"string"` + + // Specifies whether the DB cluster has instances in multiple Availability Zones. + MultiAZ *bool `type:"boolean"` + + // Specifies the progress of the operation as a percentage. + PercentProgress *string `type:"string"` + + // Specifies the port that the database engine is listening on. + Port *int64 `type:"integer"` + + // Specifies the daily time range during which automated backups are created + // if automated backups are enabled, as determined by the BackupRetentionPeriod. + PreferredBackupWindow *string `type:"string"` + + // Specifies the weekly time range during which system maintenance can occur, + // in Universal Coordinated Time (UTC). + PreferredMaintenanceWindow *string `type:"string"` + + // The reader endpoint for the DB cluster. The reader endpoint for a DB cluster + // load balances connections across the Amazon DocumentDB replicas that are + // available in a DB cluster. As clients request new connections to the reader + // endpoint, Amazon DocumentDB distributes the connection requests among the + // Amazon DocumentDB replicas in the DB cluster. This functionality can help + // balance your read workload across multiple Amazon DocumentDB replicas in + // your DB cluster. + // + // If a failover occurs, and the Amazon DocumentDB replica that you are connected + // to is promoted to be the primary instance, your connection is dropped. To + // continue sending your read workload to other Amazon DocumentDB replicas in + // the cluster, you can then reconnect to the reader endpoint. + ReaderEndpoint *string `type:"string"` + + // Specifies the current state of this DB cluster. + Status *string `type:"string"` + + // Specifies whether the DB cluster is encrypted. + StorageEncrypted *bool `type:"boolean"` + + // Provides a list of virtual private cloud (VPC) security groups that the DB + // cluster belongs to. + VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"` +} + +// String returns the string representation +func (s DBCluster) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBCluster) GoString() string { + return s.String() +} + +// SetAssociatedRoles sets the AssociatedRoles field's value. +func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster { + s.AssociatedRoles = v + return s +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster { + s.AvailabilityZones = v + return s +} + +// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value. +func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster { + s.BackupRetentionPeriod = &v + return s +} + +// SetClusterCreateTime sets the ClusterCreateTime field's value. +func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster { + s.ClusterCreateTime = &v + return s +} + +// SetDBClusterArn sets the DBClusterArn field's value. +func (s *DBCluster) SetDBClusterArn(v string) *DBCluster { + s.DBClusterArn = &v + return s +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster { + s.DBClusterIdentifier = &v + return s +} + +// SetDBClusterMembers sets the DBClusterMembers field's value. +func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster { + s.DBClusterMembers = v + return s +} + +// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value. +func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster { + s.DBClusterParameterGroup = &v + return s +} + +// SetDBSubnetGroup sets the DBSubnetGroup field's value. +func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster { + s.DBSubnetGroup = &v + return s +} + +// SetDbClusterResourceId sets the DbClusterResourceId field's value. +func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster { + s.DbClusterResourceId = &v + return s +} + +// SetEarliestRestorableTime sets the EarliestRestorableTime field's value. +func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster { + s.EarliestRestorableTime = &v + return s +} + +// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value. +func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster { + s.EnabledCloudwatchLogsExports = v + return s +} + +// SetEndpoint sets the Endpoint field's value. +func (s *DBCluster) SetEndpoint(v string) *DBCluster { + s.Endpoint = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *DBCluster) SetEngine(v string) *DBCluster { + s.Engine = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *DBCluster) SetEngineVersion(v string) *DBCluster { + s.EngineVersion = &v + return s +} + +// SetHostedZoneId sets the HostedZoneId field's value. +func (s *DBCluster) SetHostedZoneId(v string) *DBCluster { + s.HostedZoneId = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *DBCluster) SetKmsKeyId(v string) *DBCluster { + s.KmsKeyId = &v + return s +} + +// SetLatestRestorableTime sets the LatestRestorableTime field's value. +func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster { + s.LatestRestorableTime = &v + return s +} + +// SetMasterUsername sets the MasterUsername field's value. +func (s *DBCluster) SetMasterUsername(v string) *DBCluster { + s.MasterUsername = &v + return s +} + +// SetMultiAZ sets the MultiAZ field's value. +func (s *DBCluster) SetMultiAZ(v bool) *DBCluster { + s.MultiAZ = &v + return s +} + +// SetPercentProgress sets the PercentProgress field's value. +func (s *DBCluster) SetPercentProgress(v string) *DBCluster { + s.PercentProgress = &v + return s +} + +// SetPort sets the Port field's value. +func (s *DBCluster) SetPort(v int64) *DBCluster { + s.Port = &v + return s +} + +// SetPreferredBackupWindow sets the PreferredBackupWindow field's value. +func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster { + s.PreferredBackupWindow = &v + return s +} + +// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. +func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster { + s.PreferredMaintenanceWindow = &v + return s +} + +// SetReaderEndpoint sets the ReaderEndpoint field's value. +func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster { + s.ReaderEndpoint = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DBCluster) SetStatus(v string) *DBCluster { + s.Status = &v + return s +} + +// SetStorageEncrypted sets the StorageEncrypted field's value. +func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster { + s.StorageEncrypted = &v + return s +} + +// SetVpcSecurityGroups sets the VpcSecurityGroups field's value. +func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster { + s.VpcSecurityGroups = v + return s +} + +// Contains information about an instance that is part of a DB cluster. +type DBClusterMember struct { + _ struct{} `type:"structure"` + + // Specifies the status of the DB cluster parameter group for this member of + // the DB cluster. + DBClusterParameterGroupStatus *string `type:"string"` + + // Specifies the instance identifier for this member of the DB cluster. + DBInstanceIdentifier *string `type:"string"` + + // A value that is true if the cluster member is the primary instance for the + // DB cluster and false otherwise. + IsClusterWriter *bool `type:"boolean"` + + // A value that specifies the order in which an Amazon DocumentDB replica is + // promoted to the primary instance after a failure of the existing primary + // instance. + PromotionTier *int64 `type:"integer"` +} + +// String returns the string representation +func (s DBClusterMember) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBClusterMember) GoString() string { + return s.String() +} + +// SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value. +func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember { + s.DBClusterParameterGroupStatus = &v + return s +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember { + s.DBInstanceIdentifier = &v + return s +} + +// SetIsClusterWriter sets the IsClusterWriter field's value. +func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember { + s.IsClusterWriter = &v + return s +} + +// SetPromotionTier sets the PromotionTier field's value. +func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember { + s.PromotionTier = &v + return s +} + +// Detailed information about a DB cluster parameter group. +type DBClusterParameterGroup struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the DB cluster parameter group. + DBClusterParameterGroupArn *string `type:"string"` + + // Provides the name of the DB cluster parameter group. + DBClusterParameterGroupName *string `type:"string"` + + // Provides the name of the DB parameter group family that this DB cluster parameter + // group is compatible with. + DBParameterGroupFamily *string `type:"string"` + + // Provides the customer-specified description for this DB cluster parameter + // group. + Description *string `type:"string"` +} + +// String returns the string representation +func (s DBClusterParameterGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBClusterParameterGroup) GoString() string { + return s.String() +} + +// SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value. +func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup { + s.DBClusterParameterGroupArn = &v + return s +} + +// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value. +func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup { + s.DBClusterParameterGroupName = &v + return s +} + +// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value. +func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup { + s.DBParameterGroupFamily = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup { + s.Description = &v + return s +} + +// Describes an AWS Identity and Access Management (IAM) role that is associated +// with a DB cluster. +type DBClusterRole struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the IAM role that is associated with the + // DB cluster. + RoleArn *string `type:"string"` + + // Describes the state of association between the IAM role and the DB cluster. + // The Status property returns one of the following values: + // + // * ACTIVE - The IAM role ARN is associated with the DB cluster and can + // be used to access other AWS services on your behalf. + // + // * PENDING - The IAM role ARN is being associated with the DB cluster. + // + // * INVALID - The IAM role ARN is associated with the DB cluster, but the + // DB cluster cannot assume the IAM role to access other AWS services on + // your behalf. + Status *string `type:"string"` +} + +// String returns the string representation +func (s DBClusterRole) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBClusterRole) GoString() string { + return s.String() +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole { + s.RoleArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DBClusterRole) SetStatus(v string) *DBClusterRole { + s.Status = &v + return s +} + +// Detailed information about a DB cluster snapshot. +type DBClusterSnapshot struct { + _ struct{} `type:"structure"` + + // Provides the list of Amazon EC2 Availability Zones that instances in the + // DB cluster snapshot can be restored in. + AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` + + // Specifies the time when the DB cluster was created, in Universal Coordinated + // Time (UTC). + ClusterCreateTime *time.Time `type:"timestamp"` + + // Specifies the DB cluster identifier of the DB cluster that this DB cluster + // snapshot was created from. + DBClusterIdentifier *string `type:"string"` + + // The Amazon Resource Name (ARN) for the DB cluster snapshot. + DBClusterSnapshotArn *string `type:"string"` + + // Specifies the identifier for the DB cluster snapshot. + DBClusterSnapshotIdentifier *string `type:"string"` + + // Specifies the name of the database engine. + Engine *string `type:"string"` + + // Provides the version of the database engine for this DB cluster snapshot. + EngineVersion *string `type:"string"` + + // If StorageEncrypted is true, the AWS KMS key identifier for the encrypted + // DB cluster snapshot. + KmsKeyId *string `type:"string"` + + // Provides the master user name for the DB cluster snapshot. + MasterUsername *string `type:"string"` + + // Specifies the percentage of the estimated data that has been transferred. + PercentProgress *int64 `type:"integer"` + + // Specifies the port that the DB cluster was listening on at the time of the + // snapshot. + Port *int64 `type:"integer"` + + // Provides the time when the snapshot was taken, in UTC. + SnapshotCreateTime *time.Time `type:"timestamp"` + + // Provides the type of the DB cluster snapshot. + SnapshotType *string `type:"string"` + + // If the DB cluster snapshot was copied from a source DB cluster snapshot, + // the ARN for the source DB cluster snapshot; otherwise, a null value. + SourceDBClusterSnapshotArn *string `type:"string"` + + // Specifies the status of this DB cluster snapshot. + Status *string `type:"string"` + + // Specifies whether the DB cluster snapshot is encrypted. + StorageEncrypted *bool `type:"boolean"` + + // Provides the virtual private cloud (VPC) ID that is associated with the DB + // cluster snapshot. + VpcId *string `type:"string"` +} + +// String returns the string representation +func (s DBClusterSnapshot) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBClusterSnapshot) GoString() string { + return s.String() +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot { + s.AvailabilityZones = v + return s +} + +// SetClusterCreateTime sets the ClusterCreateTime field's value. +func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot { + s.ClusterCreateTime = &v + return s +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot { + s.DBClusterIdentifier = &v + return s +} + +// SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value. +func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot { + s.DBClusterSnapshotArn = &v + return s +} + +// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value. +func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot { + s.DBClusterSnapshotIdentifier = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot { + s.Engine = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot { + s.EngineVersion = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot { + s.KmsKeyId = &v + return s +} + +// SetMasterUsername sets the MasterUsername field's value. +func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot { + s.MasterUsername = &v + return s +} + +// SetPercentProgress sets the PercentProgress field's value. +func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot { + s.PercentProgress = &v + return s +} + +// SetPort sets the Port field's value. +func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot { + s.Port = &v + return s +} + +// SetSnapshotCreateTime sets the SnapshotCreateTime field's value. +func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot { + s.SnapshotCreateTime = &v + return s +} + +// SetSnapshotType sets the SnapshotType field's value. +func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot { + s.SnapshotType = &v + return s +} + +// SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value. +func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot { + s.SourceDBClusterSnapshotArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot { + s.Status = &v + return s +} + +// SetStorageEncrypted sets the StorageEncrypted field's value. +func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot { + s.StorageEncrypted = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot { + s.VpcId = &v + return s +} + +// Contains the name and values of a manual DB cluster snapshot attribute. +// +// Manual DB cluster snapshot attributes are used to authorize other AWS accounts +// to restore a manual DB cluster snapshot. +type DBClusterSnapshotAttribute struct { + _ struct{} `type:"structure"` + + // The name of the manual DB cluster snapshot attribute. + // + // The attribute named restore refers to the list of AWS accounts that have + // permission to copy or restore the manual DB cluster snapshot. + AttributeName *string `type:"string"` + + // The values for the manual DB cluster snapshot attribute. + // + // If the AttributeName field is set to restore, then this element returns a + // list of IDs of the AWS accounts that are authorized to copy or restore the + // manual DB cluster snapshot. If a value of all is in the list, then the manual + // DB cluster snapshot is public and available for any AWS account to copy or + // restore. + AttributeValues []*string `locationNameList:"AttributeValue" type:"list"` +} + +// String returns the string representation +func (s DBClusterSnapshotAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBClusterSnapshotAttribute) GoString() string { + return s.String() +} + +// SetAttributeName sets the AttributeName field's value. +func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute { + s.AttributeName = &v + return s +} + +// SetAttributeValues sets the AttributeValues field's value. +func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute { + s.AttributeValues = v + return s +} + +// Detailed information about the attributes that are associated with a DB cluster +// snapshot. +type DBClusterSnapshotAttributesResult struct { + _ struct{} `type:"structure"` + + // The list of attributes and values for the DB cluster snapshot. + DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"` + + // The identifier of the DB cluster snapshot that the attributes apply to. + DBClusterSnapshotIdentifier *string `type:"string"` +} + +// String returns the string representation +func (s DBClusterSnapshotAttributesResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBClusterSnapshotAttributesResult) GoString() string { + return s.String() +} + +// SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value. +func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult { + s.DBClusterSnapshotAttributes = v + return s +} + +// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value. +func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult { + s.DBClusterSnapshotIdentifier = &v + return s +} + +// Detailed information about a DB engine version. +type DBEngineVersion struct { + _ struct{} `type:"structure"` + + // The description of the database engine. + DBEngineDescription *string `type:"string"` + + // The description of the database engine version. + DBEngineVersionDescription *string `type:"string"` + + // The name of the DB parameter group family for the database engine. + DBParameterGroupFamily *string `type:"string"` + + // The name of the database engine. + Engine *string `type:"string"` + + // The version number of the database engine. + EngineVersion *string `type:"string"` + + // The types of logs that the database engine has available for export to Amazon + // CloudWatch Logs. + ExportableLogTypes []*string `type:"list"` + + // A value that indicates whether the engine version supports exporting the + // log types specified by ExportableLogTypes to CloudWatch Logs. + SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"` + + // A list of engine versions that this database engine version can be upgraded + // to. + ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"` +} + +// String returns the string representation +func (s DBEngineVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBEngineVersion) GoString() string { + return s.String() +} + +// SetDBEngineDescription sets the DBEngineDescription field's value. +func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion { + s.DBEngineDescription = &v + return s +} + +// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value. +func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion { + s.DBEngineVersionDescription = &v + return s +} + +// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value. +func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion { + s.DBParameterGroupFamily = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion { + s.Engine = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion { + s.EngineVersion = &v + return s +} + +// SetExportableLogTypes sets the ExportableLogTypes field's value. +func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion { + s.ExportableLogTypes = v + return s +} + +// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value. +func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion { + s.SupportsLogExportsToCloudwatchLogs = &v + return s +} + +// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value. +func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion { + s.ValidUpgradeTarget = v + return s +} + +// Detailed information about a DB instance. +type DBInstance struct { + _ struct{} `type:"structure"` + + // Indicates that minor version patches are applied automatically. + AutoMinorVersionUpgrade *bool `type:"boolean"` + + // Specifies the name of the Availability Zone that the DB instance is located + // in. + AvailabilityZone *string `type:"string"` + + // Specifies the number of days for which automatic DB snapshots are retained. + BackupRetentionPeriod *int64 `type:"integer"` + + // Contains the name of the DB cluster that the DB instance is a member of if + // the DB instance is a member of a DB cluster. + DBClusterIdentifier *string `type:"string"` + + // The Amazon Resource Name (ARN) for the DB instance. + DBInstanceArn *string `type:"string"` + + // Contains the name of the compute and memory capacity class of the DB instance. + DBInstanceClass *string `type:"string"` + + // Contains a user-provided database identifier. This identifier is the unique + // key that identifies a DB instance. + DBInstanceIdentifier *string `type:"string"` + + // Specifies the current state of this database. + DBInstanceStatus *string `type:"string"` + + // Specifies information on the subnet group that is associated with the DB + // instance, including the name, description, and subnets in the subnet group. + DBSubnetGroup *DBSubnetGroup `type:"structure"` + + // The AWS Region-unique, immutable identifier for the DB instance. This identifier + // is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB + // instance is accessed. + DbiResourceId *string `type:"string"` + + // A list of log types that this DB instance is configured to export to Amazon + // CloudWatch Logs. + EnabledCloudwatchLogsExports []*string `type:"list"` + + // Specifies the connection endpoint. + Endpoint *Endpoint `type:"structure"` + + // Provides the name of the database engine to be used for this DB instance. + Engine *string `type:"string"` + + // Indicates the database engine version. + EngineVersion *string `type:"string"` + + // Provides the date and time that the DB instance was created. + InstanceCreateTime *time.Time `type:"timestamp"` + + // If StorageEncrypted is true, the AWS KMS key identifier for the encrypted + // DB instance. + KmsKeyId *string `type:"string"` + + // Specifies the latest time to which a database can be restored with point-in-time + // restore. + LatestRestorableTime *time.Time `type:"timestamp"` + + // Specifies that changes to the DB instance are pending. This element is included + // only when changes are pending. Specific changes are identified by subelements. + PendingModifiedValues *PendingModifiedValues `type:"structure"` + + // Specifies the daily time range during which automated backups are created + // if automated backups are enabled, as determined by the BackupRetentionPeriod. + PreferredBackupWindow *string `type:"string"` + + // Specifies the weekly time range during which system maintenance can occur, + // in Universal Coordinated Time (UTC). + PreferredMaintenanceWindow *string `type:"string"` + + // A value that specifies the order in which an Amazon DocumentDB replica is + // promoted to the primary instance after a failure of the existing primary + // instance. + PromotionTier *int64 `type:"integer"` + + // Specifies the availability options for the DB instance. A value of true specifies + // an internet-facing instance with a publicly resolvable DNS name, which resolves + // to a public IP address. A value of false specifies an internal instance with + // a DNS name that resolves to a private IP address. + PubliclyAccessible *bool `type:"boolean"` + + // The status of a read replica. If the instance is not a read replica, this + // is blank. + StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"` + + // Specifies whether the DB instance is encrypted. + StorageEncrypted *bool `type:"boolean"` + + // Provides a list of VPC security group elements that the DB instance belongs + // to. + VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"` +} + +// String returns the string representation +func (s DBInstance) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBInstance) GoString() string { + return s.String() +} + +// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. +func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance { + s.AutoMinorVersionUpgrade = &v + return s +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance { + s.AvailabilityZone = &v + return s +} + +// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value. +func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance { + s.BackupRetentionPeriod = &v + return s +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance { + s.DBClusterIdentifier = &v + return s +} + +// SetDBInstanceArn sets the DBInstanceArn field's value. +func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance { + s.DBInstanceArn = &v + return s +} + +// SetDBInstanceClass sets the DBInstanceClass field's value. +func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance { + s.DBInstanceClass = &v + return s +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance { + s.DBInstanceIdentifier = &v + return s +} + +// SetDBInstanceStatus sets the DBInstanceStatus field's value. +func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance { + s.DBInstanceStatus = &v + return s +} + +// SetDBSubnetGroup sets the DBSubnetGroup field's value. +func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance { + s.DBSubnetGroup = v + return s +} + +// SetDbiResourceId sets the DbiResourceId field's value. +func (s *DBInstance) SetDbiResourceId(v string) *DBInstance { + s.DbiResourceId = &v + return s +} + +// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value. +func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance { + s.EnabledCloudwatchLogsExports = v + return s +} + +// SetEndpoint sets the Endpoint field's value. +func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance { + s.Endpoint = v + return s +} + +// SetEngine sets the Engine field's value. +func (s *DBInstance) SetEngine(v string) *DBInstance { + s.Engine = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *DBInstance) SetEngineVersion(v string) *DBInstance { + s.EngineVersion = &v + return s +} + +// SetInstanceCreateTime sets the InstanceCreateTime field's value. +func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance { + s.InstanceCreateTime = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *DBInstance) SetKmsKeyId(v string) *DBInstance { + s.KmsKeyId = &v + return s +} + +// SetLatestRestorableTime sets the LatestRestorableTime field's value. +func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance { + s.LatestRestorableTime = &v + return s +} + +// SetPendingModifiedValues sets the PendingModifiedValues field's value. +func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance { + s.PendingModifiedValues = v + return s +} + +// SetPreferredBackupWindow sets the PreferredBackupWindow field's value. +func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance { + s.PreferredBackupWindow = &v + return s +} + +// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. +func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance { + s.PreferredMaintenanceWindow = &v + return s +} + +// SetPromotionTier sets the PromotionTier field's value. +func (s *DBInstance) SetPromotionTier(v int64) *DBInstance { + s.PromotionTier = &v + return s +} + +// SetPubliclyAccessible sets the PubliclyAccessible field's value. +func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance { + s.PubliclyAccessible = &v + return s +} + +// SetStatusInfos sets the StatusInfos field's value. +func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance { + s.StatusInfos = v + return s +} + +// SetStorageEncrypted sets the StorageEncrypted field's value. +func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance { + s.StorageEncrypted = &v + return s +} + +// SetVpcSecurityGroups sets the VpcSecurityGroups field's value. +func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance { + s.VpcSecurityGroups = v + return s +} + +// Provides a list of status information for a DB instance. +type DBInstanceStatusInfo struct { + _ struct{} `type:"structure"` + + // Details of the error if there is an error for the instance. If the instance + // is not in an error state, this value is blank. + Message *string `type:"string"` + + // A Boolean value that is true if the instance is operating normally, or false + // if the instance is in an error state. + Normal *bool `type:"boolean"` + + // Status of the DB instance. For a StatusType of read replica, the values can + // be replicating, error, stopped, or terminated. + Status *string `type:"string"` + + // This value is currently "read replication." + StatusType *string `type:"string"` +} + +// String returns the string representation +func (s DBInstanceStatusInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBInstanceStatusInfo) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo { + s.Message = &v + return s +} + +// SetNormal sets the Normal field's value. +func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo { + s.Normal = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo { + s.Status = &v + return s +} + +// SetStatusType sets the StatusType field's value. +func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo { + s.StatusType = &v + return s +} + +// Detailed information about a DB subnet group. +type DBSubnetGroup struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Identifier (ARN) for the DB subnet group. + DBSubnetGroupArn *string `type:"string"` + + // Provides the description of the DB subnet group. + DBSubnetGroupDescription *string `type:"string"` + + // The name of the DB subnet group. + DBSubnetGroupName *string `type:"string"` + + // Provides the status of the DB subnet group. + SubnetGroupStatus *string `type:"string"` + + // Detailed information about one or more subnets within a DB subnet group. + Subnets []*Subnet `locationNameList:"Subnet" type:"list"` + + // Provides the virtual private cloud (VPC) ID of the DB subnet group. + VpcId *string `type:"string"` +} + +// String returns the string representation +func (s DBSubnetGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBSubnetGroup) GoString() string { + return s.String() +} + +// SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value. +func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup { + s.DBSubnetGroupArn = &v + return s +} + +// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value. +func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup { + s.DBSubnetGroupDescription = &v + return s +} + +// SetDBSubnetGroupName sets the DBSubnetGroupName field's value. +func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup { + s.DBSubnetGroupName = &v + return s +} + +// SetSubnetGroupStatus sets the SubnetGroupStatus field's value. +func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup { + s.SubnetGroupStatus = &v + return s +} + +// SetSubnets sets the Subnets field's value. +func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup { + s.Subnets = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup { + s.VpcId = &v + return s +} + +// Represents the input to DeleteDBCluster. +type DeleteDBClusterInput struct { + _ struct{} `type:"structure"` + + // The DB cluster identifier for the DB cluster to be deleted. This parameter + // isn't case sensitive. + // + // Constraints: + // + // * Must match an existing DBClusterIdentifier. + // + // DBClusterIdentifier is a required field + DBClusterIdentifier *string `type:"string" required:"true"` + + // The DB cluster snapshot identifier of the new DB cluster snapshot created + // when SkipFinalSnapshot is set to false. + // + // Specifying this parameter and also setting the SkipFinalShapshot parameter + // to true results in an error. + // + // Constraints: + // + // * Must be from 1 to 255 letters, numbers, or hyphens. + // + // * The first character must be a letter. + // + // * Cannot end with a hyphen or contain two consecutive hyphens. + FinalDBSnapshotIdentifier *string `type:"string"` + + // Determines whether a final DB cluster snapshot is created before the DB cluster + // is deleted. If true is specified, no DB cluster snapshot is created. If false + // is specified, a DB cluster snapshot is created before the DB cluster is deleted. + // + // If SkipFinalSnapshot is false, you must specify a FinalDBSnapshotIdentifier + // parameter. + // + // Default: false + SkipFinalSnapshot *bool `type:"boolean"` +} + +// String returns the string representation +func (s DeleteDBClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDBClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDBClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"} + if s.DBClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput { + s.DBClusterIdentifier = &v + return s +} + +// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value. +func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput { + s.FinalDBSnapshotIdentifier = &v + return s +} + +// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value. +func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput { + s.SkipFinalSnapshot = &v + return s +} + +type DeleteDBClusterOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB cluster. + DBCluster *DBCluster `type:"structure"` +} + +// String returns the string representation +func (s DeleteDBClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDBClusterOutput) GoString() string { + return s.String() +} + +// SetDBCluster sets the DBCluster field's value. +func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput { + s.DBCluster = v + return s +} + +// Represents the input to DeleteDBClusterParameterGroup. +type DeleteDBClusterParameterGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the DB cluster parameter group. + // + // Constraints: + // + // * Must be the name of an existing DB cluster parameter group. + // + // * You can't delete a default DB cluster parameter group. + // + // * Cannot be associated with any DB clusters. + // + // DBClusterParameterGroupName is a required field + DBClusterParameterGroupName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDBClusterParameterGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDBClusterParameterGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDBClusterParameterGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"} + if s.DBClusterParameterGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value. +func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput { + s.DBClusterParameterGroupName = &v + return s +} + +type DeleteDBClusterParameterGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDBClusterParameterGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDBClusterParameterGroupOutput) GoString() string { + return s.String() +} + +// Represents the input to DeleteDBClusterSnapshot. +type DeleteDBClusterSnapshotInput struct { + _ struct{} `type:"structure"` + + // The identifier of the DB cluster snapshot to delete. + // + // Constraints: Must be the name of an existing DB cluster snapshot in the available + // state. + // + // DBClusterSnapshotIdentifier is a required field + DBClusterSnapshotIdentifier *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDBClusterSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDBClusterSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDBClusterSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"} + if s.DBClusterSnapshotIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value. +func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput { + s.DBClusterSnapshotIdentifier = &v + return s +} + +type DeleteDBClusterSnapshotOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB cluster snapshot. + DBClusterSnapshot *DBClusterSnapshot `type:"structure"` +} + +// String returns the string representation +func (s DeleteDBClusterSnapshotOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDBClusterSnapshotOutput) GoString() string { + return s.String() +} + +// SetDBClusterSnapshot sets the DBClusterSnapshot field's value. +func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput { + s.DBClusterSnapshot = v + return s +} + +// Represents the input to DeleteDBInstance. +type DeleteDBInstanceInput struct { + _ struct{} `type:"structure"` + + // The DB instance identifier for the DB instance to be deleted. This parameter + // isn't case sensitive. + // + // Constraints: + // + // * Must match the name of an existing DB instance. + // + // DBInstanceIdentifier is a required field + DBInstanceIdentifier *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDBInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDBInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDBInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"} + if s.DBInstanceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput { + s.DBInstanceIdentifier = &v + return s +} + +type DeleteDBInstanceOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB instance. + DBInstance *DBInstance `type:"structure"` +} + +// String returns the string representation +func (s DeleteDBInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDBInstanceOutput) GoString() string { + return s.String() +} + +// SetDBInstance sets the DBInstance field's value. +func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput { + s.DBInstance = v + return s +} + +// Represents the input to DeleteDBSubnetGroup. +type DeleteDBSubnetGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the database subnet group to delete. + // + // You can't delete the default subnet group. + // + // Constraints: + // + // Must match the name of an existing DBSubnetGroup. Must not be default. + // + // Example: mySubnetgroup + // + // DBSubnetGroupName is a required field + DBSubnetGroupName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDBSubnetGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDBSubnetGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDBSubnetGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"} + if s.DBSubnetGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBSubnetGroupName sets the DBSubnetGroupName field's value. +func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput { + s.DBSubnetGroupName = &v + return s +} + +type DeleteDBSubnetGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDBSubnetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDBSubnetGroupOutput) GoString() string { + return s.String() +} + +// Represents the input to DescribeDBClusterParameterGroups. +type DescribeDBClusterParameterGroupsInput struct { + _ struct{} `type:"structure"` + + // The name of a specific DB cluster parameter group to return details for. + // + // Constraints: + // + // * If provided, must match the name of an existing DBClusterParameterGroup. + DBClusterParameterGroupName *string `type:"string"` + + // This parameter is not currently supported. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token (marker) is + // included in the response so that the remaining results can be retrieved. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeDBClusterParameterGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBClusterParameterGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDBClusterParameterGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"} + 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 +} + +// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value. +func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput { + s.DBClusterParameterGroupName = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput { + s.MaxRecords = &v + return s +} + +// Represents the output of DBClusterParameterGroups. +type DescribeDBClusterParameterGroupsOutput struct { + _ struct{} `type:"structure"` + + // A list of DB cluster parameter groups. + DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` +} + +// String returns the string representation +func (s DescribeDBClusterParameterGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBClusterParameterGroupsOutput) GoString() string { + return s.String() +} + +// SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value. +func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput { + s.DBClusterParameterGroups = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput { + s.Marker = &v + return s +} + +// Represents the input to DescribeDBClusterParameters. +type DescribeDBClusterParametersInput struct { + _ struct{} `type:"structure"` + + // The name of a specific DB cluster parameter group to return parameter details + // for. + // + // Constraints: + // + // * If provided, must match the name of an existing DBClusterParameterGroup. + // + // DBClusterParameterGroupName is a required field + DBClusterParameterGroupName *string `type:"string" required:"true"` + + // This parameter is not currently supported. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token (marker) is + // included in the response so that the remaining results can be retrieved. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` + + // A value that indicates to return only parameters for a specific source. Parameter + // sources can be engine, service, or customer. + Source *string `type:"string"` +} + +// String returns the string representation +func (s DescribeDBClusterParametersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBClusterParametersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDBClusterParametersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"} + if s.DBClusterParameterGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName")) + } + 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 +} + +// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value. +func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput { + s.DBClusterParameterGroupName = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput { + s.MaxRecords = &v + return s +} + +// SetSource sets the Source field's value. +func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput { + s.Source = &v + return s +} + +// Represents the output of DBClusterParameterGroup. +type DescribeDBClusterParametersOutput struct { + _ struct{} `type:"structure"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // Provides a list of parameters for the DB cluster parameter group. + Parameters []*Parameter `locationNameList:"Parameter" type:"list"` +} + +// String returns the string representation +func (s DescribeDBClusterParametersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBClusterParametersOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput { + s.Marker = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput { + s.Parameters = v + return s +} + +// Represents the input to DescribeDBClusterSnapshotAttributes. +type DescribeDBClusterSnapshotAttributesInput struct { + _ struct{} `type:"structure"` + + // The identifier for the DB cluster snapshot to describe the attributes for. + // + // DBClusterSnapshotIdentifier is a required field + DBClusterSnapshotIdentifier *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDBClusterSnapshotAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBClusterSnapshotAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"} + if s.DBClusterSnapshotIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value. +func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput { + s.DBClusterSnapshotIdentifier = &v + return s +} + +type DescribeDBClusterSnapshotAttributesOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about the attributes that are associated with a DB cluster + // snapshot. + DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"` +} + +// String returns the string representation +func (s DescribeDBClusterSnapshotAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string { + return s.String() +} + +// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value. +func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput { + s.DBClusterSnapshotAttributesResult = v + return s +} + +// Represents the input to DescribeDBClusterSnapshots. +type DescribeDBClusterSnapshotsInput struct { + _ struct{} `type:"structure"` + + // The ID of the DB cluster to retrieve the list of DB cluster snapshots for. + // This parameter can't be used with the DBClusterSnapshotIdentifier parameter. + // This parameter is not case sensitive. + // + // Constraints: + // + // * If provided, must match the identifier of an existing DBCluster. + DBClusterIdentifier *string `type:"string"` + + // A specific DB cluster snapshot identifier to describe. This parameter can't + // be used with the DBClusterIdentifier parameter. This value is stored as a + // lowercase string. + // + // Constraints: + // + // * If provided, must match the identifier of an existing DBClusterSnapshot. + // + // * If this identifier is for an automated snapshot, the SnapshotType parameter + // must also be specified. + DBClusterSnapshotIdentifier *string `type:"string"` + + // This parameter is not currently supported. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // Set to true to include manual DB cluster snapshots that are public and can + // be copied or restored by any AWS account, and otherwise false. The default + // is false. + IncludePublic *bool `type:"boolean"` + + // Set to true to include shared manual DB cluster snapshots from other AWS + // accounts that this AWS account has been given permission to copy or restore, + // and otherwise false. The default is false. + IncludeShared *bool `type:"boolean"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token (marker) is + // included in the response so that the remaining results can be retrieved. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` + + // The type of DB cluster snapshots to be returned. You can specify one of the + // following values: + // + // * automated - Return all DB cluster snapshots that Amazon DocumentDB has + // automatically created for your AWS account. + // + // * manual - Return all DB cluster snapshots that you have manually created + // for your AWS account. + // + // * shared - Return all manual DB cluster snapshots that have been shared + // to your AWS account. + // + // * public - Return all DB cluster snapshots that have been marked as public. + // + // If you don't specify a SnapshotType value, then both automated and manual + // DB cluster snapshots are returned. You can include shared DB cluster snapshots + // with these results by setting the IncludeShared parameter to true. You can + // include public DB cluster snapshots with these results by setting the IncludePublic + // parameter to true. + // + // The IncludeShared and IncludePublic parameters don't apply for SnapshotType + // values of manual or automated. The IncludePublic parameter doesn't apply + // when SnapshotType is set to shared. The IncludeShared parameter doesn't apply + // when SnapshotType is set to public. + SnapshotType *string `type:"string"` +} + +// String returns the string representation +func (s DescribeDBClusterSnapshotsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBClusterSnapshotsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDBClusterSnapshotsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"} + 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 +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput { + s.DBClusterIdentifier = &v + return s +} + +// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value. +func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput { + s.DBClusterSnapshotIdentifier = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput { + s.Filters = v + return s +} + +// SetIncludePublic sets the IncludePublic field's value. +func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput { + s.IncludePublic = &v + return s +} + +// SetIncludeShared sets the IncludeShared field's value. +func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput { + s.IncludeShared = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput { + s.MaxRecords = &v + return s +} + +// SetSnapshotType sets the SnapshotType field's value. +func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput { + s.SnapshotType = &v + return s +} + +// Represents the output of DescribeDBClusterSnapshots. +type DescribeDBClusterSnapshotsOutput struct { + _ struct{} `type:"structure"` + + // Provides a list of DB cluster snapshots. + DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` +} + +// String returns the string representation +func (s DescribeDBClusterSnapshotsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBClusterSnapshotsOutput) GoString() string { + return s.String() +} + +// SetDBClusterSnapshots sets the DBClusterSnapshots field's value. +func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput { + s.DBClusterSnapshots = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput { + s.Marker = &v + return s +} + +// Represents the input to DescribeDBClusters. +type DescribeDBClustersInput struct { + _ struct{} `type:"structure"` + + // The user-provided DB cluster identifier. If this parameter is specified, + // information from only the specific DB cluster is returned. This parameter + // isn't case sensitive. + // + // Constraints: + // + // * If provided, must match an existing DBClusterIdentifier. + DBClusterIdentifier *string `type:"string"` + + // A filter that specifies one or more DB clusters to describe. + // + // Supported filters: + // + // * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon + // Resource Names (ARNs). The results list only includes information about + // the DB clusters identified by these ARNs. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token (marker) is + // included in the response so that the remaining results can be retrieved. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeDBClustersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBClustersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDBClustersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"} + 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 +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput { + s.DBClusterIdentifier = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput { + s.MaxRecords = &v + return s +} + +// Represents the output of DescribeDBClusters. +type DescribeDBClustersOutput struct { + _ struct{} `type:"structure"` + + // A list of DB clusters. + DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` +} + +// String returns the string representation +func (s DescribeDBClustersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBClustersOutput) GoString() string { + return s.String() +} + +// SetDBClusters sets the DBClusters field's value. +func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput { + s.DBClusters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput { + s.Marker = &v + return s +} + +// Represents the input to DescribeDBEngineVersions. +type DescribeDBEngineVersionsInput struct { + _ struct{} `type:"structure"` + + // The name of a specific DB parameter group family to return details for. + // + // Constraints: + // + // * If provided, must match an existing DBParameterGroupFamily. + DBParameterGroupFamily *string `type:"string"` + + // Indicates that only the default version of the specified engine or engine + // and major version combination is returned. + DefaultOnly *bool `type:"boolean"` + + // The database engine to return. + Engine *string `type:"string"` + + // The database engine version to return. + // + // Example: 5.1.49 + EngineVersion *string `type:"string"` + + // This parameter is not currently supported. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // If this parameter is specified and the requested engine supports the CharacterSetName + // parameter for CreateDBInstance, the response includes a list of supported + // character sets for each engine version. + ListSupportedCharacterSets *bool `type:"boolean"` + + // If this parameter is specified and the requested engine supports the TimeZone + // parameter for CreateDBInstance, the response includes a list of supported + // time zones for each engine version. + ListSupportedTimezones *bool `type:"boolean"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token (marker) is + // included in the response so that the remaining results can be retrieved. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeDBEngineVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBEngineVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDBEngineVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"} + 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 +} + +// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value. +func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput { + s.DBParameterGroupFamily = &v + return s +} + +// SetDefaultOnly sets the DefaultOnly field's value. +func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput { + s.DefaultOnly = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput { + s.Engine = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput { + s.EngineVersion = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput { + s.Filters = v + return s +} + +// SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value. +func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput { + s.ListSupportedCharacterSets = &v + return s +} + +// SetListSupportedTimezones sets the ListSupportedTimezones field's value. +func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput { + s.ListSupportedTimezones = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput { + s.MaxRecords = &v + return s +} + +// Represents the output of DescribeDBEngineVersions. +type DescribeDBEngineVersionsOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about one or more DB engine versions. + DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` +} + +// String returns the string representation +func (s DescribeDBEngineVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBEngineVersionsOutput) GoString() string { + return s.String() +} + +// SetDBEngineVersions sets the DBEngineVersions field's value. +func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput { + s.DBEngineVersions = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput { + s.Marker = &v + return s +} + +// Represents the input to DescribeDBInstances. +type DescribeDBInstancesInput struct { + _ struct{} `type:"structure"` + + // The user-provided instance identifier. If this parameter is specified, information + // from only the specific DB instance is returned. This parameter isn't case + // sensitive. + // + // Constraints: + // + // * If provided, must match the identifier of an existing DBInstance. + DBInstanceIdentifier *string `type:"string"` + + // A filter that specifies one or more DB instances to describe. + // + // Supported filters: + // + // * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon + // Resource Names (ARNs). The results list includes only the information + // about the DB instances that are associated with the DB clusters that are + // identified by these ARNs. + // + // * db-instance-id - Accepts DB instance identifiers and DB instance ARNs. + // The results list includes only the information about the DB instances + // that are identified by these ARNs. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token (marker) is + // included in the response so that the remaining results can be retrieved. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeDBInstancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBInstancesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDBInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"} + 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 +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput { + s.DBInstanceIdentifier = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput { + s.MaxRecords = &v + return s +} + +// Represents the output of DescribeDBInstances. +type DescribeDBInstancesOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about one or more DB instances. + DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` +} + +// String returns the string representation +func (s DescribeDBInstancesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBInstancesOutput) GoString() string { + return s.String() +} + +// SetDBInstances sets the DBInstances field's value. +func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput { + s.DBInstances = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput { + s.Marker = &v + return s +} + +// Represents the input to DescribeDBSubnetGroups. +type DescribeDBSubnetGroupsInput struct { + _ struct{} `type:"structure"` + + // The name of the DB subnet group to return details for. + DBSubnetGroupName *string `type:"string"` + + // This parameter is not currently supported. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token (marker) is + // included in the response so that the remaining results can be retrieved. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeDBSubnetGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBSubnetGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDBSubnetGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"} + 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 +} + +// SetDBSubnetGroupName sets the DBSubnetGroupName field's value. +func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput { + s.DBSubnetGroupName = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput { + s.MaxRecords = &v + return s +} + +// Represents the output of DescribeDBSubnetGroups. +type DescribeDBSubnetGroupsOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about one or more DB subnet groups. + DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` +} + +// String returns the string representation +func (s DescribeDBSubnetGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBSubnetGroupsOutput) GoString() string { + return s.String() +} + +// SetDBSubnetGroups sets the DBSubnetGroups field's value. +func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput { + s.DBSubnetGroups = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput { + s.Marker = &v + return s +} + +// Represents the input to DescribeEngineDefaultClusterParameters. +type DescribeEngineDefaultClusterParametersInput struct { + _ struct{} `type:"structure"` + + // The name of the DB cluster parameter group family to return the engine parameter + // information for. + // + // DBParameterGroupFamily is a required field + DBParameterGroupFamily *string `type:"string" required:"true"` + + // This parameter is not currently supported. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token (marker) is + // included in the response so that the remaining results can be retrieved. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeEngineDefaultClusterParametersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEngineDefaultClusterParametersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEngineDefaultClusterParametersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"} + if s.DBParameterGroupFamily == nil { + invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily")) + } + 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 +} + +// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value. +func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput { + s.DBParameterGroupFamily = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput { + s.MaxRecords = &v + return s +} + +type DescribeEngineDefaultClusterParametersOutput struct { + _ struct{} `type:"structure"` + + // Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters + // operation. + EngineDefaults *EngineDefaults `type:"structure"` +} + +// String returns the string representation +func (s DescribeEngineDefaultClusterParametersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEngineDefaultClusterParametersOutput) GoString() string { + return s.String() +} + +// SetEngineDefaults sets the EngineDefaults field's value. +func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput { + s.EngineDefaults = v + return s +} + +// Represents the input to DescribeEventCategories. +type DescribeEventCategoriesInput struct { + _ struct{} `type:"structure"` + + // This parameter is not currently supported. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // The type of source that is generating the events. + // + // Valid values: db-instance, db-parameter-group, db-security-group, db-snapshot + SourceType *string `type:"string"` +} + +// String returns the string representation +func (s DescribeEventCategoriesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEventCategoriesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEventCategoriesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"} + 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 *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput { + s.Filters = v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput { + s.SourceType = &v + return s +} + +// Represents the output of DescribeEventCategories. +type DescribeEventCategoriesOutput struct { + _ struct{} `type:"structure"` + + // A list of event category maps. + EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"` +} + +// String returns the string representation +func (s DescribeEventCategoriesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEventCategoriesOutput) GoString() string { + return s.String() +} + +// SetEventCategoriesMapList sets the EventCategoriesMapList field's value. +func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput { + s.EventCategoriesMapList = v + return s +} + +// Represents the input to DescribeEvents. +type DescribeEventsInput struct { + _ struct{} `type:"structure"` + + // The number of minutes to retrieve events for. + // + // Default: 60 + Duration *int64 `type:"integer"` + + // The end of the time interval for which to retrieve events, specified in ISO + // 8601 format. + // + // Example: 2009-07-08T18:00Z + EndTime *time.Time `type:"timestamp"` + + // A list of event categories that trigger notifications for an event notification + // subscription. + EventCategories []*string `locationNameList:"EventCategory" type:"list"` + + // This parameter is not currently supported. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token (marker) is + // included in the response so that the remaining results can be retrieved. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` + + // The identifier of the event source for which events are returned. If not + // specified, then all sources are included in the response. + // + // Constraints: + // + // * If SourceIdentifier is provided, SourceType must also be provided. + // + // * If the source type is DBInstance, a DBInstanceIdentifier must be provided. + // + // * If the source type is DBSecurityGroup, a DBSecurityGroupName must be + // provided. + // + // * If the source type is DBParameterGroup, a DBParameterGroupName must + // be provided. + // + // * If the source type is DBSnapshot, a DBSnapshotIdentifier must be provided. + // + // * Cannot end with a hyphen or contain two consecutive hyphens. + SourceIdentifier *string `type:"string"` + + // The event source to retrieve events for. If no value is specified, all events + // are returned. + SourceType *string `type:"string" enum:"SourceType"` + + // The beginning of the time interval to retrieve events for, specified in ISO + // 8601 format. + // + // Example: 2009-07-08T18:00Z + StartTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s DescribeEventsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEventsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEventsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"} + 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 +} + +// SetDuration sets the Duration field's value. +func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput { + s.Duration = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput { + s.EndTime = &v + return s +} + +// SetEventCategories sets the EventCategories field's value. +func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput { + s.EventCategories = v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput { + s.MaxRecords = &v + return s +} + +// SetSourceIdentifier sets the SourceIdentifier field's value. +func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput { + s.SourceIdentifier = &v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput { + s.SourceType = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput { + s.StartTime = &v + return s +} + +// Represents the output of DescribeEvents. +type DescribeEventsOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about one or more events. + Events []*Event `locationNameList:"Event" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` +} + +// String returns the string representation +func (s DescribeEventsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEventsOutput) GoString() string { + return s.String() +} + +// SetEvents sets the Events field's value. +func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput { + s.Events = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput { + s.Marker = &v + return s +} + +// Represents the input to DescribeOrderableDBInstanceOptions. +type DescribeOrderableDBInstanceOptionsInput struct { + _ struct{} `type:"structure"` + + // The DB instance class filter value. Specify this parameter to show only the + // available offerings that match the specified DB instance class. + DBInstanceClass *string `type:"string"` + + // The name of the engine to retrieve DB instance options for. + // + // Engine is a required field + Engine *string `type:"string" required:"true"` + + // The engine version filter value. Specify this parameter to show only the + // available offerings that match the specified engine version. + EngineVersion *string `type:"string"` + + // This parameter is not currently supported. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // The license model filter value. Specify this parameter to show only the available + // offerings that match the specified license model. + LicenseModel *string `type:"string"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token (marker) is + // included in the response so that the remaining results can be retrieved. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` + + // The virtual private cloud (VPC) filter value. Specify this parameter to show + // only the available VPC or non-VPC offerings. + Vpc *bool `type:"boolean"` +} + +// String returns the string representation +func (s DescribeOrderableDBInstanceOptionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeOrderableDBInstanceOptionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"} + if s.Engine == nil { + invalidParams.Add(request.NewErrParamRequired("Engine")) + } + 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 +} + +// SetDBInstanceClass sets the DBInstanceClass field's value. +func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput { + s.DBInstanceClass = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput { + s.Engine = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput { + s.EngineVersion = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput { + s.Filters = v + return s +} + +// SetLicenseModel sets the LicenseModel field's value. +func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput { + s.LicenseModel = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput { + s.MaxRecords = &v + return s +} + +// SetVpc sets the Vpc field's value. +func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput { + s.Vpc = &v + return s +} + +// Represents the output of DescribeOrderableDBInstanceOptions. +type DescribeOrderableDBInstanceOptionsOutput struct { + _ struct{} `type:"structure"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The options that are available for a particular orderable DB instance. + OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"` +} + +// String returns the string representation +func (s DescribeOrderableDBInstanceOptionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput { + s.Marker = &v + return s +} + +// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value. +func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput { + s.OrderableDBInstanceOptions = v + return s +} + +// Represents the input to DescribePendingMaintenanceActions. +type DescribePendingMaintenanceActionsInput struct { + _ struct{} `type:"structure"` + + // A filter that specifies one or more resources to return pending maintenance + // actions for. + // + // Supported filters: + // + // * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon + // Resource Names (ARNs). The results list includes only pending maintenance + // actions for the DB clusters identified by these ARNs. + // + // * db-instance-id - Accepts DB instance identifiers and DB instance ARNs. + // The results list includes only pending maintenance actions for the DB + // instances identified by these ARNs. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token (marker) is + // included in the response so that the remaining results can be retrieved. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` + + // The ARN of a resource to return pending maintenance actions for. + ResourceIdentifier *string `type:"string"` +} + +// String returns the string representation +func (s DescribePendingMaintenanceActionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePendingMaintenanceActionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribePendingMaintenanceActionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"} + 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 *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput { + s.MaxRecords = &v + return s +} + +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput { + s.ResourceIdentifier = &v + return s +} + +// Represents the output of DescribePendingMaintenanceActions. +type DescribePendingMaintenanceActionsOutput struct { + _ struct{} `type:"structure"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maintenance actions to be applied. + PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"` +} + +// String returns the string representation +func (s DescribePendingMaintenanceActionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePendingMaintenanceActionsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput { + s.Marker = &v + return s +} + +// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value. +func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput { + s.PendingMaintenanceActions = v + return s +} + +// Network information for accessing a DB cluster or DB instance. Client programs +// must specify a valid endpoint to access these Amazon DocumentDB resources. +type Endpoint struct { + _ struct{} `type:"structure"` + + // Specifies the DNS address of the DB instance. + Address *string `type:"string"` + + // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + HostedZoneId *string `type:"string"` + + // Specifies the port that the database engine is listening on. + Port *int64 `type:"integer"` +} + +// String returns the string representation +func (s Endpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Endpoint) GoString() string { + return s.String() +} + +// SetAddress sets the Address field's value. +func (s *Endpoint) SetAddress(v string) *Endpoint { + s.Address = &v + return s +} + +// SetHostedZoneId sets the HostedZoneId field's value. +func (s *Endpoint) SetHostedZoneId(v string) *Endpoint { + s.HostedZoneId = &v + return s +} + +// SetPort sets the Port field's value. +func (s *Endpoint) SetPort(v int64) *Endpoint { + s.Port = &v + return s +} + +// Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters +// operation. +type EngineDefaults struct { + _ struct{} `type:"structure"` + + // The name of the DB cluster parameter group family to return the engine parameter + // information for. + DBParameterGroupFamily *string `type:"string"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The parameters of a particular DB cluster parameter group family. + Parameters []*Parameter `locationNameList:"Parameter" type:"list"` +} + +// String returns the string representation +func (s EngineDefaults) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EngineDefaults) GoString() string { + return s.String() +} + +// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value. +func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults { + s.DBParameterGroupFamily = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *EngineDefaults) SetMarker(v string) *EngineDefaults { + s.Marker = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults { + s.Parameters = v + return s +} + +// Detailed information about an event. +type Event struct { + _ struct{} `type:"structure"` + + // Specifies the date and time of the event. + Date *time.Time `type:"timestamp"` + + // Specifies the category for the event. + EventCategories []*string `locationNameList:"EventCategory" type:"list"` + + // Provides the text of this event. + Message *string `type:"string"` + + // The Amazon Resource Name (ARN) for the event. + SourceArn *string `type:"string"` + + // Provides the identifier for the source of the event. + SourceIdentifier *string `type:"string"` + + // Specifies the source type for this event. + SourceType *string `type:"string" enum:"SourceType"` +} + +// String returns the string representation +func (s Event) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Event) GoString() string { + return s.String() +} + +// SetDate sets the Date field's value. +func (s *Event) SetDate(v time.Time) *Event { + s.Date = &v + return s +} + +// SetEventCategories sets the EventCategories field's value. +func (s *Event) SetEventCategories(v []*string) *Event { + s.EventCategories = v + return s +} + +// SetMessage sets the Message field's value. +func (s *Event) SetMessage(v string) *Event { + s.Message = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *Event) SetSourceArn(v string) *Event { + s.SourceArn = &v + return s +} + +// SetSourceIdentifier sets the SourceIdentifier field's value. +func (s *Event) SetSourceIdentifier(v string) *Event { + s.SourceIdentifier = &v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *Event) SetSourceType(v string) *Event { + s.SourceType = &v + return s +} + +// An event source type, accompanied by one or more event category names. +type EventCategoriesMap struct { + _ struct{} `type:"structure"` + + // The event categories for the specified source type. + EventCategories []*string `locationNameList:"EventCategory" type:"list"` + + // The source type that the returned categories belong to. + SourceType *string `type:"string"` +} + +// String returns the string representation +func (s EventCategoriesMap) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EventCategoriesMap) GoString() string { + return s.String() +} + +// SetEventCategories sets the EventCategories field's value. +func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap { + s.EventCategories = v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap { + s.SourceType = &v + return s +} + +// Represents the input to FailoverDBCluster. +type FailoverDBClusterInput struct { + _ struct{} `type:"structure"` + + // A DB cluster identifier to force a failover for. This parameter is not case + // sensitive. + // + // Constraints: + // + // * Must match the identifier of an existing DBCluster. + DBClusterIdentifier *string `type:"string"` + + // The name of the instance to promote to the primary instance. + // + // You must specify the instance identifier for an Amazon DocumentDB replica + // in the DB cluster. For example, mydbcluster-replica1. + TargetDBInstanceIdentifier *string `type:"string"` +} + +// String returns the string representation +func (s FailoverDBClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FailoverDBClusterInput) GoString() string { + return s.String() +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput { + s.DBClusterIdentifier = &v + return s +} + +// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value. +func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput { + s.TargetDBInstanceIdentifier = &v + return s +} + +type FailoverDBClusterOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB cluster. + DBCluster *DBCluster `type:"structure"` +} + +// String returns the string representation +func (s FailoverDBClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FailoverDBClusterOutput) GoString() string { + return s.String() +} + +// SetDBCluster sets the DBCluster field's value. +func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput { + s.DBCluster = v + return s +} + +// A named set of filter values, used to return a more specific list of results. +// You can use a filter to match a set of resources by specific criteria, such +// as IDs. +// +// Wildcards are not supported in filters. +type Filter struct { + _ struct{} `type:"structure"` + + // The name of the filter. Filter names are case sensitive. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // One or more filter values. Filter values are case sensitive. + // + // Values is a required field + Values []*string `locationNameList:"Value" type:"list" required:"true"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v + return s +} + +// Represents the input to ListTagsForResource. +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // This parameter is not currently supported. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // The Amazon DocumentDB resource with tags to be listed. This value is an Amazon + // Resource Name (ARN). + // + // ResourceName is a required field + ResourceName *string `type:"string" required:"true"` +} + +// 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.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + 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 *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput { + s.Filters = v + return s +} + +// SetResourceName sets the ResourceName field's value. +func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput { + s.ResourceName = &v + return s +} + +// Represents the output of ListTagsForResource. +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // A list of one or more tags. + TagList []*Tag `locationNameList:"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 +} + +// Represents the input to ModifyDBCluster. +type ModifyDBClusterInput struct { + _ struct{} `type:"structure"` + + // A value that specifies whether the changes in this request and any pending + // changes are asynchronously applied as soon as possible, regardless of the + // PreferredMaintenanceWindow setting for the DB cluster. If this parameter + // is set to false, changes to the DB cluster are applied during the next maintenance + // window. + // + // The ApplyImmediately parameter affects only the NewDBClusterIdentifier and + // MasterUserPassword values. If you set this parameter value to false, the + // changes to the NewDBClusterIdentifier and MasterUserPassword values are applied + // during the next maintenance window. All other changes are applied immediately, + // regardless of the value of the ApplyImmediately parameter. + // + // Default: false + ApplyImmediately *bool `type:"boolean"` + + // The number of days for which automated backups are retained. You must specify + // a minimum value of 1. + // + // Default: 1 + // + // Constraints: + // + // * Must be a value from 1 to 35. + BackupRetentionPeriod *int64 `type:"integer"` + + // The configuration setting for the log types to be enabled for export to Amazon + // CloudWatch Logs for a specific DB instance or DB cluster. The EnableLogTypes + // and DisableLogTypes arrays determine which logs are exported (or not exported) + // to CloudWatch Logs. + CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"` + + // The DB cluster identifier for the cluster that is being modified. This parameter + // is not case sensitive. + // + // Constraints: + // + // * Must match the identifier of an existing DBCluster. + // + // DBClusterIdentifier is a required field + DBClusterIdentifier *string `type:"string" required:"true"` + + // The name of the DB cluster parameter group to use for the DB cluster. + DBClusterParameterGroupName *string `type:"string"` + + // The version number of the database engine to which you want to upgrade. Changing + // this parameter results in an outage. The change is applied during the next + // maintenance window unless the ApplyImmediately parameter is set to true. + EngineVersion *string `type:"string"` + + // The new password for the master database user. This password can contain + // any printable ASCII character except "/", """, or "@". + // + // Constraints: Must contain from 8 to 41 characters. + MasterUserPassword *string `type:"string"` + + // The new DB cluster identifier for the DB cluster when renaming a DB cluster. + // This value is stored as a lowercase string. + // + // Constraints: + // + // * Must contain from 1 to 63 letters, numbers, or hyphens. + // + // * The first character must be a letter. + // + // * Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: my-cluster2 + NewDBClusterIdentifier *string `type:"string"` + + // The port number on which the DB cluster accepts connections. + // + // Constraints: Must be a value from 1150 to 65535. + // + // Default: The same port as the original DB cluster. + Port *int64 `type:"integer"` + + // The daily time range during which automated backups are created if automated + // backups are enabled, using the BackupRetentionPeriod parameter. + // + // The default is a 30-minute window selected at random from an 8-hour block + // of time for each AWS Region. + // + // Constraints: + // + // * Must be in the format hh24:mi-hh24:mi. + // + // * Must be in Universal Coordinated Time (UTC). + // + // * Must not conflict with the preferred maintenance window. + // + // * Must be at least 30 minutes. + PreferredBackupWindow *string `type:"string"` + + // The weekly time range during which system maintenance can occur, in Universal + // Coordinated Time (UTC). + // + // Format: ddd:hh24:mi-ddd:hh24:mi + // + // The default is a 30-minute window selected at random from an 8-hour block + // of time for each AWS Region, occurring on a random day of the week. + // + // Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun + // + // Constraints: Minimum 30-minute window. + PreferredMaintenanceWindow *string `type:"string"` + + // A list of virtual private cloud (VPC) security groups that the DB cluster + // will belong to. + VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"` +} + +// String returns the string representation +func (s ModifyDBClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDBClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyDBClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"} + if s.DBClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplyImmediately sets the ApplyImmediately field's value. +func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput { + s.ApplyImmediately = &v + return s +} + +// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value. +func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput { + s.BackupRetentionPeriod = &v + return s +} + +// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value. +func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput { + s.CloudwatchLogsExportConfiguration = v + return s +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput { + s.DBClusterIdentifier = &v + return s +} + +// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value. +func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput { + s.DBClusterParameterGroupName = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput { + s.EngineVersion = &v + return s +} + +// SetMasterUserPassword sets the MasterUserPassword field's value. +func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput { + s.MasterUserPassword = &v + return s +} + +// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value. +func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput { + s.NewDBClusterIdentifier = &v + return s +} + +// SetPort sets the Port field's value. +func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput { + s.Port = &v + return s +} + +// SetPreferredBackupWindow sets the PreferredBackupWindow field's value. +func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput { + s.PreferredBackupWindow = &v + return s +} + +// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. +func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput { + s.PreferredMaintenanceWindow = &v + return s +} + +// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value. +func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput { + s.VpcSecurityGroupIds = v + return s +} + +type ModifyDBClusterOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB cluster. + DBCluster *DBCluster `type:"structure"` +} + +// String returns the string representation +func (s ModifyDBClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDBClusterOutput) GoString() string { + return s.String() +} + +// SetDBCluster sets the DBCluster field's value. +func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput { + s.DBCluster = v + return s +} + +// Represents the input to ModifyDBClusterParameterGroup. +type ModifyDBClusterParameterGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the DB cluster parameter group to modify. + // + // DBClusterParameterGroupName is a required field + DBClusterParameterGroupName *string `type:"string" required:"true"` + + // A list of parameters in the DB cluster parameter group to modify. + // + // Parameters is a required field + Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"` +} + +// String returns the string representation +func (s ModifyDBClusterParameterGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDBClusterParameterGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyDBClusterParameterGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"} + if s.DBClusterParameterGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName")) + } + if s.Parameters == nil { + invalidParams.Add(request.NewErrParamRequired("Parameters")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value. +func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput { + s.DBClusterParameterGroupName = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput { + s.Parameters = v + return s +} + +// Contains the name of a DB cluster parameter group. +type ModifyDBClusterParameterGroupOutput struct { + _ struct{} `type:"structure"` + + // The name of a DB cluster parameter group. + // + // Constraints: + // + // * Must be from 1 to 255 letters or numbers. + // + // * The first character must be a letter. + // + // * Cannot end with a hyphen or contain two consecutive hyphens. + // + // This value is stored as a lowercase string. + DBClusterParameterGroupName *string `type:"string"` +} + +// String returns the string representation +func (s ModifyDBClusterParameterGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDBClusterParameterGroupOutput) GoString() string { + return s.String() +} + +// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value. +func (s *ModifyDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupOutput { + s.DBClusterParameterGroupName = &v + return s +} + +// Represents the input to ModifyDBClusterSnapshotAttribute. +type ModifyDBClusterSnapshotAttributeInput struct { + _ struct{} `type:"structure"` + + // The name of the DB cluster snapshot attribute to modify. + // + // To manage authorization for other AWS accounts to copy or restore a manual + // DB cluster snapshot, set this value to restore. + // + // AttributeName is a required field + AttributeName *string `type:"string" required:"true"` + + // The identifier for the DB cluster snapshot to modify the attributes for. + // + // DBClusterSnapshotIdentifier is a required field + DBClusterSnapshotIdentifier *string `type:"string" required:"true"` + + // A list of DB cluster snapshot attributes to add to the attribute specified + // by AttributeName. + // + // To authorize other AWS accounts to copy or restore a manual DB cluster snapshot, + // set this list to include one or more AWS account IDs. To make the manual + // DB cluster snapshot restorable by any AWS account, set it to all. Do not + // add the all value for any manual DB cluster snapshots that contain private + // information that you don't want to be available to all AWS accounts. + ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"` + + // A list of DB cluster snapshot attributes to remove from the attribute specified + // by AttributeName. + // + // To remove authorization for other AWS accounts to copy or restore a manual + // DB cluster snapshot, set this list to include one or more AWS account identifiers. + // To remove authorization for any AWS account to copy or restore the DB cluster + // snapshot, set it to all . If you specify all, an AWS account whose account + // ID is explicitly added to the restore attribute can still copy or restore + // a manual DB cluster snapshot. + ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"` +} + +// String returns the string representation +func (s ModifyDBClusterSnapshotAttributeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDBClusterSnapshotAttributeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"} + if s.AttributeName == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeName")) + } + if s.DBClusterSnapshotIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributeName sets the AttributeName field's value. +func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput { + s.AttributeName = &v + return s +} + +// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value. +func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput { + s.DBClusterSnapshotIdentifier = &v + return s +} + +// SetValuesToAdd sets the ValuesToAdd field's value. +func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput { + s.ValuesToAdd = v + return s +} + +// SetValuesToRemove sets the ValuesToRemove field's value. +func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput { + s.ValuesToRemove = v + return s +} + +type ModifyDBClusterSnapshotAttributeOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about the attributes that are associated with a DB cluster + // snapshot. + DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"` +} + +// String returns the string representation +func (s ModifyDBClusterSnapshotAttributeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string { + return s.String() +} + +// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value. +func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput { + s.DBClusterSnapshotAttributesResult = v + return s +} + +// Represents the input to ModifyDBInstance. +type ModifyDBInstanceInput struct { + _ struct{} `type:"structure"` + + // Specifies whether the modifications in this request and any pending modifications + // are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow + // setting for the DB instance. + // + // If this parameter is set to false, changes to the DB instance are applied + // during the next maintenance window. Some parameter changes can cause an outage + // and are applied on the next reboot. + // + // Default: false + ApplyImmediately *bool `type:"boolean"` + + // Indicates that minor version upgrades are applied automatically to the DB + // instance during the maintenance window. Changing this parameter doesn't result + // in an outage except in the following case, and the change is asynchronously + // applied as soon as possible. An outage results if this parameter is set to + // true during the maintenance window, and a newer minor version is available, + // and Amazon DocumentDB has enabled automatic patching for that engine version. + AutoMinorVersionUpgrade *bool `type:"boolean"` + + // The new compute and memory capacity of the DB instance; for example, db.m4.large. + // Not all DB instance classes are available in all AWS Regions. + // + // If you modify the DB instance class, an outage occurs during the change. + // The change is applied during the next maintenance window, unless ApplyImmediately + // is specified as true for this request. + // + // Default: Uses existing setting. + DBInstanceClass *string `type:"string"` + + // The DB instance identifier. This value is stored as a lowercase string. + // + // Constraints: + // + // * Must match the identifier of an existing DBInstance. + // + // DBInstanceIdentifier is a required field + DBInstanceIdentifier *string `type:"string" required:"true"` + + // The new DB instance identifier for the DB instance when renaming a DB instance. + // When you change the DB instance identifier, an instance reboot occurs immediately + // if you set Apply Immediately to true. It occurs during the next maintenance + // window if you set Apply Immediately to false. This value is stored as a lowercase + // string. + // + // Constraints: + // + // * Must contain from 1 to 63 letters, numbers, or hyphens. + // + // * The first character must be a letter. + // + // * Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: mydbinstance + NewDBInstanceIdentifier *string `type:"string"` + + // The weekly time range (in UTC) during which system maintenance can occur, + // which might result in an outage. Changing this parameter doesn't result in + // an outage except in the following situation, and the change is asynchronously + // applied as soon as possible. If there are pending actions that cause a reboot, + // and the maintenance window is changed to include the current time, changing + // this parameter causes a reboot of the DB instance. If you are moving this + // window to the current time, there must be at least 30 minutes between the + // current time and end of the window to ensure that pending changes are applied. + // + // Default: Uses existing setting. + // + // Format: ddd:hh24:mi-ddd:hh24:mi + // + // Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun + // + // Constraints: Must be at least 30 minutes. + PreferredMaintenanceWindow *string `type:"string"` + + // A value that specifies the order in which an Amazon DocumentDB replica is + // promoted to the primary instance after a failure of the existing primary + // instance. + // + // Default: 1 + // + // Valid values: 0-15 + PromotionTier *int64 `type:"integer"` +} + +// String returns the string representation +func (s ModifyDBInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDBInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyDBInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"} + if s.DBInstanceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplyImmediately sets the ApplyImmediately field's value. +func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput { + s.ApplyImmediately = &v + return s +} + +// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. +func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput { + s.AutoMinorVersionUpgrade = &v + return s +} + +// SetDBInstanceClass sets the DBInstanceClass field's value. +func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput { + s.DBInstanceClass = &v + return s +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput { + s.DBInstanceIdentifier = &v + return s +} + +// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value. +func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput { + s.NewDBInstanceIdentifier = &v + return s +} + +// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. +func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput { + s.PreferredMaintenanceWindow = &v + return s +} + +// SetPromotionTier sets the PromotionTier field's value. +func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput { + s.PromotionTier = &v + return s +} + +type ModifyDBInstanceOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB instance. + DBInstance *DBInstance `type:"structure"` +} + +// String returns the string representation +func (s ModifyDBInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDBInstanceOutput) GoString() string { + return s.String() +} + +// SetDBInstance sets the DBInstance field's value. +func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput { + s.DBInstance = v + return s +} + +// Represents the input to ModifyDBSubnetGroup. +type ModifyDBSubnetGroupInput struct { + _ struct{} `type:"structure"` + + // The description for the DB subnet group. + DBSubnetGroupDescription *string `type:"string"` + + // The name for the DB subnet group. This value is stored as a lowercase string. + // You can't modify the default subnet group. + // + // Constraints: Must match the name of an existing DBSubnetGroup. Must not be + // default. + // + // Example: mySubnetgroup + // + // DBSubnetGroupName is a required field + DBSubnetGroupName *string `type:"string" required:"true"` + + // The Amazon EC2 subnet IDs for the DB subnet group. + // + // SubnetIds is a required field + SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` +} + +// String returns the string representation +func (s ModifyDBSubnetGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDBSubnetGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyDBSubnetGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"} + if s.DBSubnetGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName")) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value. +func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput { + s.DBSubnetGroupDescription = &v + return s +} + +// SetDBSubnetGroupName sets the DBSubnetGroupName field's value. +func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput { + s.DBSubnetGroupName = &v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput { + s.SubnetIds = v + return s +} + +type ModifyDBSubnetGroupOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB subnet group. + DBSubnetGroup *DBSubnetGroup `type:"structure"` +} + +// String returns the string representation +func (s ModifyDBSubnetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDBSubnetGroupOutput) GoString() string { + return s.String() +} + +// SetDBSubnetGroup sets the DBSubnetGroup field's value. +func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput { + s.DBSubnetGroup = v + return s +} + +// The options that are available for a DB instance. +type OrderableDBInstanceOption struct { + _ struct{} `type:"structure"` + + // A list of Availability Zones for a DB instance. + AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"` + + // The DB instance class for a DB instance. + DBInstanceClass *string `type:"string"` + + // The engine type of a DB instance. + Engine *string `type:"string"` + + // The engine version of a DB instance. + EngineVersion *string `type:"string"` + + // The license model for a DB instance. + LicenseModel *string `type:"string"` + + // Indicates whether a DB instance is in a virtual private cloud (VPC). + Vpc *bool `type:"boolean"` +} + +// String returns the string representation +func (s OrderableDBInstanceOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OrderableDBInstanceOption) GoString() string { + return s.String() +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption { + s.AvailabilityZones = v + return s +} + +// SetDBInstanceClass sets the DBInstanceClass field's value. +func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption { + s.DBInstanceClass = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption { + s.Engine = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption { + s.EngineVersion = &v + return s +} + +// SetLicenseModel sets the LicenseModel field's value. +func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption { + s.LicenseModel = &v + return s +} + +// SetVpc sets the Vpc field's value. +func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption { + s.Vpc = &v + return s +} + +// Detailed information about an individual parameter. +type Parameter struct { + _ struct{} `type:"structure"` + + // Specifies the valid range of values for the parameter. + AllowedValues *string `type:"string"` + + // Indicates when to apply parameter updates. + ApplyMethod *string `type:"string" enum:"ApplyMethod"` + + // Specifies the engine-specific parameters type. + ApplyType *string `type:"string"` + + // Specifies the valid data type for the parameter. + DataType *string `type:"string"` + + // Provides a description of the parameter. + Description *string `type:"string"` + + // Indicates whether (true) or not (false) the parameter can be modified. Some + // parameters have security or operational implications that prevent them from + // being changed. + IsModifiable *bool `type:"boolean"` + + // The earliest engine version to which the parameter can apply. + MinimumEngineVersion *string `type:"string"` + + // Specifies the name of the parameter. + ParameterName *string `type:"string"` + + // Specifies the value of the parameter. + ParameterValue *string `type:"string"` + + // Indicates the source of the parameter value. + Source *string `type:"string"` +} + +// String returns the string representation +func (s Parameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Parameter) GoString() string { + return s.String() +} + +// SetAllowedValues sets the AllowedValues field's value. +func (s *Parameter) SetAllowedValues(v string) *Parameter { + s.AllowedValues = &v + return s +} + +// SetApplyMethod sets the ApplyMethod field's value. +func (s *Parameter) SetApplyMethod(v string) *Parameter { + s.ApplyMethod = &v + return s +} + +// SetApplyType sets the ApplyType field's value. +func (s *Parameter) SetApplyType(v string) *Parameter { + s.ApplyType = &v + return s +} + +// SetDataType sets the DataType field's value. +func (s *Parameter) SetDataType(v string) *Parameter { + s.DataType = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Parameter) SetDescription(v string) *Parameter { + s.Description = &v + return s +} + +// SetIsModifiable sets the IsModifiable field's value. +func (s *Parameter) SetIsModifiable(v bool) *Parameter { + s.IsModifiable = &v + return s +} + +// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. +func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter { + s.MinimumEngineVersion = &v + return s +} + +// SetParameterName sets the ParameterName field's value. +func (s *Parameter) SetParameterName(v string) *Parameter { + s.ParameterName = &v + return s +} + +// SetParameterValue sets the ParameterValue field's value. +func (s *Parameter) SetParameterValue(v string) *Parameter { + s.ParameterValue = &v + return s +} + +// SetSource sets the Source field's value. +func (s *Parameter) SetSource(v string) *Parameter { + s.Source = &v + return s +} + +// A list of the log types whose configuration is still pending. These log types +// are in the process of being activated or deactivated. +type PendingCloudwatchLogsExports struct { + _ struct{} `type:"structure"` + + // Log types that are in the process of being enabled. After they are enabled, + // these log types are exported to Amazon CloudWatch Logs. + LogTypesToDisable []*string `type:"list"` + + // Log types that are in the process of being deactivated. After they are deactivated, + // these log types aren't exported to CloudWatch Logs. + LogTypesToEnable []*string `type:"list"` +} + +// String returns the string representation +func (s PendingCloudwatchLogsExports) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PendingCloudwatchLogsExports) GoString() string { + return s.String() +} + +// SetLogTypesToDisable sets the LogTypesToDisable field's value. +func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports { + s.LogTypesToDisable = v + return s +} + +// SetLogTypesToEnable sets the LogTypesToEnable field's value. +func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports { + s.LogTypesToEnable = v + return s +} + +// Provides information about a pending maintenance action for a resource. +type PendingMaintenanceAction struct { + _ struct{} `type:"structure"` + + // The type of pending maintenance action that is available for the resource. + Action *string `type:"string"` + + // The date of the maintenance window when the action is applied. The maintenance + // action is applied to the resource during its first maintenance window after + // this date. If this date is specified, any next-maintenance opt-in requests + // are ignored. + AutoAppliedAfterDate *time.Time `type:"timestamp"` + + // The effective date when the pending maintenance action is applied to the + // resource. + CurrentApplyDate *time.Time `type:"timestamp"` + + // A description providing more detail about the maintenance action. + Description *string `type:"string"` + + // The date when the maintenance action is automatically applied. The maintenance + // action is applied to the resource on this date regardless of the maintenance + // window for the resource. If this date is specified, any immediate opt-in + // requests are ignored. + ForcedApplyDate *time.Time `type:"timestamp"` + + // Indicates the type of opt-in request that has been received for the resource. + OptInStatus *string `type:"string"` +} + +// String returns the string representation +func (s PendingMaintenanceAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PendingMaintenanceAction) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction { + s.Action = &v + return s +} + +// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value. +func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction { + s.AutoAppliedAfterDate = &v + return s +} + +// SetCurrentApplyDate sets the CurrentApplyDate field's value. +func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction { + s.CurrentApplyDate = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction { + s.Description = &v + return s +} + +// SetForcedApplyDate sets the ForcedApplyDate field's value. +func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction { + s.ForcedApplyDate = &v + return s +} + +// SetOptInStatus sets the OptInStatus field's value. +func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction { + s.OptInStatus = &v + return s +} + +// One or more modified settings for a DB instance. These modified settings +// have been requested, but haven't been applied yet. +type PendingModifiedValues struct { + _ struct{} `type:"structure"` + + // Contains the new AllocatedStorage size for the DB instance that will be applied + // or is currently being applied. + AllocatedStorage *int64 `type:"integer"` + + // Specifies the pending number of days for which automated backups are retained. + BackupRetentionPeriod *int64 `type:"integer"` + + // Specifies the identifier of the certificate authority (CA) certificate for + // the DB instance. + CACertificateIdentifier *string `type:"string"` + + // Contains the new DBInstanceClass for the DB instance that will be applied + // or is currently being applied. + DBInstanceClass *string `type:"string"` + + // Contains the new DBInstanceIdentifier for the DB instance that will be applied + // or is currently being applied. + DBInstanceIdentifier *string `type:"string"` + + // The new DB subnet group for the DB instance. + DBSubnetGroupName *string `type:"string"` + + // Indicates the database engine version. + EngineVersion *string `type:"string"` + + // Specifies the new Provisioned IOPS value for the DB instance that will be + // applied or is currently being applied. + Iops *int64 `type:"integer"` + + // The license model for the DB instance. + // + // Valid values: license-included, bring-your-own-license, general-public-license + LicenseModel *string `type:"string"` + + // Contains the pending or currently in-progress change of the master credentials + // for the DB instance. + MasterUserPassword *string `type:"string"` + + // Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment. + MultiAZ *bool `type:"boolean"` + + // A list of the log types whose configuration is still pending. These log types + // are in the process of being activated or deactivated. + PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"` + + // Specifies the pending port for the DB instance. + Port *int64 `type:"integer"` + + // Specifies the storage type to be associated with the DB instance. + StorageType *string `type:"string"` +} + +// String returns the string representation +func (s PendingModifiedValues) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PendingModifiedValues) GoString() string { + return s.String() +} + +// SetAllocatedStorage sets the AllocatedStorage field's value. +func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues { + s.AllocatedStorage = &v + return s +} + +// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value. +func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues { + s.BackupRetentionPeriod = &v + return s +} + +// SetCACertificateIdentifier sets the CACertificateIdentifier field's value. +func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues { + s.CACertificateIdentifier = &v + return s +} + +// SetDBInstanceClass sets the DBInstanceClass field's value. +func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues { + s.DBInstanceClass = &v + return s +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues { + s.DBInstanceIdentifier = &v + return s +} + +// SetDBSubnetGroupName sets the DBSubnetGroupName field's value. +func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues { + s.DBSubnetGroupName = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues { + s.EngineVersion = &v + return s +} + +// SetIops sets the Iops field's value. +func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues { + s.Iops = &v + return s +} + +// SetLicenseModel sets the LicenseModel field's value. +func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues { + s.LicenseModel = &v + return s +} + +// SetMasterUserPassword sets the MasterUserPassword field's value. +func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues { + s.MasterUserPassword = &v + return s +} + +// SetMultiAZ sets the MultiAZ field's value. +func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues { + s.MultiAZ = &v + return s +} + +// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value. +func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues { + s.PendingCloudwatchLogsExports = v + return s +} + +// SetPort sets the Port field's value. +func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues { + s.Port = &v + return s +} + +// SetStorageType sets the StorageType field's value. +func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues { + s.StorageType = &v + return s +} + +// Represents the input to RebootDBInstance. +type RebootDBInstanceInput struct { + _ struct{} `type:"structure"` + + // The DB instance identifier. This parameter is stored as a lowercase string. + // + // Constraints: + // + // * Must match the identifier of an existing DBInstance. + // + // DBInstanceIdentifier is a required field + DBInstanceIdentifier *string `type:"string" required:"true"` + + // When true, the reboot is conducted through a Multi-AZ failover. + // + // Constraint: You can't specify true if the instance is not configured for + // Multi-AZ. + ForceFailover *bool `type:"boolean"` +} + +// String returns the string representation +func (s RebootDBInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RebootDBInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RebootDBInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"} + if s.DBInstanceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput { + s.DBInstanceIdentifier = &v + return s +} + +// SetForceFailover sets the ForceFailover field's value. +func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput { + s.ForceFailover = &v + return s +} + +type RebootDBInstanceOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB instance. + DBInstance *DBInstance `type:"structure"` +} + +// String returns the string representation +func (s RebootDBInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RebootDBInstanceOutput) GoString() string { + return s.String() +} + +// SetDBInstance sets the DBInstance field's value. +func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput { + s.DBInstance = v + return s +} + +// Represents the input to RemoveTagsFromResource. +type RemoveTagsFromResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon DocumentDB resource that the tags are removed from. This value + // is an Amazon Resource Name (ARN). + // + // ResourceName is a required field + ResourceName *string `type:"string" required:"true"` + + // The tag key (name) of the tag to be removed. + // + // 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.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceName sets the ResourceName field's value. +func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput { + s.ResourceName = &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() +} + +// Represents the input to ResetDBClusterParameterGroup. +type ResetDBClusterParameterGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the DB cluster parameter group to reset. + // + // DBClusterParameterGroupName is a required field + DBClusterParameterGroupName *string `type:"string" required:"true"` + + // A list of parameter names in the DB cluster parameter group to reset to the + // default values. You can't use this parameter if the ResetAllParameters parameter + // is set to true. + Parameters []*Parameter `locationNameList:"Parameter" type:"list"` + + // A value that is set to true to reset all parameters in the DB cluster parameter + // group to their default values, and false otherwise. You can't use this parameter + // if there is a list of parameter names specified for the Parameters parameter. + ResetAllParameters *bool `type:"boolean"` +} + +// String returns the string representation +func (s ResetDBClusterParameterGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetDBClusterParameterGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResetDBClusterParameterGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"} + if s.DBClusterParameterGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value. +func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput { + s.DBClusterParameterGroupName = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput { + s.Parameters = v + return s +} + +// SetResetAllParameters sets the ResetAllParameters field's value. +func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput { + s.ResetAllParameters = &v + return s +} + +// Contains the name of a DB cluster parameter group. +type ResetDBClusterParameterGroupOutput struct { + _ struct{} `type:"structure"` + + // The name of a DB cluster parameter group. + // + // Constraints: + // + // * Must be from 1 to 255 letters or numbers. + // + // * The first character must be a letter. + // + // * Cannot end with a hyphen or contain two consecutive hyphens. + // + // This value is stored as a lowercase string. + DBClusterParameterGroupName *string `type:"string"` +} + +// String returns the string representation +func (s ResetDBClusterParameterGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetDBClusterParameterGroupOutput) GoString() string { + return s.String() +} + +// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value. +func (s *ResetDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupOutput { + s.DBClusterParameterGroupName = &v + return s +} + +// Represents the output of ApplyPendingMaintenanceAction. +type ResourcePendingMaintenanceActions struct { + _ struct{} `type:"structure"` + + // A list that provides details about the pending maintenance actions for the + // resource. + PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"` + + // The Amazon Resource Name (ARN) of the resource that has pending maintenance + // actions. + ResourceIdentifier *string `type:"string"` +} + +// String returns the string representation +func (s ResourcePendingMaintenanceActions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourcePendingMaintenanceActions) GoString() string { + return s.String() +} + +// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value. +func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions { + s.PendingMaintenanceActionDetails = v + return s +} + +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions { + s.ResourceIdentifier = &v + return s +} + +// Represents the input to RestoreDBClusterFromSnapshot. +type RestoreDBClusterFromSnapshotInput struct { + _ struct{} `type:"structure"` + + // Provides the list of Amazon EC2 Availability Zones that instances in the + // restored DB cluster can be created in. + AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` + + // The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. + // This parameter isn't case sensitive. + // + // Constraints: + // + // * Must contain from 1 to 63 letters, numbers, or hyphens. + // + // * The first character must be a letter. + // + // * Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: my-snapshot-id + // + // DBClusterIdentifier is a required field + DBClusterIdentifier *string `type:"string" required:"true"` + + // The name of the DB subnet group to use for the new DB cluster. + // + // Constraints: If provided, must match the name of an existing DBSubnetGroup. + // + // Example: mySubnetgroup + DBSubnetGroupName *string `type:"string"` + + // A list of log types that must be enabled for exporting to Amazon CloudWatch + // Logs. + EnableCloudwatchLogsExports []*string `type:"list"` + + // The database engine to use for the new DB cluster. + // + // Default: The same as source. + // + // Constraint: Must be compatible with the engine of the source. + // + // Engine is a required field + Engine *string `type:"string" required:"true"` + + // The version of the database engine to use for the new DB cluster. + EngineVersion *string `type:"string"` + + // The AWS KMS key identifier to use when restoring an encrypted DB cluster + // from a DB snapshot or DB cluster snapshot. + // + // The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS + // KMS encryption key. If you are restoring a DB cluster with the same AWS account + // that owns the AWS KMS encryption key used to encrypt the new DB cluster, + // then you can use the AWS KMS key alias instead of the ARN for the AWS KMS + // encryption key. + // + // If you do not specify a value for the KmsKeyId parameter, then the following + // occurs: + // + // * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted, + // then the restored DB cluster is encrypted using the AWS KMS key that was + // used to encrypt the DB snapshot or the DB cluster snapshot. + // + // * If the DB snapshot or the DB cluster snapshot in SnapshotIdentifier + // is not encrypted, then the restored DB cluster is not encrypted. + KmsKeyId *string `type:"string"` + + // The port number on which the new DB cluster accepts connections. + // + // Constraints: Must be a value from 1150 to 65535. + // + // Default: The same port as the original DB cluster. + Port *int64 `type:"integer"` + + // The identifier for the DB snapshot or DB cluster snapshot to restore from. + // + // You can use either the name or the Amazon Resource Name (ARN) to specify + // a DB cluster snapshot. However, you can use only the ARN to specify a DB + // snapshot. + // + // Constraints: + // + // * Must match the identifier of an existing snapshot. + // + // SnapshotIdentifier is a required field + SnapshotIdentifier *string `type:"string" required:"true"` + + // The tags to be assigned to the restored DB cluster. + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // A list of virtual private cloud (VPC) security groups that the new DB cluster + // will belong to. + VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"` +} + +// String returns the string representation +func (s RestoreDBClusterFromSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RestoreDBClusterFromSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RestoreDBClusterFromSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"} + if s.DBClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier")) + } + if s.Engine == nil { + invalidParams.Add(request.NewErrParamRequired("Engine")) + } + if s.SnapshotIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput { + s.AvailabilityZones = v + return s +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput { + s.DBClusterIdentifier = &v + return s +} + +// SetDBSubnetGroupName sets the DBSubnetGroupName field's value. +func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput { + s.DBSubnetGroupName = &v + return s +} + +// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value. +func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput { + s.EnableCloudwatchLogsExports = v + return s +} + +// SetEngine sets the Engine field's value. +func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput { + s.Engine = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput { + s.EngineVersion = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput { + s.KmsKeyId = &v + return s +} + +// SetPort sets the Port field's value. +func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput { + s.Port = &v + return s +} + +// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. +func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput { + s.SnapshotIdentifier = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput { + s.Tags = v + return s +} + +// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value. +func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput { + s.VpcSecurityGroupIds = v + return s +} + +type RestoreDBClusterFromSnapshotOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB cluster. + DBCluster *DBCluster `type:"structure"` +} + +// String returns the string representation +func (s RestoreDBClusterFromSnapshotOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RestoreDBClusterFromSnapshotOutput) GoString() string { + return s.String() +} + +// SetDBCluster sets the DBCluster field's value. +func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput { + s.DBCluster = v + return s +} + +// Represents the input to RestoreDBClusterToPointInTime. +type RestoreDBClusterToPointInTimeInput struct { + _ struct{} `type:"structure"` + + // The name of the new DB cluster to be created. + // + // Constraints: + // + // * Must contain from 1 to 63 letters, numbers, or hyphens. + // + // * The first character must be a letter. + // + // * Cannot end with a hyphen or contain two consecutive hyphens. + // + // DBClusterIdentifier is a required field + DBClusterIdentifier *string `type:"string" required:"true"` + + // The DB subnet group name to use for the new DB cluster. + // + // Constraints: If provided, must match the name of an existing DBSubnetGroup. + // + // Example: mySubnetgroup + DBSubnetGroupName *string `type:"string"` + + // A list of log types that must be enabled for exporting to Amazon CloudWatch + // Logs. + EnableCloudwatchLogsExports []*string `type:"list"` + + // The AWS KMS key identifier to use when restoring an encrypted DB cluster + // from an encrypted DB cluster. + // + // The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS + // KMS encryption key. If you are restoring a DB cluster with the same AWS account + // that owns the AWS KMS encryption key used to encrypt the new DB cluster, + // then you can use the AWS KMS key alias instead of the ARN for the AWS KMS + // encryption key. + // + // You can restore to a new DB cluster and encrypt the new DB cluster with an + // AWS KMS key that is different from the AWS KMS key used to encrypt the source + // DB cluster. The new DB cluster is encrypted with the AWS KMS key identified + // by the KmsKeyId parameter. + // + // If you do not specify a value for the KmsKeyId parameter, then the following + // occurs: + // + // * If the DB cluster is encrypted, then the restored DB cluster is encrypted + // using the AWS KMS key that was used to encrypt the source DB cluster. + // + // * If the DB cluster is not encrypted, then the restored DB cluster is + // not encrypted. + // + // If DBClusterIdentifier refers to a DB cluster that is not encrypted, then + // the restore request is rejected. + KmsKeyId *string `type:"string"` + + // The port number on which the new DB cluster accepts connections. + // + // Constraints: Must be a value from 1150 to 65535. + // + // Default: The default port for the engine. + Port *int64 `type:"integer"` + + // The date and time to restore the DB cluster to. + // + // Valid values: A time in Universal Coordinated Time (UTC) format. + // + // Constraints: + // + // * Must be before the latest restorable time for the DB instance. + // + // * Must be specified if the UseLatestRestorableTime parameter is not provided. + // + // * Cannot be specified if the UseLatestRestorableTime parameter is true. + // + // * Cannot be specified if the RestoreType parameter is copy-on-write. + // + // Example: 2015-03-07T23:45:00Z + RestoreToTime *time.Time `type:"timestamp"` + + // The identifier of the source DB cluster from which to restore. + // + // Constraints: + // + // * Must match the identifier of an existing DBCluster. + // + // SourceDBClusterIdentifier is a required field + SourceDBClusterIdentifier *string `type:"string" required:"true"` + + // The tags to be assigned to the restored DB cluster. + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // A value that is set to true to restore the DB cluster to the latest restorable + // backup time, and false otherwise. + // + // Default: false + // + // Constraints: Cannot be specified if the RestoreToTime parameter is provided. + UseLatestRestorableTime *bool `type:"boolean"` + + // A list of VPC security groups that the new DB cluster belongs to. + VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"` +} + +// String returns the string representation +func (s RestoreDBClusterToPointInTimeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RestoreDBClusterToPointInTimeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RestoreDBClusterToPointInTimeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"} + if s.DBClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier")) + } + if s.SourceDBClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput { + s.DBClusterIdentifier = &v + return s +} + +// SetDBSubnetGroupName sets the DBSubnetGroupName field's value. +func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput { + s.DBSubnetGroupName = &v + return s +} + +// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value. +func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput { + s.EnableCloudwatchLogsExports = v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput { + s.KmsKeyId = &v + return s +} + +// SetPort sets the Port field's value. +func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput { + s.Port = &v + return s +} + +// SetRestoreToTime sets the RestoreToTime field's value. +func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput { + s.RestoreToTime = &v + return s +} + +// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value. +func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput { + s.SourceDBClusterIdentifier = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput { + s.Tags = v + return s +} + +// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value. +func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput { + s.UseLatestRestorableTime = &v + return s +} + +// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value. +func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput { + s.VpcSecurityGroupIds = v + return s +} + +type RestoreDBClusterToPointInTimeOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about a DB cluster. + DBCluster *DBCluster `type:"structure"` +} + +// String returns the string representation +func (s RestoreDBClusterToPointInTimeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RestoreDBClusterToPointInTimeOutput) GoString() string { + return s.String() +} + +// SetDBCluster sets the DBCluster field's value. +func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput { + s.DBCluster = v + return s +} + +// Detailed information about a subnet. +type Subnet struct { + _ struct{} `type:"structure"` + + // Specifies the Availability Zone for the subnet. + SubnetAvailabilityZone *AvailabilityZone `type:"structure"` + + // Specifies the identifier of the subnet. + SubnetIdentifier *string `type:"string"` + + // Specifies the status of the subnet. + SubnetStatus *string `type:"string"` +} + +// String returns the string representation +func (s Subnet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Subnet) GoString() string { + return s.String() +} + +// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value. +func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet { + s.SubnetAvailabilityZone = v + return s +} + +// SetSubnetIdentifier sets the SubnetIdentifier field's value. +func (s *Subnet) SetSubnetIdentifier(v string) *Subnet { + s.SubnetIdentifier = &v + return s +} + +// SetSubnetStatus sets the SubnetStatus field's value. +func (s *Subnet) SetSubnetStatus(v string) *Subnet { + s.SubnetStatus = &v + return s +} + +// Metadata assigned to an Amazon DocumentDB resource consisting of a key-value +// pair. +type Tag struct { + _ struct{} `type:"structure"` + + // The required name of the tag. The string value can be from 1 to 128 Unicode + // characters in length and can't be prefixed with "aws:" or "rds:". The string + // can contain only the set of Unicode letters, digits, white space, '_', '.', + // '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). + Key *string `type:"string"` + + // The optional value of the tag. The string value can be from 1 to 256 Unicode + // characters in length and can't be prefixed with "aws:" or "rds:". The string + // can contain only the set of Unicode letters, digits, white space, '_', '.', + // '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). + Value *string `type:"string"` +} + +// 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() +} + +// 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 +} + +// The version of the database engine that a DB instance can be upgraded to. +type UpgradeTarget struct { + _ struct{} `type:"structure"` + + // A value that indicates whether the target version is applied to any source + // DB instances that have AutoMinorVersionUpgrade set to true. + AutoUpgrade *bool `type:"boolean"` + + // The version of the database engine that a DB instance can be upgraded to. + Description *string `type:"string"` + + // The name of the upgrade target database engine. + Engine *string `type:"string"` + + // The version number of the upgrade target database engine. + EngineVersion *string `type:"string"` + + // A value that indicates whether a database engine is upgraded to a major version. + IsMajorVersionUpgrade *bool `type:"boolean"` +} + +// String returns the string representation +func (s UpgradeTarget) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpgradeTarget) GoString() string { + return s.String() +} + +// SetAutoUpgrade sets the AutoUpgrade field's value. +func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget { + s.AutoUpgrade = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget { + s.Description = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget { + s.Engine = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget { + s.EngineVersion = &v + return s +} + +// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value. +func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget { + s.IsMajorVersionUpgrade = &v + return s +} + +// Used as a response element for queries on virtual private cloud (VPC) security +// group membership. +type VpcSecurityGroupMembership struct { + _ struct{} `type:"structure"` + + // The status of the VPC security group. + Status *string `type:"string"` + + // The name of the VPC security group. + VpcSecurityGroupId *string `type:"string"` +} + +// String returns the string representation +func (s VpcSecurityGroupMembership) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcSecurityGroupMembership) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership { + s.Status = &v + return s +} + +// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value. +func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership { + s.VpcSecurityGroupId = &v + return s +} + +const ( + // ApplyMethodImmediate is a ApplyMethod enum value + ApplyMethodImmediate = "immediate" + + // ApplyMethodPendingReboot is a ApplyMethod enum value + ApplyMethodPendingReboot = "pending-reboot" +) + +const ( + // SourceTypeDbInstance is a SourceType enum value + SourceTypeDbInstance = "db-instance" + + // SourceTypeDbParameterGroup is a SourceType enum value + SourceTypeDbParameterGroup = "db-parameter-group" + + // SourceTypeDbSecurityGroup is a SourceType enum value + SourceTypeDbSecurityGroup = "db-security-group" + + // SourceTypeDbSnapshot is a SourceType enum value + SourceTypeDbSnapshot = "db-snapshot" + + // SourceTypeDbCluster is a SourceType enum value + SourceTypeDbCluster = "db-cluster" + + // SourceTypeDbClusterSnapshot is a SourceType enum value + SourceTypeDbClusterSnapshot = "db-cluster-snapshot" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/doc.go new file mode 100644 index 00000000000..18ca7f9d4d4 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package docdb provides the client and types for making API +// requests to Amazon DocumentDB with MongoDB compatibility. +// +// Amazon DocumentDB API documentation +// +// See https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31 for more information on this service. +// +// See docdb package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/docdb/ +// +// Using the Client +// +// To contact Amazon DocumentDB with MongoDB compatibility 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 DocumentDB with MongoDB compatibility client DocDB for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/docdb/#New +package docdb diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/errors.go new file mode 100644 index 00000000000..cbce0b232e4 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/errors.go @@ -0,0 +1,290 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package docdb + +const ( + + // ErrCodeAuthorizationNotFoundFault for service response error code + // "AuthorizationNotFound". + // + // The specified CIDR IP or Amazon EC2 security group isn't authorized for the + // specified DB security group. + // + // Amazon DocumentDB also might not be authorized to perform necessary actions + // on your behalf using IAM. + ErrCodeAuthorizationNotFoundFault = "AuthorizationNotFound" + + // ErrCodeCertificateNotFoundFault for service response error code + // "CertificateNotFound". + // + // CertificateIdentifier doesn't refer to an existing certificate. + ErrCodeCertificateNotFoundFault = "CertificateNotFound" + + // ErrCodeDBClusterAlreadyExistsFault for service response error code + // "DBClusterAlreadyExistsFault". + // + // You already have a DB cluster with the given identifier. + ErrCodeDBClusterAlreadyExistsFault = "DBClusterAlreadyExistsFault" + + // ErrCodeDBClusterNotFoundFault for service response error code + // "DBClusterNotFoundFault". + // + // DBClusterIdentifier doesn't refer to an existing DB cluster. + ErrCodeDBClusterNotFoundFault = "DBClusterNotFoundFault" + + // ErrCodeDBClusterParameterGroupNotFoundFault for service response error code + // "DBClusterParameterGroupNotFound". + // + // DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter + // group. + ErrCodeDBClusterParameterGroupNotFoundFault = "DBClusterParameterGroupNotFound" + + // ErrCodeDBClusterQuotaExceededFault for service response error code + // "DBClusterQuotaExceededFault". + // + // The DB cluster can't be created because you have reached the maximum allowed + // quota of DB clusters. + ErrCodeDBClusterQuotaExceededFault = "DBClusterQuotaExceededFault" + + // ErrCodeDBClusterSnapshotAlreadyExistsFault for service response error code + // "DBClusterSnapshotAlreadyExistsFault". + // + // You already have a DB cluster snapshot with the given identifier. + ErrCodeDBClusterSnapshotAlreadyExistsFault = "DBClusterSnapshotAlreadyExistsFault" + + // ErrCodeDBClusterSnapshotNotFoundFault for service response error code + // "DBClusterSnapshotNotFoundFault". + // + // DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot. + ErrCodeDBClusterSnapshotNotFoundFault = "DBClusterSnapshotNotFoundFault" + + // ErrCodeDBInstanceAlreadyExistsFault for service response error code + // "DBInstanceAlreadyExists". + // + // You already have a DB instance with the given identifier. + ErrCodeDBInstanceAlreadyExistsFault = "DBInstanceAlreadyExists" + + // ErrCodeDBInstanceNotFoundFault for service response error code + // "DBInstanceNotFound". + // + // DBInstanceIdentifier doesn't refer to an existing DB instance. + ErrCodeDBInstanceNotFoundFault = "DBInstanceNotFound" + + // ErrCodeDBParameterGroupAlreadyExistsFault for service response error code + // "DBParameterGroupAlreadyExists". + // + // A DB parameter group with the same name already exists. + ErrCodeDBParameterGroupAlreadyExistsFault = "DBParameterGroupAlreadyExists" + + // ErrCodeDBParameterGroupNotFoundFault for service response error code + // "DBParameterGroupNotFound". + // + // DBParameterGroupName doesn't refer to an existing DB parameter group. + ErrCodeDBParameterGroupNotFoundFault = "DBParameterGroupNotFound" + + // ErrCodeDBParameterGroupQuotaExceededFault for service response error code + // "DBParameterGroupQuotaExceeded". + // + // This request would cause you to exceed the allowed number of DB parameter + // groups. + ErrCodeDBParameterGroupQuotaExceededFault = "DBParameterGroupQuotaExceeded" + + // ErrCodeDBSecurityGroupNotFoundFault for service response error code + // "DBSecurityGroupNotFound". + // + // DBSecurityGroupName doesn't refer to an existing DB security group. + ErrCodeDBSecurityGroupNotFoundFault = "DBSecurityGroupNotFound" + + // ErrCodeDBSnapshotAlreadyExistsFault for service response error code + // "DBSnapshotAlreadyExists". + // + // DBSnapshotIdentifier is already being used by an existing snapshot. + ErrCodeDBSnapshotAlreadyExistsFault = "DBSnapshotAlreadyExists" + + // ErrCodeDBSnapshotNotFoundFault for service response error code + // "DBSnapshotNotFound". + // + // DBSnapshotIdentifier doesn't refer to an existing DB snapshot. + ErrCodeDBSnapshotNotFoundFault = "DBSnapshotNotFound" + + // ErrCodeDBSubnetGroupAlreadyExistsFault for service response error code + // "DBSubnetGroupAlreadyExists". + // + // DBSubnetGroupName is already being used by an existing DB subnet group. + ErrCodeDBSubnetGroupAlreadyExistsFault = "DBSubnetGroupAlreadyExists" + + // ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs for service response error code + // "DBSubnetGroupDoesNotCoverEnoughAZs". + // + // Subnets in the DB subnet group should cover at least two Availability Zones + // unless there is only one Availability Zone. + ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs = "DBSubnetGroupDoesNotCoverEnoughAZs" + + // ErrCodeDBSubnetGroupNotFoundFault for service response error code + // "DBSubnetGroupNotFoundFault". + // + // DBSubnetGroupName doesn't refer to an existing DB subnet group. + ErrCodeDBSubnetGroupNotFoundFault = "DBSubnetGroupNotFoundFault" + + // ErrCodeDBSubnetGroupQuotaExceededFault for service response error code + // "DBSubnetGroupQuotaExceeded". + // + // The request would cause you to exceed the allowed number of DB subnet groups. + ErrCodeDBSubnetGroupQuotaExceededFault = "DBSubnetGroupQuotaExceeded" + + // ErrCodeDBSubnetQuotaExceededFault for service response error code + // "DBSubnetQuotaExceededFault". + // + // The request would cause you to exceed the allowed number of subnets in a + // DB subnet group. + ErrCodeDBSubnetQuotaExceededFault = "DBSubnetQuotaExceededFault" + + // ErrCodeDBUpgradeDependencyFailureFault for service response error code + // "DBUpgradeDependencyFailure". + // + // The DB upgrade failed because a resource that the DB depends on can't be + // modified. + ErrCodeDBUpgradeDependencyFailureFault = "DBUpgradeDependencyFailure" + + // ErrCodeInstanceQuotaExceededFault for service response error code + // "InstanceQuotaExceeded". + // + // The request would cause you to exceed the allowed number of DB instances. + ErrCodeInstanceQuotaExceededFault = "InstanceQuotaExceeded" + + // ErrCodeInsufficientDBClusterCapacityFault for service response error code + // "InsufficientDBClusterCapacityFault". + // + // The DB cluster doesn't have enough capacity for the current operation. + ErrCodeInsufficientDBClusterCapacityFault = "InsufficientDBClusterCapacityFault" + + // ErrCodeInsufficientDBInstanceCapacityFault for service response error code + // "InsufficientDBInstanceCapacity". + // + // The specified DB instance class isn't available in the specified Availability + // Zone. + ErrCodeInsufficientDBInstanceCapacityFault = "InsufficientDBInstanceCapacity" + + // ErrCodeInsufficientStorageClusterCapacityFault for service response error code + // "InsufficientStorageClusterCapacity". + // + // There is not enough storage available for the current action. You might be + // able to resolve this error by updating your subnet group to use different + // Availability Zones that have more storage available. + ErrCodeInsufficientStorageClusterCapacityFault = "InsufficientStorageClusterCapacity" + + // ErrCodeInvalidDBClusterSnapshotStateFault for service response error code + // "InvalidDBClusterSnapshotStateFault". + // + // The provided value isn't a valid DB cluster snapshot state. + ErrCodeInvalidDBClusterSnapshotStateFault = "InvalidDBClusterSnapshotStateFault" + + // ErrCodeInvalidDBClusterStateFault for service response error code + // "InvalidDBClusterStateFault". + // + // The DB cluster isn't in a valid state. + ErrCodeInvalidDBClusterStateFault = "InvalidDBClusterStateFault" + + // ErrCodeInvalidDBInstanceStateFault for service response error code + // "InvalidDBInstanceState". + // + // The specified DB instance isn't in the available state. + ErrCodeInvalidDBInstanceStateFault = "InvalidDBInstanceState" + + // ErrCodeInvalidDBParameterGroupStateFault for service response error code + // "InvalidDBParameterGroupState". + // + // The DB parameter group is in use, or it is in a state that is not valid. + // If you are trying to delete the parameter group, you can't delete it when + // the parameter group is in this state. + ErrCodeInvalidDBParameterGroupStateFault = "InvalidDBParameterGroupState" + + // ErrCodeInvalidDBSecurityGroupStateFault for service response error code + // "InvalidDBSecurityGroupState". + // + // The state of the DB security group doesn't allow deletion. + ErrCodeInvalidDBSecurityGroupStateFault = "InvalidDBSecurityGroupState" + + // ErrCodeInvalidDBSnapshotStateFault for service response error code + // "InvalidDBSnapshotState". + // + // The state of the DB snapshot doesn't allow deletion. + ErrCodeInvalidDBSnapshotStateFault = "InvalidDBSnapshotState" + + // ErrCodeInvalidDBSubnetGroupStateFault for service response error code + // "InvalidDBSubnetGroupStateFault". + // + // The DB subnet group can't be deleted because it's in use. + ErrCodeInvalidDBSubnetGroupStateFault = "InvalidDBSubnetGroupStateFault" + + // ErrCodeInvalidDBSubnetStateFault for service response error code + // "InvalidDBSubnetStateFault". + // + // The DB subnet isn't in the available state. + ErrCodeInvalidDBSubnetStateFault = "InvalidDBSubnetStateFault" + + // ErrCodeInvalidRestoreFault for service response error code + // "InvalidRestoreFault". + // + // You cannot restore from a virtual private cloud (VPC) backup to a non-VPC + // DB instance. + ErrCodeInvalidRestoreFault = "InvalidRestoreFault" + + // ErrCodeInvalidSubnet for service response error code + // "InvalidSubnet". + // + // The requested subnet is not valid, or multiple subnets were requested that + // are not all in a common virtual private cloud (VPC). + ErrCodeInvalidSubnet = "InvalidSubnet" + + // ErrCodeInvalidVPCNetworkStateFault for service response error code + // "InvalidVPCNetworkStateFault". + // + // The DB subnet group doesn't cover all Availability Zones after it is created + // because of changes that were made. + ErrCodeInvalidVPCNetworkStateFault = "InvalidVPCNetworkStateFault" + + // ErrCodeKMSKeyNotAccessibleFault for service response error code + // "KMSKeyNotAccessibleFault". + // + // An error occurred when accessing an AWS KMS key. + ErrCodeKMSKeyNotAccessibleFault = "KMSKeyNotAccessibleFault" + + // ErrCodeResourceNotFoundFault for service response error code + // "ResourceNotFoundFault". + // + // The specified resource ID was not found. + ErrCodeResourceNotFoundFault = "ResourceNotFoundFault" + + // ErrCodeSharedSnapshotQuotaExceededFault for service response error code + // "SharedSnapshotQuotaExceeded". + // + // You have exceeded the maximum number of accounts that you can share a manual + // DB snapshot with. + ErrCodeSharedSnapshotQuotaExceededFault = "SharedSnapshotQuotaExceeded" + + // ErrCodeSnapshotQuotaExceededFault for service response error code + // "SnapshotQuotaExceeded". + // + // The request would cause you to exceed the allowed number of DB snapshots. + ErrCodeSnapshotQuotaExceededFault = "SnapshotQuotaExceeded" + + // ErrCodeStorageQuotaExceededFault for service response error code + // "StorageQuotaExceeded". + // + // The request would cause you to exceed the allowed amount of storage available + // across all DB instances. + ErrCodeStorageQuotaExceededFault = "StorageQuotaExceeded" + + // ErrCodeStorageTypeNotSupportedFault for service response error code + // "StorageTypeNotSupported". + // + // Storage of the specified StorageType can't be associated with the DB instance. + ErrCodeStorageTypeNotSupportedFault = "StorageTypeNotSupported" + + // ErrCodeSubnetAlreadyInUse for service response error code + // "SubnetAlreadyInUse". + // + // The DB subnet is already in use in the Availability Zone. + ErrCodeSubnetAlreadyInUse = "SubnetAlreadyInUse" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/service.go new file mode 100644 index 00000000000..cd0f3d91dc5 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/service.go @@ -0,0 +1,98 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package docdb + +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" +) + +// DocDB provides the API operation methods for making requests to +// Amazon DocumentDB with MongoDB compatibility. See this package's package overview docs +// for details on the service. +// +// DocDB methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type DocDB 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 = "DocDB" // Name of service. + EndpointsID = "rds" // ID to lookup a service endpoint with. + ServiceID = "DocDB" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the DocDB 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 DocDB client from just a session. +// svc := docdb.New(mySession) +// +// // Create a DocDB client with additional configuration +// svc := docdb.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *DocDB { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "rds" + } + 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) *DocDB { + svc := &DocDB{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2014-10-31", + }, + 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 DocDB operation and runs any +// custom request initialization. +func (c *DocDB) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/waiters.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/waiters.go new file mode 100644 index 00000000000..f1b1f2b86c2 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/docdb/waiters.go @@ -0,0 +1,152 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package docdb + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" +) + +// WaitUntilDBInstanceAvailable uses the Amazon DocDB API operation +// DescribeDBInstances to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *DocDB) WaitUntilDBInstanceAvailable(input *DescribeDBInstancesInput) error { + return c.WaitUntilDBInstanceAvailableWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilDBInstanceAvailableWithContext is an extended version of WaitUntilDBInstanceAvailable. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DocDB) WaitUntilDBInstanceAvailableWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilDBInstanceAvailable", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(30 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", + Expected: "available", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", + Expected: "deleted", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", + Expected: "deleting", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", + Expected: "failed", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", + Expected: "incompatible-restore", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", + Expected: "incompatible-parameters", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeDBInstancesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDBInstancesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilDBInstanceDeleted uses the Amazon DocDB API operation +// DescribeDBInstances to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *DocDB) WaitUntilDBInstanceDeleted(input *DescribeDBInstancesInput) error { + return c.WaitUntilDBInstanceDeletedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilDBInstanceDeletedWithContext is an extended version of WaitUntilDBInstanceDeleted. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DocDB) WaitUntilDBInstanceDeletedWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilDBInstanceDeleted", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(30 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", + Expected: "deleted", + }, + { + State: request.SuccessWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "DBInstanceNotFound", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", + Expected: "creating", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", + Expected: "modifying", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", + Expected: "rebooting", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", + Expected: "resetting-master-credentials", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeDBInstancesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDBInstancesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go index bdd0505ea45..727a8181267 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go @@ -1534,6 +1534,8 @@ func (c *DynamoDB) DescribeEndpointsRequest(input *DescribeEndpointsInput) (req // DescribeEndpoints API operation for Amazon DynamoDB. // +// Returns the regional endpoint 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. @@ -3924,29 +3926,46 @@ func (c *DynamoDB) TransactGetItemsRequest(input *TransactGetItemsInput) (req *r // * ErrCodeTransactionCanceledException "TransactionCanceledException" // The entire transaction request was rejected. // -// DynamoDB will reject the entire TransactWriteItems request if any of the -// following is true: +// DynamoDB rejects a TransactWriteItems request under the following circumstances: // -// * A table in the TransactWriteItems request does not exist. +// * A condition in one of the condition expressions is not met. // -// * A table in the TransactWriteItems request is on a different account +// * A table in the TransactWriteItems request is in a different account // or region. // -// * Operations contain item schema violations. +// * More than one action in the TransactWriteItems operation targets the +// same item. +// +// * There is insufficient provisioned capacity for the transaction to be +// completed. +// +// * An item size becomes too large (larger than 400 KB), or a local secondary +// index (LSI) becomes too large, or a similar validation error occurs because +// of changes made by the transaction. +// +// * There is a user error, such as an invalid data format. // -// * More than one write operation (UpdateItem, PutItem, DeleteItem) operates -// on the same item. +// DynamoDB rejects a TransactGetItems request under the following circumstances: // -// * More than one check operation operates on the same item. +// * There is an ongoing TransactGetItems operation that conflicts with a +// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. +// In this case the TransactGetItems operation fails with a TransactionCanceledException. // -// * The number of operations sent in the TransactWriteItems request is -// 0 or greater than 10. +// * A table in the TransactGetItems request is in a different account or +// region. // -// * A TransactWriteItems request exceeds the maximum 4 MB request size. +// * There is insufficient provisioned capacity for the transaction to be +// completed. // +// * There is a user error, such as an invalid data format. // -// * Any operation in the TransactWriteItems request would cause an item -// to become larger than 400KB. +// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException" +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// in the Amazon DynamoDB Developer Guide. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -4106,29 +4125,38 @@ func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (re // * ErrCodeTransactionCanceledException "TransactionCanceledException" // The entire transaction request was rejected. // -// DynamoDB will reject the entire TransactWriteItems request if any of the -// following is true: +// DynamoDB rejects a TransactWriteItems request under the following circumstances: // -// * A table in the TransactWriteItems request does not exist. +// * A condition in one of the condition expressions is not met. // -// * A table in the TransactWriteItems request is on a different account +// * A table in the TransactWriteItems request is in a different account // or region. // -// * Operations contain item schema violations. +// * More than one action in the TransactWriteItems operation targets the +// same item. +// +// * There is insufficient provisioned capacity for the transaction to be +// completed. // -// * More than one write operation (UpdateItem, PutItem, DeleteItem) operates -// on the same item. +// * An item size becomes too large (larger than 400 KB), or a local secondary +// index (LSI) becomes too large, or a similar validation error occurs because +// of changes made by the transaction. // -// * More than one check operation operates on the same item. +// * There is a user error, such as an invalid data format. // -// * The number of operations sent in the TransactWriteItems request is -// 0 or greater than 10. +// DynamoDB rejects a TransactGetItems request under the following circumstances: // -// * A TransactWriteItems request exceeds the maximum 4 MB request size. +// * There is an ongoing TransactGetItems operation that conflicts with a +// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. +// In this case the TransactGetItems operation fails with a TransactionCanceledException. // +// * A table in the TransactGetItems request is in a different account or +// region. // -// * Any operation in the TransactWriteItems request would cause an item -// to become larger than 400KB. +// * There is insufficient provisioned capacity for the transaction to be +// completed. +// +// * There is a user error, such as an invalid data format. // // * ErrCodeTransactionInProgressException "TransactionInProgressException" // The transaction with the given request token is already in progress. @@ -4137,6 +4165,14 @@ func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (re // DynamoDB rejected the request because you retried a request with a different // payload but with an idempotent token that was already used. // +// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException" +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// in the Amazon DynamoDB Developer Guide. +// // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // @@ -5178,7 +5214,7 @@ type AttributeValue struct { // An attribute of type List. For example: // - // "L": ["Cookies", "Coffee", 3.14159] + // "L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N", "3.14159"}] L []*AttributeValue `type:"list"` // An attribute of type Map. For example: @@ -5871,6 +5907,8 @@ type BackupDetails struct { // no additional cost). System backups allow you to restore the deleted table // to the state it was in just before the point of deletion. // + // * AWS_BACKUP - On-demand backup created by you from AWS Backup service. + // // BackupType is a required field BackupType *string `type:"string" required:"true" enum:"BackupType"` } @@ -5958,6 +5996,8 @@ type BackupSummary struct { // a SYSTEM backup is automatically created and is retained for 35 days (at // no additional cost). System backups allow you to restore the deleted table // to the state it was in just before the point of deletion. + // + // * AWS_BACKUP - On-demand backup created by you from AWS Backup service. BackupType *string `type:"string" enum:"BackupType"` // ARN associated with the table. @@ -7231,8 +7271,8 @@ type CreateTableInput struct { // using PAY_PER_REQUEST for unpredictable workloads. BillingMode *string `type:"string" enum:"BillingMode"` - // One or more global secondary indexes (the maximum is five) to be created - // on the table. Each global secondary index in the array includes the following: + // One or more global secondary indexes (the maximum is 20) to be created on + // the table. Each global secondary index in the array includes the following: // // * IndexName - The name of the global secondary index. Must be unique only // for this table. @@ -7256,7 +7296,7 @@ type CreateTableInput struct { // NonKeyAttributes - A list of one or more non-key attribute names that are // projected into the secondary index. The total count of attributes provided // in NonKeyAttributes, summed across all of the secondary indexes, must - // not exceed 20. If you project the same attribute into two different indexes, + // not exceed 100. If you project the same attribute into two different indexes, // this counts as two distinct attributes when determining the total. // // * ProvisionedThroughput - The provisioned throughput settings for the @@ -7300,10 +7340,10 @@ type CreateTableInput struct { // KeySchema is a required field KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` - // One or more local secondary indexes (the maximum is five) to be created on - // the table. Each index is scoped to a given partition key value. There is - // a 10 GB size limit per partition key value; otherwise, the size of a local - // secondary index is unconstrained. + // One or more local secondary indexes (the maximum is 5) to be created on the + // table. Each index is scoped to a given partition key value. There is a 10 + // GB size limit per partition key value; otherwise, the size of a local secondary + // index is unconstrained. // // Each local secondary index in the array includes the following: // @@ -7330,7 +7370,7 @@ type CreateTableInput struct { // NonKeyAttributes - A list of one or more non-key attribute names that are // projected into the secondary index. The total count of attributes provided // in NonKeyAttributes, summed across all of the secondary indexes, must - // not exceed 20. If you project the same attribute into two different indexes, + // not exceed 100. If you project the same attribute into two different indexes, // this counts as two distinct attributes when determining the total. LocalSecondaryIndexes []*LocalSecondaryIndex `type:"list"` @@ -8315,6 +8355,8 @@ func (s DescribeEndpointsInput) GoString() string { type DescribeEndpointsOutput struct { _ struct{} `type:"structure"` + // List of endpoints. + // // Endpoints is a required field Endpoints []*Endpoint `type:"list" required:"true"` } @@ -8674,12 +8716,17 @@ func (s *DescribeTimeToLiveOutput) SetTimeToLiveDescription(v *TimeToLiveDescrip return s } +// An endpoint information details. type Endpoint struct { _ struct{} `type:"structure"` + // IP address of the endpoint. + // // Address is a required field Address *string `type:"string" required:"true"` + // Endpoint cache time to live (TTL) value. + // // CachePeriodInMinutes is a required field CachePeriodInMinutes *int64 `type:"long" required:"true"` } @@ -14285,7 +14332,7 @@ type TransactWriteItemsInput struct { // If you submit a request with the same client token but a change in other // parameters within the 10 minute idempotency window, DynamoDB returns an IdempotentParameterMismatch // exception. - ClientRequestToken *string `type:"string" idempotencyToken:"true"` + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` // Determines the level of detail about provisioned throughput consumption that // is returned in the response: @@ -14332,6 +14379,9 @@ func (s TransactWriteItemsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *TransactWriteItemsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TransactWriteItemsInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } if s.TransactItems == nil { invalidParams.Add(request.NewErrParamRequired("TransactItems")) } @@ -15718,6 +15768,9 @@ const ( // BackupTypeSystem is a BackupType enum value BackupTypeSystem = "SYSTEM" + + // BackupTypeAwsBackup is a BackupType enum value + BackupTypeAwsBackup = "AWS_BACKUP" ) const ( @@ -15727,6 +15780,9 @@ const ( // BackupTypeFilterSystem is a BackupTypeFilter enum value BackupTypeFilterSystem = "SYSTEM" + // BackupTypeFilterAwsBackup is a BackupTypeFilter enum value + BackupTypeFilterAwsBackup = "AWS_BACKUP" + // BackupTypeFilterAll is a BackupTypeFilter enum value BackupTypeFilterAll = "ALL" ) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dynamodb/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dynamodb/errors.go index 175647742f4..1841f7b9ae1 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dynamodb/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/dynamodb/errors.go @@ -166,29 +166,38 @@ const ( // // The entire transaction request was rejected. // - // DynamoDB will reject the entire TransactWriteItems request if any of the - // following is true: + // DynamoDB rejects a TransactWriteItems request under the following circumstances: // - // * A table in the TransactWriteItems request does not exist. + // * A condition in one of the condition expressions is not met. // - // * A table in the TransactWriteItems request is on a different account + // * A table in the TransactWriteItems request is in a different account // or region. // - // * Operations contain item schema violations. + // * More than one action in the TransactWriteItems operation targets the + // same item. // - // * More than one write operation (UpdateItem, PutItem, DeleteItem) operates - // on the same item. + // * There is insufficient provisioned capacity for the transaction to be + // completed. // - // * More than one check operation operates on the same item. + // * An item size becomes too large (larger than 400 KB), or a local secondary + // index (LSI) becomes too large, or a similar validation error occurs because + // of changes made by the transaction. // - // * The number of operations sent in the TransactWriteItems request is - // 0 or greater than 10. + // * There is a user error, such as an invalid data format. // - // * A TransactWriteItems request exceeds the maximum 4 MB request size. + // DynamoDB rejects a TransactGetItems request under the following circumstances: // + // * There is an ongoing TransactGetItems operation that conflicts with a + // concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. + // In this case the TransactGetItems operation fails with a TransactionCanceledException. // - // * Any operation in the TransactWriteItems request would cause an item - // to become larger than 400KB. + // * A table in the TransactGetItems request is in a different account or + // region. + // + // * There is insufficient provisioned capacity for the transaction to be + // completed. + // + // * There is a user error, such as an invalid data format. ErrCodeTransactionCanceledException = "TransactionCanceledException" // ErrCodeTransactionConflictException for service response error code diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go index 0431f377ca6..7b68164ea9f 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go @@ -463,7 +463,7 @@ func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request. // or from an address pool created from a public IPv4 address range that you // have brought to AWS for use with your AWS resources using bring your own // IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses -// (BYOIP) (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) +// (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) // in the Amazon Elastic Compute Cloud User Guide. // // [EC2-VPC] If you release an Elastic IP address, you might be able to recover @@ -476,7 +476,7 @@ func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request. // a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic // per region and 5 Elastic IP addresses for EC2-VPC per region. // -// For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) +// For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -582,6 +582,82 @@ func (c *EC2) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInpu return out, req.Send() } +const opApplySecurityGroupsToClientVpnTargetNetwork = "ApplySecurityGroupsToClientVpnTargetNetwork" + +// ApplySecurityGroupsToClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the +// client's request for the ApplySecurityGroupsToClientVpnTargetNetwork 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 ApplySecurityGroupsToClientVpnTargetNetwork for more information on using the ApplySecurityGroupsToClientVpnTargetNetwork +// 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 ApplySecurityGroupsToClientVpnTargetNetworkRequest method. +// req, resp := client.ApplySecurityGroupsToClientVpnTargetNetworkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork +func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkRequest(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (req *request.Request, output *ApplySecurityGroupsToClientVpnTargetNetworkOutput) { + op := &request.Operation{ + Name: opApplySecurityGroupsToClientVpnTargetNetwork, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ApplySecurityGroupsToClientVpnTargetNetworkInput{} + } + + output = &ApplySecurityGroupsToClientVpnTargetNetworkOutput{} + req = c.newRequest(op, input, output) + return +} + +// ApplySecurityGroupsToClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud. +// +// Applies a security group to the association between the target network and +// the Client VPN endpoint. This action replaces the existing security groups +// with the specified security groups. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ApplySecurityGroupsToClientVpnTargetNetwork for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork +func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetwork(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) { + req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input) + return out, req.Send() +} + +// ApplySecurityGroupsToClientVpnTargetNetworkWithContext is the same as ApplySecurityGroupsToClientVpnTargetNetwork with the addition of +// the ability to pass a context and additional request options. +// +// See ApplySecurityGroupsToClientVpnTargetNetwork for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkWithContext(ctx aws.Context, input *ApplySecurityGroupsToClientVpnTargetNetworkInput, opts ...request.Option) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) { + req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAssignIpv6Addresses = "AssignIpv6Addresses" // AssignIpv6AddressesRequest generates a "aws/request.Request" representing the @@ -632,7 +708,7 @@ func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req * // CIDR block range. You can assign as many IPv6 addresses to a network interface // as you can assign private IPv4 addresses, and the limit varies per instance // type. For information, see IP Addresses Per Network Interface Per Instance -// Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) +// Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -715,9 +791,9 @@ func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInp // the number of secondary IP addresses to be automatically assigned within // the subnet's CIDR block range. The number of secondary IP addresses that // you can assign to an instance varies by instance type. For information about -// instance types, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) +// instance types, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. For more information about -// Elastic IP addresses, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) +// Elastic IP addresses, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud User Guide. // // When you move a secondary private IP address to another network interface, @@ -803,7 +879,7 @@ func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *reques // Before you can use an Elastic IP address, you must allocate it to your account. // // An Elastic IP address is for use in either the EC2-Classic platform or in -// a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) +// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud User Guide. // // [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is @@ -853,6 +929,84 @@ func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddre return out, req.Send() } +const opAssociateClientVpnTargetNetwork = "AssociateClientVpnTargetNetwork" + +// AssociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the +// client's request for the AssociateClientVpnTargetNetwork 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 AssociateClientVpnTargetNetwork for more information on using the AssociateClientVpnTargetNetwork +// 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 AssociateClientVpnTargetNetworkRequest method. +// req, resp := client.AssociateClientVpnTargetNetworkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork +func (c *EC2) AssociateClientVpnTargetNetworkRequest(input *AssociateClientVpnTargetNetworkInput) (req *request.Request, output *AssociateClientVpnTargetNetworkOutput) { + op := &request.Operation{ + Name: opAssociateClientVpnTargetNetwork, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateClientVpnTargetNetworkInput{} + } + + output = &AssociateClientVpnTargetNetworkOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud. +// +// Associates a target network with a Client VPN endpoint. A target network +// is a subnet in a VPC. You can associate multiple subnets from the same VPC +// with a Client VPN endpoint. You can associate only one subnet in each Availability +// Zone. We recommend that you associate at least two subnets to provide Availability +// Zone redundancy. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AssociateClientVpnTargetNetwork for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork +func (c *EC2) AssociateClientVpnTargetNetwork(input *AssociateClientVpnTargetNetworkInput) (*AssociateClientVpnTargetNetworkOutput, error) { + req, out := c.AssociateClientVpnTargetNetworkRequest(input) + return out, req.Send() +} + +// AssociateClientVpnTargetNetworkWithContext is the same as AssociateClientVpnTargetNetwork with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateClientVpnTargetNetwork for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) AssociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *AssociateClientVpnTargetNetworkInput, opts ...request.Option) (*AssociateClientVpnTargetNetworkOutput, error) { + req, out := c.AssociateClientVpnTargetNetworkRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAssociateDhcpOptions = "AssociateDhcpOptions" // AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the @@ -908,7 +1062,7 @@ func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req // its DHCP lease. You can explicitly renew the lease using the operating system // on the instance. // -// For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) +// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1064,7 +1218,7 @@ func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req * // an association ID, which you need in order to disassociate the route table // from the subnet later. A route table can be associated with multiple subnets. // -// For more information, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// For more information, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1295,7 +1449,7 @@ func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (r // IPv6 CIDR block size is fixed at /56. // // For more information about associating CIDR blocks with your VPC and applicable -// restrictions, see VPC and Subnet Sizing (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#VPC_Sizing) +// restrictions, see VPC and Subnet Sizing (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#VPC_Sizing) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1458,7 +1612,7 @@ func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (r // // Attaches an internet gateway to a VPC, enabling connectivity between the // internet and the VPC. For more information about your VPC and internet gateway, -// see the Amazon Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/). +// see the Amazon Virtual Private Cloud User Guide (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1610,13 +1764,13 @@ func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Reques // the instance with the specified device name. // // Encrypted EBS volumes may only be attached to instances that support Amazon -// EBS encryption. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) +// EBS encryption. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. // // For a list of supported device names, see Attaching an EBS Volume to an Instance -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html). +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html). // Any device names that aren't reserved for instance store volumes can be used -// for EBS volumes. For more information, see Amazon EC2 Instance Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) +// for EBS volumes. For more information, see Amazon EC2 Instance Store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) // in the Amazon Elastic Compute Cloud User Guide. // // If a volume has an AWS Marketplace product code: @@ -1632,7 +1786,7 @@ func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Reques // and attach it to a Linux instance. // // For more information about EBS volumes, see Attaching Amazon EBS Volumes -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1710,8 +1864,8 @@ func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *reques // Attaches a virtual private gateway to a VPC. You can attach one virtual private // gateway to one VPC at a time. // -// For more information, see AWS Managed VPN Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) -// in the Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1741,6 +1895,83 @@ func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatew return out, req.Send() } +const opAuthorizeClientVpnIngress = "AuthorizeClientVpnIngress" + +// AuthorizeClientVpnIngressRequest generates a "aws/request.Request" representing the +// client's request for the AuthorizeClientVpnIngress 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 AuthorizeClientVpnIngress for more information on using the AuthorizeClientVpnIngress +// 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 AuthorizeClientVpnIngressRequest method. +// req, resp := client.AuthorizeClientVpnIngressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress +func (c *EC2) AuthorizeClientVpnIngressRequest(input *AuthorizeClientVpnIngressInput) (req *request.Request, output *AuthorizeClientVpnIngressOutput) { + op := &request.Operation{ + Name: opAuthorizeClientVpnIngress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AuthorizeClientVpnIngressInput{} + } + + output = &AuthorizeClientVpnIngressOutput{} + req = c.newRequest(op, input, output) + return +} + +// AuthorizeClientVpnIngress API operation for Amazon Elastic Compute Cloud. +// +// Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization +// rules act as firewall rules that grant access to networks. You must configure +// ingress authorization rules to enable clients to access resources in AWS +// or on-premises networks. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AuthorizeClientVpnIngress for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress +func (c *EC2) AuthorizeClientVpnIngress(input *AuthorizeClientVpnIngressInput) (*AuthorizeClientVpnIngressOutput, error) { + req, out := c.AuthorizeClientVpnIngressRequest(input) + return out, req.Send() +} + +// AuthorizeClientVpnIngressWithContext is the same as AuthorizeClientVpnIngress with the addition of +// the ability to pass a context and additional request options. +// +// See AuthorizeClientVpnIngress for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) AuthorizeClientVpnIngressWithContext(ctx aws.Context, input *AuthorizeClientVpnIngressInput, opts ...request.Option) (*AuthorizeClientVpnIngressOutput, error) { + req, out := c.AuthorizeClientVpnIngressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress" // AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the @@ -1791,9 +2022,9 @@ func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupE // one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more // destination security groups for the same VPC. This action doesn't apply to // security groups for use in EC2-Classic. For more information, see Security -// Groups for Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) +// Groups for Your VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) // in the Amazon Virtual Private Cloud User Guide. For more information about -// security group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html). +// security group limits, see Amazon VPC Limits (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html). // // Each rule consists of the protocol (for example, TCP), plus either a CIDR // range or a source group. For the TCP and UDP protocols, you must also specify @@ -1894,7 +2125,7 @@ func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroup // security groups (called the source groups) permission to access a security // group for your VPC. The security groups must all be for the same VPC or a // peer VPC in a VPC peering connection. For more information about VPC security -// group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html). +// group limits, see Amazon VPC Limits (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html). // // You can optionally specify a description for the security group rule. // @@ -2213,7 +2444,7 @@ func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req // and returns an exception. // // For more information, see Importing a Virtual Machine Using the Amazon EC2 -// CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html). +// CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.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 @@ -2442,7 +2673,7 @@ func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstanc // Cancels the specified Reserved Instance listing in the Reserved Instance // Marketplace. // -// For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) +// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2835,7 +3066,7 @@ func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, out // backing snapshot. // // For more information about the prerequisites and limits when copying an AMI, -// see Copying an AMI (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html) +// see Copying an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2911,7 +3142,7 @@ func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Reques // CopySnapshot API operation for Amazon Elastic Compute Cloud. // // Copies a point-in-time snapshot of an EBS volume and stores it in Amazon -// S3. You can copy the snapshot within the same region or from one region to +// S3. You can copy the snapshot within the same Region or from one Region to // another. You can use the snapshot to create EBS volumes or Amazon Machine // Images (AMIs). The snapshot is copied to the regional endpoint that you send // the HTTP request to. @@ -2928,7 +3159,7 @@ func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Reques // Snapshots created by copying another snapshot have an arbitrary volume ID // that should not be used for any purpose. // -// For more information, see Copying an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html) +// For more information, see Copying an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3011,7 +3242,7 @@ func (c *EC2) CreateCapacityReservationRequest(input *CreateCapacityReservationI // Regional RI discounts for that usage. By creating Capacity Reservations, // you ensure that you always have access to Amazon EC2 capacity when you need // it, for as long as you need it. For more information, see Capacity Reservations -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) // in the Amazon Elastic Compute Cloud User Guide. // // Your request to create a Capacity Reservation could fail if Amazon EC2 does @@ -3025,7 +3256,7 @@ func (c *EC2) CreateCapacityReservationRequest(input *CreateCapacityReservationI // Instance limit for the selected instance type. If your request fails due // to limit constraints, increase your On-Demand Instance limit for the required // instance type and try again. For more information about increasing your instance -// limits, see Amazon EC2 Service Limits (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html) +// limits, see Amazon EC2 Service Limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3056,6 +3287,159 @@ func (c *EC2) CreateCapacityReservationWithContext(ctx aws.Context, input *Creat return out, req.Send() } +const opCreateClientVpnEndpoint = "CreateClientVpnEndpoint" + +// CreateClientVpnEndpointRequest generates a "aws/request.Request" representing the +// client's request for the CreateClientVpnEndpoint 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 CreateClientVpnEndpoint for more information on using the CreateClientVpnEndpoint +// 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 CreateClientVpnEndpointRequest method. +// req, resp := client.CreateClientVpnEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint +func (c *EC2) CreateClientVpnEndpointRequest(input *CreateClientVpnEndpointInput) (req *request.Request, output *CreateClientVpnEndpointOutput) { + op := &request.Operation{ + Name: opCreateClientVpnEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateClientVpnEndpointInput{} + } + + output = &CreateClientVpnEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateClientVpnEndpoint API operation for Amazon Elastic Compute Cloud. +// +// Creates a Client VPN endpoint. A Client VPN endpoint is the resource you +// create and configure to enable and manage client VPN sessions. It is the +// destination endpoint at which all client VPN sessions are terminated. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateClientVpnEndpoint for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint +func (c *EC2) CreateClientVpnEndpoint(input *CreateClientVpnEndpointInput) (*CreateClientVpnEndpointOutput, error) { + req, out := c.CreateClientVpnEndpointRequest(input) + return out, req.Send() +} + +// CreateClientVpnEndpointWithContext is the same as CreateClientVpnEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See CreateClientVpnEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) CreateClientVpnEndpointWithContext(ctx aws.Context, input *CreateClientVpnEndpointInput, opts ...request.Option) (*CreateClientVpnEndpointOutput, error) { + req, out := c.CreateClientVpnEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateClientVpnRoute = "CreateClientVpnRoute" + +// CreateClientVpnRouteRequest generates a "aws/request.Request" representing the +// client's request for the CreateClientVpnRoute 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 CreateClientVpnRoute for more information on using the CreateClientVpnRoute +// 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 CreateClientVpnRouteRequest method. +// req, resp := client.CreateClientVpnRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute +func (c *EC2) CreateClientVpnRouteRequest(input *CreateClientVpnRouteInput) (req *request.Request, output *CreateClientVpnRouteOutput) { + op := &request.Operation{ + Name: opCreateClientVpnRoute, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateClientVpnRouteInput{} + } + + output = &CreateClientVpnRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateClientVpnRoute API operation for Amazon Elastic Compute Cloud. +// +// Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint +// has a route table that describes the available destination network routes. +// Each route in the route table specifies the path for traffic to specific resources +// or networks. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateClientVpnRoute for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute +func (c *EC2) CreateClientVpnRoute(input *CreateClientVpnRouteInput) (*CreateClientVpnRouteOutput, error) { + req, out := c.CreateClientVpnRouteRequest(input) + return out, req.Send() +} + +// CreateClientVpnRouteWithContext is the same as CreateClientVpnRoute with the addition of +// the ability to pass a context and additional request options. +// +// See CreateClientVpnRoute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) CreateClientVpnRouteWithContext(ctx aws.Context, input *CreateClientVpnRouteInput, opts ...request.Option) (*CreateClientVpnRouteOutput, error) { + req, out := c.CreateClientVpnRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateCustomerGateway = "CreateCustomerGateway" // CreateCustomerGatewayRequest generates a "aws/request.Request" representing the @@ -3116,9 +3500,8 @@ func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (r // the exception of 7224, which is reserved in the us-east-1 region, and 9059, // which is reserved in the eu-west-1 region. // -// For more information about VPN customer gateways, see AWS Managed VPN Connections -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the -// Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // You cannot create more than one customer gateway with the same VPN type, // IP address, and BGP ASN parameter values. If you run an identical request @@ -3201,7 +3584,7 @@ func (c *EC2) CreateDefaultSubnetRequest(input *CreateDefaultSubnetInput) (req * // Creates a default subnet with a size /20 IPv4 CIDR block in the specified // Availability Zone in your default VPC. You can have only one default subnet // per Availability Zone. For more information, see Creating a Default Subnet -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html#create-default-subnet) +// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html#create-default-subnet) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3278,7 +3661,7 @@ func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *reques // // Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet // in each Availability Zone. For more information about the components of a -// default VPC, see Default VPC and Default Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html) +// default VPC, see Default VPC and Default Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html) // in the Amazon Virtual Private Cloud User Guide. You cannot specify the components // of the default VPC yourself. // @@ -3399,7 +3782,7 @@ func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *requ // only a DNS server that we provide (AmazonProvidedDNS). If you create a set // of options, and if your VPC has an internet gateway, make sure to set the // domain-name-servers option either to AmazonProvidedDNS or to a domain name -// server of your choice. For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) +// server of your choice. For more information, see DHCP Options Sets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3556,7 +3939,7 @@ func (c *EC2) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, // You can create a single EC2 Fleet that includes multiple launch specifications // that vary by instance type, AMI, Availability Zone, or subnet. // -// For more information, see Launching an EC2 Fleet (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html) +// For more information, see Launching an EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3636,7 +4019,7 @@ func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Re // // Flow log data for a monitored network interface is recorded as flow log records, // which are log events consisting of fields that describe the traffic flow. -// For more information, see Flow Log Records (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html#flow-log-records) +// For more information, see Flow Log Records (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html#flow-log-records) // in the Amazon Virtual Private Cloud User Guide. // // When publishing to CloudWatch Logs, flow log records are published to a log @@ -3645,7 +4028,7 @@ func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Re // interfaces are published to a single log file object that is stored in the // specified bucket. // -// For more information, see VPC Flow Logs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html) +// For more information, see VPC Flow Logs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3809,7 +4192,7 @@ func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, // mapping information for those volumes. When you launch an instance from this // new AMI, the instance automatically launches with those additional volumes. // -// For more information, see Creating Amazon EBS-Backed Linux AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html) +// For more information, see Creating Amazon EBS-Backed Linux AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3888,7 +4271,7 @@ func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInp // // For information about the supported operating systems, image formats, and // known limitations for the types of instances you can export, see Exporting -// an Instance as a VM Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html) +// an Instance as a VM Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html) // in the VM Import/Export User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3967,7 +4350,7 @@ func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (r // gateway, you attach it to a VPC using AttachInternetGateway. // // For more information about your VPC and internet gateway, see the Amazon -// Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/). +// Virtual Private Cloud User Guide (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4052,7 +4435,7 @@ func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Requ // create it. If you prefer, you can create your own key pair using a third-party // tool and upload it to any region using ImportKeyPair. // -// For more information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) +// For more information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4286,7 +4669,7 @@ func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *reques // the IP address range of the subnet. Internet-bound traffic from a private // subnet can be routed to the NAT gateway, therefore enabling instances in // the private subnet to connect to the internet. For more information, see -// NAT Gateways (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html) +// NAT Gateways (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4364,7 +4747,7 @@ func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *reques // Creates a network ACL in a VPC. Network ACLs provide an optional layer of // security (in addition to security groups) for the instances in your VPC. // -// For more information, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) +// For more information, see Network ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4455,7 +4838,7 @@ func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (r // After you add an entry, you can't modify it; you must either replace it, // or create an entry and delete the old one. // -// For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) +// For more information about network ACLs, see Network ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4533,7 +4916,7 @@ func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) // Creates a network interface in the specified subnet. // // For more information about network interfaces, see Elastic Network Interfaces -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the // Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4692,9 +5075,12 @@ func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req // // A cluster placement group is a logical grouping of instances within a single // Availability Zone that benefit from low network latency, high network throughput. -// A spread placement group places instances on distinct hardware. +// A spread placement group places instances on distinct hardware. A partition +// placement group places groups of instances in different partitions, where +// instances in one partition do not share the same hardware with instances +// in another partition. // -// For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) +// For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4774,9 +5160,8 @@ func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstanc // listing at a time. To get a list of your Standard Reserved Instances, you // can use the DescribeReservedInstances operation. // -// Only Standard Reserved Instances with a capacity reservation can be sold -// in the Reserved Instance Marketplace. Convertible Reserved Instances and -// Standard Reserved Instances with a regional benefit cannot be sold. +// Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. +// Convertible Reserved Instances cannot be sold. // // The Reserved Instance Marketplace matches sellers who want to resell Standard // Reserved Instance capacity that they no longer need with buyers who want @@ -4791,7 +5176,7 @@ func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstanc // for purchase. To view the details of your Standard Reserved Instance listing, // you can use the DescribeReservedInstancesListings operation. // -// For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) +// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4884,7 +5269,7 @@ func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, // route in the list covers a smaller number of IP addresses and is therefore // more specific, so we use that route to determine where to target the traffic. // -// For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// For more information about route tables, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4962,7 +5347,7 @@ func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *reques // Creates a route table for the specified VPC. After you create a route table, // you can add routes and associate the table with a subnet. // -// For more information, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// For more information, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5041,9 +5426,9 @@ func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req * // // A security group is for use with instances either in the EC2-Classic platform // or in a specific VPC. For more information, see Amazon EC2 Security Groups -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your -// VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) +// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) // in the Amazon Virtual Private Cloud User Guide. // // EC2-Classic: You can have up to 500 security groups. @@ -5163,11 +5548,11 @@ func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Re // protected. // // You can tag your snapshots during creation. For more information, see Tagging -// Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) +// Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud User Guide. // -// For more information, see Amazon Elastic Block Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) -// and Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) +// For more information, see Amazon Elastic Block Store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) +// and Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5244,7 +5629,7 @@ func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSub // // Creates a data feed for Spot Instances, enabling you to view Spot Instance // usage logs. You can create one data feed per AWS account. For more information, -// see Spot Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) +// see Spot Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5344,7 +5729,7 @@ func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Reques // It's therefore possible to have a subnet with no running instances (they're // all stopped), but no remaining IP addresses available. // -// For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) +// For more information about subnets, see Your VPC and Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5424,10 +5809,10 @@ func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, o // or resources. Each resource can have a maximum of 50 tags. Each tag consists // of a key and optional value. Tag keys must be unique per resource. // -// For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) +// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud User Guide. For more information about // creating IAM policies that control users' access to resources based on tags, -// see Supported Resource-Level Permissions for Amazon EC2 API Actions (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html) +// see Supported Resource-Level Permissions for Amazon EC2 API Actions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5826,7 +6211,7 @@ func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Reques // // Creates an EBS volume that can be attached to an instance in the same Availability // Zone. The volume is created in the regional endpoint that you send the HTTP -// request to. For more information see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html). +// request to. For more information see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html). // // You can create a new empty volume or restore a volume from an EBS snapshot. // Any AWS Marketplace product codes from the snapshot are propagated to the @@ -5835,14 +6220,14 @@ func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Reques // You can create encrypted volumes with the Encrypted parameter. Encrypted // volumes may only be attached to instances that support Amazon EBS encryption. // Volumes that are created from encrypted snapshots are also automatically -// encrypted. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) +// encrypted. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. // // You can tag your volumes during creation. For more information, see Tagging -// Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) +// Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud User Guide. // -// For more information, see Creating an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html) +// For more information, see Creating an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5920,7 +6305,7 @@ func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, out // Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can // create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 // netmask (65,536 IPv4 addresses). For more information about how large to -// make your VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) +// make your VPC, see Your VPC and Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) // in the Amazon Virtual Private Cloud User Guide. // // You can optionally request an Amazon-provided IPv6 CIDR block for the VPC. @@ -5929,12 +6314,12 @@ func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, out // // By default, each instance you launch in the VPC has the default DHCP options, // which include only a default DNS server that we provide (AmazonProvidedDNS). -// For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) +// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) // in the Amazon Virtual Private Cloud User Guide. // // You can specify the instance tenancy value for the VPC when you create it. // You can't change this value for the VPC after you create it. For more information, -// see Dedicated Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html) +// see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6012,7 +6397,7 @@ func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *requ // Creates a VPC endpoint for a specified service. An endpoint enables you to // create a private connection between your VPC and the service. The service // may be provided by AWS, an AWS Marketplace partner, or another AWS account. -// For more information, see VPC Endpoints (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html) +// For more information, see VPC Endpoints (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html) // in the Amazon Virtual Private Cloud User Guide. // // A gateway endpoint serves as a target for a route in your route table for @@ -6102,7 +6487,7 @@ func (c *EC2) CreateVpcEndpointConnectionNotificationRequest(input *CreateVpcEnd // Creates a connection notification for a specified VPC endpoint or VPC endpoint // service. A connection notification notifies you of specific endpoint events. // You must create an SNS topic to receive notifications. For more information, -// see Create a Topic (http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) +// see Create a Topic (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) // in the Amazon Simple Notification Service Developer Guide. // // You can create a connection notification for interface endpoints only. @@ -6185,7 +6570,7 @@ func (c *EC2) CreateVpcEndpointServiceConfigurationRequest(input *CreateVpcEndpo // // To create an endpoint service configuration, you must first create a Network // Load Balancer for your service. For more information, see VPC Endpoint Services -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html) +// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6267,7 +6652,7 @@ func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectio // CIDR blocks. // // Limitations and rules apply to a VPC peering connection. For more information, -// see the limitations (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-basics.html#vpc-peering-limitations) +// see the limitations (https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-basics.html#vpc-peering-limitations) // section in the VPC Peering Guide. // // The owner of the accepter VPC must accept the peering request to activate @@ -6366,8 +6751,8 @@ func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req * // This is an idempotent operation. If you perform the operation more than once, // Amazon EC2 doesn't return an error. // -// For more information, see AWS Managed VPN Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) -// in the Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6447,9 +6832,8 @@ func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInp // traffic to be routed from the virtual private gateway to the VPN customer // gateway. // -// For more information about VPN connections, see AWS Managed VPN Connections -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the -// Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6527,9 +6911,8 @@ func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *reques // on the VPC side of your VPN connection. You can create a virtual private // gateway before creating the VPC itself. // -// For more information about virtual private gateways, see AWS Managed VPN -// Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) -// in the Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6559,6 +6942,159 @@ func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatew return out, req.Send() } +const opDeleteClientVpnEndpoint = "DeleteClientVpnEndpoint" + +// DeleteClientVpnEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DeleteClientVpnEndpoint 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 DeleteClientVpnEndpoint for more information on using the DeleteClientVpnEndpoint +// 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 DeleteClientVpnEndpointRequest method. +// req, resp := client.DeleteClientVpnEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint +func (c *EC2) DeleteClientVpnEndpointRequest(input *DeleteClientVpnEndpointInput) (req *request.Request, output *DeleteClientVpnEndpointOutput) { + op := &request.Operation{ + Name: opDeleteClientVpnEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteClientVpnEndpointInput{} + } + + output = &DeleteClientVpnEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteClientVpnEndpoint API operation for Amazon Elastic Compute Cloud. +// +// Deletes the specified Client VPN endpoint. You must disassociate all target +// networks before you can delete a Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteClientVpnEndpoint for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint +func (c *EC2) DeleteClientVpnEndpoint(input *DeleteClientVpnEndpointInput) (*DeleteClientVpnEndpointOutput, error) { + req, out := c.DeleteClientVpnEndpointRequest(input) + return out, req.Send() +} + +// DeleteClientVpnEndpointWithContext is the same as DeleteClientVpnEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteClientVpnEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DeleteClientVpnEndpointWithContext(ctx aws.Context, input *DeleteClientVpnEndpointInput, opts ...request.Option) (*DeleteClientVpnEndpointOutput, error) { + req, out := c.DeleteClientVpnEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteClientVpnRoute = "DeleteClientVpnRoute" + +// DeleteClientVpnRouteRequest generates a "aws/request.Request" representing the +// client's request for the DeleteClientVpnRoute 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 DeleteClientVpnRoute for more information on using the DeleteClientVpnRoute +// 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 DeleteClientVpnRouteRequest method. +// req, resp := client.DeleteClientVpnRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute +func (c *EC2) DeleteClientVpnRouteRequest(input *DeleteClientVpnRouteInput) (req *request.Request, output *DeleteClientVpnRouteOutput) { + op := &request.Operation{ + Name: opDeleteClientVpnRoute, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteClientVpnRouteInput{} + } + + output = &DeleteClientVpnRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteClientVpnRoute API operation for Amazon Elastic Compute Cloud. +// +// Deletes a route from a Client VPN endpoint. You can only delete routes that +// you manually added using the CreateClientVpnRoute action. You cannot delete +// routes that were automatically added when associating a subnet. To remove +// routes that have been automatically added, disassociate the target subnet +// from the Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteClientVpnRoute for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute +func (c *EC2) DeleteClientVpnRoute(input *DeleteClientVpnRouteInput) (*DeleteClientVpnRouteOutput, error) { + req, out := c.DeleteClientVpnRouteRequest(input) + return out, req.Send() +} + +// DeleteClientVpnRouteWithContext is the same as DeleteClientVpnRoute with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteClientVpnRoute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DeleteClientVpnRouteWithContext(ctx aws.Context, input *DeleteClientVpnRouteInput, opts ...request.Option) (*DeleteClientVpnRouteOutput, error) { + req, out := c.DeleteClientVpnRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteCustomerGateway = "DeleteCustomerGateway" // DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the @@ -7746,7 +8282,7 @@ func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req // // Deletes the specified placement group. You must terminate all instances in // the placement group before you can delete the placement group. For more information, -// see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) +// see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -8066,7 +8602,7 @@ func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Re // a registered AMI. You must first de-register the AMI before you can delete // the snapshot. // -// For more information, see Deleting an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html) +// For more information, see Deleting an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -8296,7 +8832,7 @@ func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, o // Deletes the specified set of tags from the specified set of resources. // // To list the current tags, use DescribeTags. For more information about tags, -// see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) +// see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -8675,7 +9211,7 @@ func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Reques // // The volume can remain in the deleting state for several minutes. // -// For more information, see Deleting an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html) +// For more information, see Deleting an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -9634,7 +10170,7 @@ func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *requ // Describes one or more of your Elastic IP addresses. // // An Elastic IP address is for use in either the EC2-Classic platform or in -// a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) +// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -9802,7 +10338,7 @@ func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesI // there is an event impacting an Availability Zone, you can use this request // to view the state and any provided message for that Availability Zone. // -// For more information, see Regions and Availability Zones (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html) +// For more information, see Regions and Availability Zones (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -10141,6 +10677,377 @@ func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *De return out, req.Send() } +const opDescribeClientVpnAuthorizationRules = "DescribeClientVpnAuthorizationRules" + +// DescribeClientVpnAuthorizationRulesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClientVpnAuthorizationRules 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 DescribeClientVpnAuthorizationRules for more information on using the DescribeClientVpnAuthorizationRules +// 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 DescribeClientVpnAuthorizationRulesRequest method. +// req, resp := client.DescribeClientVpnAuthorizationRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules +func (c *EC2) DescribeClientVpnAuthorizationRulesRequest(input *DescribeClientVpnAuthorizationRulesInput) (req *request.Request, output *DescribeClientVpnAuthorizationRulesOutput) { + op := &request.Operation{ + Name: opDescribeClientVpnAuthorizationRules, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeClientVpnAuthorizationRulesInput{} + } + + output = &DescribeClientVpnAuthorizationRulesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClientVpnAuthorizationRules API operation for Amazon Elastic Compute Cloud. +// +// Describes the authorization rules for a specified Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeClientVpnAuthorizationRules for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules +func (c *EC2) DescribeClientVpnAuthorizationRules(input *DescribeClientVpnAuthorizationRulesInput) (*DescribeClientVpnAuthorizationRulesOutput, error) { + req, out := c.DescribeClientVpnAuthorizationRulesRequest(input) + return out, req.Send() +} + +// DescribeClientVpnAuthorizationRulesWithContext is the same as DescribeClientVpnAuthorizationRules with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClientVpnAuthorizationRules for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnAuthorizationRulesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, opts ...request.Option) (*DescribeClientVpnAuthorizationRulesOutput, error) { + req, out := c.DescribeClientVpnAuthorizationRulesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeClientVpnConnections = "DescribeClientVpnConnections" + +// DescribeClientVpnConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClientVpnConnections 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 DescribeClientVpnConnections for more information on using the DescribeClientVpnConnections +// 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 DescribeClientVpnConnectionsRequest method. +// req, resp := client.DescribeClientVpnConnectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections +func (c *EC2) DescribeClientVpnConnectionsRequest(input *DescribeClientVpnConnectionsInput) (req *request.Request, output *DescribeClientVpnConnectionsOutput) { + op := &request.Operation{ + Name: opDescribeClientVpnConnections, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeClientVpnConnectionsInput{} + } + + output = &DescribeClientVpnConnectionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClientVpnConnections API operation for Amazon Elastic Compute Cloud. +// +// Describes active client connections and connections that have been terminated +// within the last 60 minutes for the specified Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeClientVpnConnections for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections +func (c *EC2) DescribeClientVpnConnections(input *DescribeClientVpnConnectionsInput) (*DescribeClientVpnConnectionsOutput, error) { + req, out := c.DescribeClientVpnConnectionsRequest(input) + return out, req.Send() +} + +// DescribeClientVpnConnectionsWithContext is the same as DescribeClientVpnConnections with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClientVpnConnections for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnConnectionsWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, opts ...request.Option) (*DescribeClientVpnConnectionsOutput, error) { + req, out := c.DescribeClientVpnConnectionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeClientVpnEndpoints = "DescribeClientVpnEndpoints" + +// DescribeClientVpnEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClientVpnEndpoints 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 DescribeClientVpnEndpoints for more information on using the DescribeClientVpnEndpoints +// 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 DescribeClientVpnEndpointsRequest method. +// req, resp := client.DescribeClientVpnEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints +func (c *EC2) DescribeClientVpnEndpointsRequest(input *DescribeClientVpnEndpointsInput) (req *request.Request, output *DescribeClientVpnEndpointsOutput) { + op := &request.Operation{ + Name: opDescribeClientVpnEndpoints, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeClientVpnEndpointsInput{} + } + + output = &DescribeClientVpnEndpointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClientVpnEndpoints API operation for Amazon Elastic Compute Cloud. +// +// Describes one or more Client VPN endpoints in the 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 Elastic Compute Cloud's +// API operation DescribeClientVpnEndpoints for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints +func (c *EC2) DescribeClientVpnEndpoints(input *DescribeClientVpnEndpointsInput) (*DescribeClientVpnEndpointsOutput, error) { + req, out := c.DescribeClientVpnEndpointsRequest(input) + return out, req.Send() +} + +// DescribeClientVpnEndpointsWithContext is the same as DescribeClientVpnEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClientVpnEndpoints for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnEndpointsWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, opts ...request.Option) (*DescribeClientVpnEndpointsOutput, error) { + req, out := c.DescribeClientVpnEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeClientVpnRoutes = "DescribeClientVpnRoutes" + +// DescribeClientVpnRoutesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClientVpnRoutes 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 DescribeClientVpnRoutes for more information on using the DescribeClientVpnRoutes +// 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 DescribeClientVpnRoutesRequest method. +// req, resp := client.DescribeClientVpnRoutesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes +func (c *EC2) DescribeClientVpnRoutesRequest(input *DescribeClientVpnRoutesInput) (req *request.Request, output *DescribeClientVpnRoutesOutput) { + op := &request.Operation{ + Name: opDescribeClientVpnRoutes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeClientVpnRoutesInput{} + } + + output = &DescribeClientVpnRoutesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClientVpnRoutes API operation for Amazon Elastic Compute Cloud. +// +// Describes the routes for the specified Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeClientVpnRoutes for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes +func (c *EC2) DescribeClientVpnRoutes(input *DescribeClientVpnRoutesInput) (*DescribeClientVpnRoutesOutput, error) { + req, out := c.DescribeClientVpnRoutesRequest(input) + return out, req.Send() +} + +// DescribeClientVpnRoutesWithContext is the same as DescribeClientVpnRoutes with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClientVpnRoutes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnRoutesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, opts ...request.Option) (*DescribeClientVpnRoutesOutput, error) { + req, out := c.DescribeClientVpnRoutesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeClientVpnTargetNetworks = "DescribeClientVpnTargetNetworks" + +// DescribeClientVpnTargetNetworksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClientVpnTargetNetworks 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 DescribeClientVpnTargetNetworks for more information on using the DescribeClientVpnTargetNetworks +// 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 DescribeClientVpnTargetNetworksRequest method. +// req, resp := client.DescribeClientVpnTargetNetworksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks +func (c *EC2) DescribeClientVpnTargetNetworksRequest(input *DescribeClientVpnTargetNetworksInput) (req *request.Request, output *DescribeClientVpnTargetNetworksOutput) { + op := &request.Operation{ + Name: opDescribeClientVpnTargetNetworks, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeClientVpnTargetNetworksInput{} + } + + output = &DescribeClientVpnTargetNetworksOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClientVpnTargetNetworks API operation for Amazon Elastic Compute Cloud. +// +// Describes the target networks associated with the specified Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeClientVpnTargetNetworks for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks +func (c *EC2) DescribeClientVpnTargetNetworks(input *DescribeClientVpnTargetNetworksInput) (*DescribeClientVpnTargetNetworksOutput, error) { + req, out := c.DescribeClientVpnTargetNetworksRequest(input) + return out, req.Send() +} + +// DescribeClientVpnTargetNetworksWithContext is the same as DescribeClientVpnTargetNetworks with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClientVpnTargetNetworks for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnTargetNetworksWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, opts ...request.Option) (*DescribeClientVpnTargetNetworksOutput, error) { + req, out := c.DescribeClientVpnTargetNetworksRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeConversionTasks = "DescribeConversionTasks" // DescribeConversionTasksRequest generates a "aws/request.Request" representing the @@ -10186,10 +11093,10 @@ func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput // DescribeConversionTasks API operation for Amazon Elastic Compute Cloud. // // Describes one or more of your conversion tasks. For more information, see -// the VM Import/Export User Guide (http://docs.aws.amazon.com/vm-import/latest/userguide/). +// the VM Import/Export User Guide (https://docs.aws.amazon.com/vm-import/latest/userguide/). // // For information about the import manifest referenced by this API action, -// see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). +// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.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 @@ -10265,9 +11172,8 @@ func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInp // // Describes one or more of your VPN customer gateways. // -// For more information about VPN customer gateways, see AWS Managed VPN Connections -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the -// Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -10343,7 +11249,7 @@ func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req * // // Describes one or more of your DHCP options sets. // -// For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) +// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -10494,7 +11400,7 @@ func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req * // // Describes the Elastic Graphics accelerator associated with your instances. // For more information about Elastic Graphics, see Amazon Elastic Graphics -// (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html). +// (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.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 @@ -11093,11 +11999,11 @@ func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReserva // Describes the Dedicated Host reservations that are available to purchase. // // The results describe all the Dedicated Host reservation offerings, including -// offerings that may not match the instance family and region of your Dedicated +// offerings that may not match the instance family and Region of your Dedicated // Hosts. When purchasing an offering, ensure that the instance family and Region // of the offering matches that of the Dedicated Hosts with which it is to be // associated. For more information about supported instance types, see Dedicated -// Hosts Overview (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html) +// Hosts Overview (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -11248,7 +12154,7 @@ func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Requ // // Describes one or more of your Dedicated Hosts. // -// The results describe only the Dedicated Hosts in the region you're currently +// The results describe only the Dedicated Hosts in the Region you're currently // using. All listed instances consume capacity on your Dedicated Host. Dedicated // Hosts that have recently been released are listed with the state released. // @@ -11494,7 +12400,7 @@ func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInp // IAM role, or root user. For example, you can view the resource types that // are enabled for longer IDs. This request only returns information about resource // types whose ID formats can be modified; it does not return information about -// other resource types. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) +// other resource types. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) // in the Amazon Elastic Compute Cloud User Guide. // // The following resource types support longer IDs: bundle | conversion-task @@ -11984,7 +12890,7 @@ func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanc // all, the call fails. If you specify only instance IDs in an unaffected zone, // the call works normally. // -// For more information, see Burstable Performance Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) +// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -12073,19 +12979,19 @@ func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) // // * Status checks - Amazon EC2 performs status checks on running EC2 instances // to identify hardware and software issues. For more information, see Status -// Checks for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html) -// and Troubleshooting Instances with Failed Status Checks (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html) +// Checks for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html) +// and Troubleshooting Instances with Failed Status Checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html) // in the Amazon Elastic Compute Cloud User Guide. // // * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, // or terminate) for your instances related to hardware issues, software // updates, or system maintenance. For more information, see Scheduled Events -// for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html) +// for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html) // in the Amazon Elastic Compute Cloud User Guide. // // * Instance state - You can manage your instances from the moment you launch // them through their termination. For more information, see Instance Lifecycle -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -12431,7 +13337,7 @@ func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *reques // // Describes one or more of your key pairs. // -// For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) +// For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -12863,7 +13769,7 @@ func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req * // // Describes one or more of your network ACLs. // -// For more information, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) +// For more information, see Network ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -13218,7 +14124,7 @@ func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput // DescribePlacementGroups API operation for Amazon Elastic Compute Cloud. // // Describes one or more of your placement groups. For more information, see -// Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) +// Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -13537,7 +14443,7 @@ func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request. // Describes one or more regions that are currently available to you. // // For a list of the regions supported by Amazon EC2, see Regions and Endpoints -// (http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region). +// (https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -13613,7 +14519,7 @@ func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesI // // Describes one or more of the Reserved Instances that you purchased. // -// For more information about Reserved Instances, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html) +// For more information about Reserved Instances, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -13708,7 +14614,7 @@ func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedIn // demand is met. You are charged based on the total price of all of the listings // that you purchase. // -// For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) +// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -13794,7 +14700,7 @@ func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReser // requests is returned. If a modification ID is specified, only information // about the specific modification is returned. // -// For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) +// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -13935,7 +14841,7 @@ func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedI // Marketplace, they will be excluded from these results. This is to ensure // that you do not purchase your own Reserved Instances. // -// For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) +// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -14073,7 +14979,7 @@ func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req * // with the main route table. This command does not return the subnet ID for // implicit associations. // -// For more information, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// For more information, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -14439,9 +15345,9 @@ func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) // // A security group is for use with instances either in the EC2-Classic platform // or in a specific VPC. For more information, see Amazon EC2 Security Groups -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your -// VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) +// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -14569,7 +15475,7 @@ func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeI // Describes the specified attribute of the specified snapshot. You can specify // only one attribute at a time. // -// For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html) +// For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -14651,9 +15557,9 @@ func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *requ // DescribeSnapshots API operation for Amazon Elastic Compute Cloud. // // Describes one or more of the EBS snapshots available to you. Available snapshots -// include public snapshots available for any AWS account to launch, private -// snapshots that you own, and private snapshots owned by another AWS account -// but for which you've been given explicit create volume permissions. +// include public snapshots available for use by any AWS account, private snapshots +// that you own, and private snapshots owned by another AWS account for which +// you've been given explicit create volume permissions. // // The create volume permissions fall into the following categories: // @@ -14694,7 +15600,7 @@ func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *requ // a NextToken value that can be passed to a subsequent DescribeSnapshots request // to retrieve the remaining results. // -// For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html) +// For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -14820,7 +15726,7 @@ func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafee // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud. // // Describes the data feed for Spot Instances. For more information, see Spot -// Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) +// Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -15189,6 +16095,13 @@ func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceReq // instance. Alternatively, you can use DescribeInstances with a filter to look // for instances where the instance lifecycle is spot. // +// We recommend that you set MaxResults to a value between 5 and 1000 to limit +// the number of results returned. This paginates the output, which makes the +// list more manageable and returns the results faster. If the list of results +// exceeds your MaxResults value, then that number of results is returned along +// with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests +// request to retrieve the remaining results. +// // Spot Instance requests are deleted four hours after they are canceled and // their instances are terminated. // @@ -15271,7 +16184,7 @@ func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInp // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud. // // Describes the Spot price history. For more information, see Spot Instance -// Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html) +// Pricing History (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html) // in the Amazon EC2 User Guide for Linux Instances. // // When you specify a start and end time, this operation returns the prices @@ -15480,7 +16393,7 @@ func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request. // // Describes one or more of your subnets. // -// For more information, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) +// For more information, see Your VPC and Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -15563,7 +16476,7 @@ func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Reques // // Describes one or more of the tags for your EC2 resources. // -// For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) +// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -15993,7 +16906,7 @@ func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput // Describes the specified attribute of the specified volume. You can specify // only one attribute at a time. // -// For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html) +// For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -16092,7 +17005,7 @@ func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req // If the status is insufficient-data, then the checks may still be taking place // on your volume at the time. We recommend that you retry the request. For // more information about volume status, see Monitoring the Status of Your Volumes -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html) // in the Amazon Elastic Compute Cloud User Guide. // // Events: Reflect the cause of a volume status and may require you to take @@ -16248,7 +17161,7 @@ func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request. // a NextToken value that can be passed to a subsequent DescribeVolumes request // to retrieve the remaining results. // -// For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html) +// For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -16384,8 +17297,8 @@ func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModifica // // You can also use CloudWatch Events to check the status of a modification // to an EBS volume. For information about CloudWatch Events, see the Amazon -// CloudWatch Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/). -// For more information, see Monitoring Volume Modifications" (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods) +// CloudWatch Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/). +// For more information, see Monitoring Volume Modifications" (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -16614,7 +17527,7 @@ func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicL // IP address when addressed from an instance in the VPC to which it's linked. // Similarly, the DNS hostname of an instance in a VPC resolves to its private // IP address when addressed from a linked EC2-Classic instance. For more information, -// see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) +// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -17286,9 +18199,8 @@ func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) // // Describes one or more of your VPN connections. // -// For more information about VPN connections, see AWS Managed VPN Connections -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the -// Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -17364,9 +18276,8 @@ func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req * // // Describes one or more of your virtual private gateways. // -// For more information about virtual private gateways, see AWS Managed VPN -// Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) -// in the Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -17680,7 +18591,7 @@ func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Reques // When a volume with an AWS Marketplace product code is detached from an instance, // the product code is no longer associated with the instance. // -// For more information, see Detaching an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html) +// For more information, see Detaching an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -18066,7 +18977,7 @@ func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLin // Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve // to public IP addresses when addressed between a linked EC2-Classic instance // and instances in the VPC to which it's linked. For more information, see -// ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) +// ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -18146,7 +19057,7 @@ func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req * // it's associated with. // // An Elastic IP address is for use in either the EC2-Classic platform or in -// a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) +// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud User Guide. // // This is an idempotent operation. If you perform the operation more than once, @@ -18180,6 +19091,90 @@ func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *Disassociat return out, req.Send() } +const opDisassociateClientVpnTargetNetwork = "DisassociateClientVpnTargetNetwork" + +// DisassociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateClientVpnTargetNetwork 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 DisassociateClientVpnTargetNetwork for more information on using the DisassociateClientVpnTargetNetwork +// 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 DisassociateClientVpnTargetNetworkRequest method. +// req, resp := client.DisassociateClientVpnTargetNetworkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork +func (c *EC2) DisassociateClientVpnTargetNetworkRequest(input *DisassociateClientVpnTargetNetworkInput) (req *request.Request, output *DisassociateClientVpnTargetNetworkOutput) { + op := &request.Operation{ + Name: opDisassociateClientVpnTargetNetwork, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateClientVpnTargetNetworkInput{} + } + + output = &DisassociateClientVpnTargetNetworkOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud. +// +// Disassociates a target network from the specified Client VPN endpoint. When +// you disassociate the last target network from a Client VPN, the following +// happens: +// +// * The route that was automatically added for the VPC is deleted +// +// * All active client connections are terminated +// +// * New client connections are disallowed +// +// * The Client VPN endpoint's status changes to pending-associate +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisassociateClientVpnTargetNetwork for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork +func (c *EC2) DisassociateClientVpnTargetNetwork(input *DisassociateClientVpnTargetNetworkInput) (*DisassociateClientVpnTargetNetworkOutput, error) { + req, out := c.DisassociateClientVpnTargetNetworkRequest(input) + return out, req.Send() +} + +// DisassociateClientVpnTargetNetworkWithContext is the same as DisassociateClientVpnTargetNetwork with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateClientVpnTargetNetwork for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DisassociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *DisassociateClientVpnTargetNetworkInput, opts ...request.Option) (*DisassociateClientVpnTargetNetworkOutput, error) { + req, out := c.DisassociateClientVpnTargetNetworkRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile" // DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the @@ -18305,7 +19300,7 @@ func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) // // After you perform this action, the subnet no longer uses the routes in the // route table. Instead, it uses the routes in the VPC's main route table. For -// more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// more information about route tables, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -18842,7 +19837,7 @@ func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req // You cannot enable your VPC for ClassicLink if any of your VPC route tables // have existing routes for address ranges within the 10.0.0.0/8 IP address // range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 -// IP address ranges. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) +// IP address ranges. For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -18922,7 +19917,7 @@ func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkD // IP address when addressed from an instance in the VPC to which it's linked. // Similarly, the DNS hostname of an instance in a VPC resolves to its private // IP address when addressed from a linked EC2-Classic instance. For more information, -// see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) +// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -18953,6 +19948,158 @@ func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input * return out, req.Send() } +const opExportClientVpnClientCertificateRevocationList = "ExportClientVpnClientCertificateRevocationList" + +// ExportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the +// client's request for the ExportClientVpnClientCertificateRevocationList 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 ExportClientVpnClientCertificateRevocationList for more information on using the ExportClientVpnClientCertificateRevocationList +// 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 ExportClientVpnClientCertificateRevocationListRequest method. +// req, resp := client.ExportClientVpnClientCertificateRevocationListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList +func (c *EC2) ExportClientVpnClientCertificateRevocationListRequest(input *ExportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ExportClientVpnClientCertificateRevocationListOutput) { + op := &request.Operation{ + Name: opExportClientVpnClientCertificateRevocationList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ExportClientVpnClientCertificateRevocationListInput{} + } + + output = &ExportClientVpnClientCertificateRevocationListOutput{} + req = c.newRequest(op, input, output) + return +} + +// ExportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud. +// +// Downloads the client certificate revocation list for the specified Client +// VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ExportClientVpnClientCertificateRevocationList for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList +func (c *EC2) ExportClientVpnClientCertificateRevocationList(input *ExportClientVpnClientCertificateRevocationListInput) (*ExportClientVpnClientCertificateRevocationListOutput, error) { + req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input) + return out, req.Send() +} + +// ExportClientVpnClientCertificateRevocationListWithContext is the same as ExportClientVpnClientCertificateRevocationList with the addition of +// the ability to pass a context and additional request options. +// +// See ExportClientVpnClientCertificateRevocationList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ExportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ExportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ExportClientVpnClientCertificateRevocationListOutput, error) { + req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opExportClientVpnClientConfiguration = "ExportClientVpnClientConfiguration" + +// ExportClientVpnClientConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the ExportClientVpnClientConfiguration 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 ExportClientVpnClientConfiguration for more information on using the ExportClientVpnClientConfiguration +// 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 ExportClientVpnClientConfigurationRequest method. +// req, resp := client.ExportClientVpnClientConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration +func (c *EC2) ExportClientVpnClientConfigurationRequest(input *ExportClientVpnClientConfigurationInput) (req *request.Request, output *ExportClientVpnClientConfigurationOutput) { + op := &request.Operation{ + Name: opExportClientVpnClientConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ExportClientVpnClientConfigurationInput{} + } + + output = &ExportClientVpnClientConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// ExportClientVpnClientConfiguration API operation for Amazon Elastic Compute Cloud. +// +// Downloads the contents of the Client VPN endpoint configuration file for +// the specified Client VPN endpoint. The Client VPN endpoint configuration +// file includes the Client VPN endpoint and certificate information clients +// need to establish a connection with the Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ExportClientVpnClientConfiguration for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration +func (c *EC2) ExportClientVpnClientConfiguration(input *ExportClientVpnClientConfigurationInput) (*ExportClientVpnClientConfigurationOutput, error) { + req, out := c.ExportClientVpnClientConfigurationRequest(input) + return out, req.Send() +} + +// ExportClientVpnClientConfigurationWithContext is the same as ExportClientVpnClientConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See ExportClientVpnClientConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ExportClientVpnClientConfigurationWithContext(ctx aws.Context, input *ExportClientVpnClientConfigurationInput, opts ...request.Option) (*ExportClientVpnClientConfigurationOutput, error) { + req, out := c.ExportClientVpnClientConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opExportTransitGatewayRoutes = "ExportTransitGatewayRoutes" // ExportTransitGatewayRoutesRequest generates a "aws/request.Request" representing the @@ -19088,7 +20235,7 @@ func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *reques // during the instance lifecycle. This option is supported on instance types // that use the Nitro hypervisor. // -// For more information, see Instance Console Output (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output) +// For more information, see Instance Console Output (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -19397,8 +20544,8 @@ func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request. // // The Windows password is generated at boot by the EC2Config service or EC2Launch // scripts (Windows Server 2016 and later). This usually only happens the first -// time an instance is launched. For more information, see EC2Config (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html) -// and EC2Launch (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html) +// time an instance is launched. For more information, see EC2Config (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html) +// and EC2Launch (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html) // in the Amazon Elastic Compute Cloud User Guide. // // For the EC2Config service, the password is not generated for rebundled AMIs @@ -19742,6 +20889,84 @@ func (c *EC2) GetTransitGatewayRouteTablePropagationsWithContext(ctx aws.Context return out, req.Send() } +const opImportClientVpnClientCertificateRevocationList = "ImportClientVpnClientCertificateRevocationList" + +// ImportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the +// client's request for the ImportClientVpnClientCertificateRevocationList 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 ImportClientVpnClientCertificateRevocationList for more information on using the ImportClientVpnClientCertificateRevocationList +// 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 ImportClientVpnClientCertificateRevocationListRequest method. +// req, resp := client.ImportClientVpnClientCertificateRevocationListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList +func (c *EC2) ImportClientVpnClientCertificateRevocationListRequest(input *ImportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ImportClientVpnClientCertificateRevocationListOutput) { + op := &request.Operation{ + Name: opImportClientVpnClientCertificateRevocationList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ImportClientVpnClientCertificateRevocationListInput{} + } + + output = &ImportClientVpnClientCertificateRevocationListOutput{} + req = c.newRequest(op, input, output) + return +} + +// ImportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud. +// +// Uploads a client certificate revocation list to the specified Client VPN +// endpoint. Uploading a client certificate revocation list overwrites the existing +// client certificate revocation list. +// +// Uploading a client certificate revocation list resets existing client 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 Elastic Compute Cloud's +// API operation ImportClientVpnClientCertificateRevocationList for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList +func (c *EC2) ImportClientVpnClientCertificateRevocationList(input *ImportClientVpnClientCertificateRevocationListInput) (*ImportClientVpnClientCertificateRevocationListOutput, error) { + req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input) + return out, req.Send() +} + +// ImportClientVpnClientCertificateRevocationListWithContext is the same as ImportClientVpnClientCertificateRevocationList with the addition of +// the ability to pass a context and additional request options. +// +// See ImportClientVpnClientCertificateRevocationList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ImportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ImportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ImportClientVpnClientCertificateRevocationListOutput, error) { + req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opImportImage = "ImportImage" // ImportImageRequest generates a "aws/request.Request" representing the @@ -19788,7 +21013,7 @@ func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, // // Import single or multi-volume disk images or EBS snapshots into an Amazon // Machine Image (AMI). For more information, see Importing a VM as an Image -// Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html) +// Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html) // in the VM Import/Export User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -19866,10 +21091,10 @@ func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Re // Creates an import instance task using metadata from the specified disk image. // ImportInstance only supports single-volume VMs. To import multi-volume VMs, // use ImportImage. For more information, see Importing a Virtual Machine Using -// the Amazon EC2 CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html). +// the Amazon EC2 CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html). // // For information about the import manifest referenced by this API action, -// see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). +// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.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 @@ -19949,7 +21174,7 @@ func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Requ // you create the key pair and give AWS just the public key. The private key // is never transferred between you and AWS. // -// For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) +// For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -20099,10 +21324,10 @@ func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Reques // ImportVolume API operation for Amazon Elastic Compute Cloud. // // Creates an import volume task using metadata from the specified disk image.For -// more information, see Importing Disks to Amazon EBS (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html). +// more information, see Importing Disks to Amazon EBS (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html). // // For information about the import manifest referenced by this API action, -// see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). +// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.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 @@ -20211,6 +21436,83 @@ func (c *EC2) ModifyCapacityReservationWithContext(ctx aws.Context, input *Modif return out, req.Send() } +const opModifyClientVpnEndpoint = "ModifyClientVpnEndpoint" + +// ModifyClientVpnEndpointRequest generates a "aws/request.Request" representing the +// client's request for the ModifyClientVpnEndpoint 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 ModifyClientVpnEndpoint for more information on using the ModifyClientVpnEndpoint +// 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 ModifyClientVpnEndpointRequest method. +// req, resp := client.ModifyClientVpnEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint +func (c *EC2) ModifyClientVpnEndpointRequest(input *ModifyClientVpnEndpointInput) (req *request.Request, output *ModifyClientVpnEndpointOutput) { + op := &request.Operation{ + Name: opModifyClientVpnEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyClientVpnEndpointInput{} + } + + output = &ModifyClientVpnEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyClientVpnEndpoint API operation for Amazon Elastic Compute Cloud. +// +// Modifies the specified Client VPN endpoint. You can only modify an endpoint's +// server certificate information, client connection logging information, DNS +// server, and description. Modifying the DNS server resets existing client +// 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 Elastic Compute Cloud's +// API operation ModifyClientVpnEndpoint for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint +func (c *EC2) ModifyClientVpnEndpoint(input *ModifyClientVpnEndpointInput) (*ModifyClientVpnEndpointOutput, error) { + req, out := c.ModifyClientVpnEndpointRequest(input) + return out, req.Send() +} + +// ModifyClientVpnEndpointWithContext is the same as ModifyClientVpnEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyClientVpnEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyClientVpnEndpointWithContext(ctx aws.Context, input *ModifyClientVpnEndpointInput, opts ...request.Option) (*ModifyClientVpnEndpointOutput, error) { + req, out := c.ModifyClientVpnEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyFleet = "ModifyFleet" // ModifyFleetRequest generates a "aws/request.Request" representing the @@ -20503,7 +21805,7 @@ func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Re // to the entire AWS account. By default, an IAM user defaults to the same settings // as the root user. If you're using this action as the root user, then these // settings apply to the entire account, unless an IAM user explicitly overrides -// these settings for themselves. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) +// these settings for themselves. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) // in the Amazon Elastic Compute Cloud User Guide. // // Resources created with longer IDs are visible to all IAM roles and users, @@ -20597,7 +21899,7 @@ func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) // | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway. // -// For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) +// For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) // in the Amazon Elastic Compute Cloud User Guide. // // This setting applies to the principal specified in the request; it does not @@ -20774,7 +22076,7 @@ func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput // we recommend that you use the ModifyNetworkInterfaceAttribute action. // // To modify some attributes, the instance must be stopped. For more information, -// see Modifying Attributes of a Stopped Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html) +// see Modifying Attributes of a Stopped Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -20929,7 +22231,7 @@ func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCred // Modifies the credit option for CPU usage on a running or stopped T2 or T3 // instance. The credit options are standard and unlimited. // -// For more information, see Burstable Performance Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) +// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -20960,6 +22262,80 @@ func (c *EC2) ModifyInstanceCreditSpecificationWithContext(ctx aws.Context, inpu return out, req.Send() } +const opModifyInstanceEventStartTime = "ModifyInstanceEventStartTime" + +// ModifyInstanceEventStartTimeRequest generates a "aws/request.Request" representing the +// client's request for the ModifyInstanceEventStartTime 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 ModifyInstanceEventStartTime for more information on using the ModifyInstanceEventStartTime +// 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 ModifyInstanceEventStartTimeRequest method. +// req, resp := client.ModifyInstanceEventStartTimeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime +func (c *EC2) ModifyInstanceEventStartTimeRequest(input *ModifyInstanceEventStartTimeInput) (req *request.Request, output *ModifyInstanceEventStartTimeOutput) { + op := &request.Operation{ + Name: opModifyInstanceEventStartTime, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyInstanceEventStartTimeInput{} + } + + output = &ModifyInstanceEventStartTimeOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyInstanceEventStartTime API operation for Amazon Elastic Compute Cloud. +// +// Modifies the start time for a scheduled Amazon EC2 instance event. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyInstanceEventStartTime for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime +func (c *EC2) ModifyInstanceEventStartTime(input *ModifyInstanceEventStartTimeInput) (*ModifyInstanceEventStartTimeOutput, error) { + req, out := c.ModifyInstanceEventStartTimeRequest(input) + return out, req.Send() +} + +// ModifyInstanceEventStartTimeWithContext is the same as ModifyInstanceEventStartTime with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyInstanceEventStartTime for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyInstanceEventStartTimeWithContext(ctx aws.Context, input *ModifyInstanceEventStartTimeInput, opts ...request.Option) (*ModifyInstanceEventStartTimeOutput, error) { + req, out := c.ModifyInstanceEventStartTimeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyInstancePlacement = "ModifyInstancePlacement" // ModifyInstancePlacementRequest generates a "aws/request.Request" representing the @@ -21007,7 +22383,7 @@ func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput // Modifies the placement attributes for a specified instance. You can do the // following: // -// * Modify the affinity between an instance and a Dedicated Host (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html). +// * Modify the affinity between an instance and a Dedicated Host (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html). // When affinity is set to host and the instance is not associated with a // specific Dedicated Host, the next time the instance is launched, it is // automatically associated with the host on which it lands. If the instance @@ -21018,14 +22394,14 @@ func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput // * Change the instance tenancy of an instance from host to dedicated, or // from dedicated to host. // -// * Move an instance to or from a placement group (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html). +// * Move an instance to or from a placement group (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html). // // At least one attribute for affinity, host ID, tenancy, or placement group // name must be specified in the request. Affinity and tenancy can be modified // in the same request. // -// To modify the host ID, tenancy, or placement group for an instance, the instance -// must be in the stopped state. +// To modify the host ID, tenancy, placement group, or partition for an instance, +// the instance must be in the stopped state. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -21256,7 +22632,7 @@ func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput // Instances to be modified must be identical, except for Availability Zone, // network platform, and instance type. // -// For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) +// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -21343,7 +22719,7 @@ func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput // with other accounts. // // For more information about modifying snapshot permissions, see Sharing Snapshots -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -21668,29 +23044,29 @@ func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Reques // current-generation EC2 instance type, you may be able to apply these changes // without stopping the instance or detaching the volume from it. For more information // about modifying an EBS volume running Linux, see Modifying the Size, IOPS, -// or Type of an EBS Volume on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html). +// or Type of an EBS Volume on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html). // For more information about modifying an EBS volume running Windows, see Modifying -// the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html). +// the Size, IOPS, or Type of an EBS Volume on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html). // // When you complete a resize operation on your volume, you need to extend the // volume's file-system size to take advantage of the new storage capacity. // For information about extending a Linux file system, see Extending a Linux -// File System (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux). +// File System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux). // For information about extending a Windows file system, see Extending a Windows -// File System (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows). +// File System (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows). // // You can use CloudWatch Events to check the status of a modification to an // EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch -// Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/). +// Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/). // You can also track the status of a modification using the DescribeVolumesModifications // API. For information about tracking status changes using either method, see -// Monitoring Volume Modifications (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods). +// Monitoring Volume Modifications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods). // // With previous-generation instance types, resizing an EBS volume may require // detaching and reattaching the volume or stopping and restarting the instance. // For more information, see Modifying the Size, IOPS, or Type of an EBS Volume -// on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html) -// and Modifying the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html). +// on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html) +// and Modifying the Size, IOPS, or Type of an EBS Volume on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html). // // If you reach the maximum volume modification rate per volume limit, you will // need to wait at least six hours before applying further modifications to @@ -21929,7 +23305,7 @@ func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *requ // // Modifies attributes of a specified VPC endpoint. The attributes that you // can modify depend on the type of VPC endpoint (interface or gateway). For -// more information, see VPC Endpoints (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html) +// more information, see VPC Endpoints (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -22157,7 +23533,7 @@ func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpoin // ModifyVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud. // -// Modifies the permissions for your VPC endpoint service (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html). +// Modifies the permissions for your VPC endpoint service (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html). // You can add or remove permissions for service consumers (IAM users, IAM roles, // and AWS accounts) to connect to your endpoint service. // @@ -22343,7 +23719,7 @@ func (c *EC2) ModifyVpcTenancyRequest(input *ModifyVpcTenancyInput) (req *reques // into the VPC have a tenancy of default, unless you specify otherwise during // launch. The tenancy of any existing instances in the VPC is not affected. // -// For more information, see Dedicated Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html) +// For more information, see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -22420,7 +23796,7 @@ func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *reques // // Enables detailed monitoring for a running instance. Otherwise, basic monitoring // is enabled. For more information, see Monitoring Your Instances and Volumes -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) // in the Amazon Elastic Compute Cloud User Guide. // // To disable detailed monitoring, see . @@ -22585,7 +23961,7 @@ func (c *EC2) ProvisionByoipCidrRequest(input *ProvisionByoipCidrInput) (req *re // it. You must ensure that the address range is registered to you and that // you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise // the address range. For more information, see Bring Your Own IP Addresses -// (BYOIP) (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) +// (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) // in the Amazon Elastic Compute Cloud User Guide. // // Provisioning an address range is an asynchronous operation, so the call returns @@ -22751,8 +24127,8 @@ func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedIn // offerings that match your specifications. After you've purchased a Reserved // Instance, you can check for your new Reserved Instance with DescribeReservedInstances. // -// For more information, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html) -// and Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) +// For more information, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html) +// and Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -22920,7 +24296,7 @@ func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request. // performs a hard reboot. // // For more information about troubleshooting, see Getting Console Output and -// Rebooting Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html) +// Rebooting Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -22997,7 +24373,7 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ // // Registers an AMI. When you're creating an AMI, this is the final step you // must complete before you can launch an instance from the AMI. For more information -// about creating AMIs, see Creating Your Own AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html) +// about creating AMIs, see Creating Your Own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html) // in the Amazon Elastic Compute Cloud User Guide. // // For Amazon EBS-backed instances, CreateImage creates and registers the AMI @@ -23006,7 +24382,7 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from // a snapshot of a root device volume. You specify the snapshot using the block // device mapping. For more information, see Launching a Linux Instance from -// a Backup (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html) +// a Backup (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html) // in the Amazon Elastic Compute Cloud User Guide. // // You can't register an image where a secondary (non-root) snapshot has AWS @@ -23588,7 +24964,7 @@ func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssoci // // Changes which network ACL a subnet is associated with. By default when you // create a subnet, it's automatically associated with the default network ACL. -// For more information, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) +// For more information, see Network ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud User Guide. // // This is an idempotent operation. @@ -23667,7 +25043,7 @@ func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) // ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud. // // Replaces an entry (rule) in a network ACL. For more information, see Network -// ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) +// ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -23748,7 +25124,7 @@ func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Reques // instance, NAT gateway, VPC peering connection, network interface, or egress-only // internet gateway. // -// For more information, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// For more information, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -23826,7 +25202,7 @@ func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssoci // Changes the route table associated with a given subnet in a VPC. After the // operation completes, the subnet uses the routes in the new route table it's // associated with. For more information about route tables, see Route Tables -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // You can also use ReplaceRouteTableAssociation to change which table is the @@ -24083,7 +25459,7 @@ func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *reques // types in a Spot Fleet request because only the instance resource type is // supported. // -// For more information, see Spot Fleet Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html) +// For more information, see Spot Fleet Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -24160,7 +25536,7 @@ func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req // // Creates a Spot Instance request. // -// For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) +// For more information, see Spot Instance Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -24395,7 +25771,7 @@ func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) // The sourceDestCheck attribute controls whether source/destination checking // is enabled. The default value is true, which means checking is enabled. This // value must be false for a NAT instance to perform NAT. For more information, -// see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) +// see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -24550,7 +25926,7 @@ func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) // Resets permission settings for the specified snapshot. // // For more information about modifying snapshot permissions, see Sharing Snapshots -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -24658,6 +26034,80 @@ func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *Restore return out, req.Send() } +const opRevokeClientVpnIngress = "RevokeClientVpnIngress" + +// RevokeClientVpnIngressRequest generates a "aws/request.Request" representing the +// client's request for the RevokeClientVpnIngress 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 RevokeClientVpnIngress for more information on using the RevokeClientVpnIngress +// 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 RevokeClientVpnIngressRequest method. +// req, resp := client.RevokeClientVpnIngressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress +func (c *EC2) RevokeClientVpnIngressRequest(input *RevokeClientVpnIngressInput) (req *request.Request, output *RevokeClientVpnIngressOutput) { + op := &request.Operation{ + Name: opRevokeClientVpnIngress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RevokeClientVpnIngressInput{} + } + + output = &RevokeClientVpnIngressOutput{} + req = c.newRequest(op, input, output) + return +} + +// RevokeClientVpnIngress API operation for Amazon Elastic Compute Cloud. +// +// Removes an ingress authorization rule from a Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RevokeClientVpnIngress for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress +func (c *EC2) RevokeClientVpnIngress(input *RevokeClientVpnIngressInput) (*RevokeClientVpnIngressOutput, error) { + req, out := c.RevokeClientVpnIngressRequest(input) + return out, req.Send() +} + +// RevokeClientVpnIngressWithContext is the same as RevokeClientVpnIngress with the addition of +// the ability to pass a context and additional request options. +// +// See RevokeClientVpnIngress for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) RevokeClientVpnIngressWithContext(ctx aws.Context, input *RevokeClientVpnIngressInput, opts ...request.Option) (*RevokeClientVpnIngressOutput, error) { + req, out := c.RevokeClientVpnIngressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress" // RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the @@ -24894,22 +26344,22 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques // // * Some instance types must be launched into a VPC. If you do not have // a default VPC, or if you do not specify a subnet ID, the request fails. -// For more information, see Instance Types Available Only in a VPC (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types). +// For more information, see Instance Types Available Only in a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types). // // * [EC2-VPC] All instances have a network interface with a primary private // IPv4 address. If you don't specify this address, we choose one from the // IPv4 range of your subnet. // // * Not all instance types support IPv6 addresses. For more information, -// see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). +// see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). // // * If you don't specify a security group ID, we use the default security -// group. For more information, see Security Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html). +// group. For more information, see Security Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html). // // * If any of the AMIs have a product code attached for which the user has // not subscribed, the request fails. // -// You can create a launch template (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html), +// You can create a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html), // which is a resource that contains the parameters to launch an instance. When // you launch an instance using RunInstances, you can specify the launch template // instead of specifying the launch parameters. @@ -24921,17 +26371,17 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques // An instance is ready for you to use when it's in the running state. You can // check the state of your instance using DescribeInstances. You can tag instances // and EBS volumes during launch, after launch, or both. For more information, -// see CreateTags and Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html). +// see CreateTags and Tagging Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html). // // Linux instances have access to the public key of the key pair at boot. You // can use this key to provide secure access to the instance. Amazon EC2 public // images use this feature to provide secure access without passwords. For more -// information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) +// information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) // in the Amazon Elastic Compute Cloud User Guide. // // For troubleshooting, see What To Do If An Instance Immediately Terminates -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html), -// and Troubleshooting Connecting to Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html), +// and Troubleshooting Connecting to Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -25015,7 +26465,7 @@ func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (r // can't stop or reboot a Scheduled Instance, but you can terminate it as needed. // If you terminate a Scheduled Instance before the current scheduled time period // ends, you can launch it again after a few minutes. For more information, -// see Scheduled Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html) +// see Scheduled Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -25185,7 +26635,7 @@ func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Re // Performing this operation on an instance that uses an instance store as its // root device returns an error. // -// For more information, see Stopping Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html) +// For more information, see Stopping Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -25263,9 +26713,9 @@ func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Requ // Stops an Amazon EBS-backed instance. // // You can use the Stop action to hibernate an instance if the instance is enabled -// for hibernation (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation) -// and it meets the hibernation prerequisites (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). -// For more information, see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) +// for hibernation (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation) +// and it meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). +// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. // // We don't charge usage for a stopped instance, or data transfer fees; however, @@ -25280,7 +26730,7 @@ func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Requ // // You can't start, stop, or hibernate Spot Instances, and you can't stop or // hibernate instance store-backed instances. For information about using hibernation -// for Spot Instances, see Hibernating Interrupted Spot Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances) +// for Spot Instances, see Hibernating Interrupted Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances) // in the Amazon Elastic Compute Cloud User Guide. // // When you stop or hibernate an instance, we shut it down. You can restart @@ -25296,13 +26746,13 @@ func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Requ // an instance, the root device and any other devices attached during the instance // launch are automatically deleted. For more information about the differences // between rebooting, stopping, hibernating, and terminating instances, see -// Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) +// Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) // in the Amazon Elastic Compute Cloud User Guide. // // When you stop an instance, we attempt to shut it down forcibly after a short // while. If your instance appears stuck in the stopping state after a period // of time, there may be an issue with the underlying host computer. For more -// information, see Troubleshooting Stopping Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html) +// information, see Troubleshooting Stopping Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -25333,6 +26783,82 @@ func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInpu return out, req.Send() } +const opTerminateClientVpnConnections = "TerminateClientVpnConnections" + +// TerminateClientVpnConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the TerminateClientVpnConnections 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 TerminateClientVpnConnections for more information on using the TerminateClientVpnConnections +// 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 TerminateClientVpnConnectionsRequest method. +// req, resp := client.TerminateClientVpnConnectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections +func (c *EC2) TerminateClientVpnConnectionsRequest(input *TerminateClientVpnConnectionsInput) (req *request.Request, output *TerminateClientVpnConnectionsOutput) { + op := &request.Operation{ + Name: opTerminateClientVpnConnections, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TerminateClientVpnConnectionsInput{} + } + + output = &TerminateClientVpnConnectionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// TerminateClientVpnConnections API operation for Amazon Elastic Compute Cloud. +// +// Terminates active Client VPN endpoint connections. This action can be used +// to terminate a specific client connection, or up to five connections established +// by a specific user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation TerminateClientVpnConnections for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections +func (c *EC2) TerminateClientVpnConnections(input *TerminateClientVpnConnectionsInput) (*TerminateClientVpnConnectionsOutput, error) { + req, out := c.TerminateClientVpnConnectionsRequest(input) + return out, req.Send() +} + +// TerminateClientVpnConnectionsWithContext is the same as TerminateClientVpnConnections with the addition of +// the ability to pass a context and additional request options. +// +// See TerminateClientVpnConnections for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) TerminateClientVpnConnectionsWithContext(ctx aws.Context, input *TerminateClientVpnConnectionsInput, opts ...request.Option) (*TerminateClientVpnConnectionsOutput, error) { + req, out := c.TerminateClientVpnConnectionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTerminateInstances = "TerminateInstances" // TerminateInstancesRequest generates a "aws/request.Request" representing the @@ -25396,11 +26922,11 @@ func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *re // an instance, any attached EBS volumes with the DeleteOnTermination block // device mapping parameter set to true are automatically deleted. For more // information about the differences between stopping and terminating instances, -// see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) +// see Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) // in the Amazon Elastic Compute Cloud User Guide. // // For more information about troubleshooting, see Troubleshooting Terminating -// Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html) +// Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -25625,7 +27151,7 @@ func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *re // UnmonitorInstances API operation for Amazon Elastic Compute Cloud. // // Disables detailed monitoring for a running instance. For more information, -// see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) +// see Monitoring Your Instances and Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -26432,7 +27958,8 @@ func (s *Address) SetTags(v []*Tag) *Address { type AdvertiseByoipCidrInput struct { _ struct{} `type:"structure"` - // The IPv4 address range, in CIDR notation. + // The IPv4 address range, in CIDR notation. This must be the exact range that + // you provisioned. You can't advertise only a portion of the provisioned range. // // Cidr is a required field Cidr *string `type:"string" required:"true"` @@ -26628,7 +28155,7 @@ type AllocateHostsInput struct { AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) // in the Amazon Elastic Compute Cloud User Guide. ClientToken *string `locationName:"clientToken" type:"string"` @@ -26771,6 +28298,108 @@ func (s *AllowedPrincipal) SetPrincipalType(v string) *AllowedPrincipal { return s } +type ApplySecurityGroupsToClientVpnTargetNetworkInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The IDs of the security groups to apply to the associated target network. + // Up to 5 security groups can be applied to an associated target network. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list" required:"true"` + + // The ID of the VPC in which the associated target network is located. + // + // VpcId is a required field + VpcId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ApplySecurityGroupsToClientVpnTargetNetworkInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.SecurityGroupIds == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) + } + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetDryRun(v bool) *ApplySecurityGroupsToClientVpnTargetNetworkInput { + s.DryRun = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkInput { + s.SecurityGroupIds = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetVpcId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput { + s.VpcId = &v + return s +} + +type ApplySecurityGroupsToClientVpnTargetNetworkOutput struct { + _ struct{} `type:"structure"` + + // The IDs of the applied security groups. + SecurityGroupIds []*string `locationName:"securityGroupIds" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) GoString() string { + return s.String() +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *ApplySecurityGroupsToClientVpnTargetNetworkOutput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkOutput { + s.SecurityGroupIds = v + return s +} + type AssignIpv6AddressesInput struct { _ struct{} `type:"structure"` @@ -27064,6 +28693,102 @@ func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOut return s } +type AssociateClientVpnTargetNetworkInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the subnet to associate with the Client VPN endpoint. + // + // SubnetId is a required field + SubnetId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateClientVpnTargetNetworkInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateClientVpnTargetNetworkInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateClientVpnTargetNetworkInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateClientVpnTargetNetworkInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.SubnetId == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *AssociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *AssociateClientVpnTargetNetworkInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *AssociateClientVpnTargetNetworkInput) SetDryRun(v bool) *AssociateClientVpnTargetNetworkInput { + s.DryRun = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *AssociateClientVpnTargetNetworkInput) SetSubnetId(v string) *AssociateClientVpnTargetNetworkInput { + s.SubnetId = &v + return s +} + +type AssociateClientVpnTargetNetworkOutput struct { + _ struct{} `type:"structure"` + + // The unique ID of the target network association. + AssociationId *string `locationName:"associationId" type:"string"` + + // The current state of the target network association. + Status *AssociationStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s AssociateClientVpnTargetNetworkOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateClientVpnTargetNetworkOutput) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *AssociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *AssociateClientVpnTargetNetworkOutput { + s.AssociationId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AssociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *AssociateClientVpnTargetNetworkOutput { + s.Status = v + return s +} + type AssociateDhcpOptionsInput struct { _ struct{} `type:"structure"` @@ -27576,6 +29301,73 @@ func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockO return s } +// Describes a target network that is associated with a Client VPN endpoint. +// A target network is a subnet in a VPC. +type AssociatedTargetNetwork struct { + _ struct{} `type:"structure"` + + // The ID of the subnet. + NetworkId *string `locationName:"networkId" type:"string"` + + // The target network type. + NetworkType *string `locationName:"networkType" type:"string" enum:"AssociatedNetworkType"` +} + +// String returns the string representation +func (s AssociatedTargetNetwork) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociatedTargetNetwork) GoString() string { + return s.String() +} + +// SetNetworkId sets the NetworkId field's value. +func (s *AssociatedTargetNetwork) SetNetworkId(v string) *AssociatedTargetNetwork { + s.NetworkId = &v + return s +} + +// SetNetworkType sets the NetworkType field's value. +func (s *AssociatedTargetNetwork) SetNetworkType(v string) *AssociatedTargetNetwork { + s.NetworkType = &v + return s +} + +// Describes the state of a target network association. +type AssociationStatus struct { + _ struct{} `type:"structure"` + + // The state of the target network association. + Code *string `locationName:"code" type:"string" enum:"AssociationStatusCode"` + + // A message about the status of the target network association, if applicable. + Message *string `locationName:"message" type:"string"` +} + +// 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() +} + +// SetCode sets the Code field's value. +func (s *AssociationStatus) SetCode(v string) *AssociationStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *AssociationStatus) SetMessage(v string) *AssociationStatus { + s.Message = &v + return s +} + type AttachClassicLinkVpcInput struct { _ struct{} `type:"structure"` @@ -28076,6 +29868,193 @@ func (s *AttributeValue) SetValue(v string) *AttributeValue { return s } +// Information about an authorization rule. +type AuthorizationRule struct { + _ struct{} `type:"structure"` + + // Indicates whether the authorization rule grants access to all clients. + AccessAll *bool `locationName:"accessAll" type:"boolean"` + + // The ID of the Client VPN endpoint with which the authorization rule is associated. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // A brief description of the authorization rule. + Description *string `locationName:"description" type:"string"` + + // The IPv4 address range, in CIDR notation, of the network to which the authorization + // rule applies. + DestinationCidr *string `locationName:"destinationCidr" type:"string"` + + // The ID of the Active Directory group to which the authorization rule grants + // access. + GroupId *string `locationName:"groupId" type:"string"` + + // The current state of the authorization rule. + Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s AuthorizationRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuthorizationRule) GoString() string { + return s.String() +} + +// SetAccessAll sets the AccessAll field's value. +func (s *AuthorizationRule) SetAccessAll(v bool) *AuthorizationRule { + s.AccessAll = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *AuthorizationRule) SetClientVpnEndpointId(v string) *AuthorizationRule { + s.ClientVpnEndpointId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AuthorizationRule) SetDescription(v string) *AuthorizationRule { + s.Description = &v + return s +} + +// SetDestinationCidr sets the DestinationCidr field's value. +func (s *AuthorizationRule) SetDestinationCidr(v string) *AuthorizationRule { + s.DestinationCidr = &v + return s +} + +// SetGroupId sets the GroupId field's value. +func (s *AuthorizationRule) SetGroupId(v string) *AuthorizationRule { + s.GroupId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AuthorizationRule) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizationRule { + s.Status = v + return s +} + +type AuthorizeClientVpnIngressInput struct { + _ struct{} `type:"structure"` + + // The ID of the Active Directory group to grant access. + AccessGroupId *string `type:"string"` + + // Indicates whether to grant access to all clients. Use true to grant all clients + // who successfully establish a VPN connection access to the network. + AuthorizeAllGroups *bool `type:"boolean"` + + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // A brief description of the authorization rule. + Description *string `type:"string"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The IPv4 address range, in CIDR notation, of the network for which access + // is being authorized. + // + // TargetNetworkCidr is a required field + TargetNetworkCidr *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AuthorizeClientVpnIngressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuthorizeClientVpnIngressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AuthorizeClientVpnIngressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AuthorizeClientVpnIngressInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.TargetNetworkCidr == nil { + invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessGroupId sets the AccessGroupId field's value. +func (s *AuthorizeClientVpnIngressInput) SetAccessGroupId(v string) *AuthorizeClientVpnIngressInput { + s.AccessGroupId = &v + return s +} + +// SetAuthorizeAllGroups sets the AuthorizeAllGroups field's value. +func (s *AuthorizeClientVpnIngressInput) SetAuthorizeAllGroups(v bool) *AuthorizeClientVpnIngressInput { + s.AuthorizeAllGroups = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *AuthorizeClientVpnIngressInput) SetClientVpnEndpointId(v string) *AuthorizeClientVpnIngressInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AuthorizeClientVpnIngressInput) SetDescription(v string) *AuthorizeClientVpnIngressInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *AuthorizeClientVpnIngressInput) SetDryRun(v bool) *AuthorizeClientVpnIngressInput { + s.DryRun = &v + return s +} + +// SetTargetNetworkCidr sets the TargetNetworkCidr field's value. +func (s *AuthorizeClientVpnIngressInput) SetTargetNetworkCidr(v string) *AuthorizeClientVpnIngressInput { + s.TargetNetworkCidr = &v + return s +} + +type AuthorizeClientVpnIngressOutput struct { + _ struct{} `type:"structure"` + + // The current state of the authorization rule. + Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s AuthorizeClientVpnIngressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuthorizeClientVpnIngressOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *AuthorizeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizeClientVpnIngressOutput { + s.Status = v + return s +} + type AuthorizeSecurityGroupEgressInput struct { _ struct{} `type:"structure"` @@ -28255,8 +30234,8 @@ type AuthorizeSecurityGroupIngressInput struct { // be in the same VPC. SourceSecurityGroupName *string `type:"string"` - // [EC2-Classic] The AWS account ID for the source security group, if the source - // security group is in a different account. You can't specify this parameter + // [nondefault VPC] The AWS account ID for the source security group, if the + // source security group is in a different account. You can't specify this parameter // in combination with the following parameters: the CIDR IP address range, // the IP protocol, the start of the port range, and the end of the port range. // Creates rules that grant full ICMP, UDP, and TCP access. To create a rule @@ -29258,14 +31237,10 @@ type CancelSpotFleetRequestsError struct { _ struct{} `type:"structure"` // The error code. - // - // Code is a required field - Code *string `locationName:"code" type:"string" required:"true" enum:"CancelBatchErrorCode"` + Code *string `locationName:"code" type:"string" enum:"CancelBatchErrorCode"` // The description for the error code. - // - // Message is a required field - Message *string `locationName:"message" type:"string" required:"true"` + Message *string `locationName:"message" type:"string"` } // String returns the string representation @@ -29295,14 +31270,10 @@ type CancelSpotFleetRequestsErrorItem struct { _ struct{} `type:"structure"` // The error. - // - // Error is a required field - Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure" required:"true"` + Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure"` // The ID of the Spot Fleet request. - // - // SpotFleetRequestId is a required field - SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` + SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"` } // String returns the string representation @@ -29431,19 +31402,13 @@ type CancelSpotFleetRequestsSuccessItem struct { _ struct{} `type:"structure"` // The current state of the Spot Fleet request. - // - // CurrentSpotFleetRequestState is a required field - CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"` + CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" enum:"BatchState"` // The previous state of the Spot Fleet request. - // - // PreviousSpotFleetRequestState is a required field - PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"` + PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" enum:"BatchState"` // The ID of the Spot Fleet request. - // - // SpotFleetRequestId is a required field - SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` + SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"` } // String returns the string representation @@ -29786,11 +31751,14 @@ func (s *CapacityReservation) SetTotalInstanceCount(v int64) *CapacityReservatio } // Describes an instance's Capacity Reservation targeting option. You can specify -// only one option at a time. Use the CapacityReservationPreference parameter -// to configure the instance to run as an On-Demand Instance or to run in any -// open Capacity Reservation that has matching attributes (instance type, platform, -// Availability Zone). Use the CapacityReservationTarget parameter to explicitly -// target a specific Capacity Reservation. +// only one parameter at a time. If you specify CapacityReservationPreference +// and CapacityReservationTarget, the request fails. +// +// Use the CapacityReservationPreference parameter to configure the instance +// to run as an On-Demand Instance or to run in any open Capacity Reservation +// that has matching attributes (instance type, platform, Availability Zone). +// Use the CapacityReservationTarget parameter to explicitly target a specific +// Capacity Reservation. type CapacityReservationSpecification struct { _ struct{} `type:"structure"` @@ -29923,6 +31891,55 @@ func (s *CapacityReservationTargetResponse) SetCapacityReservationId(v string) * return s } +// Information about the client certificate used for authentication. +type CertificateAuthentication struct { + _ struct{} `type:"structure"` + + // The ARN of the client certificate. + ClientRootCertificateChain *string `locationName:"clientRootCertificateChain" type:"string"` +} + +// String returns the string representation +func (s CertificateAuthentication) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CertificateAuthentication) GoString() string { + return s.String() +} + +// SetClientRootCertificateChain sets the ClientRootCertificateChain field's value. +func (s *CertificateAuthentication) SetClientRootCertificateChain(v string) *CertificateAuthentication { + s.ClientRootCertificateChain = &v + return s +} + +// Information about the client certificate to be used for authentication. +type CertificateAuthenticationRequest struct { + _ struct{} `type:"structure"` + + // The ARN of the client certificate. The certificate must be signed by a certificate + // authority (CA) and it must be provisioned in AWS Certificate Manager (ACM). + ClientRootCertificateChainArn *string `type:"string"` +} + +// String returns the string representation +func (s CertificateAuthenticationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CertificateAuthenticationRequest) GoString() string { + return s.String() +} + +// SetClientRootCertificateChainArn sets the ClientRootCertificateChainArn field's value. +func (s *CertificateAuthenticationRequest) SetClientRootCertificateChainArn(v string) *CertificateAuthenticationRequest { + s.ClientRootCertificateChainArn = &v + return s +} + // Provides authorization for Amazon to bring a specific IP address range to // a specific AWS account using bring your own IP addresses (BYOIP). type CidrAuthorizationContext struct { @@ -30090,9 +32107,7 @@ type ClassicLoadBalancer struct { _ struct{} `type:"structure"` // The name of the load balancer. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + Name *string `locationName:"name" type:"string"` } // String returns the string representation @@ -30105,19 +32120,6 @@ func (s ClassicLoadBalancer) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ClassicLoadBalancer) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancer"} - 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 *ClassicLoadBalancer) SetName(v string) *ClassicLoadBalancer { s.Name = &v @@ -30130,9 +32132,7 @@ type ClassicLoadBalancersConfig struct { _ struct{} `type:"structure"` // One or more Classic Load Balancers. - // - // ClassicLoadBalancers is a required field - ClassicLoadBalancers []*ClassicLoadBalancer `locationName:"classicLoadBalancers" locationNameList:"item" min:"1" type:"list" required:"true"` + ClassicLoadBalancers []*ClassicLoadBalancer `locationName:"classicLoadBalancers" locationNameList:"item" min:"1" type:"list"` } // String returns the string representation @@ -30148,22 +32148,9 @@ func (s ClassicLoadBalancersConfig) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ClassicLoadBalancersConfig) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancersConfig"} - if s.ClassicLoadBalancers == nil { - invalidParams.Add(request.NewErrParamRequired("ClassicLoadBalancers")) - } if s.ClassicLoadBalancers != nil && len(s.ClassicLoadBalancers) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClassicLoadBalancers", 1)) } - if s.ClassicLoadBalancers != nil { - for i, v := range s.ClassicLoadBalancers { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ClassicLoadBalancers", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -30177,6 +32164,40 @@ func (s *ClassicLoadBalancersConfig) SetClassicLoadBalancers(v []*ClassicLoadBal return s } +// Describes the state of a client certificate revocation list. +type ClientCertificateRevocationListStatus struct { + _ struct{} `type:"structure"` + + // The state of the client certificate revocation list. + Code *string `locationName:"code" type:"string" enum:"ClientCertificateRevocationListStatusCode"` + + // A message about the status of the client certificate revocation list, if + // applicable. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClientCertificateRevocationListStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientCertificateRevocationListStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ClientCertificateRevocationListStatus) SetCode(v string) *ClientCertificateRevocationListStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ClientCertificateRevocationListStatus) SetMessage(v string) *ClientCertificateRevocationListStatus { + s.Message = &v + return s +} + // Describes the client-specific data. type ClientData struct { _ struct{} `type:"structure"` @@ -30228,6 +32249,624 @@ func (s *ClientData) SetUploadStart(v time.Time) *ClientData { return s } +// Describes the authentication methods used by a Client VPN endpoint. Client +// VPN supports Active Directory and mutual authentication. For more information, +// see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication) +// in the AWS Client VPN Administrator Guide. +type ClientVpnAuthentication struct { + _ struct{} `type:"structure"` + + // Information about the Active Directory, if applicable. + ActiveDirectory *DirectoryServiceAuthentication `locationName:"activeDirectory" type:"structure"` + + // Information about the authentication certificates, if applicable. + MutualAuthentication *CertificateAuthentication `locationName:"mutualAuthentication" type:"structure"` + + // The authentication type used. + Type *string `locationName:"type" type:"string" enum:"ClientVpnAuthenticationType"` +} + +// String returns the string representation +func (s ClientVpnAuthentication) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnAuthentication) GoString() string { + return s.String() +} + +// SetActiveDirectory sets the ActiveDirectory field's value. +func (s *ClientVpnAuthentication) SetActiveDirectory(v *DirectoryServiceAuthentication) *ClientVpnAuthentication { + s.ActiveDirectory = v + return s +} + +// SetMutualAuthentication sets the MutualAuthentication field's value. +func (s *ClientVpnAuthentication) SetMutualAuthentication(v *CertificateAuthentication) *ClientVpnAuthentication { + s.MutualAuthentication = v + return s +} + +// SetType sets the Type field's value. +func (s *ClientVpnAuthentication) SetType(v string) *ClientVpnAuthentication { + s.Type = &v + return s +} + +// Describes the authentication method to be used by a Client VPN endpoint. +// Client VPN supports Active Directory and mutual authentication. For more +// information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication) +// in the AWS Client VPN Administrator Guide. +type ClientVpnAuthenticationRequest struct { + _ struct{} `type:"structure"` + + // Information about the Active Directory to be used, if applicable. You must + // provide this information if Type is directory-service-authentication. + ActiveDirectory *DirectoryServiceAuthenticationRequest `type:"structure"` + + // Information about the authentication certificates to be used, if applicable. + // You must provide this information if Type is certificate-authentication. + MutualAuthentication *CertificateAuthenticationRequest `type:"structure"` + + // The type of client authentication to be used. Specify certificate-authentication + // to use certificate-based authentication, or directory-service-authentication + // to use Active Directory authentication. + Type *string `type:"string" enum:"ClientVpnAuthenticationType"` +} + +// String returns the string representation +func (s ClientVpnAuthenticationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnAuthenticationRequest) GoString() string { + return s.String() +} + +// SetActiveDirectory sets the ActiveDirectory field's value. +func (s *ClientVpnAuthenticationRequest) SetActiveDirectory(v *DirectoryServiceAuthenticationRequest) *ClientVpnAuthenticationRequest { + s.ActiveDirectory = v + return s +} + +// SetMutualAuthentication sets the MutualAuthentication field's value. +func (s *ClientVpnAuthenticationRequest) SetMutualAuthentication(v *CertificateAuthenticationRequest) *ClientVpnAuthenticationRequest { + s.MutualAuthentication = v + return s +} + +// SetType sets the Type field's value. +func (s *ClientVpnAuthenticationRequest) SetType(v string) *ClientVpnAuthenticationRequest { + s.Type = &v + return s +} + +// Describes the state of an authorization rule. +type ClientVpnAuthorizationRuleStatus struct { + _ struct{} `type:"structure"` + + // The state of the authorization rule. + Code *string `locationName:"code" type:"string" enum:"ClientVpnAuthorizationRuleStatusCode"` + + // A message about the status of the authorization rule, if applicable. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClientVpnAuthorizationRuleStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnAuthorizationRuleStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ClientVpnAuthorizationRuleStatus) SetCode(v string) *ClientVpnAuthorizationRuleStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ClientVpnAuthorizationRuleStatus) SetMessage(v string) *ClientVpnAuthorizationRuleStatus { + s.Message = &v + return s +} + +// Describes a client connection. +type ClientVpnConnection struct { + _ struct{} `type:"structure"` + + // The IP address of the client. + ClientIp *string `locationName:"clientIp" type:"string"` + + // The ID of the Client VPN endpoint to which the client is connected. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // The common name associated with the client. This is either the name of the + // client certificate, or the Active Directory user name. + CommonName *string `locationName:"commonName" type:"string"` + + // The date and time the client connection was terminated. + ConnectionEndTime *string `locationName:"connectionEndTime" type:"string"` + + // The date and time the client connection was established. + ConnectionEstablishedTime *string `locationName:"connectionEstablishedTime" type:"string"` + + // The ID of the client connection. + ConnectionId *string `locationName:"connectionId" type:"string"` + + // The number of bytes received by the client. + EgressBytes *string `locationName:"egressBytes" type:"string"` + + // The number of packets received by the client. + EgressPackets *string `locationName:"egressPackets" type:"string"` + + // The number of bytes sent by the client. + IngressBytes *string `locationName:"ingressBytes" type:"string"` + + // The number of packets sent by the client. + IngressPackets *string `locationName:"ingressPackets" type:"string"` + + // The current state of the client connection. + Status *ClientVpnConnectionStatus `locationName:"status" type:"structure"` + + // The current date and time. + Timestamp *string `locationName:"timestamp" type:"string"` + + // The username of the client who established the client connection. This information + // is only provided if Active Directory client authentication is used. + Username *string `locationName:"username" type:"string"` +} + +// String returns the string representation +func (s ClientVpnConnection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnConnection) GoString() string { + return s.String() +} + +// SetClientIp sets the ClientIp field's value. +func (s *ClientVpnConnection) SetClientIp(v string) *ClientVpnConnection { + s.ClientIp = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ClientVpnConnection) SetClientVpnEndpointId(v string) *ClientVpnConnection { + s.ClientVpnEndpointId = &v + return s +} + +// SetCommonName sets the CommonName field's value. +func (s *ClientVpnConnection) SetCommonName(v string) *ClientVpnConnection { + s.CommonName = &v + return s +} + +// SetConnectionEndTime sets the ConnectionEndTime field's value. +func (s *ClientVpnConnection) SetConnectionEndTime(v string) *ClientVpnConnection { + s.ConnectionEndTime = &v + return s +} + +// SetConnectionEstablishedTime sets the ConnectionEstablishedTime field's value. +func (s *ClientVpnConnection) SetConnectionEstablishedTime(v string) *ClientVpnConnection { + s.ConnectionEstablishedTime = &v + return s +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *ClientVpnConnection) SetConnectionId(v string) *ClientVpnConnection { + s.ConnectionId = &v + return s +} + +// SetEgressBytes sets the EgressBytes field's value. +func (s *ClientVpnConnection) SetEgressBytes(v string) *ClientVpnConnection { + s.EgressBytes = &v + return s +} + +// SetEgressPackets sets the EgressPackets field's value. +func (s *ClientVpnConnection) SetEgressPackets(v string) *ClientVpnConnection { + s.EgressPackets = &v + return s +} + +// SetIngressBytes sets the IngressBytes field's value. +func (s *ClientVpnConnection) SetIngressBytes(v string) *ClientVpnConnection { + s.IngressBytes = &v + return s +} + +// SetIngressPackets sets the IngressPackets field's value. +func (s *ClientVpnConnection) SetIngressPackets(v string) *ClientVpnConnection { + s.IngressPackets = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ClientVpnConnection) SetStatus(v *ClientVpnConnectionStatus) *ClientVpnConnection { + s.Status = v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *ClientVpnConnection) SetTimestamp(v string) *ClientVpnConnection { + s.Timestamp = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *ClientVpnConnection) SetUsername(v string) *ClientVpnConnection { + s.Username = &v + return s +} + +// Describes the status of a client connection. +type ClientVpnConnectionStatus struct { + _ struct{} `type:"structure"` + + // The state of the client connection. + Code *string `locationName:"code" type:"string" enum:"ClientVpnConnectionStatusCode"` + + // A message about the status of the client connection, if applicable. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClientVpnConnectionStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnConnectionStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ClientVpnConnectionStatus) SetCode(v string) *ClientVpnConnectionStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ClientVpnConnectionStatus) SetMessage(v string) *ClientVpnConnectionStatus { + s.Message = &v + return s +} + +// Describes a Client VPN endpoint. +type ClientVpnEndpoint struct { + _ struct{} `type:"structure"` + + // Information about the associated target networks. A target network is a subnet + // in a VPC. + // + // Deprecated: This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element. + AssociatedTargetNetworks []*AssociatedTargetNetwork `locationName:"associatedTargetNetwork" locationNameList:"item" deprecated:"true" type:"list"` + + // Information about the authentication method used by the Client VPN endpoint. + AuthenticationOptions []*ClientVpnAuthentication `locationName:"authenticationOptions" locationNameList:"item" type:"list"` + + // The IPv4 address range, in CIDR notation, from which client IP addresses + // are assigned. + ClientCidrBlock *string `locationName:"clientCidrBlock" type:"string"` + + // The ID of the Client VPN endpoint. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // Information about the client connection logging options for the Client VPN + // endpoint. + ConnectionLogOptions *ConnectionLogResponseOptions `locationName:"connectionLogOptions" type:"structure"` + + // The date and time the Client VPN endpoint was created. + CreationTime *string `locationName:"creationTime" type:"string"` + + // The date and time the Client VPN endpoint was deleted, if applicable. + DeletionTime *string `locationName:"deletionTime" type:"string"` + + // A brief description of the endpoint. + Description *string `locationName:"description" type:"string"` + + // The DNS name to be used by clients when connecting to the Client VPN endpoint. + DnsName *string `locationName:"dnsName" type:"string"` + + // Information about the DNS servers to be used for DNS resolution. + DnsServers []*string `locationName:"dnsServer" locationNameList:"item" type:"list"` + + // The ARN of the server certificate. + ServerCertificateArn *string `locationName:"serverCertificateArn" type:"string"` + + // Indicates whether VPN split tunneling is supported. + SplitTunnel *bool `locationName:"splitTunnel" type:"boolean"` + + // The current state of the Client VPN endpoint. + Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"` + + // Any tags assigned to the Client VPN endpoint. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The transport protocol used by the Client VPN endpoint. + TransportProtocol *string `locationName:"transportProtocol" type:"string" enum:"TransportProtocol"` + + // The protocol used by the VPN session. + VpnProtocol *string `locationName:"vpnProtocol" type:"string" enum:"VpnProtocol"` +} + +// String returns the string representation +func (s ClientVpnEndpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnEndpoint) GoString() string { + return s.String() +} + +// SetAssociatedTargetNetworks sets the AssociatedTargetNetworks field's value. +func (s *ClientVpnEndpoint) SetAssociatedTargetNetworks(v []*AssociatedTargetNetwork) *ClientVpnEndpoint { + s.AssociatedTargetNetworks = v + return s +} + +// SetAuthenticationOptions sets the AuthenticationOptions field's value. +func (s *ClientVpnEndpoint) SetAuthenticationOptions(v []*ClientVpnAuthentication) *ClientVpnEndpoint { + s.AuthenticationOptions = v + return s +} + +// SetClientCidrBlock sets the ClientCidrBlock field's value. +func (s *ClientVpnEndpoint) SetClientCidrBlock(v string) *ClientVpnEndpoint { + s.ClientCidrBlock = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ClientVpnEndpoint) SetClientVpnEndpointId(v string) *ClientVpnEndpoint { + s.ClientVpnEndpointId = &v + return s +} + +// SetConnectionLogOptions sets the ConnectionLogOptions field's value. +func (s *ClientVpnEndpoint) SetConnectionLogOptions(v *ConnectionLogResponseOptions) *ClientVpnEndpoint { + s.ConnectionLogOptions = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ClientVpnEndpoint) SetCreationTime(v string) *ClientVpnEndpoint { + s.CreationTime = &v + return s +} + +// SetDeletionTime sets the DeletionTime field's value. +func (s *ClientVpnEndpoint) SetDeletionTime(v string) *ClientVpnEndpoint { + s.DeletionTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ClientVpnEndpoint) SetDescription(v string) *ClientVpnEndpoint { + s.Description = &v + return s +} + +// SetDnsName sets the DnsName field's value. +func (s *ClientVpnEndpoint) SetDnsName(v string) *ClientVpnEndpoint { + s.DnsName = &v + return s +} + +// SetDnsServers sets the DnsServers field's value. +func (s *ClientVpnEndpoint) SetDnsServers(v []*string) *ClientVpnEndpoint { + s.DnsServers = v + return s +} + +// SetServerCertificateArn sets the ServerCertificateArn field's value. +func (s *ClientVpnEndpoint) SetServerCertificateArn(v string) *ClientVpnEndpoint { + s.ServerCertificateArn = &v + return s +} + +// SetSplitTunnel sets the SplitTunnel field's value. +func (s *ClientVpnEndpoint) SetSplitTunnel(v bool) *ClientVpnEndpoint { + s.SplitTunnel = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ClientVpnEndpoint) SetStatus(v *ClientVpnEndpointStatus) *ClientVpnEndpoint { + s.Status = v + return s +} + +// SetTags sets the Tags field's value. +func (s *ClientVpnEndpoint) SetTags(v []*Tag) *ClientVpnEndpoint { + s.Tags = v + return s +} + +// SetTransportProtocol sets the TransportProtocol field's value. +func (s *ClientVpnEndpoint) SetTransportProtocol(v string) *ClientVpnEndpoint { + s.TransportProtocol = &v + return s +} + +// SetVpnProtocol sets the VpnProtocol field's value. +func (s *ClientVpnEndpoint) SetVpnProtocol(v string) *ClientVpnEndpoint { + s.VpnProtocol = &v + return s +} + +// Describes the state of a Client VPN endpoint. +type ClientVpnEndpointStatus struct { + _ struct{} `type:"structure"` + + // The state of the Client VPN endpoint. Possible states include: + // + // * pending-associate - The Client VPN endpoint has been created but no + // target networks have been associated. The Client VPN endpoint cannot accept + // connections. + // + // * available - The Client VPN endpoint has been created and a target network + // has been associated. The Client VPN endpoint can accept connections. + // + // * deleting - The Client VPN endpoint is being deleted. The Client VPN + // endpoint cannot accept connections. + // + // * deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint + // cannot accept connections. + Code *string `locationName:"code" type:"string" enum:"ClientVpnEndpointStatusCode"` + + // A message about the status of the Client VPN endpoint. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClientVpnEndpointStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnEndpointStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ClientVpnEndpointStatus) SetCode(v string) *ClientVpnEndpointStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ClientVpnEndpointStatus) SetMessage(v string) *ClientVpnEndpointStatus { + s.Message = &v + return s +} + +// Information about a Client VPN endpoint route. +type ClientVpnRoute struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint with which the route is associated. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // A brief description of the route. + Description *string `locationName:"description" type:"string"` + + // The IPv4 address range, in CIDR notation, of the route destination. + DestinationCidr *string `locationName:"destinationCidr" type:"string"` + + // Indicates how the route was associated with the Client VPN endpoint. associate + // indicates that the route was automatically added when the target network + // was associated with the Client VPN endpoint. add-route indicates that the + // route was manually added using the CreateClientVpnRoute action. + Origin *string `locationName:"origin" type:"string"` + + // The current state of the route. + Status *ClientVpnRouteStatus `locationName:"status" type:"structure"` + + // The ID of the subnet through which traffic is routed. + TargetSubnet *string `locationName:"targetSubnet" type:"string"` + + // The route type. + Type *string `locationName:"type" type:"string"` +} + +// String returns the string representation +func (s ClientVpnRoute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnRoute) GoString() string { + return s.String() +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ClientVpnRoute) SetClientVpnEndpointId(v string) *ClientVpnRoute { + s.ClientVpnEndpointId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ClientVpnRoute) SetDescription(v string) *ClientVpnRoute { + s.Description = &v + return s +} + +// SetDestinationCidr sets the DestinationCidr field's value. +func (s *ClientVpnRoute) SetDestinationCidr(v string) *ClientVpnRoute { + s.DestinationCidr = &v + return s +} + +// SetOrigin sets the Origin field's value. +func (s *ClientVpnRoute) SetOrigin(v string) *ClientVpnRoute { + s.Origin = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ClientVpnRoute) SetStatus(v *ClientVpnRouteStatus) *ClientVpnRoute { + s.Status = v + return s +} + +// SetTargetSubnet sets the TargetSubnet field's value. +func (s *ClientVpnRoute) SetTargetSubnet(v string) *ClientVpnRoute { + s.TargetSubnet = &v + return s +} + +// SetType sets the Type field's value. +func (s *ClientVpnRoute) SetType(v string) *ClientVpnRoute { + s.Type = &v + return s +} + +// Describes the state of a Client VPN endpoint route. +type ClientVpnRouteStatus struct { + _ struct{} `type:"structure"` + + // The state of the Client VPN endpoint route. + Code *string `locationName:"code" type:"string" enum:"ClientVpnRouteStatusCode"` + + // A message about the status of the Client VPN endpoint route, if applicable. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClientVpnRouteStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnRouteStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ClientVpnRouteStatus) SetCode(v string) *ClientVpnRouteStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ClientVpnRouteStatus) SetMessage(v string) *ClientVpnRouteStatus { + s.Message = &v + return s +} + type ConfirmProductInstanceInput struct { _ struct{} `type:"structure"` @@ -30326,6 +32965,95 @@ func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstance return s } +// Describes the client connection logging options for the Client VPN endpoint. +type ConnectionLogOptions struct { + _ struct{} `type:"structure"` + + // The name of the CloudWatch Logs log group. + CloudwatchLogGroup *string `type:"string"` + + // The name of the CloudWatch Logs log stream to which the connection data is + // published. + CloudwatchLogStream *string `type:"string"` + + // Indicates whether connection logging is enabled. + Enabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s ConnectionLogOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConnectionLogOptions) GoString() string { + return s.String() +} + +// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value. +func (s *ConnectionLogOptions) SetCloudwatchLogGroup(v string) *ConnectionLogOptions { + s.CloudwatchLogGroup = &v + return s +} + +// SetCloudwatchLogStream sets the CloudwatchLogStream field's value. +func (s *ConnectionLogOptions) SetCloudwatchLogStream(v string) *ConnectionLogOptions { + s.CloudwatchLogStream = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *ConnectionLogOptions) SetEnabled(v bool) *ConnectionLogOptions { + s.Enabled = &v + return s +} + +// Information about the client connection logging options for a Client VPN +// endpoint. +type ConnectionLogResponseOptions struct { + _ struct{} `type:"structure"` + + // The name of the Amazon CloudWatch Logs log group to which connection logging + // data is published. + CloudwatchLogGroup *string `type:"string"` + + // The name of the Amazon CloudWatch Logs log stream to which connection logging + // data is published. + CloudwatchLogStream *string `type:"string"` + + // Indicates whether client connection logging is enabled for the Client VPN + // endpoint. + Enabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s ConnectionLogResponseOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConnectionLogResponseOptions) GoString() string { + return s.String() +} + +// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value. +func (s *ConnectionLogResponseOptions) SetCloudwatchLogGroup(v string) *ConnectionLogResponseOptions { + s.CloudwatchLogGroup = &v + return s +} + +// SetCloudwatchLogStream sets the CloudwatchLogStream field's value. +func (s *ConnectionLogResponseOptions) SetCloudwatchLogStream(v string) *ConnectionLogResponseOptions { + s.CloudwatchLogStream = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *ConnectionLogResponseOptions) SetEnabled(v bool) *ConnectionLogResponseOptions { + s.Enabled = &v + return s +} + // Describes a connection notification for a VPC endpoint or VPC endpoint service. type ConnectionNotification struct { _ struct{} `type:"structure"` @@ -30490,7 +33218,7 @@ type CopyFpgaImageInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + // of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // The description for the new AFI. @@ -30606,7 +33334,7 @@ type CopyImageInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) + // request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) // in the Amazon Elastic Compute Cloud User Guide. ClientToken *string `type:"string"` @@ -30624,8 +33352,8 @@ type CopyImageInput struct { // create an unencrypted copy of an encrypted snapshot. The default CMK for // EBS is used unless you specify a non-default AWS Key Management Service (AWS // KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption - // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) in - // the Amazon Elastic Compute Cloud User Guide. + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) + // in the Amazon Elastic Compute Cloud User Guide. Encrypted *bool `locationName:"encrypted" type:"boolean"` // An identifier for the AWS Key Management Service (AWS KMS) customer master @@ -30782,13 +33510,13 @@ type CopySnapshotInput struct { // A description for the EBS snapshot. Description *string `type:"string"` - // The destination region to use in the PresignedUrl parameter of a snapshot + // The destination Region to use in the PresignedUrl parameter of a snapshot // copy operation. This parameter is only valid for specifying the destination - // region in a PresignedUrl parameter, where it is required. + // Region in a PresignedUrl parameter, where it is required. // // The snapshot copy is sent to the regional endpoint that you sent the HTTP // request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI, - // this is specified using the --region parameter or the default region in your + // this is specified using the --region parameter or the default Region in your // AWS configuration file. DestinationRegion *string `locationName:"destinationRegion" type:"string"` @@ -30802,7 +33530,7 @@ type CopySnapshotInput struct { // a copy of an unencrypted snapshot, but you cannot use it to create an unencrypted // copy of an encrypted snapshot. Your default CMK for EBS is used unless you // specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. - // For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) + // For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. Encrypted *bool `locationName:"encrypted" type:"boolean"` @@ -30835,20 +33563,20 @@ type CopySnapshotInput struct { // When you copy an encrypted source snapshot using the Amazon EC2 Query API, // you must supply a pre-signed URL. This parameter is optional for unencrypted - // snapshots. For more information, see Query Requests (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html). + // snapshots. For more information, see Query Requests (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html). // // The PresignedUrl should use the snapshot source endpoint, the CopySnapshot // action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion // parameters. The PresignedUrl must be signed using AWS Signature Version 4. // Because EBS snapshots are stored in Amazon S3, the signing algorithm for // this parameter uses the same logic that is described in Authenticating Requests - // by Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) + // by Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) // in the Amazon Simple Storage Service API Reference. An invalid or improperly // signed PresignedUrl will cause the copy operation to fail asynchronously, // and the snapshot will move to an error state. PresignedUrl *string `locationName:"presignedUrl" type:"string"` - // The ID of the region that contains the snapshot to be copied. + // The ID of the Region that contains the snapshot to be copied. // // SourceRegion is a required field SourceRegion *string `type:"string" required:"true"` @@ -31035,7 +33763,7 @@ type CreateCapacityReservationInput struct { AvailabilityZone *string `type:"string" required:"true"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). // // Constraint: Maximum 64 ASCII characters. ClientToken *string `type:"string"` @@ -31109,7 +33837,7 @@ type CreateCapacityReservationInput struct { InstancePlatform *string `type:"string" required:"true" enum:"CapacityReservationInstancePlatform"` // The instance type for which to reserve capacity. For more information, see - // Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. // // InstanceType is a required field @@ -31262,6 +33990,327 @@ func (s *CreateCapacityReservationOutput) SetCapacityReservation(v *CapacityRese return s } +type CreateClientVpnEndpointInput struct { + _ struct{} `type:"structure"` + + // Information about the authentication method to be used to authenticate clients. + // + // AuthenticationOptions is a required field + AuthenticationOptions []*ClientVpnAuthenticationRequest `locationName:"Authentication" type:"list" required:"true"` + + // The IPv4 address range, in CIDR notation, from which to assign client IP + // addresses. The address range cannot overlap with the local CIDR of the VPC + // in which the associated subnet is located, or the routes that you add manually. + // The address range cannot be changed after the Client VPN endpoint has been + // created. The CIDR block should be /22 or greater. + // + // ClientCidrBlock is a required field + ClientCidrBlock *string `type:"string" required:"true"` + + // Unique, case-sensitive identifier you provide to ensure the idempotency of + // the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // Information about the client connection logging options. + // + // If you enable client connection logging, data about client connections is + // sent to a Cloudwatch Logs log stream. The following information is logged: + // + // * Client connection requests + // + // * Client connection results (successful and unsuccessful) + // + // * Reasons for unsuccessful client connection requests + // + // * Client connection termination time + // + // ConnectionLogOptions is a required field + ConnectionLogOptions *ConnectionLogOptions `type:"structure" required:"true"` + + // A brief description of the Client VPN endpoint. + Description *string `type:"string"` + + // Information about the DNS servers to be used for DNS resolution. A Client + // VPN endpoint can have up to two DNS servers. If no DNS server is specified, + // the DNS address of the VPC that is to be associated with Client VPN endpoint + // is used as the DNS server. + DnsServers []*string `locationNameList:"item" type:"list"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ARN of the server certificate. For more information, see the AWS Certificate + // Manager User Guide (https://docs.aws.amazon.com/acm/latest/userguide/). + // + // ServerCertificateArn is a required field + ServerCertificateArn *string `type:"string" required:"true"` + + // The tags to apply to the Client VPN endpoint during creation. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + + // The transport protocol to be used by the VPN session. + // + // Default value: udp + TransportProtocol *string `type:"string" enum:"TransportProtocol"` +} + +// String returns the string representation +func (s CreateClientVpnEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClientVpnEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateClientVpnEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnEndpointInput"} + if s.AuthenticationOptions == nil { + invalidParams.Add(request.NewErrParamRequired("AuthenticationOptions")) + } + if s.ClientCidrBlock == nil { + invalidParams.Add(request.NewErrParamRequired("ClientCidrBlock")) + } + if s.ConnectionLogOptions == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionLogOptions")) + } + if s.ServerCertificateArn == nil { + invalidParams.Add(request.NewErrParamRequired("ServerCertificateArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthenticationOptions sets the AuthenticationOptions field's value. +func (s *CreateClientVpnEndpointInput) SetAuthenticationOptions(v []*ClientVpnAuthenticationRequest) *CreateClientVpnEndpointInput { + s.AuthenticationOptions = v + return s +} + +// SetClientCidrBlock sets the ClientCidrBlock field's value. +func (s *CreateClientVpnEndpointInput) SetClientCidrBlock(v string) *CreateClientVpnEndpointInput { + s.ClientCidrBlock = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateClientVpnEndpointInput) SetClientToken(v string) *CreateClientVpnEndpointInput { + s.ClientToken = &v + return s +} + +// SetConnectionLogOptions sets the ConnectionLogOptions field's value. +func (s *CreateClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *CreateClientVpnEndpointInput { + s.ConnectionLogOptions = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateClientVpnEndpointInput) SetDescription(v string) *CreateClientVpnEndpointInput { + s.Description = &v + return s +} + +// SetDnsServers sets the DnsServers field's value. +func (s *CreateClientVpnEndpointInput) SetDnsServers(v []*string) *CreateClientVpnEndpointInput { + s.DnsServers = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateClientVpnEndpointInput) SetDryRun(v bool) *CreateClientVpnEndpointInput { + s.DryRun = &v + return s +} + +// SetServerCertificateArn sets the ServerCertificateArn field's value. +func (s *CreateClientVpnEndpointInput) SetServerCertificateArn(v string) *CreateClientVpnEndpointInput { + s.ServerCertificateArn = &v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateClientVpnEndpointInput) SetTagSpecifications(v []*TagSpecification) *CreateClientVpnEndpointInput { + s.TagSpecifications = v + return s +} + +// SetTransportProtocol sets the TransportProtocol field's value. +func (s *CreateClientVpnEndpointInput) SetTransportProtocol(v string) *CreateClientVpnEndpointInput { + s.TransportProtocol = &v + return s +} + +type CreateClientVpnEndpointOutput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // The DNS name to be used by clients when establishing their VPN session. + DnsName *string `locationName:"dnsName" type:"string"` + + // The current state of the Client VPN endpoint. + Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s CreateClientVpnEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClientVpnEndpointOutput) GoString() string { + return s.String() +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *CreateClientVpnEndpointOutput) SetClientVpnEndpointId(v string) *CreateClientVpnEndpointOutput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDnsName sets the DnsName field's value. +func (s *CreateClientVpnEndpointOutput) SetDnsName(v string) *CreateClientVpnEndpointOutput { + s.DnsName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *CreateClientVpnEndpointOutput { + s.Status = v + return s +} + +type CreateClientVpnRouteInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint to which to add the route. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // A brief description of the route. + Description *string `type:"string"` + + // The IPv4 address range, in CIDR notation, of the route destination. For example: + // + // * To add a route for Internet access, enter 0.0.0.0/0 + // + // * To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range + // + // * To add a route for an on-premises network, enter the AWS Site-to-Site + // VPN connection's IPv4 CIDR range + // + // Route address ranges cannot overlap with the CIDR range specified for client + // allocation. + // + // DestinationCidrBlock is a required field + DestinationCidrBlock *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the subnet through which you want to route traffic. The specified + // subnet must be an existing target network of the Client VPN endpoint. + // + // TargetVpcSubnetId is a required field + TargetVpcSubnetId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateClientVpnRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClientVpnRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateClientVpnRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnRouteInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.DestinationCidrBlock == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock")) + } + if s.TargetVpcSubnetId == nil { + invalidParams.Add(request.NewErrParamRequired("TargetVpcSubnetId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *CreateClientVpnRouteInput) SetClientVpnEndpointId(v string) *CreateClientVpnRouteInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateClientVpnRouteInput) SetDescription(v string) *CreateClientVpnRouteInput { + s.Description = &v + return s +} + +// SetDestinationCidrBlock sets the DestinationCidrBlock field's value. +func (s *CreateClientVpnRouteInput) SetDestinationCidrBlock(v string) *CreateClientVpnRouteInput { + s.DestinationCidrBlock = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateClientVpnRouteInput) SetDryRun(v bool) *CreateClientVpnRouteInput { + s.DryRun = &v + return s +} + +// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value. +func (s *CreateClientVpnRouteInput) SetTargetVpcSubnetId(v string) *CreateClientVpnRouteInput { + s.TargetVpcSubnetId = &v + return s +} + +type CreateClientVpnRouteOutput struct { + _ struct{} `type:"structure"` + + // The current state of the route. + Status *ClientVpnRouteStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s CreateClientVpnRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClientVpnRouteOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *CreateClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *CreateClientVpnRouteOutput { + s.Status = v + return s +} + // Contains the parameters for CreateCustomerGateway. type CreateCustomerGatewayInput struct { _ struct{} `type:"structure"` @@ -31567,7 +34616,7 @@ type CreateEgressOnlyInternetGatewayInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -31661,11 +34710,11 @@ type CreateFleetError struct { _ struct{} `type:"structure"` // The error code that indicates why the instance could not be launched. For - // more information about error codes, see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). + // more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). ErrorCode *string `locationName:"errorCode" type:"string"` // The error message that describes why the instance could not be launched. - // For more information about error messages, see ee Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). + // For more information about error messages, see ee Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). ErrorMessage *string `locationName:"errorMessage" type:"string"` // The launch templates and overrides that were used for launching the instances. @@ -31716,7 +34765,7 @@ type CreateFleetInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -31746,8 +34795,8 @@ type CreateFleetInput struct { // The key-value pair for tagging the EC2 Fleet request on creation. The value // for ResourceType must be fleet, otherwise the fleet request fails. To tag - // instances at launch, specify the tags in the launch template (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template). - // For information about tagging after launch, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources). + // instances at launch, specify the tags in the launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template). + // For information about tagging after launch, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources). TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` // The TotalTargetCapacity, OnDemandTargetCapacity, SpotTargetCapacity, and @@ -31766,7 +34815,7 @@ type CreateFleetInput struct { // request, and returns errors for any instances that could not be launched. // A value of request places an asynchronous one-time request without maintaining // capacity or submitting requests in alternative capacity pools if capacity - // is unavailable. For more information, see EC2 Fleet Request Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-request-type) + // is unavailable. For more information, see EC2 Fleet Request Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-request-type) // in the Amazon Elastic Compute Cloud User Guide. Type *string `type:"string" enum:"FleetType"` @@ -31776,7 +34825,7 @@ type CreateFleetInput struct { // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). // At this point, no new EC2 Fleet requests are placed or able to fulfill the - // request. The default end date is 7 days from the current date. + // request. If no value is specified, the request remains until you cancel it. ValidUntil *time.Time `type:"timestamp"` } @@ -32009,7 +35058,7 @@ type CreateFlowLogsInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // The ARN for the IAM role that's used to post flow logs to a log group. @@ -32195,7 +35244,7 @@ type CreateFpgaImageInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + // of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // A description for the AFI. @@ -32674,7 +35723,9 @@ type CreateLaunchTemplateInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // + // Constraint: Maximum 128 ASCII characters. ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -32788,7 +35839,9 @@ type CreateLaunchTemplateVersionInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // + // Constraint: Maximum 128 ASCII characters. ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -32926,7 +35979,7 @@ type CreateNatGatewayInput struct { AllocationId *string `type:"string" required:"true"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). // // Constraint: Maximum 64 ASCII characters. ClientToken *string `type:"string"` @@ -33300,7 +36353,7 @@ type CreateNetworkInterfaceInput struct { // // The number of IP addresses you can assign to a network interface varies by // instance type. For more information, see IP Addresses Per ENI Per Instance - // Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) + // Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) // in the Amazon Virtual Private Cloud User Guide. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"` @@ -33528,17 +36581,16 @@ type CreatePlacementGroupInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // A name for the placement group. Must be unique within the scope of your account - // for the region. + // for the Region. // // Constraints: Up to 255 ASCII characters - // - // GroupName is a required field - GroupName *string `locationName:"groupName" type:"string" required:"true"` + GroupName *string `locationName:"groupName" type:"string"` + + // The number of partitions. Valid only when Strategy is set to partition. + PartitionCount *int64 `type:"integer"` // The placement strategy. - // - // Strategy is a required field - Strategy *string `locationName:"strategy" type:"string" required:"true" enum:"PlacementStrategy"` + Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"` } // String returns the string representation @@ -33551,22 +36603,6 @@ func (s CreatePlacementGroupInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreatePlacementGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreatePlacementGroupInput"} - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) - } - if s.Strategy == nil { - invalidParams.Add(request.NewErrParamRequired("Strategy")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetDryRun sets the DryRun field's value. func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput { s.DryRun = &v @@ -33579,6 +36615,12 @@ func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroup return s } +// SetPartitionCount sets the PartitionCount field's value. +func (s *CreatePlacementGroupInput) SetPartitionCount(v int64) *CreatePlacementGroupInput { + s.PartitionCount = &v + return s +} + // SetStrategy sets the Strategy field's value. func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput { s.Strategy = &v @@ -33605,7 +36647,7 @@ type CreateReservedInstancesListingInput struct { // Unique, case-sensitive identifier you provide to ensure idempotency of your // listings. This helps avoid duplicate listings. For more information, see - // Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). // // ClientToken is a required field ClientToken *string `locationName:"clientToken" type:"string" required:"true"` @@ -34331,6 +37373,9 @@ type CreateTagsInput struct { // The IDs of one or more resources, separated by spaces. // + // Constraints: Up to 1000 resource IDs. We recommend breaking up this request + // into smaller batches. + // // Resources is a required field Resources []*string `locationName:"ResourceId" type:"list" required:"true"` @@ -34840,16 +37885,16 @@ type CreateVolumeInput struct { // that are created from encrypted snapshots are automatically encrypted. There // is no way to create an encrypted volume from an unencrypted snapshot or vice // versa. If your AMI uses encrypted volumes, you can only launch it on supported - // instance types. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) + // instance types. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. Encrypted *bool `locationName:"encrypted" type:"boolean"` // The number of I/O operations per second (IOPS) to provision for the volume, - // with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000IOPS for volumes - // in most regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based - // instances (AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). + // with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000 IOPS for volumes + // in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based + // instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). // Other instance families guarantee performance up to 32,000 IOPS. For more - // information, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) + // information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon Elastic Compute Cloud User Guide. // // This parameter is valid only for Provisioned IOPS SSD (io1) volumes. @@ -34890,9 +37935,13 @@ type CreateVolumeInput struct { // // Default: If you're creating the volume from a snapshot and don't specify // a volume size, the default is the snapshot size. + // + // At least one of Size or SnapshotId are required. Size *int64 `type:"integer"` // The snapshot from which to create the volume. + // + // At least one of Size or SnapshotId are required. SnapshotId *string `type:"string"` // The tags to apply to the volume during creation. @@ -34905,7 +37954,7 @@ type CreateVolumeInput struct { // Defaults: If no volume type is specified, the default is standard in us-east-1, // eu-west-1, eu-central-1, us-west-2, us-west-1, sa-east-1, ap-northeast-1, // ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-south-1, us-gov-west-1, - // and cn-north-1. In all other regions, EBS defaults to gp2. + // and cn-north-1. In all other Regions, EBS defaults to gp2. VolumeType *string `type:"string" enum:"VolumeType"` } @@ -34986,17 +38035,15 @@ func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput { return s } -// Describes the user or group to be added or removed from the permissions for -// a volume. +// Describes the user or group to be added or removed from the list of create +// volume permissions for a volume. type CreateVolumePermission struct { _ struct{} `type:"structure"` - // The specific group that is to be added or removed from a volume's list of - // create volume permissions. + // The group to be added or removed. The possible value is all. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"` - // The specific AWS account ID that is to be added or removed from a volume's - // list of create volume permissions. + // The AWS account ID to be added or removed. UserId *string `locationName:"userId" type:"string"` } @@ -35022,16 +38069,14 @@ func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission { return s } -// Describes modifications to the permissions for a volume. +// Describes modifications to the list of create volume permissions for a volume. type CreateVolumePermissionModifications struct { _ struct{} `type:"structure"` - // Adds a specific AWS account ID or group to a volume's list of create volume - // permissions. + // Adds the specified AWS account ID or group to the list. Add []*CreateVolumePermission `locationNameList:"item" type:"list"` - // Removes a specific AWS account ID or group from a volume's list of create - // volume permissions. + // Removes the specified AWS account ID or group from the list. Remove []*CreateVolumePermission `locationNameList:"item" type:"list"` } @@ -35061,7 +38106,7 @@ type CreateVpcEndpointConnectionNotificationInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // One or more endpoint events for which to receive notifications. Valid values @@ -35188,7 +38233,7 @@ type CreateVpcEndpointInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -35197,10 +38242,9 @@ type CreateVpcEndpointInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // (Gateway endpoint) A policy to attach to the endpoint that controls access - // to the service. The policy must be in valid JSON format. If this parameter - // is not specified, we attach a default policy that allows full access to the - // service. + // A policy to attach to the endpoint that controls access to the service. The + // policy must be in valid JSON format. If this parameter is not specified, + // we attach a default policy that allows full access to the service. PolicyDocument *string `type:"string"` // (Interface endpoint) Indicate whether to associate a private hosted zone @@ -35374,7 +38418,7 @@ type CreateVpcEndpointServiceConfigurationInput struct { AcceptanceRequired *bool `type:"boolean"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + // the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -36081,6 +39125,175 @@ func (s *CustomerGateway) SetType(v string) *CustomerGateway { return s } +type DeleteClientVpnEndpointInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN to be deleted. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s DeleteClientVpnEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClientVpnEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteClientVpnEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnEndpointInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DeleteClientVpnEndpointInput) SetClientVpnEndpointId(v string) *DeleteClientVpnEndpointInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteClientVpnEndpointInput) SetDryRun(v bool) *DeleteClientVpnEndpointInput { + s.DryRun = &v + return s +} + +type DeleteClientVpnEndpointOutput struct { + _ struct{} `type:"structure"` + + // The current state of the Client VPN endpoint. + Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s DeleteClientVpnEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClientVpnEndpointOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *DeleteClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *DeleteClientVpnEndpointOutput { + s.Status = v + return s +} + +type DeleteClientVpnRouteInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint from which the route is to be deleted. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // The IPv4 address range, in CIDR notation, of the route to be deleted. + // + // DestinationCidrBlock is a required field + DestinationCidrBlock *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the target subnet used by the route. + TargetVpcSubnetId *string `type:"string"` +} + +// String returns the string representation +func (s DeleteClientVpnRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClientVpnRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteClientVpnRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnRouteInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.DestinationCidrBlock == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DeleteClientVpnRouteInput) SetClientVpnEndpointId(v string) *DeleteClientVpnRouteInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDestinationCidrBlock sets the DestinationCidrBlock field's value. +func (s *DeleteClientVpnRouteInput) SetDestinationCidrBlock(v string) *DeleteClientVpnRouteInput { + s.DestinationCidrBlock = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteClientVpnRouteInput) SetDryRun(v bool) *DeleteClientVpnRouteInput { + s.DryRun = &v + return s +} + +// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value. +func (s *DeleteClientVpnRouteInput) SetTargetVpcSubnetId(v string) *DeleteClientVpnRouteInput { + s.TargetVpcSubnetId = &v + return s +} + +type DeleteClientVpnRouteOutput struct { + _ struct{} `type:"structure"` + + // The current state of the route. + Status *ClientVpnRouteStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s DeleteClientVpnRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClientVpnRouteOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *DeleteClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *DeleteClientVpnRouteOutput { + s.Status = v + return s +} + // Contains the parameters for DeleteCustomerGateway. type DeleteCustomerGatewayInput struct { _ struct{} `type:"structure"` @@ -37861,6 +41074,9 @@ type DeleteTagsInput struct { // The IDs of one or more resources, separated by spaces. // + // Constraints: Up to 1000 resource IDs. We recommend breaking up this request + // into smaller batches. + // // Resources is a required field Resources []*string `locationName:"resourceId" type:"list" required:"true"` @@ -39100,7 +42316,7 @@ type DescribeAddressesInput struct { // the tag value. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // [EC2-Classic] One or more Elastic IP addresses. + // One or more Elastic IP addresses. // // Default: Describes all your Elastic IP addresses. PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"` @@ -39202,243 +42418,798 @@ type DescribeAggregateIdFormatOutput struct { } // String returns the string representation -func (s DescribeAggregateIdFormatOutput) String() string { +func (s DescribeAggregateIdFormatOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAggregateIdFormatOutput) GoString() string { + return s.String() +} + +// SetStatuses sets the Statuses field's value. +func (s *DescribeAggregateIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeAggregateIdFormatOutput { + s.Statuses = v + return s +} + +// SetUseLongIdsAggregated sets the UseLongIdsAggregated field's value. +func (s *DescribeAggregateIdFormatOutput) SetUseLongIdsAggregated(v bool) *DescribeAggregateIdFormatOutput { + s.UseLongIdsAggregated = &v + return s +} + +type DescribeAvailabilityZonesInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `locationName:"dryRun" type:"boolean"` + + // One or more filters. + // + // * message - Information about the Availability Zone. + // + // * region-name - The name of the region for the Availability Zone (for + // example, us-east-1). + // + // * state - The state of the Availability Zone (available | information + // | impaired | unavailable). + // + // * zone-id - The ID of the Availability Zone (for example, use1-az1). + // + // * zone-name - The name of the Availability Zone (for example, us-east-1a). + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The IDs of one or more Availability Zones. + ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"` + + // The names of one or more Availability Zones. + ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"` +} + +// String returns the string representation +func (s DescribeAvailabilityZonesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAvailabilityZonesInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput { + s.Filters = v + return s +} + +// SetZoneIds sets the ZoneIds field's value. +func (s *DescribeAvailabilityZonesInput) SetZoneIds(v []*string) *DescribeAvailabilityZonesInput { + s.ZoneIds = v + return s +} + +// SetZoneNames sets the ZoneNames field's value. +func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput { + s.ZoneNames = v + return s +} + +type DescribeAvailabilityZonesOutput struct { + _ struct{} `type:"structure"` + + // Information about one or more Availability Zones. + AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeAvailabilityZonesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAvailabilityZonesOutput) GoString() string { + return s.String() +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput { + s.AvailabilityZones = v + return s +} + +// Contains the parameters for DescribeBundleTasks. +type DescribeBundleTasksInput struct { + _ struct{} `type:"structure"` + + // One or more bundle task IDs. + // + // Default: Describes all your bundle tasks. + BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `locationName:"dryRun" type:"boolean"` + + // One or more filters. + // + // * bundle-id - The ID of the bundle task. + // + // * error-code - If the task failed, the error code returned. + // + // * error-message - If the task failed, the error message returned. + // + // * instance-id - The ID of the instance. + // + // * progress - The level of task completion, as a percentage (for example, + // 20%). + // + // * s3-bucket - The Amazon S3 bucket to store the AMI. + // + // * s3-prefix - The beginning of the AMI name. + // + // * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z). + // + // * state - The state of the task (pending | waiting-for-shutdown | bundling + // | storing | cancelling | complete | failed). + // + // * update-time - The time of the most recent update for the task. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` +} + +// String returns the string representation +func (s DescribeBundleTasksInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBundleTasksInput) GoString() string { + return s.String() +} + +// SetBundleIds sets the BundleIds field's value. +func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput { + s.BundleIds = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput { + s.Filters = v + return s +} + +// Contains the output of DescribeBundleTasks. +type DescribeBundleTasksOutput struct { + _ struct{} `type:"structure"` + + // Information about one or more bundle tasks. + BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeBundleTasksOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBundleTasksOutput) GoString() string { + return s.String() +} + +// SetBundleTasks sets the BundleTasks field's value. +func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput { + s.BundleTasks = v + return s +} + +type DescribeByoipCidrsInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + // + // MaxResults is a required field + MaxResults *int64 `min:"5" type:"integer" required:"true"` + + // The token for the next page of results. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeByoipCidrsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeByoipCidrsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeByoipCidrsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeByoipCidrsInput"} + if s.MaxResults == nil { + invalidParams.Add(request.NewErrParamRequired("MaxResults")) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeByoipCidrsInput) SetDryRun(v bool) *DescribeByoipCidrsInput { + s.DryRun = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeByoipCidrsInput) SetMaxResults(v int64) *DescribeByoipCidrsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeByoipCidrsInput) SetNextToken(v string) *DescribeByoipCidrsInput { + s.NextToken = &v + return s +} + +type DescribeByoipCidrsOutput struct { + _ struct{} `type:"structure"` + + // Information about your address ranges. + ByoipCidrs []*ByoipCidr `locationName:"byoipCidrSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeByoipCidrsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeByoipCidrsOutput) GoString() string { + return s.String() +} + +// SetByoipCidrs sets the ByoipCidrs field's value. +func (s *DescribeByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *DescribeByoipCidrsOutput { + s.ByoipCidrs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeByoipCidrsOutput) SetNextToken(v string) *DescribeByoipCidrsOutput { + s.NextToken = &v + return s +} + +type DescribeCapacityReservationsInput struct { + _ struct{} `type:"structure"` + + // The ID of the Capacity Reservation. + CapacityReservationIds []*string `locationName:"CapacityReservationId" locationNameList:"item" type:"list"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // One or more filters. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the returned + // nextToken value. + MaxResults *int64 `type:"integer"` + + // The token to retrieve the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeCapacityReservationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCapacityReservationsInput) GoString() string { + return s.String() +} + +// SetCapacityReservationIds sets the CapacityReservationIds field's value. +func (s *DescribeCapacityReservationsInput) SetCapacityReservationIds(v []*string) *DescribeCapacityReservationsInput { + s.CapacityReservationIds = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeCapacityReservationsInput) SetDryRun(v bool) *DescribeCapacityReservationsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeCapacityReservationsInput) SetFilters(v []*Filter) *DescribeCapacityReservationsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeCapacityReservationsInput) SetMaxResults(v int64) *DescribeCapacityReservationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeCapacityReservationsInput) SetNextToken(v string) *DescribeCapacityReservationsInput { + s.NextToken = &v + return s +} + +type DescribeCapacityReservationsOutput struct { + _ struct{} `type:"structure"` + + // Information about the Capacity Reservations. + CapacityReservations []*CapacityReservation `locationName:"capacityReservationSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeCapacityReservationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCapacityReservationsOutput) GoString() string { + return s.String() +} + +// SetCapacityReservations sets the CapacityReservations field's value. +func (s *DescribeCapacityReservationsOutput) SetCapacityReservations(v []*CapacityReservation) *DescribeCapacityReservationsOutput { + s.CapacityReservations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeCapacityReservationsOutput) SetNextToken(v string) *DescribeCapacityReservationsOutput { + s.NextToken = &v + return s +} + +type DescribeClassicLinkInstancesInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `locationName:"dryRun" type:"boolean"` + + // One or more filters. + // + // * group-id - The ID of a VPC security group that's associated with the + // instance. + // + // * instance-id - The ID of the instance. + // + // * tag: - The key/value combination of a tag assigned to the resource. + // Use the tag key in the filter name and the tag value as the filter value. + // For example, to find all resources that have a tag with the key Owner + // and the value TeamA, specify tag:Owner for the filter name and TeamA for + // the filter value. + // + // * tag-key - The key of a tag assigned to the resource. Use this filter + // to find all resources assigned a tag with a specific key, regardless of + // the tag value. + // + // * vpc-id - The ID of the VPC to which the instance is linked. + // + // vpc-id - The ID of the VPC that the instance is linked to. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // One or more instance IDs. Must be instances linked to a VPC through ClassicLink. + InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"` + + // The maximum number of results to return for the request in a single page. + // The remaining results of the initial request can be seen by sending another + // request with the returned NextToken value. This value can be between 5 and + // 1000. If MaxResults is given a value larger than 1000, only 1000 results + // are returned. You cannot specify this parameter and the instance IDs parameter + // in the same request. + // + // Constraint: If the value is greater than 1000, we return only 1000 items. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The token to retrieve the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeClassicLinkInstancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeClassicLinkInstancesInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput { + s.Filters = v + return s +} + +// SetInstanceIds sets the InstanceIds field's value. +func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput { + s.InstanceIds = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput { + s.NextToken = &v + return s +} + +type DescribeClassicLinkInstancesOutput struct { + _ struct{} `type:"structure"` + + // Information about one or more linked EC2-Classic instances. + Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeClassicLinkInstancesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeAggregateIdFormatOutput) GoString() string { +func (s DescribeClassicLinkInstancesOutput) GoString() string { return s.String() } -// SetStatuses sets the Statuses field's value. -func (s *DescribeAggregateIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeAggregateIdFormatOutput { - s.Statuses = v +// SetInstances sets the Instances field's value. +func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput { + s.Instances = v return s } -// SetUseLongIdsAggregated sets the UseLongIdsAggregated field's value. -func (s *DescribeAggregateIdFormatOutput) SetUseLongIdsAggregated(v bool) *DescribeAggregateIdFormatOutput { - s.UseLongIdsAggregated = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput { + s.NextToken = &v return s } -type DescribeAvailabilityZonesInput struct { +type DescribeClientVpnAuthorizationRulesInput struct { _ struct{} `type:"structure"` + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. - DryRun *bool `locationName:"dryRun" type:"boolean"` + DryRun *bool `type:"boolean"` - // One or more filters. - // - // * message - Information about the Availability Zone. - // - // * region-name - The name of the region for the Availability Zone (for - // example, us-east-1). - // - // * state - The state of the Availability Zone (available | information - // | impaired | unavailable). - // - // * zone-id - The ID of the Availability Zone (for example, use1-az1). - // - // * zone-name - The name of the Availability Zone (for example, us-east-1a). + // One or more filters. Filter names and values are case-sensitive. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // The IDs of one or more Availability Zones. - ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"` + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the nextToken + // value. + MaxResults *int64 `min:"5" type:"integer"` - // The names of one or more Availability Zones. - ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"` + // The token to retrieve the next page of results. + NextToken *string `min:"1" type:"string"` } // String returns the string representation -func (s DescribeAvailabilityZonesInput) String() string { +func (s DescribeClientVpnAuthorizationRulesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeAvailabilityZonesInput) GoString() string { +func (s DescribeClientVpnAuthorizationRulesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClientVpnAuthorizationRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnAuthorizationRulesInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DescribeClientVpnAuthorizationRulesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnAuthorizationRulesInput { + s.ClientVpnEndpointId = &v + return s +} + // SetDryRun sets the DryRun field's value. -func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput { +func (s *DescribeClientVpnAuthorizationRulesInput) SetDryRun(v bool) *DescribeClientVpnAuthorizationRulesInput { s.DryRun = &v return s } // SetFilters sets the Filters field's value. -func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput { +func (s *DescribeClientVpnAuthorizationRulesInput) SetFilters(v []*Filter) *DescribeClientVpnAuthorizationRulesInput { s.Filters = v return s } -// SetZoneIds sets the ZoneIds field's value. -func (s *DescribeAvailabilityZonesInput) SetZoneIds(v []*string) *DescribeAvailabilityZonesInput { - s.ZoneIds = v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeClientVpnAuthorizationRulesInput) SetMaxResults(v int64) *DescribeClientVpnAuthorizationRulesInput { + s.MaxResults = &v return s } -// SetZoneNames sets the ZoneNames field's value. -func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput { - s.ZoneNames = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeClientVpnAuthorizationRulesInput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesInput { + s.NextToken = &v return s } -type DescribeAvailabilityZonesOutput struct { +type DescribeClientVpnAuthorizationRulesOutput struct { _ struct{} `type:"structure"` - // Information about one or more Availability Zones. - AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"` + // Information about the authorization rules. + AuthorizationRules []*AuthorizationRule `locationName:"authorizationRule" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation -func (s DescribeAvailabilityZonesOutput) String() string { +func (s DescribeClientVpnAuthorizationRulesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeAvailabilityZonesOutput) GoString() string { +func (s DescribeClientVpnAuthorizationRulesOutput) GoString() string { return s.String() } -// SetAvailabilityZones sets the AvailabilityZones field's value. -func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput { - s.AvailabilityZones = v +// SetAuthorizationRules sets the AuthorizationRules field's value. +func (s *DescribeClientVpnAuthorizationRulesOutput) SetAuthorizationRules(v []*AuthorizationRule) *DescribeClientVpnAuthorizationRulesOutput { + s.AuthorizationRules = v return s } -// Contains the parameters for DescribeBundleTasks. -type DescribeBundleTasksInput struct { +// SetNextToken sets the NextToken field's value. +func (s *DescribeClientVpnAuthorizationRulesOutput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesOutput { + s.NextToken = &v + return s +} + +type DescribeClientVpnConnectionsInput struct { _ struct{} `type:"structure"` - // One or more bundle task IDs. + // The ID of the Client VPN endpoint. // - // Default: Describes all your bundle tasks. - BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"` + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. - DryRun *bool `locationName:"dryRun" type:"boolean"` + DryRun *bool `type:"boolean"` - // One or more filters. - // - // * bundle-id - The ID of the bundle task. - // - // * error-code - If the task failed, the error code returned. - // - // * error-message - If the task failed, the error message returned. - // - // * instance-id - The ID of the instance. - // - // * progress - The level of task completion, as a percentage (for example, - // 20%). - // - // * s3-bucket - The Amazon S3 bucket to store the AMI. - // - // * s3-prefix - The beginning of the AMI name. - // - // * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z). - // - // * state - The state of the task (pending | waiting-for-shutdown | bundling - // | storing | cancelling | complete | failed). - // - // * update-time - The time of the most recent update for the task. + // One or more filters. Filter names and values are case-sensitive. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the nextToken + // value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token to retrieve the next page of results. + NextToken *string `min:"1" type:"string"` } // String returns the string representation -func (s DescribeBundleTasksInput) String() string { +func (s DescribeClientVpnConnectionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeBundleTasksInput) GoString() string { +func (s DescribeClientVpnConnectionsInput) GoString() string { return s.String() } -// SetBundleIds sets the BundleIds field's value. -func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput { - s.BundleIds = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClientVpnConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnConnectionsInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DescribeClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *DescribeClientVpnConnectionsInput { + s.ClientVpnEndpointId = &v return s } // SetDryRun sets the DryRun field's value. -func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput { +func (s *DescribeClientVpnConnectionsInput) SetDryRun(v bool) *DescribeClientVpnConnectionsInput { s.DryRun = &v return s } // SetFilters sets the Filters field's value. -func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput { +func (s *DescribeClientVpnConnectionsInput) SetFilters(v []*Filter) *DescribeClientVpnConnectionsInput { s.Filters = v return s } -// Contains the output of DescribeBundleTasks. -type DescribeBundleTasksOutput struct { +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeClientVpnConnectionsInput) SetMaxResults(v int64) *DescribeClientVpnConnectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeClientVpnConnectionsInput) SetNextToken(v string) *DescribeClientVpnConnectionsInput { + s.NextToken = &v + return s +} + +type DescribeClientVpnConnectionsOutput struct { _ struct{} `type:"structure"` - // Information about one or more bundle tasks. - BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"` + // Information about the active and terminated client connections. + Connections []*ClientVpnConnection `locationName:"connections" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation -func (s DescribeBundleTasksOutput) String() string { +func (s DescribeClientVpnConnectionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeBundleTasksOutput) GoString() string { +func (s DescribeClientVpnConnectionsOutput) GoString() string { return s.String() } -// SetBundleTasks sets the BundleTasks field's value. -func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput { - s.BundleTasks = v +// SetConnections sets the Connections field's value. +func (s *DescribeClientVpnConnectionsOutput) SetConnections(v []*ClientVpnConnection) *DescribeClientVpnConnectionsOutput { + s.Connections = v return s } -type DescribeByoipCidrsInput struct { +// SetNextToken sets the NextToken field's value. +func (s *DescribeClientVpnConnectionsOutput) SetNextToken(v string) *DescribeClientVpnConnectionsOutput { + s.NextToken = &v + return s +} + +type DescribeClientVpnEndpointsInput struct { _ struct{} `type:"structure"` + // The ID of the Client VPN endpoint. + ClientVpnEndpointIds []*string `locationName:"ClientVpnEndpointId" locationNameList:"item" type:"list"` + // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // The maximum number of results to return with a single call. To retrieve the - // remaining results, make another call with the returned nextToken value. - // - // MaxResults is a required field - MaxResults *int64 `min:"5" type:"integer" required:"true"` + // One or more filters. Filter names and values are case-sensitive. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // The token for the next page of results. + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the nextToken + // value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token to retrieve the next page of results. NextToken *string `min:"1" type:"string"` } // String returns the string representation -func (s DescribeByoipCidrsInput) String() string { +func (s DescribeClientVpnEndpointsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeByoipCidrsInput) GoString() string { +func (s DescribeClientVpnEndpointsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeByoipCidrsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeByoipCidrsInput"} - if s.MaxResults == nil { - invalidParams.Add(request.NewErrParamRequired("MaxResults")) - } +func (s *DescribeClientVpnEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnEndpointsInput"} if s.MaxResults != nil && *s.MaxResults < 5 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) } @@ -39452,62 +43223,76 @@ func (s *DescribeByoipCidrsInput) Validate() error { return nil } +// SetClientVpnEndpointIds sets the ClientVpnEndpointIds field's value. +func (s *DescribeClientVpnEndpointsInput) SetClientVpnEndpointIds(v []*string) *DescribeClientVpnEndpointsInput { + s.ClientVpnEndpointIds = v + return s +} + // SetDryRun sets the DryRun field's value. -func (s *DescribeByoipCidrsInput) SetDryRun(v bool) *DescribeByoipCidrsInput { +func (s *DescribeClientVpnEndpointsInput) SetDryRun(v bool) *DescribeClientVpnEndpointsInput { s.DryRun = &v return s } +// SetFilters sets the Filters field's value. +func (s *DescribeClientVpnEndpointsInput) SetFilters(v []*Filter) *DescribeClientVpnEndpointsInput { + s.Filters = v + return s +} + // SetMaxResults sets the MaxResults field's value. -func (s *DescribeByoipCidrsInput) SetMaxResults(v int64) *DescribeByoipCidrsInput { +func (s *DescribeClientVpnEndpointsInput) SetMaxResults(v int64) *DescribeClientVpnEndpointsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeByoipCidrsInput) SetNextToken(v string) *DescribeByoipCidrsInput { +func (s *DescribeClientVpnEndpointsInput) SetNextToken(v string) *DescribeClientVpnEndpointsInput { s.NextToken = &v return s } -type DescribeByoipCidrsOutput struct { +type DescribeClientVpnEndpointsOutput struct { _ struct{} `type:"structure"` - // Information about your address ranges. - ByoipCidrs []*ByoipCidr `locationName:"byoipCidrSet" locationNameList:"item" type:"list"` + // Information about the Client VPN endpoints. + ClientVpnEndpoints []*ClientVpnEndpoint `locationName:"clientVpnEndpoint" locationNameList:"item" type:"list"` // The token to use to retrieve the next page of results. This value is null // when there are no more results to return. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation -func (s DescribeByoipCidrsOutput) String() string { +func (s DescribeClientVpnEndpointsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeByoipCidrsOutput) GoString() string { +func (s DescribeClientVpnEndpointsOutput) GoString() string { return s.String() } -// SetByoipCidrs sets the ByoipCidrs field's value. -func (s *DescribeByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *DescribeByoipCidrsOutput { - s.ByoipCidrs = v +// SetClientVpnEndpoints sets the ClientVpnEndpoints field's value. +func (s *DescribeClientVpnEndpointsOutput) SetClientVpnEndpoints(v []*ClientVpnEndpoint) *DescribeClientVpnEndpointsOutput { + s.ClientVpnEndpoints = v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeByoipCidrsOutput) SetNextToken(v string) *DescribeByoipCidrsOutput { +func (s *DescribeClientVpnEndpointsOutput) SetNextToken(v string) *DescribeClientVpnEndpointsOutput { s.NextToken = &v return s } -type DescribeCapacityReservationsInput struct { +type DescribeClientVpnRoutesInput struct { _ struct{} `type:"structure"` - // The ID of the Capacity Reservation. - CapacityReservationIds []*string `locationName:"CapacityReservationId" locationNameList:"item" type:"list"` + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -39515,208 +43300,233 @@ type DescribeCapacityReservationsInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // One or more filters. + // One or more filters. Filter names and values are case-sensitive. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of results to return for the request in a single page. - // The remaining results can be seen by sending another request with the returned - // nextToken value. - MaxResults *int64 `type:"integer"` + // The remaining results can be seen by sending another request with the nextToken + // value. + MaxResults *int64 `min:"5" type:"integer"` // The token to retrieve the next page of results. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` } // String returns the string representation -func (s DescribeCapacityReservationsInput) String() string { +func (s DescribeClientVpnRoutesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeCapacityReservationsInput) GoString() string { +func (s DescribeClientVpnRoutesInput) GoString() string { return s.String() } -// SetCapacityReservationIds sets the CapacityReservationIds field's value. -func (s *DescribeCapacityReservationsInput) SetCapacityReservationIds(v []*string) *DescribeCapacityReservationsInput { - s.CapacityReservationIds = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClientVpnRoutesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnRoutesInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DescribeClientVpnRoutesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnRoutesInput { + s.ClientVpnEndpointId = &v return s } // SetDryRun sets the DryRun field's value. -func (s *DescribeCapacityReservationsInput) SetDryRun(v bool) *DescribeCapacityReservationsInput { +func (s *DescribeClientVpnRoutesInput) SetDryRun(v bool) *DescribeClientVpnRoutesInput { s.DryRun = &v return s } // SetFilters sets the Filters field's value. -func (s *DescribeCapacityReservationsInput) SetFilters(v []*Filter) *DescribeCapacityReservationsInput { +func (s *DescribeClientVpnRoutesInput) SetFilters(v []*Filter) *DescribeClientVpnRoutesInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *DescribeCapacityReservationsInput) SetMaxResults(v int64) *DescribeCapacityReservationsInput { +func (s *DescribeClientVpnRoutesInput) SetMaxResults(v int64) *DescribeClientVpnRoutesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeCapacityReservationsInput) SetNextToken(v string) *DescribeCapacityReservationsInput { +func (s *DescribeClientVpnRoutesInput) SetNextToken(v string) *DescribeClientVpnRoutesInput { s.NextToken = &v return s } -type DescribeCapacityReservationsOutput struct { +type DescribeClientVpnRoutesOutput struct { _ struct{} `type:"structure"` - // Information about the Capacity Reservations. - CapacityReservations []*CapacityReservation `locationName:"capacityReservationSet" locationNameList:"item" type:"list"` - // The token to use to retrieve the next page of results. This value is null // when there are no more results to return. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // Information about the Client VPN endpoint routes. + Routes []*ClientVpnRoute `locationName:"routes" locationNameList:"item" type:"list"` } // String returns the string representation -func (s DescribeCapacityReservationsOutput) String() string { +func (s DescribeClientVpnRoutesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeCapacityReservationsOutput) GoString() string { +func (s DescribeClientVpnRoutesOutput) GoString() string { return s.String() } -// SetCapacityReservations sets the CapacityReservations field's value. -func (s *DescribeCapacityReservationsOutput) SetCapacityReservations(v []*CapacityReservation) *DescribeCapacityReservationsOutput { - s.CapacityReservations = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeClientVpnRoutesOutput) SetNextToken(v string) *DescribeClientVpnRoutesOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeCapacityReservationsOutput) SetNextToken(v string) *DescribeCapacityReservationsOutput { - s.NextToken = &v +// SetRoutes sets the Routes field's value. +func (s *DescribeClientVpnRoutesOutput) SetRoutes(v []*ClientVpnRoute) *DescribeClientVpnRoutesOutput { + s.Routes = v return s } -type DescribeClassicLinkInstancesInput struct { +type DescribeClientVpnTargetNetworksInput struct { _ struct{} `type:"structure"` + // The IDs of the target network associations. + AssociationIds []*string `locationNameList:"item" type:"list"` + + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. - DryRun *bool `locationName:"dryRun" type:"boolean"` + DryRun *bool `type:"boolean"` - // One or more filters. - // - // * group-id - The ID of a VPC security group that's associated with the - // instance. - // - // * instance-id - The ID of the instance. - // - // * tag: - The key/value combination of a tag assigned to the resource. - // Use the tag key in the filter name and the tag value as the filter value. - // For example, to find all resources that have a tag with the key Owner - // and the value TeamA, specify tag:Owner for the filter name and TeamA for - // the filter value. - // - // * tag-key - The key of a tag assigned to the resource. Use this filter - // to find all resources assigned a tag with a specific key, regardless of - // the tag value. - // - // * vpc-id - The ID of the VPC to which the instance is linked. - // - // vpc-id - The ID of the VPC that the instance is linked to. + // One or more filters. Filter names and values are case-sensitive. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // One or more instance IDs. Must be instances linked to a VPC through ClassicLink. - InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"` - // The maximum number of results to return for the request in a single page. - // The remaining results of the initial request can be seen by sending another - // request with the returned NextToken value. This value can be between 5 and - // 1000. If MaxResults is given a value larger than 1000, only 1000 results - // are returned. You cannot specify this parameter and the instance IDs parameter - // in the same request. - // - // Constraint: If the value is greater than 1000, we return only 1000 items. - MaxResults *int64 `locationName:"maxResults" type:"integer"` + // The remaining results can be seen by sending another request with the nextToken + // value. + MaxResults *int64 `min:"5" type:"integer"` // The token to retrieve the next page of results. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `min:"1" type:"string"` } // String returns the string representation -func (s DescribeClassicLinkInstancesInput) String() string { +func (s DescribeClientVpnTargetNetworksInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeClassicLinkInstancesInput) GoString() string { +func (s DescribeClientVpnTargetNetworksInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClientVpnTargetNetworksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnTargetNetworksInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociationIds sets the AssociationIds field's value. +func (s *DescribeClientVpnTargetNetworksInput) SetAssociationIds(v []*string) *DescribeClientVpnTargetNetworksInput { + s.AssociationIds = v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DescribeClientVpnTargetNetworksInput) SetClientVpnEndpointId(v string) *DescribeClientVpnTargetNetworksInput { + s.ClientVpnEndpointId = &v + return s +} + // SetDryRun sets the DryRun field's value. -func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput { +func (s *DescribeClientVpnTargetNetworksInput) SetDryRun(v bool) *DescribeClientVpnTargetNetworksInput { s.DryRun = &v return s } // SetFilters sets the Filters field's value. -func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput { +func (s *DescribeClientVpnTargetNetworksInput) SetFilters(v []*Filter) *DescribeClientVpnTargetNetworksInput { s.Filters = v return s } -// SetInstanceIds sets the InstanceIds field's value. -func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput { - s.InstanceIds = v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput { +func (s *DescribeClientVpnTargetNetworksInput) SetMaxResults(v int64) *DescribeClientVpnTargetNetworksInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput { +func (s *DescribeClientVpnTargetNetworksInput) SetNextToken(v string) *DescribeClientVpnTargetNetworksInput { s.NextToken = &v return s } -type DescribeClassicLinkInstancesOutput struct { +type DescribeClientVpnTargetNetworksOutput struct { _ struct{} `type:"structure"` - // Information about one or more linked EC2-Classic instances. - Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"` + // Information about the associated target networks. + ClientVpnTargetNetworks []*TargetNetwork `locationName:"clientVpnTargetNetworks" locationNameList:"item" type:"list"` // The token to use to retrieve the next page of results. This value is null // when there are no more results to return. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation -func (s DescribeClassicLinkInstancesOutput) String() string { +func (s DescribeClientVpnTargetNetworksOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeClassicLinkInstancesOutput) GoString() string { +func (s DescribeClientVpnTargetNetworksOutput) GoString() string { return s.String() } -// SetInstances sets the Instances field's value. -func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput { - s.Instances = v +// SetClientVpnTargetNetworks sets the ClientVpnTargetNetworks field's value. +func (s *DescribeClientVpnTargetNetworksOutput) SetClientVpnTargetNetworks(v []*TargetNetwork) *DescribeClientVpnTargetNetworksOutput { + s.ClientVpnTargetNetworks = v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput { +func (s *DescribeClientVpnTargetNetworksOutput) SetNextToken(v string) *DescribeClientVpnTargetNetworksOutput { s.NextToken = &v return s } @@ -40226,11 +44036,11 @@ type DescribeFleetError struct { _ struct{} `type:"structure"` // The error code that indicates why the instance could not be launched. For - // more information about error codes, see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). + // more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). ErrorCode *string `locationName:"errorCode" type:"string"` // The error message that describes why the instance could not be launched. - // For more information about error messages, see ee Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). + // For more information about error messages, see ee Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). ErrorMessage *string `locationName:"errorMessage" type:"string"` // The launch templates and overrides that were used for launching the instances. @@ -41820,6 +45630,9 @@ type DescribeImagesInput struct { // * block-device-mapping.volume-type - The volume type of the EBS volume // (gp2 | io1 | st1 | sc1 | standard). // + // * block-device-mapping.encrypted - A Boolean that indicates whether the + // EBS volume is encrypted. + // // * description - The description of the image (provided during image creation). // // * ena-support - A Boolean that indicates whether enhanced networking with @@ -42401,7 +46214,7 @@ type DescribeInstanceCreditSpecificationsInput struct { // remaining results, make another call with the returned NextToken value. This // value can be between 5 and 1000. You cannot specify this parameter and the // instance IDs parameter in the same call. - MaxResults *int64 `type:"integer"` + MaxResults *int64 `min:"5" type:"integer"` // The token to retrieve the next page of results. NextToken *string `type:"string"` @@ -42417,6 +46230,19 @@ func (s DescribeInstanceCreditSpecificationsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInstanceCreditSpecificationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceCreditSpecificationsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeInstanceCreditSpecificationsInput) SetDryRun(v bool) *DescribeInstanceCreditSpecificationsInput { s.DryRun = &v @@ -42498,12 +46324,18 @@ type DescribeInstanceStatusInput struct { // // * event.description - A description of the event. // + // * event.instance-event-id - The ID of the event whose date and time you + // are modifying. + // // * event.not-after - The latest end time for the scheduled event (for example, // 2014-09-15T17:15:20.000Z). // // * event.not-before - The earliest start time for the scheduled event (for // example, 2014-09-15T17:15:20.000Z). // + // * event.not-before-deadline - The deadline for starting the event (for + // example, 2014-09-15T17:15:20.000Z). + // // * instance-state-code - The code for the instance state, as a 16-bit unsigned // integer. The high byte is used for internal purposes and should be ignored. // The low byte is set based on the state represented. The valid values are @@ -42811,6 +46643,9 @@ type DescribeInstancesInput struct { // // * placement-group-name - The name of the placement group for the instance. // + // * placement-partition-number - The partition in which the instance is + // located. + // // * platform - The platform. Use windows if you have Windows instances; // otherwise, leave blank. // @@ -44178,7 +48013,7 @@ type DescribePlacementGroupsInput struct { // * state - The state of the placement group (pending | available | deleting // | deleted). // - // * strategy - The strategy of the placement group (cluster | spread). + // * strategy - The strategy of the placement group (cluster | spread | partition). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more placement group names. @@ -44959,7 +48794,7 @@ type DescribeReservedInstancesOfferingsInput struct { InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"` // The instance type that the reservation will cover (for example, m1.small). - // For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. InstanceType *string `type:"string" enum:"InstanceType"` @@ -45939,10 +49774,11 @@ func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapsh type DescribeSnapshotAttributeOutput struct { _ struct{} `type:"structure"` - // A list of permissions for creating volumes from the snapshot. + // The users and groups that have the permissions for creating volumes from + // the snapshot. CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"` - // A list of product codes. + // The product codes. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"` // The ID of the EBS snapshot. @@ -46039,8 +49875,7 @@ type DescribeSnapshotsInput struct { // to return. NextToken *string `type:"string"` - // Returns the snapshots owned by the specified owner. Multiple owners can be - // specified. + // Describes the snapshots owned by one or more owners. OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"` // One or more AWS accounts IDs that can create volumes from the snapshot. @@ -46048,7 +49883,7 @@ type DescribeSnapshotsInput struct { // One or more snapshot IDs. // - // Default: Describes snapshots for which you have launch permissions. + // Default: Describes the snapshots for which you have create volume permissions. SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"` } @@ -46268,18 +50103,14 @@ type DescribeSpotFleetInstancesOutput struct { // The running instances. This list is refreshed periodically and might be out // of date. - // - // ActiveInstances is a required field - ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list" required:"true"` + ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"` // The token required to retrieve the next set of results. This value is null // when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` // The ID of the Spot Fleet request. - // - // SpotFleetRequestId is a required field - SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` + SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"` } // String returns the string representation @@ -46409,31 +50240,23 @@ type DescribeSpotFleetRequestHistoryOutput struct { _ struct{} `type:"structure"` // Information about the events in the history of the Spot Fleet request. - // - // HistoryRecords is a required field - HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list" required:"true"` + HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list"` // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). // All records up to this time were retrieved. // // If nextToken indicates that there are more results, this value is not present. - // - // LastEvaluatedTime is a required field - LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" required:"true"` + LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"` // The token required to retrieve the next set of results. This value is null // when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` // The ID of the Spot Fleet request. - // - // SpotFleetRequestId is a required field - SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` + SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"` // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). - // - // StartTime is a required field - StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"` + StartTime *time.Time `locationName:"startTime" type:"timestamp"` } // String returns the string representation @@ -46541,9 +50364,7 @@ type DescribeSpotFleetRequestsOutput struct { NextToken *string `locationName:"nextToken" type:"string"` // Information about the configuration of your Spot Fleet. - // - // SpotFleetRequestConfigs is a required field - SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list" required:"true"` + SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list"` } // String returns the string representation @@ -46660,7 +50481,7 @@ type DescribeSpotInstanceRequestsInput struct { // * state - The state of the Spot Instance request (open | active | closed // | cancelled | failed). Spot request status information can help you track // your Amazon EC2 Spot Instance requests. For more information, see Spot - // Request Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) + // Request Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) // in the Amazon EC2 User Guide for Linux Instances. // // * status-code - The short code describing the most recent evaluation of @@ -46686,6 +50507,15 @@ type DescribeSpotInstanceRequestsInput struct { // * valid-until - The end date of the request. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + // The maximum number of results to return in a single call. Specify a value + // between 5 and 1000. To retrieve the remaining results, make another call + // with the returned NextToken value. + MaxResults *int64 `type:"integer"` + + // The token to request the next set of results. This value is null when there + // are no more results to return. + NextToken *string `type:"string"` + // One or more Spot Instance request IDs. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"` } @@ -46712,6 +50542,18 @@ func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpo return s } +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeSpotInstanceRequestsInput) SetMaxResults(v int64) *DescribeSpotInstanceRequestsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSpotInstanceRequestsInput) SetNextToken(v string) *DescribeSpotInstanceRequestsInput { + s.NextToken = &v + return s +} + // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value. func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput { s.SpotInstanceRequestIds = v @@ -46722,6 +50564,10 @@ func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*strin type DescribeSpotInstanceRequestsOutput struct { _ struct{} `type:"structure"` + // The token to use to retrieve the next set of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + // One or more Spot Instance requests. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"` } @@ -46736,6 +50582,12 @@ func (s DescribeSpotInstanceRequestsOutput) GoString() string { return s.String() } +// SetNextToken sets the NextToken field's value. +func (s *DescribeSpotInstanceRequestsOutput) SetNextToken(v string) *DescribeSpotInstanceRequestsOutput { + s.NextToken = &v + return s +} + // SetSpotInstanceRequests sets the SpotInstanceRequests field's value. func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput { s.SpotInstanceRequests = v @@ -47234,26 +51086,27 @@ type DescribeTransitGatewayAttachmentsInput struct { // One or more filters. The possible values are: // - // * association-id - The ID of the association. - // - // * association-route-table-id - The ID of the route table for the transit - // gateway. - // - // * associate-state - The state of the association (associating | associated + // * association.state - The state of the association (associating | associated // | disassociating). // + // * association.transit-gateway-route-table-id - The ID of the route table + // for the transit gateway. + // // * resource-id - The ID of the resource. // + // * resource-owner-id - The ID of the AWS account that owns the resource. + // // * resource-type - The resource type (vpc | vpn). // - // * state - The state of the attachment (pendingAcceptance | pending | available - // | modifying | deleting | deleted | failed | rejected). + // * state - The state of the attachment (available | deleted | deleting + // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected + // | rejecting). // // * transit-gateway-attachment-id - The ID of the attachment. // // * transit-gateway-id - The ID of the transit gateway. // - // * transit-gateway-owner - The ID of the AWS account that owns the transit + // * transit-gateway-owner-id - The ID of the AWS account that owns the transit // gateway. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -47371,13 +51224,14 @@ type DescribeTransitGatewayRouteTablesInput struct { // * default-propagation-route-table - Indicates whether this is the default // propagation route table for the transit gateway (true | false). // + // * state - The state of the attachment (available | deleted | deleting + // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected + // | rejecting). + // // * transit-gateway-id - The ID of the transit gateway. // // * transit-gateway-route-table-id - The ID of the transit gateway route // table. - // - // * transit-gateway-route-table-state - The state (pending | available | - // deleting | deleted). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of results to return with a single call. To retrieve the @@ -47488,10 +51342,11 @@ type DescribeTransitGatewayVpcAttachmentsInput struct { // One or more filters. The possible values are: // - // * transit-gateway-attachment-id - The ID of the attachment. + // * state - The state of the attachment (available | deleted | deleting + // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected + // | rejecting). // - // * transit-gateway-attachment-state - The state of the attachment (pendingAcceptance - // | pending | available | modifying | deleting | deleted | failed | rejected). + // * transit-gateway-attachment-id - The ID of the attachment. // // * transit-gateway-id - The ID of the transit gateway. // @@ -47606,28 +51461,39 @@ type DescribeTransitGatewaysInput struct { // One or more filters. The possible values are: // - // * amazon-side-asn - The private ASN for the Amazon side of a BGP session. + // * options.propagation-default-route-table-id - The ID of the default propagation + // route table. + // + // * options.amazon-side-asn - The private ASN for the Amazon side of a BGP + // session. // - // * association-default-route-table-id - The ID of the default association + // * options.association-default-route-table-id - The ID of the default association // route table. // - // * default-route-table-association - Indicates whether resource attachments - // are automatically associated with the default association route table - // (enable | disable). + // * options.auto-accept-shared-attachments - Indicates whether there is + // automatic acceptance of attachment requests (enable | disable). // - // * default-route-table-propagation - Indicates whether resource attachments - // automatically propagate routes to the default propagation route table - // (enable | disable). + // * options.default-route-table-association - Indicates whether resource + // attachments are automatically associated with the default association + // route table (enable | disable). // - // * owner-account-id - The ID of the AWS account that owns the transit gateway. + // * options.default-route-table-propagation - Indicates whether resource + // attachments automatically propagate routes to the default propagation + // route table (enable | disable). // - // * propagation-default-route-table-id - The ID of the default propagation - // route table. + // * options.dns-support - Indicates whether DNS support is enabled (enable + // | disable). // - // * transit-gateway-id - The ID of the transit gateway. + // * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol + // support is enabled (enable | disable). + // + // * owner-id - The ID of the AWS account that owns the transit gateway. + // + // * state - The state of the attachment (available | deleted | deleting + // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected + // | rejecting). // - // * transit-gateway-state - The state of the transit gateway (pending | - // available | deleting | deleted). + // * transit-gateway-id - The ID of the transit gateway. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of results to return with a single call. To retrieve the @@ -49207,6 +53073,15 @@ type DescribeVpcPeeringConnectionsInput struct { // * vpc-peering-connection-id - The ID of the VPC peering connection. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + // The maximum number of results to return for this request. The request 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 to request the next page of results. (You received this token from + // a prior call.) + NextToken *string `type:"string"` + // One or more VPC peering connection IDs. // // Default: Describes all your VPC peering connections. @@ -49223,6 +53098,19 @@ func (s DescribeVpcPeeringConnectionsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeVpcPeeringConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeVpcPeeringConnectionsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput { s.DryRun = &v @@ -49235,6 +53123,18 @@ func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVp return s } +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeVpcPeeringConnectionsInput) SetMaxResults(v int64) *DescribeVpcPeeringConnectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeVpcPeeringConnectionsInput) SetNextToken(v string) *DescribeVpcPeeringConnectionsInput { + s.NextToken = &v + return s +} + // SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value. func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput { s.VpcPeeringConnectionIds = v @@ -49244,6 +53144,10 @@ func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*str type DescribeVpcPeeringConnectionsOutput struct { _ struct{} `type:"structure"` + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + // Information about the VPC peering connections. VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"` } @@ -49258,6 +53162,12 @@ func (s DescribeVpcPeeringConnectionsOutput) GoString() string { return s.String() } +// SetNextToken sets the NextToken field's value. +func (s *DescribeVpcPeeringConnectionsOutput) SetNextToken(v string) *DescribeVpcPeeringConnectionsOutput { + s.NextToken = &v + return s +} + // SetVpcPeeringConnections sets the VpcPeeringConnections field's value. func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput { s.VpcPeeringConnections = v @@ -50070,6 +53980,54 @@ func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions { return s } +// Describes an Active Directory. +type DirectoryServiceAuthentication struct { + _ struct{} `type:"structure"` + + // The ID of the Active Directory used for authentication. + DirectoryId *string `locationName:"directoryId" type:"string"` +} + +// String returns the string representation +func (s DirectoryServiceAuthentication) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DirectoryServiceAuthentication) GoString() string { + return s.String() +} + +// SetDirectoryId sets the DirectoryId field's value. +func (s *DirectoryServiceAuthentication) SetDirectoryId(v string) *DirectoryServiceAuthentication { + s.DirectoryId = &v + return s +} + +// Describes the Active Directory to be used for client authentication. +type DirectoryServiceAuthenticationRequest struct { + _ struct{} `type:"structure"` + + // The ID of the Active Directory to be used for authentication. + DirectoryId *string `type:"string"` +} + +// String returns the string representation +func (s DirectoryServiceAuthenticationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DirectoryServiceAuthenticationRequest) GoString() string { + return s.String() +} + +// SetDirectoryId sets the DirectoryId field's value. +func (s *DirectoryServiceAuthenticationRequest) SetDirectoryId(v string) *DirectoryServiceAuthenticationRequest { + s.DirectoryId = &v + return s +} + type DisableTransitGatewayRouteTablePropagationInput struct { _ struct{} `type:"structure"` @@ -50401,6 +54359,102 @@ func (s DisassociateAddressOutput) GoString() string { return s.String() } +type DisassociateClientVpnTargetNetworkInput struct { + _ struct{} `type:"structure"` + + // The ID of the target network association. + // + // AssociationId is a required field + AssociationId *string `type:"string" required:"true"` + + // The ID of the Client VPN endpoint from which to disassociate the target network. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s DisassociateClientVpnTargetNetworkInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateClientVpnTargetNetworkInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateClientVpnTargetNetworkInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateClientVpnTargetNetworkInput"} + if s.AssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("AssociationId")) + } + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociationId sets the AssociationId field's value. +func (s *DisassociateClientVpnTargetNetworkInput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkInput { + s.AssociationId = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DisassociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *DisassociateClientVpnTargetNetworkInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DisassociateClientVpnTargetNetworkInput) SetDryRun(v bool) *DisassociateClientVpnTargetNetworkInput { + s.DryRun = &v + return s +} + +type DisassociateClientVpnTargetNetworkOutput struct { + _ struct{} `type:"structure"` + + // The ID of the target network association. + AssociationId *string `locationName:"associationId" type:"string"` + + // The current state of the target network association. + Status *AssociationStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s DisassociateClientVpnTargetNetworkOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateClientVpnTargetNetworkOutput) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *DisassociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkOutput { + s.AssociationId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DisassociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *DisassociateClientVpnTargetNetworkOutput { + s.Status = v + return s +} + type DisassociateIamInstanceProfileInput struct { _ struct{} `type:"structure"` @@ -50838,11 +54892,11 @@ type DiskImageDescription struct { // A presigned URL for the import manifest stored in Amazon S3. For information // about creating a presigned URL for an Amazon S3 object, read the "Query String // Request Authentication Alternative" section of the Authenticating REST Requests - // (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html) + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html) // topic in the Amazon Simple Storage Service Developer Guide. // // For information about the import manifest referenced by this API action, - // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). + // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). ImportManifestUrl *string `locationName:"importManifestUrl" type:"string"` // The size of the disk image, in GiB. @@ -50900,11 +54954,11 @@ type DiskImageDetail struct { // A presigned URL for the import manifest stored in Amazon S3 and presented // here as an Amazon S3 presigned URL. For information about creating a presigned // URL for an Amazon S3 object, read the "Query String Request Authentication - // Alternative" section of the Authenticating REST Requests (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html) + // Alternative" section of the Authenticating REST Requests (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html) // topic in the Amazon Simple Storage Service Developer Guide. // // For information about the import manifest referenced by this API action, - // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). + // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). // // ImportManifestUrl is a required field ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"` @@ -51023,6 +55077,42 @@ func (s *DnsEntry) SetHostedZoneId(v string) *DnsEntry { return s } +// Information about the DNS server to be used. +type DnsServersOptionsModifyStructure struct { + _ struct{} `type:"structure"` + + // The IPv4 address range, in CIDR notation, of the DNS servers to be used. + // You can specify up to two DNS servers. Ensure that the DNS servers can be + // reached by the clients. The specified values overwrite the existing values. + CustomDnsServers []*string `locationNameList:"item" type:"list"` + + // Indicates whether DNS servers should be used. Specify False to delete the + // existing DNS servers. + Enabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s DnsServersOptionsModifyStructure) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DnsServersOptionsModifyStructure) GoString() string { + return s.String() +} + +// SetCustomDnsServers sets the CustomDnsServers field's value. +func (s *DnsServersOptionsModifyStructure) SetCustomDnsServers(v []*string) *DnsServersOptionsModifyStructure { + s.CustomDnsServers = v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *DnsServersOptionsModifyStructure) SetEnabled(v bool) *DnsServersOptionsModifyStructure { + s.Enabled = &v + return s +} + // Describes a block device for an EBS volume. type EbsBlockDevice struct { _ struct{} `type:"structure"` @@ -51042,19 +55132,16 @@ type EbsBlockDevice struct { Encrypted *bool `locationName:"encrypted" type:"boolean"` // The number of I/O operations per second (IOPS) that the volume supports. - // For io1, this represents the number of IOPS that are provisioned for the - // volume. For gp2, this represents the baseline performance of the volume and - // the rate at which the volume accumulates I/O credits for bursting. For more - // information about General Purpose SSD baseline performance, I/O credits, - // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) + // For io1 volumes, this represents the number of IOPS that are provisioned + // for the volume. For gp2 volumes, this represents the baseline performance + // of the volume and the rate at which the volume accumulates I/O credits for + // bursting. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon Elastic Compute Cloud User Guide. // - // Constraints: Range is 100-10,000 IOPS for gp2 volumes and 100 to 64,000IOPS - // for io1 volumes in most regions. Maximum io1IOPS of 64,000 is guaranteed - // only on Nitro-based instances (AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). - // Other instance families guarantee performance up to 32,000 IOPS. For more - // information, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) - // in the Amazon Elastic Compute Cloud User Guide. + // Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS + // for io1 volumes, in most Regions. The maximum IOPS for io1 of 64,000 is guaranteed + // only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). + // Other instance families guarantee performance up to 32,000 IOPS. // // Condition: This parameter is required for requests to create io1 volumes; // it is not used in requests to create gp2, st1, sc1, or standard volumes. @@ -51064,9 +55151,9 @@ type EbsBlockDevice struct { // under which the EBS volume is encrypted. // // This parameter is only supported on BlockDeviceMapping objects called by - // RunInstances (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html), - // RequestSpotFleet (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html), - // and RequestSpotInstances (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html). + // RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html), + // RequestSpotFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html), + // and RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html). KmsKeyId *string `type:"string"` // The ID of the snapshot. @@ -51912,10 +55999,6 @@ type EventInformation struct { // * iamFleetRoleInvalid - The Spot Fleet did not have the required permissions // either to launch or terminate an instance. // - // * launchSpecTemporarilyBlacklisted - The configuration is not valid and - // several attempts to launch instances have failed. For more information, - // see the description of the event. - // // * spotFleetRequestConfigurationInvalid - The configuration is not valid. // For more information, see the description of the event. // @@ -51960,6 +56043,10 @@ type EventInformation struct { // // The following are the Information events: // + // * launchSpecTemporarilyBlacklisted - The configuration is not valid and + // several attempts to launch instances have failed. For more information, + // see the description of the event. + // // * launchSpecUnusable - The price in a launch specification is not valid // because it is below the Spot price or the Spot price is above the On-Demand // price. @@ -52001,6 +56088,161 @@ func (s *EventInformation) SetInstanceId(v string) *EventInformation { return s } +type ExportClientVpnClientCertificateRevocationListInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s ExportClientVpnClientCertificateRevocationListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportClientVpnClientCertificateRevocationListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExportClientVpnClientCertificateRevocationListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientCertificateRevocationListInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ExportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientCertificateRevocationListInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ExportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ExportClientVpnClientCertificateRevocationListInput { + s.DryRun = &v + return s +} + +type ExportClientVpnClientCertificateRevocationListOutput struct { + _ struct{} `type:"structure"` + + // Information about the client certificate revocation list. + CertificateRevocationList *string `locationName:"certificateRevocationList" type:"string"` + + // The current state of the client certificate revocation list. + Status *ClientCertificateRevocationListStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s ExportClientVpnClientCertificateRevocationListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportClientVpnClientCertificateRevocationListOutput) GoString() string { + return s.String() +} + +// SetCertificateRevocationList sets the CertificateRevocationList field's value. +func (s *ExportClientVpnClientCertificateRevocationListOutput) SetCertificateRevocationList(v string) *ExportClientVpnClientCertificateRevocationListOutput { + s.CertificateRevocationList = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ExportClientVpnClientCertificateRevocationListOutput) SetStatus(v *ClientCertificateRevocationListStatus) *ExportClientVpnClientCertificateRevocationListOutput { + s.Status = v + return s +} + +type ExportClientVpnClientConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s ExportClientVpnClientConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportClientVpnClientConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExportClientVpnClientConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientConfigurationInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ExportClientVpnClientConfigurationInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientConfigurationInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ExportClientVpnClientConfigurationInput) SetDryRun(v bool) *ExportClientVpnClientConfigurationInput { + s.DryRun = &v + return s +} + +type ExportClientVpnClientConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The contents of the Client VPN endpoint configuration file. + ClientConfiguration *string `locationName:"clientConfiguration" type:"string"` +} + +// String returns the string representation +func (s ExportClientVpnClientConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportClientVpnClientConfigurationOutput) GoString() string { + return s.String() +} + +// SetClientConfiguration sets the ClientConfiguration field's value. +func (s *ExportClientVpnClientConfigurationOutput) SetClientConfiguration(v string) *ExportClientVpnClientConfigurationOutput { + s.ClientConfiguration = &v + return s +} + // Describes an instance export task. type ExportTask struct { _ struct{} `type:"structure"` @@ -52188,16 +56430,31 @@ type ExportTransitGatewayRoutesInput struct { // One or more filters. The possible values are: // - // * transit-gateway-route-destination-cidr-block - The CIDR range. + // * attachment.transit-gateway-attachment-id- The id of the transit gateway + // attachment. // - // * transit-gateway-route-state - The state of the route (active | blackhole). + // * attachment.resource-id - The resource id of the transit gateway attachment. // - // * transit-gateway-route-transit-gateway-attachment-id - The ID of the - // attachment. + // * route-search.exact-match - The exact match of the specified filter. + // + // * route-search.longest-prefix-match - The longest prefix that matches + // the route. + // + // * route-search.subnet-of-match - The routes with a subnet that match the + // specified CIDR filter. // - // * transit-gateway-route-type - The route type (static | propagated). + // * route-search.supernet-of-match - The routes with a CIDR that encompass + // the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 + // routes in your route table and you specify supernet-of-match as 10.0.1.0/30, + // then the result returns 10.0.1.0/29. // - // * transit-gateway-route-vpn-connection-id - The ID of the VPN connection. + // * state - The state of the attachment (available | deleted | deleting + // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected + // | rejecting). + // + // * transit-gateway-route-destination-cidr-block - The CIDR range. + // + // * type - The type of roue (active | blackhole). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The name of the S3 bucket. @@ -52353,7 +56610,7 @@ type FleetData struct { ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"FleetActivityStatus"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). // // Constraints: Maximum 64 ASCII characters ClientToken *string `locationName:"clientToken" type:"string"` @@ -54053,8 +58310,6 @@ type GetTransitGatewayRouteTableAssociationsInput struct { // One or more filters. The possible values are: // - // * association-id - The ID of the association. - // // * resource-id - The ID of the resource. // // * resource-type - The resource type (vpc | vpn). @@ -54318,9 +58573,9 @@ func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier { } // Indicates whether your instance is configured for hibernation. This parameter -// is valid only if the instance meets the hibernation prerequisites (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). +// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). // Hibernation is currently supported only for Amazon Linux. For more information, -// see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) +// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. type HibernationOptions struct { _ struct{} `type:"structure"` @@ -54347,9 +58602,9 @@ func (s *HibernationOptions) SetConfigured(v bool) *HibernationOptions { } // Indicates whether your instance is configured for hibernation. This parameter -// is valid only if the instance meets the hibernation prerequisites (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). +// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). // Hibernation is currently supported only for Amazon Linux. For more information, -// see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) +// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. type HibernationOptionsRequest struct { _ struct{} `type:"structure"` @@ -54381,9 +58636,7 @@ type HistoryRecord struct { _ struct{} `type:"structure"` // Information about the event. - // - // EventInformation is a required field - EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"` + EventInformation *EventInformation `locationName:"eventInformation" type:"structure"` // The event type. // @@ -54395,14 +58648,10 @@ type HistoryRecord struct { // * instanceChange - An instance was launched or terminated. // // * Information - An informational event. - // - // EventType is a required field - EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"` + EventType *string `locationName:"eventType" type:"string" enum:"EventType"` // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). - // - // Timestamp is a required field - Timestamp *time.Time `locationName:"timestamp" type:"timestamp" required:"true"` + Timestamp *time.Time `locationName:"timestamp" type:"timestamp"` } // String returns the string representation @@ -54492,7 +58741,7 @@ type Host struct { AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"` // Unique, case-sensitive identifier that you provide to ensure idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) // in the Amazon Elastic Compute Cloud User Guide. ClientToken *string `locationName:"clientToken" type:"string"` @@ -55414,6 +59663,96 @@ func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer { return s } +type ImportClientVpnClientCertificateRevocationListInput struct { + _ struct{} `type:"structure"` + + // The client certificate revocation list file. For more information, see Generate + // a Client Certificate Revocation List (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-certificates.html#cvpn-working-certificates-generate) + // in the AWS Client VPN Administrator Guide. + // + // CertificateRevocationList is a required field + CertificateRevocationList *string `type:"string" required:"true"` + + // The ID of the Client VPN endpoint to which the client certificate revocation + // list applies. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s ImportClientVpnClientCertificateRevocationListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportClientVpnClientCertificateRevocationListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportClientVpnClientCertificateRevocationListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportClientVpnClientCertificateRevocationListInput"} + if s.CertificateRevocationList == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateRevocationList")) + } + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateRevocationList sets the CertificateRevocationList field's value. +func (s *ImportClientVpnClientCertificateRevocationListInput) SetCertificateRevocationList(v string) *ImportClientVpnClientCertificateRevocationListInput { + s.CertificateRevocationList = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ImportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ImportClientVpnClientCertificateRevocationListInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ImportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ImportClientVpnClientCertificateRevocationListInput { + s.DryRun = &v + return s +} + +type ImportClientVpnClientCertificateRevocationListOutput struct { + _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, it returns an error. + Return *bool `locationName:"return" type:"boolean"` +} + +// String returns the string representation +func (s ImportClientVpnClientCertificateRevocationListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportClientVpnClientCertificateRevocationListOutput) GoString() string { + return s.String() +} + +// SetReturn sets the Return field's value. +func (s *ImportClientVpnClientCertificateRevocationListOutput) SetReturn(v bool) *ImportClientVpnClientCertificateRevocationListOutput { + s.Return = &v + return s +} + // Contains the parameters for ImportImage. type ImportImageInput struct { _ struct{} `type:"structure"` @@ -55444,7 +59783,7 @@ type ImportImageInput struct { // Specifies whether the destination AMI of the imported image should be encrypted. // The default CMK for EBS is used unless you specify a non-default AWS Key // Management Service (AWS KMS) CMK using KmsKeyId. For more information, see - // Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) + // Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. Encrypted *bool `type:"boolean"` @@ -55485,10 +59824,19 @@ type ImportImageInput struct { // // Note: You may only use BYOL if you have existing licenses with rights to // use these licenses in a third party cloud like AWS. For more information, - // see Prerequisites (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image) + // see Prerequisites (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image) // in the VM Import/Export User Guide. // - // Valid values: AWS | BYOL + // Valid values include: + // + // * Auto - Detects the source-system operating system (OS) and applies the + // appropriate license. + // + // * AWS - Replaces the source-system license with an AWS license, if appropriate. + // + // * BYOL - Retains the source-system license, if appropriate. + // + // Default value: Auto LicenseType *string `type:"string"` // The operating system of the virtual machine. @@ -55961,7 +60309,7 @@ type ImportInstanceLaunchSpecification struct { InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"` // The instance type. For more information about the instance types that you - // can import, see Instance Types (http://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-instance-types) + // can import, see Instance Types (https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-instance-types) // in the VM Import/Export User Guide. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` @@ -56334,7 +60682,7 @@ type ImportSnapshotInput struct { // Specifies whether the destination snapshot of the imported image should be // encrypted. The default CMK for EBS is used unless you specify a non-default // AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, - // see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) + // see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. Encrypted *bool `type:"boolean"` @@ -56824,7 +61172,7 @@ type Instance struct { // This controls whether source/destination checking is enabled on the instance. // A value of true means that checking is enabled, and false means that checking // is disabled. The value must be false for the instance to perform NAT. For - // more information, see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) + // more information, see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) // in the Amazon Virtual Private Cloud User Guide. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"` @@ -57971,8 +62319,17 @@ func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivat type InstanceState struct { _ struct{} `type:"structure"` - // The low byte represents the state. The high byte is used for internal purposes - // and should be ignored. + // The state of the instance as a 16-bit unsigned integer. + // + // The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal + // values between 256 and 65,535. These numerical values are used for internal + // purposes and should be ignored. + // + // The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal + // values between 0 and 255. + // + // The valid values for instance-state-code will all be in the range of the + // low byte and they are: // // * 0 : pending // @@ -57985,6 +62342,9 @@ type InstanceState struct { // * 64 : stopping // // * 80 : stopped + // + // You can ignore the high byte value by zeroing out all of the bits above 2^8 + // or 256 in decimal. Code *int64 `locationName:"code" type:"integer"` // The current state of the instance. @@ -58185,11 +62545,17 @@ type InstanceStatusEvent struct { // following text: [Completed]. Description *string `locationName:"description" type:"string"` + // The ID of the event. + InstanceEventId *string `locationName:"instanceEventId" type:"string"` + // The latest scheduled end time for the event. NotAfter *time.Time `locationName:"notAfter" type:"timestamp"` // The earliest scheduled start time for the event. NotBefore *time.Time `locationName:"notBefore" type:"timestamp"` + + // The deadline for starting the event. + NotBeforeDeadline *time.Time `locationName:"notBeforeDeadline" type:"timestamp"` } // String returns the string representation @@ -58214,6 +62580,12 @@ func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent { return s } +// SetInstanceEventId sets the InstanceEventId field's value. +func (s *InstanceStatusEvent) SetInstanceEventId(v string) *InstanceStatusEvent { + s.InstanceEventId = &v + return s +} + // SetNotAfter sets the NotAfter field's value. func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent { s.NotAfter = &v @@ -58226,6 +62598,12 @@ func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent { return s } +// SetNotBeforeDeadline sets the NotBeforeDeadline field's value. +func (s *InstanceStatusEvent) SetNotBeforeDeadline(v time.Time) *InstanceStatusEvent { + s.NotBeforeDeadline = &v + return s +} + // Describes the status of an instance. type InstanceStatusSummary struct { _ struct{} `type:"structure"` @@ -59483,7 +63861,7 @@ func (s *LaunchTemplateHibernationOptions) SetConfigured(v bool) *LaunchTemplate } // Indicates whether the instance is configured for hibernation. This parameter -// is valid only if the instance meets the hibernation prerequisites (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). +// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). // Hibernation is currently supported only for Amazon Linux. type LaunchTemplateHibernationOptionsRequest struct { _ struct{} `type:"structure"` @@ -60853,6 +65231,128 @@ func (s *ModifyCapacityReservationOutput) SetReturn(v bool) *ModifyCapacityReser return s } +type ModifyClientVpnEndpointInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint to modify. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Information about the client connection logging options. + // + // If you enable client connection logging, data about client connections is + // sent to a Cloudwatch Logs log stream. The following information is logged: + // + // * Client connection requests + // + // * Client connection results (successful and unsuccessful) + // + // * Reasons for unsuccessful client connection requests + // + // * Client connection termination time + ConnectionLogOptions *ConnectionLogOptions `type:"structure"` + + // A brief description of the Client VPN endpoint. + Description *string `type:"string"` + + // Information about the DNS servers to be used by Client VPN connections. A + // Client VPN endpoint can have up to two DNS servers. + DnsServers *DnsServersOptionsModifyStructure `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ARN of the server certificate to be used. The server certificate must + // be provisioned in AWS Certificate Manager (ACM). + ServerCertificateArn *string `type:"string"` +} + +// String returns the string representation +func (s ModifyClientVpnEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyClientVpnEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyClientVpnEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyClientVpnEndpointInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ModifyClientVpnEndpointInput) SetClientVpnEndpointId(v string) *ModifyClientVpnEndpointInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetConnectionLogOptions sets the ConnectionLogOptions field's value. +func (s *ModifyClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *ModifyClientVpnEndpointInput { + s.ConnectionLogOptions = v + return s +} + +// SetDescription sets the Description field's value. +func (s *ModifyClientVpnEndpointInput) SetDescription(v string) *ModifyClientVpnEndpointInput { + s.Description = &v + return s +} + +// SetDnsServers sets the DnsServers field's value. +func (s *ModifyClientVpnEndpointInput) SetDnsServers(v *DnsServersOptionsModifyStructure) *ModifyClientVpnEndpointInput { + s.DnsServers = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyClientVpnEndpointInput) SetDryRun(v bool) *ModifyClientVpnEndpointInput { + s.DryRun = &v + return s +} + +// SetServerCertificateArn sets the ServerCertificateArn field's value. +func (s *ModifyClientVpnEndpointInput) SetServerCertificateArn(v string) *ModifyClientVpnEndpointInput { + s.ServerCertificateArn = &v + return s +} + +type ModifyClientVpnEndpointOutput struct { + _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, it returns an error. + Return *bool `locationName:"return" type:"boolean"` +} + +// String returns the string representation +func (s ModifyClientVpnEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyClientVpnEndpointOutput) GoString() string { + return s.String() +} + +// SetReturn sets the Return field's value. +func (s *ModifyClientVpnEndpointOutput) SetReturn(v bool) *ModifyClientVpnEndpointOutput { + s.Return = &v + return s +} + type ModifyFleetInput struct { _ struct{} `type:"structure"` @@ -61512,7 +66012,7 @@ type ModifyInstanceAttributeInput struct { // // To add instance store volumes to an Amazon EBS-backed instance, you must // add them when you launch the instance. For more information, see Updating - // the Block Device Mapping when Launching an Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM) + // the Block Device Mapping when Launching an Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM) // in the Amazon Elastic Compute Cloud User Guide. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"` @@ -61555,18 +66055,18 @@ type ModifyInstanceAttributeInput struct { InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"` // Changes the instance type to the specified value. For more information, see - // Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). + // Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"` // Changes the instance's kernel to the specified value. We recommend that you // use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB - // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html). + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html). Kernel *AttributeValue `locationName:"kernel" type:"structure"` // Changes the instance's RAM disk to the specified value. We recommend that // you use PV-GRUB instead of kernels and RAM disks. For more information, see - // PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html). + // PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html). Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"` // Specifies whether source/destination checking is enabled. A value of true @@ -61820,7 +66320,7 @@ type ModifyInstanceCreditSpecificationInput struct { // A unique, case-sensitive token that you provide to ensure idempotency of // your modification request. For more information, see Ensuring Idempotency - // (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -61910,6 +66410,107 @@ func (s *ModifyInstanceCreditSpecificationOutput) SetUnsuccessfulInstanceCreditS return s } +type ModifyInstanceEventStartTimeInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the event whose date and time you are modifying. + // + // InstanceEventId is a required field + InstanceEventId *string `type:"string" required:"true"` + + // The ID of the instance with the scheduled event. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` + + // The new date and time when the event will take place. + // + // NotBefore is a required field + NotBefore *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s ModifyInstanceEventStartTimeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyInstanceEventStartTimeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyInstanceEventStartTimeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceEventStartTimeInput"} + if s.InstanceEventId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceEventId")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.NotBefore == nil { + invalidParams.Add(request.NewErrParamRequired("NotBefore")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyInstanceEventStartTimeInput) SetDryRun(v bool) *ModifyInstanceEventStartTimeInput { + s.DryRun = &v + return s +} + +// SetInstanceEventId sets the InstanceEventId field's value. +func (s *ModifyInstanceEventStartTimeInput) SetInstanceEventId(v string) *ModifyInstanceEventStartTimeInput { + s.InstanceEventId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ModifyInstanceEventStartTimeInput) SetInstanceId(v string) *ModifyInstanceEventStartTimeInput { + s.InstanceId = &v + return s +} + +// SetNotBefore sets the NotBefore field's value. +func (s *ModifyInstanceEventStartTimeInput) SetNotBefore(v time.Time) *ModifyInstanceEventStartTimeInput { + s.NotBefore = &v + return s +} + +type ModifyInstanceEventStartTimeOutput struct { + _ struct{} `type:"structure"` + + // Describes a scheduled event for an instance. + Event *InstanceStatusEvent `locationName:"event" type:"structure"` +} + +// String returns the string representation +func (s ModifyInstanceEventStartTimeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyInstanceEventStartTimeOutput) GoString() string { + return s.String() +} + +// SetEvent sets the Event field's value. +func (s *ModifyInstanceEventStartTimeOutput) SetEvent(v *InstanceStatusEvent) *ModifyInstanceEventStartTimeOutput { + s.Event = v + return s +} + type ModifyInstancePlacementInput struct { _ struct{} `type:"structure"` @@ -61918,7 +66519,8 @@ type ModifyInstancePlacementInput struct { // The name of the placement group in which to place the instance. For spread // placement groups, the instance must have a tenancy of default. For cluster - // placement groups, the instance must have a tenancy of default or dedicated. + // and partition placement groups, the instance must have a tenancy of default + // or dedicated. // // To remove an instance from a placement group, specify an empty string (""). GroupName *string `type:"string"` @@ -61931,6 +66533,9 @@ type ModifyInstancePlacementInput struct { // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` + // Reserved for future use. + PartitionNumber *int64 `type:"integer"` + // The tenancy for the instance. Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"` } @@ -61982,6 +66587,12 @@ func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePl return s } +// SetPartitionNumber sets the PartitionNumber field's value. +func (s *ModifyInstancePlacementInput) SetPartitionNumber(v int64) *ModifyInstancePlacementInput { + s.PartitionNumber = &v + return s +} + // SetTenancy sets the Tenancy field's value. func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput { s.Tenancy = &v @@ -62015,7 +66626,9 @@ type ModifyLaunchTemplateInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // + // Constraint: Maximum 128 ASCII characters. ClientToken *string `type:"string"` // The version number of the launch template to set as the default version. @@ -62143,7 +66756,7 @@ type ModifyNetworkInterfaceAttributeInput struct { // Indicates whether source/destination checking is enabled. A value of true // means checking is enabled, and false means checking is disabled. This value // must be false for a NAT instance to perform NAT. For more information, see - // NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) + // NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) // in the Amazon Virtual Private Cloud User Guide. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"` } @@ -62226,7 +66839,7 @@ type ModifyReservedInstancesInput struct { _ struct{} `type:"structure"` // A unique, case-sensitive token you provide to ensure idempotency of your - // modification request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // modification request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `locationName:"clientToken" type:"string"` // The IDs of the Reserved Instances to modify. @@ -62802,14 +67415,14 @@ type ModifyVolumeInput struct { // The target IOPS rate of the volume. // // This is only valid for Provisioned IOPS SSD (io1) volumes. For more information, - // see Provisioned IOPS SSD (io1) Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops). + // see Provisioned IOPS SSD (io1) Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops). // // Default: If no IOPS value is specified, the existing value is retained. Iops *int64 `type:"integer"` // The target size of the volume, in GiB. The target volume size must be greater // than or equal to than the existing size of the volume. For information about - // available EBS volume sizes, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html). + // available EBS volume sizes, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html). // // Default: If no size is specified, the existing size is retained. Size *int64 `type:"integer"` @@ -63095,8 +67708,9 @@ type ModifyVpcEndpointInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // (Gateway endpoint) A policy document to attach to the endpoint. The policy - // must be in valid JSON format. + // A policy to attach to the endpoint that controls access to the service. The + // policy must be in valid JSON format. If this parameter is not specified, + // we attach a default policy that allows full access to the service. PolicyDocument *string `type:"string"` // (Interface endpoint) Indicate whether a private hosted zone is associated @@ -63877,7 +68491,7 @@ type NatGateway struct { NatGatewayId *string `locationName:"natGatewayId" type:"string"` // Reserved. If you need to sustain traffic greater than the documented limits - // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"` @@ -64840,6 +69454,10 @@ type OnDemandOptions struct { // minimum target capacity is not reached, the fleet launches no instances. MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"` + // Indicates that the fleet launches all On-Demand Instances into a single Availability + // Zone. + SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"` + // Indicates that the fleet uses a single instance type to launch all On-Demand // Instances in the fleet. SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"` @@ -64867,6 +69485,12 @@ func (s *OnDemandOptions) SetMinTargetCapacity(v int64) *OnDemandOptions { return s } +// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value. +func (s *OnDemandOptions) SetSingleAvailabilityZone(v bool) *OnDemandOptions { + s.SingleAvailabilityZone = &v + return s +} + // SetSingleInstanceType sets the SingleInstanceType field's value. func (s *OnDemandOptions) SetSingleInstanceType(v bool) *OnDemandOptions { s.SingleInstanceType = &v @@ -64889,6 +69513,10 @@ type OnDemandOptionsRequest struct { // minimum target capacity is not reached, the fleet launches no instances. MinTargetCapacity *int64 `type:"integer"` + // Indicates that the fleet launches all On-Demand Instances into a single Availability + // Zone. + SingleAvailabilityZone *bool `type:"boolean"` + // Indicates that the fleet uses a single instance type to launch all On-Demand // Instances in the fleet. SingleInstanceType *bool `type:"boolean"` @@ -64916,6 +69544,12 @@ func (s *OnDemandOptionsRequest) SetMinTargetCapacity(v int64) *OnDemandOptionsR return s } +// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value. +func (s *OnDemandOptionsRequest) SetSingleAvailabilityZone(v bool) *OnDemandOptionsRequest { + s.SingleAvailabilityZone = &v + return s +} + // SetSingleInstanceType sets the SingleInstanceType field's value. func (s *OnDemandOptionsRequest) SetSingleInstanceType(v bool) *OnDemandOptionsRequest { s.SingleInstanceType = &v @@ -65082,6 +69716,10 @@ type Placement struct { // is not supported for the ImportInstance command. HostId *string `locationName:"hostId" type:"string"` + // The number of the partition the instance is in. Valid only if the placement + // group strategy is set to partition. + PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"` + // Reserved for future use. SpreadDomain *string `locationName:"spreadDomain" type:"string"` @@ -65125,6 +69763,12 @@ func (s *Placement) SetHostId(v string) *Placement { return s } +// SetPartitionNumber sets the PartitionNumber field's value. +func (s *Placement) SetPartitionNumber(v int64) *Placement { + s.PartitionNumber = &v + return s +} + // SetSpreadDomain sets the SpreadDomain field's value. func (s *Placement) SetSpreadDomain(v string) *Placement { s.SpreadDomain = &v @@ -65144,6 +69788,9 @@ type PlacementGroup struct { // The name of the placement group. GroupName *string `locationName:"groupName" type:"string"` + // The number of partitions. Valid only if strategy is set to partition. + PartitionCount *int64 `locationName:"partitionCount" type:"integer"` + // The state of the placement group. State *string `locationName:"state" type:"string" enum:"PlacementGroupState"` @@ -65167,6 +69814,12 @@ func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup { return s } +// SetPartitionCount sets the PartitionCount field's value. +func (s *PlacementGroup) SetPartitionCount(v int64) *PlacementGroup { + s.PartitionCount = &v + return s +} + // SetState sets the State field's value. func (s *PlacementGroup) SetState(v string) *PlacementGroup { s.State = &v @@ -65678,33 +70331,33 @@ func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCid } // Reserved. If you need to sustain traffic greater than the documented limits -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), +// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). type ProvisionedBandwidth struct { _ struct{} `type:"structure"` // Reserved. If you need to sustain traffic greater than the documented limits - // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp"` // Reserved. If you need to sustain traffic greater than the documented limits - // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). Provisioned *string `locationName:"provisioned" type:"string"` // Reserved. If you need to sustain traffic greater than the documented limits - // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). RequestTime *time.Time `locationName:"requestTime" type:"timestamp"` // Reserved. If you need to sustain traffic greater than the documented limits - // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). Requested *string `locationName:"requested" type:"string"` // Reserved. If you need to sustain traffic greater than the documented limits - // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). Status *string `locationName:"status" type:"string"` } @@ -65953,7 +70606,7 @@ type PurchaseHostReservationInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) + // request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) // in the Amazon Elastic Compute Cloud User Guide. ClientToken *string `type:"string"` @@ -66040,7 +70693,7 @@ type PurchaseHostReservationOutput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) + // request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) // in the Amazon Elastic Compute Cloud User Guide. ClientToken *string `locationName:"clientToken" type:"string"` @@ -66256,7 +70909,7 @@ type PurchaseScheduledInstancesInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that ensures the idempotency of the request. - // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string" idempotencyToken:"true"` // Checks whether you have the required permissions for the action, without @@ -67859,11 +72512,14 @@ type RequestLaunchTemplateData struct { // cannot be changed using this action. BlockDeviceMappings []*LaunchTemplateBlockDeviceMappingRequest `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"` - // The Capacity Reservation targeting option. + // The Capacity Reservation targeting option. If you do not specify this parameter, + // the instance's Capacity Reservation preference defaults to open, which enables + // it to run in any open Capacity Reservation that has matching attributes (instance + // type, platform, Availability Zone). CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationRequest `type:"structure"` // The CPU options for the instance. For more information, see Optimizing CPU - // Options (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) + // Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) // in the Amazon Elastic Compute Cloud User Guide. CpuOptions *LaunchTemplateCpuOptionsRequest `type:"structure"` @@ -67889,9 +72545,9 @@ type RequestLaunchTemplateData struct { ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"` // Indicates whether an instance is enabled for hibernation. This parameter - // is valid only if the instance meets the hibernation prerequisites (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). + // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). // Hibernation is currently supported only for Amazon Linux. For more information, - // see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) + // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. HibernationOptions *LaunchTemplateHibernationOptionsRequest `type:"structure"` @@ -67910,14 +72566,14 @@ type RequestLaunchTemplateData struct { // The market (purchasing) option for the instances. InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsRequest `type:"structure"` - // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. InstanceType *string `type:"string" enum:"InstanceType"` // The ID of the kernel. // // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more - // information, see User Provided Kernels (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) + // information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) // in the Amazon Elastic Compute Cloud User Guide. KernelId *string `type:"string"` @@ -67943,7 +72599,7 @@ type RequestLaunchTemplateData struct { // The ID of the RAM disk. // // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more - // information, see User Provided Kernels (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) + // information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) // in the Amazon Elastic Compute Cloud User Guide. RamDiskId *string `type:"string"` @@ -67964,8 +72620,8 @@ type RequestLaunchTemplateData struct { TagSpecifications []*LaunchTemplateTagSpecificationRequest `locationName:"TagSpecification" locationNameList:"LaunchTemplateTagSpecificationRequest" type:"list"` // The Base64-encoded user data to make available to the instance. For more - // information, see Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) - // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data) + // information, see Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) + // (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data) // (Windows). UserData *string `type:"string"` } @@ -68226,9 +72882,7 @@ type RequestSpotFleetOutput struct { _ struct{} `type:"structure"` // The ID of the Spot Fleet request. - // - // SpotFleetRequestId is a required field - SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` + SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"` } // String returns the string representation @@ -68286,7 +72940,7 @@ type RequestSpotInstancesInput struct { BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) // in the Amazon EC2 User Guide for Linux Instances. ClientToken *string `locationName:"clientToken" type:"string"` @@ -69004,6 +73658,8 @@ type ReservedInstancesConfiguration struct { AvailabilityZone *string `locationName:"availabilityZone" type:"string"` // The number of modified Reserved Instances. + // + // This is a required field for a request. InstanceCount *int64 `locationName:"instanceCount" type:"integer"` // The instance type for the modified Reserved Instances. @@ -69087,7 +73743,7 @@ type ReservedInstancesListing struct { _ struct{} `type:"structure"` // A unique, case-sensitive key supplied by the client to ensure that the request - // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `locationName:"clientToken" type:"string"` // The time the listing was created. @@ -69194,7 +73850,7 @@ type ReservedInstancesModification struct { _ struct{} `type:"structure"` // A unique, case-sensitive key supplied by the client to ensure that the request - // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `locationName:"clientToken" type:"string"` // The time when the modification request was created. @@ -69922,7 +74578,7 @@ type ResponseLaunchTemplateData struct { CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"` // The CPU options for the instance. For more information, see Optimizing CPU - // Options (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) + // Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) // in the Amazon Elastic Compute Cloud User Guide. CpuOptions *LaunchTemplateCpuOptions `locationName:"cpuOptions" type:"structure"` @@ -69943,7 +74599,7 @@ type ResponseLaunchTemplateData struct { ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAcceleratorResponse `locationName:"elasticInferenceAcceleratorSet" locationNameList:"item" type:"list"` // Indicates whether an instance is configured for hibernation. For more information, - // see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) + // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. HibernationOptions *LaunchTemplateHibernationOptions `locationName:"hibernationOptions" type:"structure"` @@ -70239,6 +74895,112 @@ func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToCla return s } +type RevokeClientVpnIngressInput struct { + _ struct{} `type:"structure"` + + // The ID of the Active Directory group for which to revoke access. + AccessGroupId *string `type:"string"` + + // The ID of the Client VPN endpoint with which the authorization rule is associated. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // Indicates whether access should be revoked for all clients. + RevokeAllGroups *bool `type:"boolean"` + + // The IPv4 address range, in CIDR notation, of the network for which access + // is being removed. + // + // TargetNetworkCidr is a required field + TargetNetworkCidr *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RevokeClientVpnIngressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RevokeClientVpnIngressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RevokeClientVpnIngressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RevokeClientVpnIngressInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.TargetNetworkCidr == nil { + invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessGroupId sets the AccessGroupId field's value. +func (s *RevokeClientVpnIngressInput) SetAccessGroupId(v string) *RevokeClientVpnIngressInput { + s.AccessGroupId = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *RevokeClientVpnIngressInput) SetClientVpnEndpointId(v string) *RevokeClientVpnIngressInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *RevokeClientVpnIngressInput) SetDryRun(v bool) *RevokeClientVpnIngressInput { + s.DryRun = &v + return s +} + +// SetRevokeAllGroups sets the RevokeAllGroups field's value. +func (s *RevokeClientVpnIngressInput) SetRevokeAllGroups(v bool) *RevokeClientVpnIngressInput { + s.RevokeAllGroups = &v + return s +} + +// SetTargetNetworkCidr sets the TargetNetworkCidr field's value. +func (s *RevokeClientVpnIngressInput) SetTargetNetworkCidr(v string) *RevokeClientVpnIngressInput { + s.TargetNetworkCidr = &v + return s +} + +type RevokeClientVpnIngressOutput struct { + _ struct{} `type:"structure"` + + // The current state of the authorization rule. + Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s RevokeClientVpnIngressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RevokeClientVpnIngressOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *RevokeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *RevokeClientVpnIngressOutput { + s.Status = v + return s +} + type RevokeSecurityGroupEgressInput struct { _ struct{} `type:"structure"` @@ -70791,23 +75553,26 @@ type RunInstancesInput struct { // its encryption status is used for the volume encryption status. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"` - // Information about the Capacity Reservation targeting option. + // Information about the Capacity Reservation targeting option. If you do not + // specify this parameter, the instance's Capacity Reservation preference defaults + // to open, which enables it to run in any open Capacity Reservation that has + // matching attributes (instance type, platform, Availability Zone). CapacityReservationSpecification *CapacityReservationSpecification `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). // // Constraints: Maximum 64 ASCII characters ClientToken *string `locationName:"clientToken" type:"string"` // The CPU options for the instance. For more information, see Optimizing CPU - // Options (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) + // Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) // in the Amazon Elastic Compute Cloud User Guide. CpuOptions *CpuOptionsRequest `type:"structure"` // The credit option for CPU usage of the instance. Valid values are standard // and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification. - // For more information, see Burstable Performance Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) + // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Default: standard (T2 instances) or unlimited (T3 instances) @@ -70844,7 +75609,7 @@ type RunInstancesInput struct { ElasticInferenceAccelerators []*ElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"` // Indicates whether an instance is enabled for hibernation. For more information, - // see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) + // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. HibernationOptions *HibernationOptionsRequest `type:"structure"` @@ -70868,7 +75633,7 @@ type RunInstancesInput struct { // InstanceInterruptionBehavior is set to either hibernate or stop. InstanceMarketOptions *InstanceMarketOptionsRequest `type:"structure"` - // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. // // Default: m1.small @@ -70879,6 +75644,9 @@ type RunInstancesInput struct { // You cannot specify this option and the option to assign specific IPv6 addresses // in the same request. You can specify this option if you've specified a minimum // number of instances to launch. + // + // You cannot specify this option and the network interfaces option in the same + // request. Ipv6AddressCount *int64 `type:"integer"` // [EC2-VPC] Specify one or more IPv6 addresses from the range of the subnet @@ -70886,12 +75654,15 @@ type RunInstancesInput struct { // option and the option to assign a number of IPv6 addresses in the same request. // You cannot specify this option if you've specified a minimum number of instances // to launch. + // + // You cannot specify this option and the network interfaces option in the same + // request. Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"` // The ID of the kernel. // // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more - // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) + // information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) // in the Amazon Elastic Compute Cloud User Guide. KernelId *string `type:"string"` @@ -70938,6 +75709,9 @@ type RunInstancesInput struct { Monitoring *RunInstancesMonitoringEnabled `type:"structure"` // One or more network interfaces. + // + // You cannot specify this option and the network interfaces option in the same + // request. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"` // The placement for the instance. @@ -70950,27 +75724,39 @@ type RunInstancesInput struct { // this option if you've specified the option to designate a private IP address // as the primary IP address in a network interface specification. You cannot // specify this option if you're launching more than one instance in the request. + // + // You cannot specify this option and the network interfaces option in the same + // request. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` // The ID of the RAM disk. // // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more - // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) + // information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) // in the Amazon Elastic Compute Cloud User Guide. RamdiskId *string `type:"string"` // One or more security group IDs. You can create a security group using CreateSecurityGroup. // // Default: Amazon EC2 uses the default security group. + // + // You cannot specify this option and the network interfaces option in the same + // request. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"` // [EC2-Classic, default VPC] One or more security group names. For a nondefault // VPC, you must use security group IDs instead. // + // You cannot specify this option and the network interfaces option in the same + // request. + // // Default: Amazon EC2 uses the default security group. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"` // [EC2-VPC] The ID of the subnet to launch the instance into. + // + // You cannot specify this option and the network interfaces option in the same + // request. SubnetId *string `type:"string"` // The tags to apply to the resources during launch. You can only tag instances @@ -70980,8 +75766,8 @@ type RunInstancesInput struct { TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` // The user data to make available to the instance. For more information, see - // Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) - // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data) + // Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) + // (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data) // (Windows). If you are using a command line tool, base64-encoding is performed // for you, and you can load the text from a file. Otherwise, you must provide // base64-encoded text. @@ -71299,7 +76085,7 @@ type RunScheduledInstancesInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that ensures the idempotency of the request. - // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string" idempotencyToken:"true"` // Checks whether you have the required permissions for the action, without @@ -71417,7 +76203,7 @@ type S3Storage struct { // The access key ID of the owner of the bucket. Before you specify a value // for your access key ID, review and follow the guidance in Best Practices - // for Managing AWS Access Keys (http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html). + // for Managing AWS Access Keys (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html). AWSAccessKeyId *string `type:"string"` // The bucket in which to store the AMI. You can specify a bucket that you already @@ -71970,7 +76756,7 @@ type ScheduledInstancesEbs struct { // for the volume. For gp2 volumes, this represents the baseline performance // of the volume and the rate at which the volume accumulates I/O credits for // bursting. For more information about gp2 baseline performance, I/O credits, - // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) + // and bursting, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon Elastic Compute Cloud User Guide. // // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for @@ -72495,16 +77281,31 @@ type SearchTransitGatewayRoutesInput struct { // One or more filters. The possible values are: // - // * transit-gateway-route-destination-cidr-block - The CIDR range. + // * attachment.transit-gateway-attachment-id- The id of the transit gateway + // attachment. // - // * transit-gateway-route-state - The state of the route (active | blackhole). + // * attachment.resource-id - The resource id of the transit gateway attachment. // - // * transit-gateway-route-transit-gateway-attachment-id - The ID of the - // attachment. + // * attachment.resource-type - The attachment resource type (vpc | vpn). + // + // * route-search.exact-match - The exact match of the specified filter. + // + // * route-search.longest-prefix-match - The longest prefix that matches + // the route. + // + // * route-search.subnet-of-match - The routes with a subnet that match the + // specified CIDR filter. + // + // * route-search.supernet-of-match - The routes with a CIDR that encompass + // the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 + // routes in your route table and you specify supernet-of-match as 10.0.1.0/30, + // then the result returns 10.0.1.0/29. // - // * transit-gateway-route-type - The route type (static | propagated). + // * state - The state of the attachment (available | deleted | deleting + // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected + // | rejecting). // - // * transit-gateway-route-vpn-connection-id - The ID of the VPN connection. + // * type - The type of roue (active | blackhole). // // Filters is a required field Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"` @@ -73334,7 +78135,7 @@ type SnapshotDiskContainer struct { // The format of the disk image being imported. // - // Valid values: VHD | VMDK | OVA + // Valid values: VHD | VMDK Format *string `type:"string"` // The URL to the Amazon S3-based disk image being imported. It can either be @@ -73791,24 +78592,16 @@ type SpotFleetRequestConfig struct { ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"` // The creation date and time of the request. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + CreateTime *time.Time `locationName:"createTime" type:"timestamp"` // The configuration of the Spot Fleet request. - // - // SpotFleetRequestConfig is a required field - SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"` + SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure"` // The ID of the Spot Fleet request. - // - // SpotFleetRequestId is a required field - SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` + SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"` // The state of the Spot Fleet request. - // - // SpotFleetRequestState is a required field - SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" required:"true" enum:"BatchState"` + SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" enum:"BatchState"` } // String returns the string representation @@ -73861,7 +78654,7 @@ type SpotFleetRequestConfigData struct { // A unique, case-sensitive identifier that you provide to ensure the idempotency // of your listings. This helps to avoid duplicate listings. For more information, - // see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `locationName:"clientToken" type:"string"` // Indicates whether running Spot Instances should be terminated if the target @@ -73947,9 +78740,10 @@ type SpotFleetRequestConfigData struct { // capacity or also attempts to maintain it. When this value is request, the // Spot Fleet only places the required requests. It does not attempt to replenish // Spot Instances if capacity is diminished, nor does it submit requests in - // alternative Spot pools if capacity is not available. To maintain a certain - // target capacity, the Spot Fleet places the required requests to meet capacity - // and automatically replenishes any interrupted instances. Default: maintain. + // alternative Spot pools if capacity is not available. When this value is maintain, + // the Spot Fleet maintains the target capacity. The Spot Fleet places the required + // requests to meet capacity and automatically replenishes any interrupted instances. + // Default: maintain. instant is listed but is not used by Spot Fleet. Type *string `locationName:"type" type:"string" enum:"FleetType"` // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). @@ -73958,7 +78752,8 @@ type SpotFleetRequestConfigData struct { // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). // At this point, no new Spot Instance requests are placed or able to fulfill - // the request. The default end date is 7 days from the current date. + // the request. If no value is specified, the Spot Fleet request remains until + // you cancel it. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"` } @@ -74207,7 +79002,7 @@ type SpotInstanceRequest struct { SpotPrice *string `locationName:"spotPrice" type:"string"` // The state of the Spot Instance request. Spot status information helps track - // your Spot Instance requests. For more information, see Spot Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) + // your Spot Instance requests. For more information, see Spot Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) // in the Amazon EC2 User Guide for Linux Instances. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"` @@ -74393,7 +79188,7 @@ func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault { type SpotInstanceStatus struct { _ struct{} `type:"structure"` - // The status code. For a list of status codes, see Spot Status Codes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand) + // The status code. For a list of status codes, see Spot Status Codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand) // in the Amazon EC2 User Guide for Linux Instances. Code *string `locationName:"code" type:"string"` @@ -74523,6 +79318,10 @@ type SpotOptions struct { // target capacity is not reached, the fleet launches no instances. MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"` + // Indicates that the fleet launches all Spot Instances into a single Availability + // Zone. + SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"` + // Indicates that the fleet uses a single instance type to launch all Spot Instances // in the fleet. SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"` @@ -74562,6 +79361,12 @@ func (s *SpotOptions) SetMinTargetCapacity(v int64) *SpotOptions { return s } +// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value. +func (s *SpotOptions) SetSingleAvailabilityZone(v bool) *SpotOptions { + s.SingleAvailabilityZone = &v + return s +} + // SetSingleInstanceType sets the SingleInstanceType field's value. func (s *SpotOptions) SetSingleInstanceType(v bool) *SpotOptions { s.SingleInstanceType = &v @@ -74589,6 +79394,10 @@ type SpotOptionsRequest struct { // target capacity is not reached, the fleet launches no instances. MinTargetCapacity *int64 `type:"integer"` + // Indicates that the fleet launches all Spot Instances into a single Availability + // Zone. + SingleAvailabilityZone *bool `type:"boolean"` + // Indicates that the fleet uses a single instance type to launch all Spot Instances // in the fleet. SingleInstanceType *bool `type:"boolean"` @@ -74628,6 +79437,12 @@ func (s *SpotOptionsRequest) SetMinTargetCapacity(v int64) *SpotOptionsRequest { return s } +// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value. +func (s *SpotOptionsRequest) SetSingleAvailabilityZone(v bool) *SpotOptionsRequest { + s.SingleAvailabilityZone = &v + return s +} + // SetSingleInstanceType sets the SingleInstanceType field's value. func (s *SpotOptionsRequest) SetSingleInstanceType(v bool) *SpotOptionsRequest { s.SingleInstanceType = &v @@ -75057,7 +79872,7 @@ type StopInstancesInput struct { // Hibernates the instance if the instance was enabled for hibernation at launch. // If the instance cannot hibernate successfully, a normal shutdown occurs. - // For more information, see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) + // For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. // // Default: false @@ -75778,9 +80593,7 @@ type TargetGroup struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the target group. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` + Arn *string `locationName:"arn" type:"string"` } // String returns the string representation @@ -75793,19 +80606,6 @@ func (s TargetGroup) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *TargetGroup) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TargetGroup"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetArn sets the Arn field's value. func (s *TargetGroup) SetArn(v string) *TargetGroup { s.Arn = &v @@ -75818,9 +80618,7 @@ type TargetGroupsConfig struct { _ struct{} `type:"structure"` // One or more target groups. - // - // TargetGroups is a required field - TargetGroups []*TargetGroup `locationName:"targetGroups" locationNameList:"item" min:"1" type:"list" required:"true"` + TargetGroups []*TargetGroup `locationName:"targetGroups" locationNameList:"item" min:"1" type:"list"` } // String returns the string representation @@ -75836,22 +80634,9 @@ func (s TargetGroupsConfig) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *TargetGroupsConfig) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TargetGroupsConfig"} - if s.TargetGroups == nil { - invalidParams.Add(request.NewErrParamRequired("TargetGroups")) - } if s.TargetGroups != nil && len(s.TargetGroups) < 1 { invalidParams.Add(request.NewErrParamMinLen("TargetGroups", 1)) } - if s.TargetGroups != nil { - for i, v := range s.TargetGroups { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGroups", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -75865,6 +80650,75 @@ func (s *TargetGroupsConfig) SetTargetGroups(v []*TargetGroup) *TargetGroupsConf return s } +// Describes a target network associated with a Client VPN endpoint. +type TargetNetwork struct { + _ struct{} `type:"structure"` + + // The ID of the association. + AssociationId *string `locationName:"associationId" type:"string"` + + // The ID of the Client VPN endpoint with which the target network is associated. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // The IDs of the security groups applied to the target network association. + SecurityGroups []*string `locationName:"securityGroups" locationNameList:"item" type:"list"` + + // The current state of the target network association. + Status *AssociationStatus `locationName:"status" type:"structure"` + + // The ID of the subnet specified as the target network. + TargetNetworkId *string `locationName:"targetNetworkId" type:"string"` + + // The ID of the VPC in which the target network (subnet) is located. + VpcId *string `locationName:"vpcId" type:"string"` +} + +// String returns the string representation +func (s TargetNetwork) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetNetwork) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *TargetNetwork) SetAssociationId(v string) *TargetNetwork { + s.AssociationId = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *TargetNetwork) SetClientVpnEndpointId(v string) *TargetNetwork { + s.ClientVpnEndpointId = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *TargetNetwork) SetSecurityGroups(v []*string) *TargetNetwork { + s.SecurityGroups = v + return s +} + +// SetStatus sets the Status field's value. +func (s *TargetNetwork) SetStatus(v *AssociationStatus) *TargetNetwork { + s.Status = v + return s +} + +// SetTargetNetworkId sets the TargetNetworkId field's value. +func (s *TargetNetwork) SetTargetNetworkId(v string) *TargetNetwork { + s.TargetNetworkId = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *TargetNetwork) SetVpcId(v string) *TargetNetwork { + s.VpcId = &v + return s +} + // The total value of the new Convertible Reserved Instances. type TargetReservationValue struct { _ struct{} `type:"structure"` @@ -75901,6 +80755,159 @@ func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) return s } +type TerminateClientVpnConnectionsInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint to which the client is connected. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // The ID of the client connection to be terminated. + ConnectionId *string `type:"string"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The name of the user who initiated the connection. Use this option to terminate + // all active connections for the specified user. This option can only be used + // if the user has established up to five connections. + Username *string `type:"string"` +} + +// String returns the string representation +func (s TerminateClientVpnConnectionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TerminateClientVpnConnectionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TerminateClientVpnConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TerminateClientVpnConnectionsInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *TerminateClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *TerminateClientVpnConnectionsInput) SetConnectionId(v string) *TerminateClientVpnConnectionsInput { + s.ConnectionId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *TerminateClientVpnConnectionsInput) SetDryRun(v bool) *TerminateClientVpnConnectionsInput { + s.DryRun = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *TerminateClientVpnConnectionsInput) SetUsername(v string) *TerminateClientVpnConnectionsInput { + s.Username = &v + return s +} + +type TerminateClientVpnConnectionsOutput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // The current state of the client connections. + ConnectionStatuses []*TerminateConnectionStatus `locationName:"connectionStatuses" locationNameList:"item" type:"list"` + + // The user who established the terminated client connections. + Username *string `locationName:"username" type:"string"` +} + +// String returns the string representation +func (s TerminateClientVpnConnectionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TerminateClientVpnConnectionsOutput) GoString() string { + return s.String() +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *TerminateClientVpnConnectionsOutput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsOutput { + s.ClientVpnEndpointId = &v + return s +} + +// SetConnectionStatuses sets the ConnectionStatuses field's value. +func (s *TerminateClientVpnConnectionsOutput) SetConnectionStatuses(v []*TerminateConnectionStatus) *TerminateClientVpnConnectionsOutput { + s.ConnectionStatuses = v + return s +} + +// SetUsername sets the Username field's value. +func (s *TerminateClientVpnConnectionsOutput) SetUsername(v string) *TerminateClientVpnConnectionsOutput { + s.Username = &v + return s +} + +// Information about a terminated Client VPN endpoint client connection. +type TerminateConnectionStatus struct { + _ struct{} `type:"structure"` + + // The ID of the client connection. + ConnectionId *string `locationName:"connectionId" type:"string"` + + // A message about the status of the client connection, if applicable. + CurrentStatus *ClientVpnConnectionStatus `locationName:"currentStatus" type:"structure"` + + // The state of the client connection. + PreviousStatus *ClientVpnConnectionStatus `locationName:"previousStatus" type:"structure"` +} + +// String returns the string representation +func (s TerminateConnectionStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TerminateConnectionStatus) GoString() string { + return s.String() +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *TerminateConnectionStatus) SetConnectionId(v string) *TerminateConnectionStatus { + s.ConnectionId = &v + return s +} + +// SetCurrentStatus sets the CurrentStatus field's value. +func (s *TerminateConnectionStatus) SetCurrentStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus { + s.CurrentStatus = v + return s +} + +// SetPreviousStatus sets the PreviousStatus field's value. +func (s *TerminateConnectionStatus) SetPreviousStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus { + s.PreviousStatus = v + return s +} + type TerminateInstancesInput struct { _ struct{} `type:"structure"` @@ -77224,9 +82231,7 @@ type UnsuccessfulItem struct { _ struct{} `type:"structure"` // Information about the error. - // - // Error is a required field - Error *UnsuccessfulItemError `locationName:"error" type:"structure" required:"true"` + Error *UnsuccessfulItemError `locationName:"error" type:"structure"` // The ID of the resource. ResourceId *string `locationName:"resourceId" type:"string"` @@ -77255,19 +82260,15 @@ func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem { } // Information about the error that occurred. For more information about errors, -// see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html). +// see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html). type UnsuccessfulItemError struct { _ struct{} `type:"structure"` // The error code. - // - // Code is a required field - Code *string `locationName:"code" type:"string" required:"true"` + Code *string `locationName:"code" type:"string"` // The error message accompanying the error code. - // - // Message is a required field - Message *string `locationName:"message" type:"string" required:"true"` + Message *string `locationName:"message" type:"string"` } // String returns the string representation @@ -77747,17 +82748,14 @@ type Volume struct { // For Provisioned IOPS SSD volumes, this represents the number of IOPS that // are provisioned for the volume. For General Purpose SSD volumes, this represents // the baseline performance of the volume and the rate at which the volume accumulates - // I/O credits for bursting. For more information about General Purpose SSD - // baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types - // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) + // I/O credits for bursting. For more information, see Amazon EBS Volume Types + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon Elastic Compute Cloud User Guide. // - // Constraints: Range is 100-10,000 IOPS for gp2 volumes and 100 to 64,000IOPS - // for io1 volumes in most regions. Maximum io1IOPS of 64,000 is guaranteed - // only on Nitro-based instances (AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). - // Other instance families guarantee performance up to 32,000 IOPS. For more - // information, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) - // in the Amazon Elastic Compute Cloud User Guide. + // Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS + // for io1 volumes, in most Regions. The maximum IOPS for io1 of 64,000 is guaranteed + // only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). + // Other instance families guarantee performance up to 32,000 IOPS. // // Condition: This parameter is required for requests to create io1 volumes; // it is not used in requests to create gp2, st1, sc1, or standard volumes. @@ -79066,9 +84064,7 @@ type VpnConnection struct { _ struct{} `type:"structure"` // The category of the VPN connection. A value of VPN indicates an AWS VPN connection. - // A value of VPN-Classic indicates an AWS Classic VPN connection. For more - // information, see AWS Managed VPN Categories (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html#vpn-categories) - // in the Amazon Virtual Private Cloud User Guide. + // A value of VPN-Classic indicates an AWS Classic VPN connection. Category *string `locationName:"category" type:"string"` // The configuration information for the VPN connection's customer gateway (in @@ -79568,6 +84564,28 @@ const ( ArchitectureValuesArm64 = "arm64" ) +const ( + // AssociatedNetworkTypeVpc is a AssociatedNetworkType enum value + AssociatedNetworkTypeVpc = "vpc" +) + +const ( + // AssociationStatusCodeAssociating is a AssociationStatusCode enum value + AssociationStatusCodeAssociating = "associating" + + // AssociationStatusCodeAssociated is a AssociationStatusCode enum value + AssociationStatusCodeAssociated = "associated" + + // AssociationStatusCodeAssociationFailed is a AssociationStatusCode enum value + AssociationStatusCodeAssociationFailed = "association-failed" + + // AssociationStatusCodeDisassociating is a AssociationStatusCode enum value + AssociationStatusCodeDisassociating = "disassociating" + + // AssociationStatusCodeDisassociated is a AssociationStatusCode enum value + AssociationStatusCodeDisassociated = "disassociated" +) + const ( // AttachmentStatusAttaching is a AttachmentStatus enum value AttachmentStatusAttaching = "attaching" @@ -79736,6 +84754,15 @@ const ( // CapacityReservationInstancePlatformWindowswithSqlserverWeb is a CapacityReservationInstancePlatform enum value CapacityReservationInstancePlatformWindowswithSqlserverWeb = "Windows with SQL Server Web" + + // CapacityReservationInstancePlatformLinuxwithSqlserverStandard is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformLinuxwithSqlserverStandard = "Linux with SQL Server Standard" + + // CapacityReservationInstancePlatformLinuxwithSqlserverWeb is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformLinuxwithSqlserverWeb = "Linux with SQL Server Web" + + // CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise = "Linux with SQL Server Enterprise" ) const ( @@ -79771,6 +84798,78 @@ const ( CapacityReservationTenancyDedicated = "dedicated" ) +const ( + // ClientCertificateRevocationListStatusCodePending is a ClientCertificateRevocationListStatusCode enum value + ClientCertificateRevocationListStatusCodePending = "pending" + + // ClientCertificateRevocationListStatusCodeActive is a ClientCertificateRevocationListStatusCode enum value + ClientCertificateRevocationListStatusCodeActive = "active" +) + +const ( + // ClientVpnAuthenticationTypeCertificateAuthentication is a ClientVpnAuthenticationType enum value + ClientVpnAuthenticationTypeCertificateAuthentication = "certificate-authentication" + + // ClientVpnAuthenticationTypeDirectoryServiceAuthentication is a ClientVpnAuthenticationType enum value + ClientVpnAuthenticationTypeDirectoryServiceAuthentication = "directory-service-authentication" +) + +const ( + // ClientVpnAuthorizationRuleStatusCodeAuthorizing is a ClientVpnAuthorizationRuleStatusCode enum value + ClientVpnAuthorizationRuleStatusCodeAuthorizing = "authorizing" + + // ClientVpnAuthorizationRuleStatusCodeActive is a ClientVpnAuthorizationRuleStatusCode enum value + ClientVpnAuthorizationRuleStatusCodeActive = "active" + + // ClientVpnAuthorizationRuleStatusCodeFailed is a ClientVpnAuthorizationRuleStatusCode enum value + ClientVpnAuthorizationRuleStatusCodeFailed = "failed" + + // ClientVpnAuthorizationRuleStatusCodeRevoking is a ClientVpnAuthorizationRuleStatusCode enum value + ClientVpnAuthorizationRuleStatusCodeRevoking = "revoking" +) + +const ( + // ClientVpnConnectionStatusCodeActive is a ClientVpnConnectionStatusCode enum value + ClientVpnConnectionStatusCodeActive = "active" + + // ClientVpnConnectionStatusCodeFailedToTerminate is a ClientVpnConnectionStatusCode enum value + ClientVpnConnectionStatusCodeFailedToTerminate = "failed-to-terminate" + + // ClientVpnConnectionStatusCodeTerminating is a ClientVpnConnectionStatusCode enum value + ClientVpnConnectionStatusCodeTerminating = "terminating" + + // ClientVpnConnectionStatusCodeTerminated is a ClientVpnConnectionStatusCode enum value + ClientVpnConnectionStatusCodeTerminated = "terminated" +) + +const ( + // ClientVpnEndpointStatusCodePendingAssociate is a ClientVpnEndpointStatusCode enum value + ClientVpnEndpointStatusCodePendingAssociate = "pending-associate" + + // ClientVpnEndpointStatusCodeAvailable is a ClientVpnEndpointStatusCode enum value + ClientVpnEndpointStatusCodeAvailable = "available" + + // ClientVpnEndpointStatusCodeDeleting is a ClientVpnEndpointStatusCode enum value + ClientVpnEndpointStatusCodeDeleting = "deleting" + + // ClientVpnEndpointStatusCodeDeleted is a ClientVpnEndpointStatusCode enum value + ClientVpnEndpointStatusCodeDeleted = "deleted" +) + +const ( + // ClientVpnRouteStatusCodeCreating is a ClientVpnRouteStatusCode enum value + ClientVpnRouteStatusCodeCreating = "creating" + + // ClientVpnRouteStatusCodeActive is a ClientVpnRouteStatusCode enum value + ClientVpnRouteStatusCodeActive = "active" + + // ClientVpnRouteStatusCodeFailed is a ClientVpnRouteStatusCode enum value + ClientVpnRouteStatusCodeFailed = "failed" + + // ClientVpnRouteStatusCodeDeleting is a ClientVpnRouteStatusCode enum value + ClientVpnRouteStatusCodeDeleting = "deleting" +) + const ( // ConnectionNotificationStateEnabled is a ConnectionNotificationState enum value ConnectionNotificationStateEnabled = "Enabled" @@ -80429,15 +85528,9 @@ const ( // InstanceTypeR54xlarge is a InstanceType enum value InstanceTypeR54xlarge = "r5.4xlarge" - // InstanceTypeR58xlarge is a InstanceType enum value - InstanceTypeR58xlarge = "r5.8xlarge" - // InstanceTypeR512xlarge is a InstanceType enum value InstanceTypeR512xlarge = "r5.12xlarge" - // InstanceTypeR516xlarge is a InstanceType enum value - InstanceTypeR516xlarge = "r5.16xlarge" - // InstanceTypeR524xlarge is a InstanceType enum value InstanceTypeR524xlarge = "r5.24xlarge" @@ -80474,15 +85567,9 @@ const ( // InstanceTypeR5d4xlarge is a InstanceType enum value InstanceTypeR5d4xlarge = "r5d.4xlarge" - // InstanceTypeR5d8xlarge is a InstanceType enum value - InstanceTypeR5d8xlarge = "r5d.8xlarge" - // InstanceTypeR5d12xlarge is a InstanceType enum value InstanceTypeR5d12xlarge = "r5d.12xlarge" - // InstanceTypeR5d16xlarge is a InstanceType enum value - InstanceTypeR5d16xlarge = "r5d.16xlarge" - // InstanceTypeR5d24xlarge is a InstanceType enum value InstanceTypeR5d24xlarge = "r5d.24xlarge" @@ -80729,6 +85816,9 @@ const ( // InstanceTypeM524xlarge is a InstanceType enum value InstanceTypeM524xlarge = "m5.24xlarge" + // InstanceTypeM5Metal is a InstanceType enum value + InstanceTypeM5Metal = "m5.metal" + // InstanceTypeM5aLarge is a InstanceType enum value InstanceTypeM5aLarge = "m5a.large" @@ -80765,6 +85855,9 @@ const ( // InstanceTypeM5d24xlarge is a InstanceType enum value InstanceTypeM5d24xlarge = "m5d.24xlarge" + // InstanceTypeM5dMetal is a InstanceType enum value + InstanceTypeM5dMetal = "m5d.metal" + // InstanceTypeH12xlarge is a InstanceType enum value InstanceTypeH12xlarge = "h1.2xlarge" @@ -80795,6 +85888,9 @@ const ( // InstanceTypeZ1d12xlarge is a InstanceType enum value InstanceTypeZ1d12xlarge = "z1d.12xlarge" + // InstanceTypeZ1dMetal is a InstanceType enum value + InstanceTypeZ1dMetal = "z1d.metal" + // InstanceTypeU6tb1Metal is a InstanceType enum value InstanceTypeU6tb1Metal = "u-6tb1.metal" @@ -81069,6 +86165,9 @@ const ( // PlacementStrategySpread is a PlacementStrategy enum value PlacementStrategySpread = "spread" + + // PlacementStrategyPartition is a PlacementStrategy enum value + PlacementStrategyPartition = "partition" ) const ( @@ -81199,6 +86298,9 @@ const ( ) const ( + // ResourceTypeClientVpnEndpoint is a ResourceType enum value + ResourceTypeClientVpnEndpoint = "client-vpn-endpoint" + // ResourceTypeCustomerGateway is a ResourceType enum value ResourceTypeCustomerGateway = "customer-gateway" @@ -81662,6 +86764,14 @@ const ( TransitGatewayStateDeleted = "deleted" ) +const ( + // TransportProtocolTcp is a TransportProtocol enum value + TransportProtocolTcp = "tcp" + + // TransportProtocolUdp is a TransportProtocol enum value + TransportProtocolUdp = "udp" +) + const ( // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed" @@ -81865,6 +86975,11 @@ const ( VpnEcmpSupportValueDisable = "disable" ) +const ( + // VpnProtocolOpenvpn is a VpnProtocol enum value + VpnProtocolOpenvpn = "openvpn" +) + const ( // VpnStatePending is a VpnState enum value VpnStatePending = "pending" diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go index ef61f6e8e53..e3284308c8a 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go @@ -8,6 +8,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) const opBatchCheckLayerAvailability = "BatchCheckLayerAvailability" @@ -456,6 +458,15 @@ func (c *ECR) CreateRepositoryRequest(input *CreateRepositoryInput) (req *reques // The specified parameter is invalid. Review the available parameters for the // API request. // +// * ErrCodeInvalidTagParameterException "InvalidTagParameterException" +// An invalid parameter has been specified. Tag keys can have a maximum character +// length of 128 characters, and tag values can have a maximum length of 256 +// characters. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// The list of tags on the repository is over the limit. The maximum number +// of tags that can be applied to a repository is 50. +// // * ErrCodeRepositoryAlreadyExistsException "RepositoryAlreadyExistsException" // The specified repository already exists in the specified registry. // @@ -1756,6 +1767,93 @@ func (c *ECR) ListImagesPagesWithContext(ctx aws.Context, input *ListImagesInput return p.Err() } +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ListTagsForResource +func (c *ECR) 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 EC2 Container Registry. +// +// List the tags for an Amazon ECR 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 EC2 Container Registry's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ErrCodeRepositoryNotFoundException "RepositoryNotFoundException" +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// +// * ErrCodeServerException "ServerException" +// These errors are usually caused by a server-side issue. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ListTagsForResource +func (c *ECR) 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 *ECR) 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 opPutImage = "PutImage" // PutImageRequest generates a "aws/request.Request" representing the @@ -2131,6 +2229,201 @@ func (c *ECR) StartLifecyclePolicyPreviewWithContext(ctx aws.Context, input *Sta return out, req.Send() } +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/TagResource +func (c *ECR) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon EC2 Container Registry. +// +// Adds specified tags to a resource with the specified ARN. Existing tags on +// a resource are not changed if they are not specified in the request parameters. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon EC2 Container Registry's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ErrCodeInvalidTagParameterException "InvalidTagParameterException" +// An invalid parameter has been specified. Tag keys can have a maximum character +// length of 128 characters, and tag values can have a maximum length of 256 +// characters. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// The list of tags on the repository is over the limit. The maximum number +// of tags that can be applied to a repository is 50. +// +// * ErrCodeRepositoryNotFoundException "RepositoryNotFoundException" +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// +// * ErrCodeServerException "ServerException" +// These errors are usually caused by a server-side issue. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/TagResource +func (c *ECR) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ECR) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UntagResource +func (c *ECR) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon EC2 Container Registry. +// +// Deletes specified tags from a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon EC2 Container Registry's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ErrCodeInvalidTagParameterException "InvalidTagParameterException" +// An invalid parameter has been specified. Tag keys can have a maximum character +// length of 128 characters, and tag values can have a maximum length of 256 +// characters. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// The list of tags on the repository is over the limit. The maximum number +// of tags that can be applied to a repository is 50. +// +// * ErrCodeRepositoryNotFoundException "RepositoryNotFoundException" +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// +// * ErrCodeServerException "ServerException" +// These errors are usually caused by a server-side issue. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UntagResource +func (c *ECR) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ECR) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUploadLayerPart = "UploadLayerPart" // UploadLayerPartRequest generates a "aws/request.Request" representing the @@ -2745,6 +3038,8 @@ type CreateRepositoryInput struct { // // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` + + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation @@ -2779,6 +3074,12 @@ func (s *CreateRepositoryInput) SetRepositoryName(v string) *CreateRepositoryInp return s } +// SetTags sets the Tags field's value. +func (s *CreateRepositoryInput) SetTags(v []*Tag) *CreateRepositoryInput { + s.Tags = v + return s +} + type CreateRepositoryOutput struct { _ struct{} `type:"structure"` @@ -3119,7 +3420,7 @@ type DescribeImagesInput struct { // results in a single page along with a nextToken response element. The remaining // results of the initial request can be seen by sending another DescribeImages // request with the returned nextToken value. This value can be between 1 and - // 100. If this parameter is not used, then DescribeImages returns up to 100 + // 1000. If this parameter is not used, then DescribeImages returns up to 100 // results and a nextToken value, if applicable. This option cannot be used // when you specify images with imageIds. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` @@ -3136,8 +3437,7 @@ type DescribeImagesInput struct { // registry is assumed. RegistryId *string `locationName:"registryId" type:"string"` - // A list of repositories to describe. If this parameter is omitted, then all - // repositories in a registry are described. + // A list of repositories to describe. // // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` @@ -3254,7 +3554,7 @@ type DescribeRepositoriesInput struct { // returns maxResults results in a single page along with a nextToken response // element. The remaining results of the initial request can be seen by sending // another DescribeRepositories request with the returned nextToken value. This - // value can be between 1 and 100. If this parameter is not used, then DescribeRepositories + // value can be between 1 and 1000. If this parameter is not used, then DescribeRepositories // returns up to 100 results and a nextToken value, if applicable. This option // cannot be used when you specify repositories with repositoryNames. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` @@ -3640,7 +3940,7 @@ type GetLifecyclePolicyPreviewInput struct { // only returns
 maxResults results in a single page along with a nextToken // response element. The remaining results of the initial request can be seen // by sending
 another GetLifecyclePolicyPreviewRequest request with the returned - // nextToken
 value. This value can be between 1 and 100. If this
 parameter + // nextToken
 value. This value can be between 1 and 1000. If this
 parameter // is not used, then GetLifecyclePolicyPreviewRequest returns up to
 100 results // and a nextToken value, if
 applicable. This option cannot be used when you // specify images with imageIds. @@ -4452,9 +4752,9 @@ type ListImagesInput struct { // When this parameter is used, ListImages only returns maxResults results in // a single page along with a nextToken response element. The remaining results // of the initial request can be seen by sending another ListImages request - // with the returned nextToken value. This value can be between 1 and 100. If - // this parameter is not used, then ListImages returns up to 100 results and - // a nextToken value, if applicable. + // with the returned nextToken value. This value can be between 1 and 1000. + // If this parameter is not used, then ListImages returns up to 100 results + // and a nextToken value, if applicable. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` // The nextToken value returned from a previous paginated ListImages request @@ -4571,6 +4871,68 @@ func (s *ListImagesOutput) SetNextToken(v string) *ListImagesOutput { return s } +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) that identifies the resource for which to + // list the tags. Currently, the only supported resource is an Amazon ECR repository. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` +} + +// 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.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags for the resource. + Tags []*Tag `locationName:"tags" 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() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + type PutImageInput struct { _ struct{} `type:"structure"` @@ -5074,6 +5436,180 @@ func (s *StartLifecyclePolicyPreviewOutput) SetStatus(v string) *StartLifecycleP return s } +// The metadata that you apply to a resource to help you categorize and organize +// them. Each tag consists of a key and an optional value, both of which you +// define. Tag keys can have a maximum character length of 128 characters, and +// tag values can have a maximum length of 256 characters. +type Tag struct { + _ struct{} `type:"structure"` + + // One part of a key-value pair that make up a tag. A key is a general label + // that acts like a category for more specific tag values. + Key *string `type:"string"` + + // The optional part of a key-value pair that make up a tag. A value acts as + // a descriptor within a tag category (key). + Value *string `type:"string"` +} + +// 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() +} + +// 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 +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the the resource to which to add tags. + // Currently, the only supported resource is an Amazon ECR repository. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` + + // The tags to add to the resource. A tag is an array of key-value pairs. Tag + // keys can have a maximum character length of 128 characters, and tag values + // can have a maximum length of 256 characters. + // + // Tags is a required field + Tags []*Tag `locationName:"tags" type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource from which to remove tags. + // Currently, the only supported resource is an Amazon ECR repository. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` + + // The keys of the tags to be removed. + // + // TagKeys is a required field + TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + type UploadLayerPartInput struct { _ struct{} `type:"structure"` @@ -5292,4 +5828,7 @@ const ( // TagStatusUntagged is a TagStatus enum value TagStatusUntagged = "UNTAGGED" + + // TagStatusAny is a TagStatus enum value + TagStatusAny = "ANY" ) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go index 09e0595de71..834905106ab 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go @@ -44,6 +44,14 @@ const ( // API request. ErrCodeInvalidParameterException = "InvalidParameterException" + // ErrCodeInvalidTagParameterException for service response error code + // "InvalidTagParameterException". + // + // An invalid parameter has been specified. Tag keys can have a maximum character + // length of 128 characters, and tag values can have a maximum length of 256 + // characters. + ErrCodeInvalidTagParameterException = "InvalidTagParameterException" + // ErrCodeLayerAlreadyExistsException for service response error code // "LayerAlreadyExistsException". // @@ -131,6 +139,13 @@ const ( // These errors are usually caused by a server-side issue. ErrCodeServerException = "ServerException" + // ErrCodeTooManyTagsException for service response error code + // "TooManyTagsException". + // + // The list of tags on the repository is over the limit. The maximum number + // of tags that can be applied to a repository is 50. + ErrCodeTooManyTagsException = "TooManyTagsException" + // ErrCodeUploadNotFoundException for service response error code // "UploadNotFoundException". // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecr/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecr/service.go index 7bdf2137099..3eba7f696b6 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecr/service.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecr/service.go @@ -29,9 +29,9 @@ var initRequest func(*request.Request) // Service information constants const ( - ServiceName = "ecr" // Name of service. - EndpointsID = ServiceName // ID to lookup a service endpoint with. - ServiceID = "ECR" // ServiceID is a unique identifer of a specific service. + ServiceName = "ecr" // Name of service. + EndpointsID = "api.ecr" // ID to lookup a service endpoint with. + ServiceID = "ECR" // ServiceID is a unique identifer of a specific service. ) // New creates a new instance of the ECR client with a session. @@ -46,6 +46,9 @@ const ( // svc := ecr.New(mySession, aws.NewConfig().WithRegion("us-west-2")) func New(p client.ConfigProvider, cfgs ...*aws.Config) *ECR { c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "ecr" + } return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go index 52ec24bb122..66aa3be285e 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go @@ -163,7 +163,7 @@ func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Requ // In addition to maintaining the desired count of tasks in your service, you // can optionally run your service behind a load balancer. The load balancer // distributes traffic across the tasks that are associated with the service. -// For more information, see Service Load Balancing (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) +// For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) // in the Amazon Elastic Container Service Developer Guide. // // You can optionally specify a deployment configuration for your service. The @@ -1820,7 +1820,7 @@ func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) // Returns a list of container instances in a specified cluster. You can filter // the results of a ListContainerInstances operation with cluster query language // statements inside the filter parameter. For more information, see Cluster -// Query Language (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) +// Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) // in the Amazon Elastic Container Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2656,11 +2656,16 @@ func (c *ECS) PutAccountSettingRequest(input *PutAccountSettingInput) (req *requ // PutAccountSetting API operation for Amazon EC2 Container Service. // -// Modifies the ARN and resource ID format of a resource for a specified IAM -// user, IAM role, or the root user for an account. You can specify whether -// the new ARN and resource ID format are enabled for new resources that are -// created. Enabling this setting is required to use new Amazon ECS features -// such as resource tagging. +// Modifies the ARN and resource ID format of a resource type for a specified +// IAM user, IAM role, or the root user for an account. If the account setting +// for the root user is changed, it sets the default setting for all of the +// IAM users and roles for which no individual account setting has been set. +// The opt-in and opt-out account setting can be set for each Amazon ECS resource +// separately. The ARN and resource ID format of a resource will be defined +// by the opt-in status of the IAM user or role that created the resource. Enabling +// this setting is required to use new Amazon ECS features such as resource +// tagging. For more information, see Amazon Resource Names (ARNs) and IDs (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-resource-ids.html) +// in the Amazon Elastic Container Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2704,6 +2709,97 @@ func (c *ECS) PutAccountSettingWithContext(ctx aws.Context, input *PutAccountSet return out, req.Send() } +const opPutAccountSettingDefault = "PutAccountSettingDefault" + +// PutAccountSettingDefaultRequest generates a "aws/request.Request" representing the +// client's request for the PutAccountSettingDefault 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 PutAccountSettingDefault for more information on using the PutAccountSettingDefault +// 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 PutAccountSettingDefaultRequest method. +// req, resp := client.PutAccountSettingDefaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault +func (c *ECS) PutAccountSettingDefaultRequest(input *PutAccountSettingDefaultInput) (req *request.Request, output *PutAccountSettingDefaultOutput) { + op := &request.Operation{ + Name: opPutAccountSettingDefault, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutAccountSettingDefaultInput{} + } + + output = &PutAccountSettingDefaultOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutAccountSettingDefault API operation for Amazon EC2 Container Service. +// +// Modifies the ARN and resource ID format of a resource type for all IAM users +// on an account for which no individual account setting has been set. Enabling +// this setting is required to use new Amazon ECS features such as resource +// tagging. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon EC2 Container Service's +// API operation PutAccountSettingDefault for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServerException "ServerException" +// These errors are usually caused by a server issue. +// +// * ErrCodeClientException "ClientException" +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an identifier that is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault +func (c *ECS) PutAccountSettingDefault(input *PutAccountSettingDefaultInput) (*PutAccountSettingDefaultOutput, error) { + req, out := c.PutAccountSettingDefaultRequest(input) + return out, req.Send() +} + +// PutAccountSettingDefaultWithContext is the same as PutAccountSettingDefault with the addition of +// the ability to pass a context and additional request options. +// +// See PutAccountSettingDefault for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ECS) PutAccountSettingDefaultWithContext(ctx aws.Context, input *PutAccountSettingDefaultInput, opts ...request.Option) (*PutAccountSettingDefaultOutput, error) { + req, out := c.PutAccountSettingDefaultRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutAttributes = "PutAttributes" // PutAttributesRequest generates a "aws/request.Request" representing the @@ -2751,7 +2847,7 @@ func (c *ECS) PutAttributesRequest(input *PutAttributesInput) (req *request.Requ // Create or update an attribute on an Amazon ECS resource. If the attribute // does not exist, it is created. If the attribute exists, its value is replaced // with the specified value. To delete an attribute, use DeleteAttributes. For -// more information, see Attributes (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) +// more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) // in the Amazon Elastic Container Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2941,14 +3037,14 @@ func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) // Registers a new task definition from the supplied family and containerDefinitions. // Optionally, you can add data volumes to your containers with the volumes // parameter. For more information about task definition parameters and defaults, -// see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) +// see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) // in the Amazon Elastic Container Service Developer Guide. // // You can specify an IAM role for your task with the taskRoleArn parameter. // When you specify an IAM role for a task, its containers can then use the // latest versions of the AWS CLI or SDKs to make API requests to the AWS services // that are specified in the IAM policy associated with the role. For more information, -// see IAM Roles for Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) +// see IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) // in the Amazon Elastic Container Service Developer Guide. // // You can specify a Docker networking mode for the containers in your task @@ -3050,7 +3146,7 @@ func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output // // You can allow Amazon ECS to place tasks for you, or you can customize how // Amazon ECS places tasks using placement constraints and placement strategies. -// For more information, see Scheduling Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) +// For more information, see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) // in the Amazon Elastic Container Service Developer Guide. // // Alternatively, you can use StartTask to use your own scheduler or place tasks @@ -3187,7 +3283,7 @@ func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, out // instance or instances. // // Alternatively, you can use RunTask to place tasks for you. For more information, -// see Scheduling Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) +// see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) // in the Amazon Elastic Container Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3291,7 +3387,7 @@ func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, outpu // // The default 30-second timeout can be configured on the Amazon ECS container // agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, -// see Amazon ECS Container Agent Configuration (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) +// see Amazon ECS Container Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) // in the Amazon Elastic Container Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3768,7 +3864,7 @@ func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req // UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux // with the ecs-init service installed and running. For help updating the Amazon // ECS container agent on other operating systems, see Manually Updating the -// Amazon ECS Container Agent (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) +// Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) // in the Amazon Elastic Container Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4274,7 +4370,7 @@ func (s *AttachmentStateChange) SetStatus(v string) *AttachmentStateChange { // An attribute is a name-value pair associated with an Amazon ECS object. Attributes // enable you to extend the Amazon ECS data model by adding custom metadata -// to your resources. For more information, see Attributes (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) +// to your resources. For more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) // in the Amazon Elastic Container Service Developer Guide. type Attribute struct { _ struct{} `type:"structure"` @@ -4357,13 +4453,13 @@ type AwsVpcConfiguration struct { // The security groups associated with the task or service. If you do not specify // a security group, the default security group for the VPC is used. There is - // a limit of five security groups able to be specified per AwsVpcConfiguration. + // a limit of 5 security groups that can be specified per AwsVpcConfiguration. // // All specified security groups must be from the same VPC. SecurityGroups []*string `locationName:"securityGroups" type:"list"` // The subnets associated with the task or service. There is a limit of 16 subnets - // able to be specified per AwsVpcConfiguration. + // that can be specified per AwsVpcConfiguration. // // All specified subnets must be from the same VPC. // @@ -4545,9 +4641,17 @@ type Container struct { // The Amazon Resource Name (ARN) of the container. ContainerArn *string `locationName:"containerArn" type:"string"` + // The number of CPU units set for the container. The value will be 0 if no + // value was specified in the container definition when the task definition + // was registered. + Cpu *string `locationName:"cpu" type:"string"` + // The exit code returned from the container. ExitCode *int64 `locationName:"exitCode" type:"integer"` + // The IDs of each GPU assigned to the container. + GpuIds []*string `locationName:"gpuIds" type:"list"` + // The health status of the container. If health checks are not configured for // this container in its task definition, then it reports the health status // as UNKNOWN. @@ -4556,6 +4660,12 @@ type Container struct { // The last known status of the container. LastStatus *string `locationName:"lastStatus" type:"string"` + // The hard limit (in MiB) of memory set for the container. + Memory *string `locationName:"memory" type:"string"` + + // The soft limit (in MiB) of memory set for the container. + MemoryReservation *string `locationName:"memoryReservation" type:"string"` + // The name of the container. Name *string `locationName:"name" type:"string"` @@ -4589,12 +4699,24 @@ func (s *Container) SetContainerArn(v string) *Container { return s } +// SetCpu sets the Cpu field's value. +func (s *Container) SetCpu(v string) *Container { + s.Cpu = &v + return s +} + // SetExitCode sets the ExitCode field's value. func (s *Container) SetExitCode(v int64) *Container { s.ExitCode = &v return s } +// SetGpuIds sets the GpuIds field's value. +func (s *Container) SetGpuIds(v []*string) *Container { + s.GpuIds = v + return s +} + // SetHealthStatus sets the HealthStatus field's value. func (s *Container) SetHealthStatus(v string) *Container { s.HealthStatus = &v @@ -4607,6 +4729,18 @@ func (s *Container) SetLastStatus(v string) *Container { return s } +// SetMemory sets the Memory field's value. +func (s *Container) SetMemory(v string) *Container { + s.Memory = &v + return s +} + +// SetMemoryReservation sets the MemoryReservation field's value. +func (s *Container) SetMemoryReservation(v string) *Container { + s.MemoryReservation = &v + return s +} + // SetName sets the Name field's value. func (s *Container) SetName(v string) *Container { s.Name = &v @@ -4647,7 +4781,8 @@ type ContainerDefinition struct { // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/). // For more information, see https://docs.docker.com/engine/reference/builder/#cmd - // (https://docs.docker.com/engine/reference/builder/#cmd). + // (https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple + // arguments, each argument should be a separated string in the array. Command []*string `locationName:"command" type:"list"` // The number of cpu units reserved for the container. This parameter maps to @@ -4751,7 +4886,7 @@ type ContainerDefinition struct { // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment // variables before containers placed on that instance can use these security // options. For more information, see Amazon ECS Container Agent Configuration - // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) + // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) // in the Amazon Elastic Container Service Developer Guide. // // This parameter is not supported for Windows containers. @@ -4788,7 +4923,7 @@ type ContainerDefinition struct { // that is composed of multiple containers, you should group containers that // are used for a common purpose into components, and separate the different // components into multiple task definitions. For more information, see Application - // Architecture (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) + // Architecture (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) // in the Amazon Elastic Container Service Developer Guide. Essential *bool `locationName:"essential" type:"boolean"` @@ -4909,7 +5044,7 @@ type ContainerDefinition struct { // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS // environment variable before containers placed on that instance can use these // log configuration options. For more information, see Amazon ECS Container - // Agent Configuration (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) + // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) // in the Amazon Elastic Container Service Developer Guide. LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` @@ -5034,7 +5169,13 @@ type ContainerDefinition struct { // The private repository authentication credentials to use. RepositoryCredentials *RepositoryCredentials `locationName:"repositoryCredentials" type:"structure"` - // The secrets to pass to the container. + // The type and amount of a resource to assign to a container. The only supported + // resource is a GPU. + ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` + + // The secrets to pass to the container. For more information, see Specifying + // Sensitive Data (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) + // in the Amazon Elastic Container Service Developer Guide. Secrets []*Secret `locationName:"secrets" type:"list"` // A list of namespaced kernel parameters to set in the container. This parameter @@ -5127,6 +5268,16 @@ func (s *ContainerDefinition) Validate() error { invalidParams.AddNested("RepositoryCredentials", err.(request.ErrInvalidParams)) } } + if s.ResourceRequirements != nil { + for i, v := range s.ResourceRequirements { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) + } + } + } if s.Secrets != nil { for i, v := range s.Secrets { if v == nil { @@ -5316,6 +5467,12 @@ func (s *ContainerDefinition) SetRepositoryCredentials(v *RepositoryCredentials) return s } +// SetResourceRequirements sets the ResourceRequirements field's value. +func (s *ContainerDefinition) SetResourceRequirements(v []*ResourceRequirement) *ContainerDefinition { + s.ResourceRequirements = v + return s +} + // SetSecrets sets the Secrets field's value. func (s *ContainerDefinition) SetSecrets(v []*Secret) *ContainerDefinition { s.Secrets = v @@ -5413,7 +5570,7 @@ type ContainerInstance struct { // or DRAINING. ACTIVE indicates that the container instance can accept tasks. // DRAINING indicates that new tasks are not placed on the container instance // and any service tasks running on the container instance are removed if possible. - // For more information, see Container Instance Draining (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) + // For more information, see Container Instance Draining (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) // in the Amazon Elastic Container Service Developer Guide. Status *string `locationName:"status" type:"string"` @@ -5570,6 +5727,11 @@ type ContainerOverride struct { // The name of the container that receives the override. This parameter is required // if any override is specified. Name *string `locationName:"name" type:"string"` + + // The type and amount of a resource to assign to a container, instead of the + // default value from the task definition. The only supported resource is a + // GPU. + ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` } // String returns the string representation @@ -5582,6 +5744,26 @@ func (s ContainerOverride) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerOverride) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerOverride"} + if s.ResourceRequirements != nil { + for i, v := range s.ResourceRequirements { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCommand sets the Command field's value. func (s *ContainerOverride) SetCommand(v []*string) *ContainerOverride { s.Command = v @@ -5618,6 +5800,12 @@ func (s *ContainerOverride) SetName(v string) *ContainerOverride { return s } +// SetResourceRequirements sets the ResourceRequirements field's value. +func (s *ContainerOverride) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverride { + s.ResourceRequirements = v + return s +} + // An object representing a change in state for a container. type ContainerStateChange struct { _ struct{} `type:"structure"` @@ -5784,7 +5972,7 @@ type CreateServiceInput struct { // Specifies whether to enable Amazon ECS managed tags for the tasks within // the service. For more information, see Tagging Your Amazon ECS Resources - // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Using_Tags.html) + // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) // in the Amazon Elastic Container Service Developer Guide. EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` @@ -5800,7 +5988,7 @@ type CreateServiceInput struct { HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` // The launch type on which to run your service. For more information, see Amazon - // ECS Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) + // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) // in the Amazon Elastic Container Service Developer Guide. LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` @@ -5865,14 +6053,15 @@ type CreateServiceInput struct { // The platform version on which your tasks in the service are running. A platform // version is only specified for tasks using the Fargate launch type. If one // is not specified, the LATEST platform version is used by default. For more - // information, see AWS Fargate Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) + // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) // in the Amazon Elastic Container Service Developer Guide. PlatformVersion *string `locationName:"platformVersion" type:"string"` // Specifies whether to propagate the tags from the task definition or the service - // to the tasks. If no value is specified, the tags are not propagated. Tags - // can only be propagated to the tasks within the service during service creation. - // To add tags to a task after service creation, use the TagResource API action. + // to the tasks in the service. If no value is specified, the tags are not propagated. + // Tags can only be propagated to the tasks within the service during service + // creation. To add tags to a task after service creation, use the TagResource + // API action. PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon @@ -5893,7 +6082,7 @@ type CreateServiceInput struct { // the full role ARN (this is recommended) or prefix the role name with the // path. For example, if a role with the name bar has a path of /foo/ then you // would specify /foo/bar as the role name. For more information, see Friendly - // Names and Paths (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) + // Names and Paths (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) // in the IAM User Guide. Role *string `locationName:"role" type:"string"` @@ -6468,7 +6657,7 @@ type Deployment struct { Id *string `locationName:"id" type:"string"` // The launch type the tasks in the service are using. For more information, - // see Amazon ECS Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) + // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) // in the Amazon Elastic Container Service Developer Guide. LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` @@ -6482,7 +6671,7 @@ type Deployment struct { // The platform version on which your tasks in the service are running. A platform // version is only specified for tasks using the Fargate launch type. If one // is not specified, the LATEST platform version is used by default. For more - // information, see AWS Fargate Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) + // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) // in the Amazon Elastic Container Service Developer Guide. PlatformVersion *string `locationName:"platformVersion" type:"string"` @@ -8316,7 +8505,7 @@ type ListContainerInstancesInput struct { // You can filter the results of a ListContainerInstances operation with cluster // query language statements. For more information, see Cluster Query Language - // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) + // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) // in the Amazon Elastic Container Service Developer Guide. Filter *string `locationName:"filter" type:"string"` @@ -9069,7 +9258,7 @@ type LogConfiguration struct { // parameter are log drivers that the Amazon ECS container agent can communicate // with by default. If you are using the Fargate launch type, the only supported // value is awslogs. For more information about using the awslogs driver, see - // Using the awslogs Log Driver (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) + // Using the awslogs Log Driver (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) // in the Amazon Elastic Container Service Developer Guide. // // If you have a custom driver that is not listed above that you would like @@ -9314,14 +9503,14 @@ func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { } // An object representing a constraint on task placement. For more information, -// see Task Placement Constraints (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) +// see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) // in the Amazon Elastic Container Service Developer Guide. type PlacementConstraint struct { _ struct{} `type:"structure"` // A cluster query language expression to apply to the constraint. You cannot // specify an expression if the constraint type is distinctInstance. For more - // information, see Cluster Query Language (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) + // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) // in the Amazon Elastic Container Service Developer Guide. Expression *string `locationName:"expression" type:"string"` @@ -9355,7 +9544,7 @@ func (s *PlacementConstraint) SetType(v string) *PlacementConstraint { } // The task placement strategy for a task or service. For more information, -// see Task Placement Strategies (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) +// see Task Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) // in the Amazon Elastic Container Service Developer Guide. type PlacementStrategy struct { _ struct{} `type:"structure"` @@ -9400,6 +9589,63 @@ func (s *PlacementStrategy) SetType(v string) *PlacementStrategy { return s } +// The devices that are available on the container instance. The only supported +// device type is a GPU. +type PlatformDevice struct { + _ struct{} `type:"structure"` + + // The ID for the GPU(s) on the container instance. The available GPU IDs can + // also be obtained on the container instance in the /var/lib/ecs/gpu/nvidia_gpu_info.json + // file. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The type of device that is available on the container instance. The only + // supported value is GPU. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"PlatformDeviceType"` +} + +// String returns the string representation +func (s PlatformDevice) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PlatformDevice) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PlatformDevice) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PlatformDevice"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *PlatformDevice) SetId(v string) *PlatformDevice { + s.Id = &v + return s +} + +// SetType sets the Type field's value. +func (s *PlatformDevice) SetType(v string) *PlatformDevice { + s.Type = &v + return s +} + // Port mappings allow containers to access ports on the host container instance // to send or receive traffic. Port mappings are specified as part of the container // definition. @@ -9449,12 +9695,12 @@ type PortMapping struct { // for Docker versions before 1.6.0. // // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, - // and the Amazon ECS container agent ports 51678 and 51679. Any host port that + // and the Amazon ECS container agent ports 51678-51680. Any host port that // was previously specified in a running task is also reserved while the task // is running (after a task stops, the host port is released). The current reserved // ports are displayed in the remainingResources of DescribeContainerInstances - // output. A container instance may have up to 100 reserved ports at a time, - // including the default reserved ports. Aautomatically assigned ports do not + // output. A container instance can have up to 100 reserved ports at a time, + // including the default reserved ports. Automatically assigned ports don't // count toward the 100 reserved ports limit. HostPort *int64 `locationName:"hostPort" type:"integer"` @@ -9491,6 +9737,86 @@ func (s *PortMapping) SetProtocol(v string) *PortMapping { return s } +type PutAccountSettingDefaultInput struct { + _ struct{} `type:"structure"` + + // The resource type to enable the new format for. If serviceLongArnFormat is + // specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat + // is specified, the ARN and resource ID for your Amazon ECS tasks are affected. + // If containerInstanceLongArnFormat is specified, the ARN and resource ID for + // your Amazon ECS container instances are affected. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` + + // The account setting value for the specified principal ARN. Accepted values + // are enabled and disabled. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutAccountSettingDefaultInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutAccountSettingDefaultInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutAccountSettingDefaultInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingDefaultInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *PutAccountSettingDefaultInput) SetName(v string) *PutAccountSettingDefaultInput { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *PutAccountSettingDefaultInput) SetValue(v string) *PutAccountSettingDefaultInput { + s.Value = &v + return s +} + +type PutAccountSettingDefaultOutput struct { + _ struct{} `type:"structure"` + + // The current account setting for a resource. + Setting *Setting `locationName:"setting" type:"structure"` +} + +// String returns the string representation +func (s PutAccountSettingDefaultOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutAccountSettingDefaultOutput) GoString() string { + return s.String() +} + +// SetSetting sets the Setting field's value. +func (s *PutAccountSettingDefaultOutput) SetSetting(v *Setting) *PutAccountSettingDefaultOutput { + s.Setting = v + return s +} + type PutAccountSettingInput struct { _ struct{} `type:"structure"` @@ -9507,7 +9833,7 @@ type PutAccountSettingInput struct { // user. If you specify the root user, it modifies the ARN and resource ID format // for all IAM users, IAM roles, and the root user of the account unless an // IAM user or role explicitly overrides these settings for themselves. If this - // field is omitted, the setting are changed only for the authenticated user. + // field is omitted, the settings are changed only for the authenticated user. PrincipalArn *string `locationName:"principalArn" type:"string"` // The account setting value for the specified principal ARN. Accepted values @@ -9691,6 +10017,10 @@ type RegisterContainerInstanceInput struct { // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"` + // The devices that are available on the container instance. The only supported + // device type is a GPU. + PlatformDevices []*PlatformDevice `locationName:"platformDevices" type:"list"` + // The metadata that you apply to the container instance to help you categorize // and organize them. Each tag consists of a key and an optional value, both // of which you define. Tag keys can have a maximum character length of 128 @@ -9728,6 +10058,16 @@ func (s *RegisterContainerInstanceInput) Validate() error { } } } + if s.PlatformDevices != nil { + for i, v := range s.PlatformDevices { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlatformDevices", i), err.(request.ErrInvalidParams)) + } + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -9775,6 +10115,12 @@ func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocumentSignature(v return s } +// SetPlatformDevices sets the PlatformDevices field's value. +func (s *RegisterContainerInstanceInput) SetPlatformDevices(v []*PlatformDevice) *RegisterContainerInstanceInput { + s.PlatformDevices = v + return s +} + // SetTags sets the Tags field's value. func (s *RegisterContainerInstanceInput) SetTags(v []*Tag) *RegisterContainerInstanceInput { s.Tags = v @@ -10001,7 +10347,7 @@ type RegisterTaskDefinitionInput struct { // The short name or full Amazon Resource Name (ARN) of the IAM role that containers // in this task can assume. All containers in this task are granted the permissions // that are specified in this role. For more information, see IAM Roles for - // Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) + // Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) // in the Amazon Elastic Container Service Developer Guide. TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` @@ -10284,6 +10630,66 @@ func (s *Resource) SetType(v string) *Resource { return s } +// The type and amount of a resource to assign to a container. The only supported +// resource is a GPU. For more information, see Working with GPUs on Amazon +// ECS (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) +// in the Amazon Elastic Container Service Developer Guide +type ResourceRequirement struct { + _ struct{} `type:"structure"` + + // The type of resource to assign to a container. The only supported value is + // GPU. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` + + // The number of physical GPUs the Amazon ECS container agent will reserve for + // the container. The number of GPUs reserved for all containers in a task should + // not exceed the number of available GPUs on the container instance the task + // is launched on. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResourceRequirement) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceRequirement) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceRequirement) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetType sets the Type field's value. +func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { + s.Value = &v + return s +} + type RunTaskInput struct { _ struct{} `type:"structure"` @@ -10297,7 +10703,7 @@ type RunTaskInput struct { Count *int64 `locationName:"count" type:"integer"` // Specifies whether to enable Amazon ECS managed tags for the task. For more - // information, see Tagging Your Amazon ECS Resources (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Using_Tags.html) + // information, see Tagging Your Amazon ECS Resources (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) // in the Amazon Elastic Container Service Developer Guide. EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` @@ -10306,7 +10712,7 @@ type RunTaskInput struct { Group *string `locationName:"group" type:"string"` // The launch type on which to run your task. For more information, see Amazon - // ECS Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) + // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) // in the Amazon Elastic Container Service Developer Guide. LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` @@ -10341,12 +10747,17 @@ type RunTaskInput struct { // The platform version the task should run. A platform version is only specified // for tasks using the Fargate launch type. If one is not specified, the LATEST // platform version is used by default. For more information, see AWS Fargate - // Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) + // Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) // in the Amazon Elastic Container Service Developer Guide. PlatformVersion *string `locationName:"platformVersion" type:"string"` - // Specifies whether to propagate the tags from the task definition or the service - // to the task. If no value is specified, the tags are not propagated. + // Specifies whether to propagate the tags from the task definition to the task. + // If no value is specified, the tags are not propagated. Tags can only be propagated + // to the task during task creation. To add tags to a task after task creation, + // use the TagResource API action. + // + // An error will be received if you specify the SERVICE option when running + // a task. PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` // An optional tag specified when a task is started. For example, if you automatically @@ -10394,6 +10805,11 @@ func (s *RunTaskInput) Validate() error { invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) } } + if s.Overrides != nil { + if err := s.Overrides.Validate(); err != nil { + invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -10564,7 +10980,9 @@ func (s *Scale) SetValue(v float64) *Scale { return s } -// An object representing the secret to expose to your container. +// An object representing the secret to expose to your container. For more information, +// see Specifying Sensitive Data (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) +// in the Amazon Elastic Container Service Developer Guide. type Secret struct { _ struct{} `type:"structure"` @@ -10573,8 +10991,17 @@ type Secret struct { // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` - // The secret to expose to the container. Supported values are either the full - // ARN or the name of the parameter in the AWS Systems Manager Parameter Store. + // The secret to expose to the container. If your task is using the EC2 launch + // type, then supported values are either the full ARN of the AWS Secrets Manager + // secret or the full ARN of the parameter in the AWS Systems Manager Parameter + // Store. If your task is using the Fargate launch type, then the only supported + // value is the full ARN of the parameter in the AWS Systems Manager Parameter + // Store. + // + // If the AWS Systems Manager Parameter Store parameter exists in the same Region + // as the task you are launching, then you can use either the full ARN or name + // of the parameter. If the parameter exists in a different Region, then the + // full ARN must be specified. // // ValueFrom is a required field ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` @@ -10647,7 +11074,7 @@ type Service struct { DesiredCount *int64 `locationName:"desiredCount" type:"integer"` // Specifies whether to enable Amazon ECS managed tags for the tasks in the - // service. For more information, see Tagging Your Amazon ECS Resources (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Using_Tags.html) + // service. For more information, see Tagging Your Amazon ECS Resources (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) // in the Amazon Elastic Container Service Developer Guide. EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` @@ -10661,7 +11088,7 @@ type Service struct { HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` // The launch type on which your service is running. For more information, see - // Amazon ECS Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) + // Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) // in the Amazon Elastic Container Service Developer Guide. LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` @@ -10693,7 +11120,7 @@ type Service struct { // The platform version on which your tasks in the service are running. A platform // version is only specified for tasks using the Fargate launch type. If one // is not specified, the LATEST platform version is used by default. For more - // information, see AWS Fargate Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) + // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) // in the Amazon Elastic Container Service Developer Guide. PlatformVersion *string `locationName:"platformVersion" type:"string"` @@ -11108,7 +11535,7 @@ type StartTaskInput struct { ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` // Specifies whether to enable Amazon ECS managed tags for the task. For more - // information, see Tagging Your Amazon ECS Resources (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Using_Tags.html) + // information, see Tagging Your Amazon ECS Resources (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) // in the Amazon Elastic Container Service Developer Guide. EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` @@ -11184,6 +11611,11 @@ func (s *StartTaskInput) Validate() error { invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) } } + if s.Overrides != nil { + if err := s.Overrides.Validate(); err != nil { + invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -11882,7 +12314,7 @@ type Task struct { LastStatus *string `locationName:"lastStatus" type:"string"` // The launch type on which your task is running. For more information, see - // Amazon ECS Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) + // Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) // in the Amazon Elastic Container Service Developer Guide. LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` @@ -11920,7 +12352,7 @@ type Task struct { // The platform version on which your task is running. A platform version is // only specified for tasks using the Fargate launch type. If one is not specified, // the LATEST platform version is used by default. For more information, see - // AWS Fargate Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) + // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) // in the Amazon Elastic Container Service Developer Guide. PlatformVersion *string `locationName:"platformVersion" type:"string"` @@ -12164,13 +12596,13 @@ type TaskDefinition struct { _ struct{} `type:"structure"` // The launch type to use with your task. For more information, see Amazon ECS - // Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) + // Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) // in the Amazon Elastic Container Service Developer Guide. Compatibilities []*string `locationName:"compatibilities" type:"list"` // A list of container definitions in JSON format that describe the different // containers that make up your task. For more information about container definition - // parameters and defaults, see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) + // parameters and defaults, see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) // in the Amazon Elastic Container Service Developer Guide. ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"` @@ -12340,7 +12772,7 @@ type TaskDefinition struct { // IAM roles for tasks on Windows require that the -EnableTaskIAMRole option // is set when you launch the Amazon ECS-optimized Windows AMI. Your containers // must also run some configuration code in order to take advantage of the feature. - // For more information, see Windows IAM Roles for Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) + // For more information, see Windows IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) // in the Amazon Elastic Container Service Developer Guide. TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` @@ -12350,7 +12782,7 @@ type TaskDefinition struct { // are not supported. // // For more information about volume definition parameters and defaults, see - // Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) + // Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) // in the Amazon Elastic Container Service Developer Guide. Volumes []*Volume `locationName:"volumes" type:"list"` } @@ -12472,13 +12904,13 @@ func (s *TaskDefinition) SetVolumes(v []*Volume) *TaskDefinition { // If you are using the Fargate launch type, task placement constraints are // not supported. // -// For more information, see Task Placement Constraints (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) +// For more information, see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) // in the Amazon Elastic Container Service Developer Guide. type TaskDefinitionPlacementConstraint struct { _ struct{} `type:"structure"` // A cluster query language expression to apply to the constraint. For more - // information, see Cluster Query Language (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) + // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) // in the Amazon Elastic Container Service Developer Guide. Expression *string `locationName:"expression" type:"string"` @@ -12537,6 +12969,26 @@ func (s TaskOverride) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *TaskOverride) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TaskOverride"} + if s.ContainerOverrides != nil { + for i, v := range s.ContainerOverrides { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerOverrides", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetContainerOverrides sets the ContainerOverrides field's value. func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverride { s.ContainerOverrides = v @@ -12575,7 +13027,7 @@ type TaskSet struct { Id *string `locationName:"id" type:"string"` // The launch type the tasks in the task set are using. For more information, - // see Amazon ECS Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) + // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) // in the Amazon Elastic Container Service Developer Guide. LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` @@ -12594,7 +13046,7 @@ type TaskSet struct { // The platform version on which the tasks in the task set are running. A platform // version is only specified for tasks using the Fargate launch type. If one // is not specified, the LATEST platform version is used by default. For more - // information, see AWS Fargate Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) + // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) // in the Amazon Elastic Container Service Developer Guide. PlatformVersion *string `locationName:"platformVersion" type:"string"` @@ -13188,7 +13640,7 @@ type UpdateServiceInput struct { // The platform version on which your tasks in the service are running. A platform // version is only specified for tasks using the Fargate launch type. If one // is not specified, the LATEST platform version is used by default. For more - // information, see AWS Fargate Platform Versions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) + // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) // in the Amazon Elastic Container Service Developer Guide. PlatformVersion *string `locationName:"platformVersion" type:"string"` @@ -13640,6 +14092,11 @@ const ( PlacementStrategyTypeBinpack = "binpack" ) +const ( + // PlatformDeviceTypeGpu is a PlatformDeviceType enum value + PlatformDeviceTypeGpu = "GPU" +) + const ( // PropagateTagsTaskDefinition is a PropagateTags enum value PropagateTagsTaskDefinition = "TASK_DEFINITION" @@ -13648,6 +14105,11 @@ const ( PropagateTagsService = "SERVICE" ) +const ( + // ResourceTypeGpu is a ResourceType enum value + ResourceTypeGpu = "GPU" +) + const ( // ScaleUnitPercent is a ScaleUnit enum value ScaleUnitPercent = "PERCENT" diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/efs/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/efs/api.go index b3ef2782e90..73af29445db 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/efs/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/efs/api.go @@ -93,13 +93,14 @@ func (c *EFS) CreateFileSystemRequest(input *CreateFileSystemInput) (req *reques // scale to higher levels of aggregate throughput and operations per second // with a tradeoff of slightly higher latencies for most file operations. The // performance mode can't be changed after the file system has been created. -// For more information, see Amazon EFS: Performance Modes (http://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes.html). +// For more information, see Amazon EFS: Performance Modes (https://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes.html). // // After the file system is fully created, Amazon EFS sets its lifecycle state // to available, at which point you can create one or more mount targets for // the file system in your VPC. For more information, see CreateMountTarget. -// You mount your Amazon EFS file system on an EC2 instances in your VPC via -// the mount target. For more information, see Amazon EFS: How it Works (http://docs.aws.amazon.com/efs/latest/ug/how-it-works.html). +// You mount your Amazon EFS file system on an EC2 instances in your VPC by +// using the mount target. For more information, see Amazon EFS: How it Works +// (https://docs.aws.amazon.com/efs/latest/ug/how-it-works.html). // // This operation requires permissions for the elasticfilesystem:CreateFileSystem // action. @@ -205,14 +206,14 @@ func (c *EFS) CreateMountTargetRequest(input *CreateMountTargetInput) (req *requ // CreateMountTarget API operation for Amazon Elastic File System. // // Creates a mount target for a file system. You can then mount the file system -// on EC2 instances via the mount target. +// on EC2 instances by using the mount target. // // You can create one mount target in each Availability Zone in your VPC. All // EC2 instances in a VPC within a given Availability Zone share a single mount // target for a given file system. If you have multiple subnets in an Availability // Zone, you create a mount target in one of the subnets. EC2 instances do not // need to be in the same subnet as the mount target in order to access their -// file system. For more information, see Amazon EFS: How it Works (http://docs.aws.amazon.com/efs/latest/ug/how-it-works.html). +// file system. For more information, see Amazon EFS: How it Works (https://docs.aws.amazon.com/efs/latest/ug/how-it-works.html). // // In the request, you also specify a file system ID for which you are creating // the mount target and the file system's lifecycle state must be available. @@ -231,9 +232,9 @@ func (c *EFS) CreateMountTargetRequest(input *CreateMountTargetInput) (req *requ // a MountTargetId and an IpAddress. You use this IP address when mounting the // file system in an EC2 instance. You can also use the mount target's DNS name // when mounting the file system. The EC2 instance on which you mount the file -// system via the mount target can resolve the mount target's DNS name to its -// IP address. For more information, see How it Works: Implementation Overview -// (http://docs.aws.amazon.com/efs/latest/ug/how-it-works.html#how-it-works-implementation). +// system by using the mount target can resolve the mount target's DNS name +// to its IP address. For more information, see How it Works: Implementation +// Overview (https://docs.aws.amazon.com/efs/latest/ug/how-it-works.html#how-it-works-implementation). // // Note that you can create mount targets for a file system in only one VPC, // and there can be only one mount target per Availability Zone. That is, if @@ -278,14 +279,14 @@ func (c *EFS) CreateMountTargetRequest(input *CreateMountTargetInput) (req *requ // target creation status by calling the DescribeMountTargets operation, which // among other things returns the mount target state. // -// We recommend you create a mount target in each of the Availability Zones. +// We recommend that you create a mount target in each of the Availability Zones. // There are cost considerations for using a file system in an Availability // Zone through a mount target created in another Availability Zone. For more // information, see Amazon EFS (http://aws.amazon.com/efs/). In addition, by // always using a mount target local to the instance's Availability Zone, you // eliminate a partial failure scenario. If the Availability Zone in which your -// mount target is created goes down, then you won't be able to access your -// file system through that mount target. +// mount target is created goes down, then you can't access your file system +// through that mount target. // // This operation requires permissions for the following action on the file // system: @@ -341,7 +342,7 @@ func (c *EFS) CreateMountTargetRequest(input *CreateMountTargetInput) (req *requ // The calling account has reached the limit for elastic network interfaces // for the specific AWS Region. The client should try to delete some elastic // network interfaces or get the account limit raised. For more information, -// see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html) +// see Amazon VPC Limits (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html) // in the Amazon VPC User Guide (see the Network interfaces per VPC entry in // the table). // @@ -624,14 +625,14 @@ func (c *EFS) DeleteMountTargetRequest(input *DeleteMountTargetInput) (req *requ // // Deletes the specified mount target. // -// This operation forcibly breaks any mounts of the file system via the mount -// target that is being deleted, which might disrupt instances or applications +// This operation forcibly breaks any mounts of the file system by using the +// mount target that is being deleted, which might disrupt instances or applications // using those mounts. To avoid applications getting cut off abruptly, you might // consider unmounting any mounts of the mount target, if feasible. The operation -// also deletes the associated network interface. Uncommitted writes may be +// also deletes the associated network interface. Uncommitted writes might be // lost, but breaking a mount target using this operation does not corrupt the // file system itself. The file system you created remains. You can mount an -// EC2 instance in your VPC via another mount target. +// EC2 instance in your VPC by using another mount target. // // This operation requires permissions for the following action on the file // system: @@ -739,9 +740,9 @@ func (c *EFS) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, o // DeleteTags API operation for Amazon Elastic File System. // // Deletes the specified tags from a file system. If the DeleteTags request -// includes a tag key that does not exist, Amazon EFS ignores it and doesn't +// includes a tag key that doesn't exist, Amazon EFS ignores it and doesn't // cause an error. For more information about tags and related restrictions, -// see Tag Restrictions (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) +// see Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) // in the AWS Billing and Cost Management User Guide. // // This operation requires permissions for the elasticfilesystem:DeleteTags @@ -839,9 +840,10 @@ func (c *EFS) DescribeFileSystemsRequest(input *DescribeFileSystemsInput) (req * // // When retrieving all file system descriptions, you can optionally specify // the MaxItems parameter to limit the number of descriptions in a response. -// If more file system descriptions remain, Amazon EFS returns a NextMarker, -// an opaque token, in the response. In this case, you should send a subsequent -// request with the Marker request parameter set to the value of NextMarker. +// Currently, this number is automatically set to 10. If more file system descriptions +// remain, Amazon EFS returns a NextMarker, an opaque token, in the response. +// In this case, you should send a subsequent request with the Marker request +// parameter set to the value of NextMarker. // // To retrieve a list of your file system descriptions, this operation is used // in an iterative process, where DescribeFileSystems is called first without @@ -849,9 +851,6 @@ func (c *EFS) DescribeFileSystemsRequest(input *DescribeFileSystemsInput) (req * // set to the value of the NextMarker from the previous response until the response // has no NextMarker. // -// The implementation may return fewer than MaxItems file system descriptions -// while still including a NextMarker value. -// // The order of file systems returned in the response of one DescribeFileSystems // call and the order of file systems returned across the responses of a multi-call // iteration is unspecified. @@ -900,6 +899,100 @@ func (c *EFS) DescribeFileSystemsWithContext(ctx aws.Context, input *DescribeFil return out, req.Send() } +const opDescribeLifecycleConfiguration = "DescribeLifecycleConfiguration" + +// DescribeLifecycleConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLifecycleConfiguration 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 DescribeLifecycleConfiguration for more information on using the DescribeLifecycleConfiguration +// 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 DescribeLifecycleConfigurationRequest method. +// req, resp := client.DescribeLifecycleConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeLifecycleConfiguration +func (c *EFS) DescribeLifecycleConfigurationRequest(input *DescribeLifecycleConfigurationInput) (req *request.Request, output *DescribeLifecycleConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeLifecycleConfiguration, + HTTPMethod: "GET", + HTTPPath: "/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration", + } + + if input == nil { + input = &DescribeLifecycleConfigurationInput{} + } + + output = &DescribeLifecycleConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeLifecycleConfiguration API operation for Amazon Elastic File System. +// +// Returns the current LifecycleConfiguration object for the specified Amazon +// EFS file system. EFS lifecycle management uses the LifecycleConfiguration +// object to identify which files to move to the EFS Infrequent Access (IA) +// storage class. For a file system without a LifecycleConfiguration object, +// the call returns an empty array in the response. +// +// This operation requires permissions for the elasticfilesystem:DescribeLifecycleConfiguration +// 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 Elastic File System's +// API operation DescribeLifecycleConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerError "InternalServerError" +// Returned if an error occurred on the server side. +// +// * ErrCodeBadRequest "BadRequest" +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * ErrCodeFileSystemNotFound "FileSystemNotFound" +// Returned if the specified FileSystemId value doesn't exist in the requester's +// AWS account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeLifecycleConfiguration +func (c *EFS) DescribeLifecycleConfiguration(input *DescribeLifecycleConfigurationInput) (*DescribeLifecycleConfigurationOutput, error) { + req, out := c.DescribeLifecycleConfigurationRequest(input) + return out, req.Send() +} + +// DescribeLifecycleConfigurationWithContext is the same as DescribeLifecycleConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeLifecycleConfiguration 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 *EFS) DescribeLifecycleConfigurationWithContext(ctx aws.Context, input *DescribeLifecycleConfigurationInput, opts ...request.Option) (*DescribeLifecycleConfigurationOutput, error) { + req, out := c.DescribeLifecycleConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeMountTargetSecurityGroups = "DescribeMountTargetSecurityGroups" // DescribeMountTargetSecurityGroupsRequest generates a "aws/request.Request" representing the @@ -1143,7 +1236,7 @@ func (c *EFS) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Reques // // Returns the tags associated with a file system. The order of tags returned // in the response of one DescribeTags call and the order of tags returned across -// the responses of a multi-call iteration (when using pagination) is unspecified. +// the responses of a multiple-call iteration (when using pagination) is unspecified. // // This operation requires permissions for the elasticfilesystem:DescribeTags // action. @@ -1303,6 +1396,126 @@ func (c *EFS) ModifyMountTargetSecurityGroupsWithContext(ctx aws.Context, input return out, req.Send() } +const opPutLifecycleConfiguration = "PutLifecycleConfiguration" + +// PutLifecycleConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the PutLifecycleConfiguration 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 PutLifecycleConfiguration for more information on using the PutLifecycleConfiguration +// 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 PutLifecycleConfigurationRequest method. +// req, resp := client.PutLifecycleConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutLifecycleConfiguration +func (c *EFS) PutLifecycleConfigurationRequest(input *PutLifecycleConfigurationInput) (req *request.Request, output *PutLifecycleConfigurationOutput) { + op := &request.Operation{ + Name: opPutLifecycleConfiguration, + HTTPMethod: "PUT", + HTTPPath: "/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration", + } + + if input == nil { + input = &PutLifecycleConfigurationInput{} + } + + output = &PutLifecycleConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutLifecycleConfiguration API operation for Amazon Elastic File System. +// +// Enables lifecycle management by creating a new LifecycleConfiguration object. +// A LifecycleConfiguration object defines when files in an Amazon EFS file +// system are automatically transitioned to the lower-cost EFS Infrequent Access +// (IA) storage class. A LifecycleConfiguration applies to all files in a file +// system. +// +// Each Amazon EFS file system supports one lifecycle configuration, which applies +// to all files in the file system. If a LifecycleConfiguration object already +// exists for the specified file system, a PutLifecycleConfiguration call modifies +// the existing configuration. A PutLifecycleConfiguration call with an empty +// LifecyclePolicies array in the request body deletes any existing LifecycleConfiguration +// and disables lifecycle management. +// +// You can enable lifecycle management only for EFS file systems created after +// the release of EFS infrequent access. +// +// In the request, specify the following: +// +// * The ID for the file system for which you are creating a lifecycle management +// configuration. +// +// * A LifecyclePolicies array of LifecyclePolicy objects that define when +// files are moved to the IA storage class. The array can contain only one +// "TransitionToIA": "AFTER_30_DAYS"LifecyclePolicy item. +// +// This operation requires permissions for the elasticfilesystem:PutLifecycleConfiguration +// operation. +// +// To apply a LifecycleConfiguration object to an encrypted file system, you +// need the same AWS Key Management Service (AWS KMS) permissions as when you +// created the encrypted file 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 Elastic File System's +// API operation PutLifecycleConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequest "BadRequest" +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * ErrCodeInternalServerError "InternalServerError" +// Returned if an error occurred on the server side. +// +// * ErrCodeFileSystemNotFound "FileSystemNotFound" +// Returned if the specified FileSystemId value doesn't exist in the requester's +// AWS account. +// +// * ErrCodeIncorrectFileSystemLifeCycleState "IncorrectFileSystemLifeCycleState" +// Returned if the file system's lifecycle state is not "available". +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutLifecycleConfiguration +func (c *EFS) PutLifecycleConfiguration(input *PutLifecycleConfigurationInput) (*PutLifecycleConfigurationOutput, error) { + req, out := c.PutLifecycleConfigurationRequest(input) + return out, req.Send() +} + +// PutLifecycleConfigurationWithContext is the same as PutLifecycleConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See PutLifecycleConfiguration 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 *EFS) PutLifecycleConfigurationWithContext(ctx aws.Context, input *PutLifecycleConfigurationInput, opts ...request.Option) (*PutLifecycleConfigurationOutput, error) { + req, out := c.PutLifecycleConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateFileSystem = "UpdateFileSystem" // UpdateFileSystemRequest generates a "aws/request.Request" representing the @@ -1412,51 +1625,56 @@ func (c *EFS) UpdateFileSystemWithContext(ctx aws.Context, input *UpdateFileSyst type CreateFileSystemInput struct { _ struct{} `type:"structure"` - // String of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent + // A string of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent // creation. // // CreationToken is a required field CreationToken *string `min:"1" type:"string" required:"true"` // A Boolean value that, if true, creates an encrypted file system. When creating - // an encrypted file system, you have the option of specifying a CreateFileSystemRequest$KmsKeyId + // an encrypted file system, you have the option of specifying CreateFileSystemRequest$KmsKeyId // for an existing AWS Key Management Service (AWS KMS) customer master key // (CMK). If you don't specify a CMK, then the default CMK for Amazon EFS, /aws/elasticfilesystem, // is used to protect the encrypted file system. Encrypted *bool `type:"boolean"` // The ID of the AWS KMS CMK to be used to protect the encrypted file system. - // This parameter is only required if you want to use a non-default CMK. If - // this parameter is not specified, the default CMK for Amazon EFS is used. - // This ID can be in one of the following formats: + // This parameter is only required if you want to use a nondefault CMK. If this + // parameter is not specified, the default CMK for Amazon EFS is used. This + // ID can be in one of the following formats: // - // * Key ID - A unique identifier of the key, for example, 1234abcd-12ab-34cd-56ef-1234567890ab. + // * Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab. // - // * ARN - An Amazon Resource Name (ARN) for the key, for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. + // * ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. // - // * Key alias - A previously created display name for a key. For example, + // * Key alias - A previously created display name for a key, for example // alias/projectKey1. // - // * Key alias ARN - An ARN for a key alias, for example, arn:aws:kms:us-west-2:444455556666:alias/projectKey1. + // * Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1. // // If KmsKeyId is specified, the CreateFileSystemRequest$Encrypted parameter // must be set to true. KmsKeyId *string `min:"1" type:"string"` - // The PerformanceMode of the file system. We recommend generalPurpose performance + // The performance mode of the file system. We recommend generalPurpose performance // mode for most file systems. File systems using the maxIO performance mode // can scale to higher levels of aggregate throughput and operations per second - // with a tradeoff of slightly higher latencies for most file operations. This - // can't be changed after the file system has been created. + // with a tradeoff of slightly higher latencies for most file operations. The + // performance mode can't be changed after the file system has been created. PerformanceMode *string `type:"string" enum:"PerformanceMode"` // The throughput, measured in MiB/s, that you want to provision for a file // system that you're creating. The limit on throughput is 1024 MiB/s. You can // get these limits increased by contacting AWS Support. For more information, - // see Amazon EFS Limits That You Can Increase (http://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits) + // see Amazon EFS Limits That You Can Increase (https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits) // in the Amazon EFS User Guide. ProvisionedThroughputInMibps *float64 `type:"double"` + // A value that specifies to create one or more tags associated with the file + // system. Each tag is a user-defined key-value pair. Name your file system + // on creation by including a "Key":"Name","Value":"{value}" key-value pair. + Tags []*Tag `type:"list"` + // The throughput mode for the file system to be created. There are two throughput // modes to choose from for your file system: bursting and provisioned. You // can decrease your file system's throughput in Provisioned Throughput mode @@ -1487,6 +1705,16 @@ func (s *CreateFileSystemInput) Validate() error { if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -1524,6 +1752,12 @@ func (s *CreateFileSystemInput) SetProvisionedThroughputInMibps(v float64) *Crea return s } +// SetTags sets the Tags field's value. +func (s *CreateFileSystemInput) SetTags(v []*Tag) *CreateFileSystemInput { + s.Tags = v + return s +} + // SetThroughputMode sets the ThroughputMode field's value. func (s *CreateFileSystemInput) SetThroughputMode(v string) *CreateFileSystemInput { s.ThroughputMode = &v @@ -1533,7 +1767,7 @@ func (s *CreateFileSystemInput) SetThroughputMode(v string) *CreateFileSystemInp type CreateMountTargetInput struct { _ struct{} `type:"structure"` - // ID of the file system for which to create the mount target. + // The ID of the file system for which to create the mount target. // // FileSystemId is a required field FileSystemId *string `type:"string" required:"true"` @@ -1545,7 +1779,7 @@ type CreateMountTargetInput struct { // for the same VPC as subnet specified. SecurityGroups []*string `type:"list"` - // ID of the subnet to add the mount target in. + // The ID of the subnet to add the mount target in. // // SubnetId is a required field SubnetId *string `type:"string" required:"true"` @@ -1604,13 +1838,13 @@ func (s *CreateMountTargetInput) SetSubnetId(v string) *CreateMountTargetInput { type CreateTagsInput struct { _ struct{} `type:"structure"` - // ID of the file system whose tags you want to modify (String). This operation + // The ID of the file system whose tags you want to modify (String). This operation // modifies the tags only, not the file system. // // FileSystemId is a required field FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` - // Array of Tag objects to add. Each Tag object is a key-value pair. + // An array of Tag objects to add. Each Tag object is a key-value pair. // // Tags is a required field Tags []*Tag `type:"list" required:"true"` @@ -1684,7 +1918,7 @@ func (s CreateTagsOutput) GoString() string { type DeleteFileSystemInput struct { _ struct{} `type:"structure"` - // ID of the file system you want to delete. + // The ID of the file system you want to delete. // // FileSystemId is a required field FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` @@ -1739,7 +1973,7 @@ func (s DeleteFileSystemOutput) GoString() string { type DeleteMountTargetInput struct { _ struct{} `type:"structure"` - // ID of the mount target to delete (String). + // The ID of the mount target to delete (String). // // MountTargetId is a required field MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"` @@ -1794,12 +2028,12 @@ func (s DeleteMountTargetOutput) GoString() string { type DeleteTagsInput struct { _ struct{} `type:"structure"` - // ID of the file system whose tags you want to delete (String). + // The ID of the file system whose tags you want to delete (String). // // FileSystemId is a required field FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` - // List of tag keys to delete. + // A list of tag keys to delete. // // TagKeys is a required field TagKeys []*string `type:"list" required:"true"` @@ -1877,10 +2111,7 @@ type DescribeFileSystemsInput struct { Marker *string `location:"querystring" locationName:"Marker" type:"string"` // (Optional) Specifies the maximum number of file systems to return in the - // response (integer). This parameter value must be greater than 0. The number - // of items that Amazon EFS returns is the minimum of the MaxItems parameter - // specified in the request and the service's internal maximum number of items - // per page. + // response (integer). Currently, this number is automatically set to 10. MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` } @@ -1937,7 +2168,7 @@ func (s *DescribeFileSystemsInput) SetMaxItems(v int64) *DescribeFileSystemsInpu type DescribeFileSystemsOutput struct { _ struct{} `type:"structure"` - // Array of file system descriptions. + // An array of file system descriptions. FileSystems []*FileSystemDescription `type:"list"` // Present if provided by caller in the request (String). @@ -1976,10 +2207,76 @@ func (s *DescribeFileSystemsOutput) SetNextMarker(v string) *DescribeFileSystems return s } +type DescribeLifecycleConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ID of the file system whose LifecycleConfiguration object you want to + // retrieve (String). + // + // FileSystemId is a required field + FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeLifecycleConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLifecycleConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeLifecycleConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLifecycleConfigurationInput"} + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *DescribeLifecycleConfigurationInput) SetFileSystemId(v string) *DescribeLifecycleConfigurationInput { + s.FileSystemId = &v + return s +} + +type DescribeLifecycleConfigurationOutput struct { + _ struct{} `type:"structure"` + + // An array of lifecycle management policies. Currently, EFS supports a maximum + // of one policy per file system. + LifecyclePolicies []*LifecyclePolicy `type:"list"` +} + +// String returns the string representation +func (s DescribeLifecycleConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLifecycleConfigurationOutput) GoString() string { + return s.String() +} + +// SetLifecyclePolicies sets the LifecyclePolicies field's value. +func (s *DescribeLifecycleConfigurationOutput) SetLifecyclePolicies(v []*LifecyclePolicy) *DescribeLifecycleConfigurationOutput { + s.LifecyclePolicies = v + return s +} + type DescribeMountTargetSecurityGroupsInput struct { _ struct{} `type:"structure"` - // ID of the mount target whose security groups you want to retrieve. + // The ID of the mount target whose security groups you want to retrieve. // // MountTargetId is a required field MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"` @@ -2020,7 +2317,7 @@ func (s *DescribeMountTargetSecurityGroupsInput) SetMountTargetId(v string) *Des type DescribeMountTargetSecurityGroupsOutput struct { _ struct{} `type:"structure"` - // Array of security groups. + // An array of security groups. // // SecurityGroups is a required field SecurityGroups []*string `type:"list" required:"true"` @@ -2054,8 +2351,8 @@ type DescribeMountTargetsInput struct { // the previous returning call left off. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // (Optional) Maximum number of mount targets to return in the response. It - // must be an integer with a value greater than zero. + // (Optional) Maximum number of mount targets to return in the response. Currently, + // this number is automatically set to 10. MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` // (Optional) ID of the mount target that you want to have described (String). @@ -2158,18 +2455,18 @@ func (s *DescribeMountTargetsOutput) SetNextMarker(v string) *DescribeMountTarge type DescribeTagsInput struct { _ struct{} `type:"structure"` - // ID of the file system whose tag set you want to retrieve. + // The ID of the file system whose tag set you want to retrieve. // // FileSystemId is a required field FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` - // (Optional) Opaque pagination token returned from a previous DescribeTags + // (Optional) An opaque pagination token returned from a previous DescribeTags // operation (String). If present, it specifies to continue the list from where // the previous call left off. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // (Optional) Maximum number of file system tags to return in the response. - // It must be an integer with a value greater than zero. + // (Optional) The maximum number of file system tags to return in the response. + // Currently, this number is automatically set to 10. MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` } @@ -2266,16 +2563,16 @@ func (s *DescribeTagsOutput) SetTags(v []*Tag) *DescribeTagsOutput { return s } -// Description of the file system. +// A description of the file system. type FileSystemDescription struct { _ struct{} `type:"structure"` - // Time that the file system was created, in seconds (since 1970-01-01T00:00:00Z). + // The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z). // // CreationTime is a required field CreationTime *time.Time `type:"timestamp" required:"true"` - // Opaque string specified in the request. + // The opaque string specified in the request. // // CreationToken is a required field CreationToken *string `min:"1" type:"string" required:"true"` @@ -2283,7 +2580,7 @@ type FileSystemDescription struct { // A Boolean value that, if true, indicates that the file system is encrypted. Encrypted *bool `type:"boolean"` - // ID of the file system, assigned by Amazon EFS. + // The ID of the file system, assigned by Amazon EFS. // // FileSystemId is a required field FileSystemId *string `type:"string" required:"true"` @@ -2292,29 +2589,29 @@ type FileSystemDescription struct { // that was used to protect the encrypted file system. KmsKeyId *string `min:"1" type:"string"` - // Lifecycle phase of the file system. + // The lifecycle phase of the file system. // // LifeCycleState is a required field LifeCycleState *string `type:"string" required:"true" enum:"LifeCycleState"` // You can add tags to a file system, including a Name tag. For more information, - // see CreateTags. If the file system has a Name tag, Amazon EFS returns the - // value in this field. + // see CreateFileSystem. If the file system has a Name tag, Amazon EFS returns + // the value in this field. Name *string `type:"string"` - // Current number of mount targets that the file system has. For more information, + // The current number of mount targets that the file system has. For more information, // see CreateMountTarget. // // NumberOfMountTargets is a required field NumberOfMountTargets *int64 `type:"integer" required:"true"` - // AWS account that created the file system. If the file system was created + // The AWS account that created the file system. If the file system was created // by an IAM user, the parent account to which the user belongs is the owner. // // OwnerId is a required field OwnerId *string `type:"string" required:"true"` - // The PerformanceMode of the file system. + // The performance mode of the file system. // // PerformanceMode is a required field PerformanceMode *string `type:"string" required:"true" enum:"PerformanceMode"` @@ -2322,23 +2619,28 @@ type FileSystemDescription struct { // The throughput, measured in MiB/s, that you want to provision for a file // system. The limit on throughput is 1024 MiB/s. You can get these limits increased // by contacting AWS Support. For more information, see Amazon EFS Limits That - // You Can Increase (http://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits) + // You Can Increase (https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits) // in the Amazon EFS User Guide. ProvisionedThroughputInMibps *float64 `type:"double"` - // Latest known metered size (in bytes) of data stored in the file system, in - // its Value field, and the time at which that size was determined in its Timestamp - // field. The Timestamp value is the integer number of seconds since 1970-01-01T00:00:00Z. - // The SizeInBytes value doesn't represent the size of a consistent snapshot - // of the file system, but it is eventually consistent when there are no writes - // to the file system. That is, SizeInBytes represents actual size only if the - // file system is not modified for a period longer than a couple of hours. Otherwise, - // the value is not the exact size that the file system was at any point in - // time. + // The latest known metered size (in bytes) of data stored in the file system, + // in its Value field, and the time at which that size was determined in its + // Timestamp field. The Timestamp value is the integer number of seconds since + // 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the size of + // a consistent snapshot of the file system, but it is eventually consistent + // when there are no writes to the file system. That is, SizeInBytes represents + // actual size only if the file system is not modified for a period longer than + // a couple of hours. Otherwise, the value is not the exact size that the file + // system was at any point in time. // // SizeInBytes is a required field SizeInBytes *FileSystemSize `type:"structure" required:"true"` + // The tags associated with the file system, presented as an array of Tag objects. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` + // The throughput mode for a file system. There are two throughput modes to // choose from for your file system: bursting and provisioned. You can decrease // your file system's throughput in Provisioned Throughput mode or change between @@ -2429,31 +2731,45 @@ func (s *FileSystemDescription) SetSizeInBytes(v *FileSystemSize) *FileSystemDes return s } +// SetTags sets the Tags field's value. +func (s *FileSystemDescription) SetTags(v []*Tag) *FileSystemDescription { + s.Tags = v + return s +} + // SetThroughputMode sets the ThroughputMode field's value. func (s *FileSystemDescription) SetThroughputMode(v string) *FileSystemDescription { s.ThroughputMode = &v return s } -// Latest known metered size (in bytes) of data stored in the file system, in -// its Value field, and the time at which that size was determined in its Timestamp -// field. Note that the value does not represent the size of a consistent snapshot +// The latest known metered size (in bytes) of data stored in the file system, +// in its Value field, and the time at which that size was determined in its +// Timestamp field. The value doesn't represent the size of a consistent snapshot // of the file system, but it is eventually consistent when there are no writes -// to the file system. That is, the value will represent the actual size only -// if the file system is not modified for a period longer than a couple of hours. +// to the file system. That is, the value represents the actual size only if +// the file system is not modified for a period longer than a couple of hours. // Otherwise, the value is not necessarily the exact size the file system was // at any instant in time. type FileSystemSize struct { _ struct{} `type:"structure"` - // Time at which the size of data, returned in the Value field, was determined. + // The time at which the size of data, returned in the Value field, was determined. // The value is the integer number of seconds since 1970-01-01T00:00:00Z. Timestamp *time.Time `type:"timestamp"` - // Latest known metered size (in bytes) of data stored in the file system. + // The latest known metered size (in bytes) of data stored in the file system. // // Value is a required field Value *int64 `type:"long" required:"true"` + + // The latest known metered size (in bytes) of data stored in the Infrequent + // Access storage class. + ValueInIA *int64 `type:"long"` + + // The latest known metered size (in bytes) of data stored in the Standard storage + // class. + ValueInStandard *int64 `type:"long"` } // String returns the string representation @@ -2478,15 +2794,58 @@ func (s *FileSystemSize) SetValue(v int64) *FileSystemSize { return s } +// SetValueInIA sets the ValueInIA field's value. +func (s *FileSystemSize) SetValueInIA(v int64) *FileSystemSize { + s.ValueInIA = &v + return s +} + +// SetValueInStandard sets the ValueInStandard field's value. +func (s *FileSystemSize) SetValueInStandard(v int64) *FileSystemSize { + s.ValueInStandard = &v + return s +} + +// Describes a policy used by EFS lifecycle management to transition files to +// the Infrequent Access (IA) storage class. +type LifecyclePolicy struct { + _ struct{} `type:"structure"` + + // A value that indicates how long it takes to transition files to the IA storage + // class. Currently, the only valid value is AFTER_30_DAYS. + // + // AFTER_30_DAYS indicates files that have not been read from or written to + // for 30 days are transitioned from the Standard storage class to the IA storage + // class. Metadata operations such as listing the contents of a directory don't + // count as a file access event. + TransitionToIA *string `type:"string" enum:"TransitionToIARules"` +} + +// String returns the string representation +func (s LifecyclePolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LifecyclePolicy) GoString() string { + return s.String() +} + +// SetTransitionToIA sets the TransitionToIA field's value. +func (s *LifecyclePolicy) SetTransitionToIA(v string) *LifecyclePolicy { + s.TransitionToIA = &v + return s +} + type ModifyMountTargetSecurityGroupsInput struct { _ struct{} `type:"structure"` - // ID of the mount target whose security groups you want to modify. + // The ID of the mount target whose security groups you want to modify. // // MountTargetId is a required field MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"` - // Array of up to five VPC security group IDs. + // An array of up to five VPC security group IDs. SecurityGroups []*string `type:"list"` } @@ -2546,12 +2905,12 @@ func (s ModifyMountTargetSecurityGroupsOutput) GoString() string { type MountTargetDescription struct { _ struct{} `type:"structure"` - // ID of the file system for which the mount target is intended. + // The ID of the file system for which the mount target is intended. // // FileSystemId is a required field FileSystemId *string `type:"string" required:"true"` - // Address at which the file system may be mounted via the mount target. + // Address at which the file system can be mounted by using the mount target. IpAddress *string `type:"string"` // Lifecycle state of the mount target. @@ -2564,14 +2923,14 @@ type MountTargetDescription struct { // MountTargetId is a required field MountTargetId *string `type:"string" required:"true"` - // ID of the network interface that Amazon EFS created when it created the mount - // target. + // The ID of the network interface that Amazon EFS created when it created the + // mount target. NetworkInterfaceId *string `type:"string"` // AWS account ID that owns the resource. OwnerId *string `type:"string"` - // ID of the mount target's subnet. + // The ID of the mount target's subnet. // // SubnetId is a required field SubnetId *string `type:"string" required:"true"` @@ -2629,17 +2988,101 @@ func (s *MountTargetDescription) SetSubnetId(v string) *MountTargetDescription { return s } -// A tag is a key-value pair. Allowed characters: letters, whitespace, and numbers, -// representable in UTF-8, and the following characters: + - = . _ : / +type PutLifecycleConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ID of the file system for which you are creating the LifecycleConfiguration + // object (String). + // + // FileSystemId is a required field + FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` + + // An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration + // object. A LifecycleConfiguration object tells lifecycle management when to + // transition files from the Standard storage class to the Infrequent Access + // storage class. + // + // LifecyclePolicies is a required field + LifecyclePolicies []*LifecyclePolicy `type:"list" required:"true"` +} + +// String returns the string representation +func (s PutLifecycleConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutLifecycleConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutLifecycleConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutLifecycleConfigurationInput"} + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1)) + } + if s.LifecyclePolicies == nil { + invalidParams.Add(request.NewErrParamRequired("LifecyclePolicies")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *PutLifecycleConfigurationInput) SetFileSystemId(v string) *PutLifecycleConfigurationInput { + s.FileSystemId = &v + return s +} + +// SetLifecyclePolicies sets the LifecyclePolicies field's value. +func (s *PutLifecycleConfigurationInput) SetLifecyclePolicies(v []*LifecyclePolicy) *PutLifecycleConfigurationInput { + s.LifecyclePolicies = v + return s +} + +type PutLifecycleConfigurationOutput struct { + _ struct{} `type:"structure"` + + // An array of lifecycle management policies. Currently, EFS supports a maximum + // of one policy per file system. + LifecyclePolicies []*LifecyclePolicy `type:"list"` +} + +// String returns the string representation +func (s PutLifecycleConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutLifecycleConfigurationOutput) GoString() string { + return s.String() +} + +// SetLifecyclePolicies sets the LifecyclePolicies field's value. +func (s *PutLifecycleConfigurationOutput) SetLifecyclePolicies(v []*LifecyclePolicy) *PutLifecycleConfigurationOutput { + s.LifecyclePolicies = v + return s +} + +// A tag is a key-value pair. Allowed characters are letters, white space, and +// numbers that can be represented in UTF-8, and the following characters: + +// - = . _ : / type Tag struct { _ struct{} `type:"structure"` - // Tag key (String). The key can't start with aws:. + // The tag key (String). The key can't start with aws:. // // Key is a required field Key *string `min:"1" type:"string" required:"true"` - // Value of the tag key. + // The value of the tag key. // // Value is a required field Value *string `type:"string" required:"true"` @@ -2749,16 +3192,16 @@ func (s *UpdateFileSystemInput) SetThroughputMode(v string) *UpdateFileSystemInp return s } -// Description of the file system. +// A description of the file system. type UpdateFileSystemOutput struct { _ struct{} `type:"structure"` - // Time that the file system was created, in seconds (since 1970-01-01T00:00:00Z). + // The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z). // // CreationTime is a required field CreationTime *time.Time `type:"timestamp" required:"true"` - // Opaque string specified in the request. + // The opaque string specified in the request. // // CreationToken is a required field CreationToken *string `min:"1" type:"string" required:"true"` @@ -2766,7 +3209,7 @@ type UpdateFileSystemOutput struct { // A Boolean value that, if true, indicates that the file system is encrypted. Encrypted *bool `type:"boolean"` - // ID of the file system, assigned by Amazon EFS. + // The ID of the file system, assigned by Amazon EFS. // // FileSystemId is a required field FileSystemId *string `type:"string" required:"true"` @@ -2775,29 +3218,29 @@ type UpdateFileSystemOutput struct { // that was used to protect the encrypted file system. KmsKeyId *string `min:"1" type:"string"` - // Lifecycle phase of the file system. + // The lifecycle phase of the file system. // // LifeCycleState is a required field LifeCycleState *string `type:"string" required:"true" enum:"LifeCycleState"` // You can add tags to a file system, including a Name tag. For more information, - // see CreateTags. If the file system has a Name tag, Amazon EFS returns the - // value in this field. + // see CreateFileSystem. If the file system has a Name tag, Amazon EFS returns + // the value in this field. Name *string `type:"string"` - // Current number of mount targets that the file system has. For more information, + // The current number of mount targets that the file system has. For more information, // see CreateMountTarget. // // NumberOfMountTargets is a required field NumberOfMountTargets *int64 `type:"integer" required:"true"` - // AWS account that created the file system. If the file system was created + // The AWS account that created the file system. If the file system was created // by an IAM user, the parent account to which the user belongs is the owner. // // OwnerId is a required field OwnerId *string `type:"string" required:"true"` - // The PerformanceMode of the file system. + // The performance mode of the file system. // // PerformanceMode is a required field PerformanceMode *string `type:"string" required:"true" enum:"PerformanceMode"` @@ -2805,23 +3248,28 @@ type UpdateFileSystemOutput struct { // The throughput, measured in MiB/s, that you want to provision for a file // system. The limit on throughput is 1024 MiB/s. You can get these limits increased // by contacting AWS Support. For more information, see Amazon EFS Limits That - // You Can Increase (http://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits) + // You Can Increase (https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits) // in the Amazon EFS User Guide. ProvisionedThroughputInMibps *float64 `type:"double"` - // Latest known metered size (in bytes) of data stored in the file system, in - // its Value field, and the time at which that size was determined in its Timestamp - // field. The Timestamp value is the integer number of seconds since 1970-01-01T00:00:00Z. - // The SizeInBytes value doesn't represent the size of a consistent snapshot - // of the file system, but it is eventually consistent when there are no writes - // to the file system. That is, SizeInBytes represents actual size only if the - // file system is not modified for a period longer than a couple of hours. Otherwise, - // the value is not the exact size that the file system was at any point in - // time. + // The latest known metered size (in bytes) of data stored in the file system, + // in its Value field, and the time at which that size was determined in its + // Timestamp field. The Timestamp value is the integer number of seconds since + // 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the size of + // a consistent snapshot of the file system, but it is eventually consistent + // when there are no writes to the file system. That is, SizeInBytes represents + // actual size only if the file system is not modified for a period longer than + // a couple of hours. Otherwise, the value is not the exact size that the file + // system was at any point in time. // // SizeInBytes is a required field SizeInBytes *FileSystemSize `type:"structure" required:"true"` + // The tags associated with the file system, presented as an array of Tag objects. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` + // The throughput mode for a file system. There are two throughput modes to // choose from for your file system: bursting and provisioned. You can decrease // your file system's throughput in Provisioned Throughput mode or change between @@ -2912,6 +3360,12 @@ func (s *UpdateFileSystemOutput) SetSizeInBytes(v *FileSystemSize) *UpdateFileSy return s } +// SetTags sets the Tags field's value. +func (s *UpdateFileSystemOutput) SetTags(v []*Tag) *UpdateFileSystemOutput { + s.Tags = v + return s +} + // SetThroughputMode sets the ThroughputMode field's value. func (s *UpdateFileSystemOutput) SetThroughputMode(v string) *UpdateFileSystemOutput { s.ThroughputMode = &v @@ -2950,3 +3404,8 @@ const ( // ThroughputModeProvisioned is a ThroughputMode enum value ThroughputModeProvisioned = "provisioned" ) + +const ( + // TransitionToIARulesAfter30Days is a TransitionToIARules enum value + TransitionToIARulesAfter30Days = "AFTER_30_DAYS" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/efs/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/efs/doc.go index 606891eab2f..ce6c5159449 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/efs/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/efs/doc.go @@ -7,7 +7,7 @@ // for use with Amazon EC2 instances in the AWS Cloud. With Amazon EFS, storage // capacity is elastic, growing and shrinking automatically as you add and remove // files, so your applications have the storage they need, when they need it. -// For more information, see the User Guide (http://docs.aws.amazon.com/efs/latest/ug/api-reference.html). +// For more information, see the User Guide (https://docs.aws.amazon.com/efs/latest/ug/api-reference.html). // // See https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01 for more information on this service. // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go index b616a864c7d..85406d92d5f 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go @@ -100,7 +100,7 @@ const ( // The calling account has reached the limit for elastic network interfaces // for the specific AWS Region. The client should try to delete some elastic // network interfaces or get the account limit raised. For more information, - // see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html) + // see Amazon VPC Limits (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html) // in the Amazon VPC User Guide (see the Network interfaces per VPC entry in // the table). ErrCodeNetworkInterfaceLimitExceeded = "NetworkInterfaceLimitExceeded" diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go index dba975892ca..a91da3f5232 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go @@ -7707,7 +7707,7 @@ type EnvironmentDescription struct { // // * Grey: Default health for a new environment. The environment is not fully // launched and health checks have not started or health checks are suspended - // during an UpdateEnvironment or RestartEnvironement request. + // during an UpdateEnvironment or RestartEnvironment request. // // Default: Grey Health *string `type:"string" enum:"EnvironmentHealth"` @@ -7924,7 +7924,11 @@ type EnvironmentInfoDescription struct { // The type of information retrieved. InfoType *string `type:"string" enum:"EnvironmentInfoType"` - // The retrieved information. + // The retrieved information. Currently contains a presigned Amazon S3 URL. + // The files are deleted after 15 minutes. + // + // Anyone in possession of this URL can access the files before they are deleted. + // Make the URL available only to trusted parties. Message *string `type:"string"` // The time stamp when this information was retrieved. @@ -8018,6 +8022,9 @@ type EnvironmentResourceDescription struct { // The Auto Scaling launch configurations in use by this environment. LaunchConfigurations []*LaunchConfiguration `type:"list"` + // The Amazon EC2 launch templates in use by this environment. + LaunchTemplates []*LaunchTemplate `type:"list"` + // The LoadBalancers in use by this environment. LoadBalancers []*LoadBalancer `type:"list"` @@ -8062,6 +8069,12 @@ func (s *EnvironmentResourceDescription) SetLaunchConfigurations(v []*LaunchConf return s } +// SetLaunchTemplates sets the LaunchTemplates field's value. +func (s *EnvironmentResourceDescription) SetLaunchTemplates(v []*LaunchTemplate) *EnvironmentResourceDescription { + s.LaunchTemplates = v + return s +} + // SetLoadBalancers sets the LoadBalancers field's value. func (s *EnvironmentResourceDescription) SetLoadBalancers(v []*LoadBalancer) *EnvironmentResourceDescription { s.LoadBalancers = v @@ -8110,9 +8123,21 @@ type EnvironmentTier struct { _ struct{} `type:"structure"` // The name of this environment tier. + // + // Valid values: + // + // * For Web server tier – WebServer + // + // * For Worker tier – Worker Name *string `type:"string"` // The type of this environment tier. + // + // Valid values: + // + // * For Web server tier – Standard + // + // * For Worker tier – SQS/HTTP Type *string `type:"string"` // The version of this environment tier. When you don't set a value to it, Elastic @@ -8485,6 +8510,30 @@ func (s *LaunchConfiguration) SetName(v string) *LaunchConfiguration { return s } +// Describes an Amazon EC2 launch template. +type LaunchTemplate struct { + _ struct{} `type:"structure"` + + // The ID of the launch template. + Id *string `type:"string"` +} + +// String returns the string representation +func (s LaunchTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LaunchTemplate) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *LaunchTemplate) SetId(v string) *LaunchTemplate { + s.Id = &v + return s +} + type ListAvailableSolutionStacksInput struct { _ struct{} `type:"structure"` } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go index 611b16d86cb..b3954643d53 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go @@ -3713,6 +3713,10 @@ type ElasticsearchClusterConfig struct { // The instance type for an Elasticsearch cluster. InstanceType *string `type:"string" enum:"ESPartitionInstanceType"` + // Specifies the zone awareness configuration for a domain when zone awareness + // is enabled. + ZoneAwarenessConfig *ZoneAwarenessConfig `type:"structure"` + // A boolean value to indicate whether zone awareness is enabled. See About // Zone Awareness (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-zoneawareness) // for more information. @@ -3759,6 +3763,12 @@ func (s *ElasticsearchClusterConfig) SetInstanceType(v string) *ElasticsearchClu return s } +// SetZoneAwarenessConfig sets the ZoneAwarenessConfig field's value. +func (s *ElasticsearchClusterConfig) SetZoneAwarenessConfig(v *ZoneAwarenessConfig) *ElasticsearchClusterConfig { + s.ZoneAwarenessConfig = v + return s +} + // SetZoneAwarenessEnabled sets the ZoneAwarenessEnabled field's value. func (s *ElasticsearchClusterConfig) SetZoneAwarenessEnabled(v bool) *ElasticsearchClusterConfig { s.ZoneAwarenessEnabled = &v @@ -6448,6 +6458,33 @@ func (s *VPCOptions) SetSubnetIds(v []*string) *VPCOptions { return s } +// Specifies the zone awareness configuration for the domain cluster, such as +// the number of availability zones. +type ZoneAwarenessConfig struct { + _ struct{} `type:"structure"` + + // An integer value to indicate the number of availability zones for a domain + // when zone awareness is enabled. This should be equal to number of subnets + // if VPC endpoints is enabled + AvailabilityZoneCount *int64 `type:"integer"` +} + +// String returns the string representation +func (s ZoneAwarenessConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ZoneAwarenessConfig) GoString() string { + return s.String() +} + +// SetAvailabilityZoneCount sets the AvailabilityZoneCount field's value. +func (s *ZoneAwarenessConfig) SetAvailabilityZoneCount(v int64) *ZoneAwarenessConfig { + s.AvailabilityZoneCount = &v + return s +} + const ( // DeploymentStatusPendingUpdate is a DeploymentStatus enum value DeploymentStatusPendingUpdate = "PENDING_UPDATE" diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go index b2a0738e3a6..5d3fe096c42 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go @@ -57,7 +57,7 @@ func (c *ELBV2) AddListenerCertificatesRequest(input *AddListenerCertificatesInp // AddListenerCertificates API operation for Elastic Load Balancing. // -// Adds the specified certificate to the specified secure listener. +// Adds the specified certificate to the specified HTTPS listener. // // If the certificate was already added, the call is successful but the certificate // is not added again. @@ -257,9 +257,9 @@ func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request. // If you attempt to create multiple listeners with the same settings, each // call succeeds. // -// For more information, see Listeners for Your Application Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html) +// For more information, see Listeners for Your Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html) // in the Application Load Balancers Guide and Listeners for Your Network Load -// Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html) +// Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html) // in the Network Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -392,17 +392,17 @@ func (c *ELBV2) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req * // your current load balancers, see DescribeLoadBalancers. When you are finished // with a load balancer, you can delete it using DeleteLoadBalancer. // -// For limit information, see Limits for Your Application Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) +// For limit information, see Limits for Your Application Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) // in the Application Load Balancers Guide and Limits for Your Network Load -// Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html) +// Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html) // in the Network Load Balancers Guide. // // This operation is idempotent, which means that it completes at most one time. // If you attempt to create multiple load balancers with the same settings, // each call succeeds. // -// For more information, see Application Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html) -// in the Application Load Balancers Guide and Network Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html) +// For more information, see Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html) +// in the Application Load Balancers Guide and Network Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html) // in the Network Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -524,7 +524,7 @@ func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, // Rules are evaluated in priority order, from the lowest value to the highest // value. When the conditions for a rule are met, its actions are performed. // If the conditions for no rules are met, the actions for the default rule -// are performed. For more information, see Listener Rules (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules) +// are performed. For more information, see Listener Rules (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules) // in the Application Load Balancers Guide. // // To view your current rules, use DescribeRules. To update a rule, use ModifyRule. @@ -661,9 +661,9 @@ func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *re // call succeeds. // // For more information, see Target Groups for Your Application Load Balancers -// (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html) +// (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html) // in the Application Load Balancers Guide or Target Groups for Your Network -// Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html) +// Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html) // in the Network Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1182,9 +1182,9 @@ func (c *ELBV2) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) // Describes the current Elastic Load Balancing resource limits for your AWS // account. // -// For more information, see Limits for Your Application Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) +// For more information, see Limits for Your Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) // in the Application Load Balancer Guide or Limits for Your Network Load Balancers -// (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html) +// (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html) // in the Network Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1259,7 +1259,7 @@ func (c *ELBV2) DescribeListenerCertificatesRequest(input *DescribeListenerCerti // DescribeListenerCertificates API operation for Elastic Load Balancing. // -// Describes the certificates for the specified secure listener. +// Describes the certificates for the specified HTTPS listener. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1484,8 +1484,8 @@ func (c *ELBV2) DescribeLoadBalancerAttributesRequest(input *DescribeLoadBalance // Describes the attributes for the specified Application Load Balancer or Network // Load Balancer. // -// For more information, see Load Balancer Attributes (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#load-balancer-attributes) -// in the Application Load Balancers Guide or Load Balancer Attributes (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#load-balancer-attributes) +// For more information, see Load Balancer Attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#load-balancer-attributes) +// in the Application Load Balancers Guide or Load Balancer Attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#load-balancer-attributes) // in the Network Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1791,7 +1791,7 @@ func (c *ELBV2) DescribeSSLPoliciesRequest(input *DescribeSSLPoliciesInput) (req // // Describes the specified policies or all policies used for SSL negotiation. // -// For more information, see Security Policies (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) +// For more information, see Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) // in the Application Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1963,8 +1963,8 @@ func (c *ELBV2) DescribeTargetGroupAttributesRequest(input *DescribeTargetGroupA // // Describes the attributes for the specified target group. // -// For more information, see Target Group Attributes (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes) -// in the Application Load Balancers Guide or Target Group Attributes (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-attributes) +// For more information, see Target Group Attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes) +// in the Application Load Balancers Guide or Target Group Attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-attributes) // in the Network Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2278,9 +2278,10 @@ func (c *ELBV2) ModifyListenerRequest(input *ModifyListenerInput) (req *request. // Modifies the specified properties of the specified listener. // // Any properties that you do not specify retain their current values. However, -// changing the protocol from HTTPS to HTTP removes the security policy and -// SSL certificate properties. If you change the protocol from HTTP to HTTPS, -// you must add the security policy and server certificate. +// changing the protocol from HTTPS to HTTP, or from TLS to TCP, removes the +// security policy and server certificate properties. If you change the protocol +// from HTTP to HTTPS, or from TCP to TLS, you must add the security policy +// and server certificate properties. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2874,7 +2875,7 @@ func (c *ELBV2) RemoveListenerCertificatesRequest(input *RemoveListenerCertifica // RemoveListenerCertificates API operation for Elastic Load Balancing. // -// Removes the specified certificate from the specified secure listener. +// Removes the specified certificate from the specified HTTPS listener. // // You can't remove the default certificate for a listener. To replace the default // certificate, call ModifyListener. @@ -3379,11 +3380,11 @@ func (c *ELBV2) SetSubnetsWithContext(ctx aws.Context, input *SetSubnetsInput, o type Action struct { _ struct{} `type:"structure"` - // [HTTPS listener] Information for using Amazon Cognito to authenticate users. + // [HTTPS listeners] Information for using Amazon Cognito to authenticate users. // Specify only when Type is authenticate-cognito. AuthenticateCognitoConfig *AuthenticateCognitoActionConfig `type:"structure"` - // [HTTPS listener] Information about an identity provider that is compliant + // [HTTPS listeners] Information about an identity provider that is compliant // with OpenID Connect (OIDC). Specify only when Type is authenticate-oidc. AuthenticateOidcConfig *AuthenticateOidcActionConfig `type:"structure"` @@ -3801,10 +3802,10 @@ type AuthenticateOidcActionConfig struct { // ClientId is a required field ClientId *string `type:"string" required:"true"` - // The OAuth 2.0 client secret. - // - // ClientSecret is a required field - ClientSecret *string `type:"string" required:"true"` + // The OAuth 2.0 client secret. This parameter is required if you are creating + // a rule. If you are modifying a rule, you can omit this parameter if you set + // UseExistingClientSecret to true. + ClientSecret *string `type:"string"` // The OIDC issuer identifier of the IdP. This must be a full URL, including // the HTTPS protocol, the domain, and the path. @@ -3842,6 +3843,10 @@ type AuthenticateOidcActionConfig struct { // TokenEndpoint is a required field TokenEndpoint *string `type:"string" required:"true"` + // Indicates whether to use the existing client secret when modifying a rule. + // If you are creating a rule, you can omit this parameter or set it to false. + UseExistingClientSecret *bool `type:"boolean"` + // The user info endpoint of the IdP. This must be a full URL, including the // HTTPS protocol, the domain, and the path. // @@ -3868,9 +3873,6 @@ func (s *AuthenticateOidcActionConfig) Validate() error { if s.ClientId == nil { invalidParams.Add(request.NewErrParamRequired("ClientId")) } - if s.ClientSecret == nil { - invalidParams.Add(request.NewErrParamRequired("ClientSecret")) - } if s.Issuer == nil { invalidParams.Add(request.NewErrParamRequired("Issuer")) } @@ -3947,6 +3949,12 @@ func (s *AuthenticateOidcActionConfig) SetTokenEndpoint(v string) *AuthenticateO return s } +// SetUseExistingClientSecret sets the UseExistingClientSecret field's value. +func (s *AuthenticateOidcActionConfig) SetUseExistingClientSecret(v bool) *AuthenticateOidcActionConfig { + s.UseExistingClientSecret = &v + return s +} + // SetUserInfoEndpoint sets the UserInfoEndpoint field's value. func (s *AuthenticateOidcActionConfig) SetUserInfoEndpoint(v string) *AuthenticateOidcActionConfig { s.UserInfoEndpoint = &v @@ -4065,9 +4073,9 @@ func (s *Cipher) SetPriority(v int64) *Cipher { type CreateListenerInput struct { _ struct{} `type:"structure"` - // [HTTPS listeners] The default SSL server certificate. You must provide exactly - // one certificate. Set CertificateArn to the certificate ARN but do not set - // IsDefault. + // [HTTPS and TLS listeners] The default SSL server certificate. You must provide + // exactly one certificate. Set CertificateArn to the certificate ARN but do + // not set IsDefault. // // To create a certificate list, use AddListenerCertificates. Certificates []*Certificate `type:"list"` @@ -4076,13 +4084,13 @@ type CreateListenerInput struct { // or one or more fixed-response actions. // // If the action type is forward, you specify a target group. The protocol of - // the target group must be HTTP or HTTPS for an Application Load Balancer or - // TCP for a Network Load Balancer. + // the target group must be HTTP or HTTPS for an Application Load Balancer. + // The protocol of the target group must be TCP or TLS for a Network Load Balancer. // - // [HTTPS listener] If the action type is authenticate-oidc, you authenticate + // [HTTPS listeners] If the action type is authenticate-oidc, you authenticate // users through an identity provider that is OpenID Connect (OIDC) compliant. // - // [HTTPS listener] If the action type is authenticate-cognito, you authenticate + // [HTTPS listeners] If the action type is authenticate-cognito, you authenticate // users through the user pools supported by Amazon Cognito. // // [Application Load Balancer] If the action type is redirect, you redirect @@ -4106,13 +4114,14 @@ type CreateListenerInput struct { // The protocol for connections from clients to the load balancer. For Application // Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load - // Balancers, the supported protocol is TCP. + // Balancers, the supported protocols are TCP and TLS. // // Protocol is a required field Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"` - // [HTTPS listeners] The security policy that defines which ciphers and protocols - // are supported. The default is the current predefined security policy. + // [HTTPS and TLS listeners] The security policy that defines which ciphers + // and protocols are supported. The default is the current predefined security + // policy. SslPolicy *string `type:"string"` } @@ -4396,13 +4405,13 @@ type CreateRuleInput struct { // actions: forward, fixed-response, or redirect. // // If the action type is forward, you specify a target group. The protocol of - // the target group must be HTTP or HTTPS for an Application Load Balancer or - // TCP for a Network Load Balancer. + // the target group must be HTTP or HTTPS for an Application Load Balancer. + // The protocol of the target group must be TCP or TLS for a Network Load Balancer. // - // [HTTPS listener] If the action type is authenticate-oidc, you authenticate + // [HTTPS listeners] If the action type is authenticate-oidc, you authenticate // users through an identity provider that is OpenID Connect (OIDC) compliant. // - // [HTTPS listener] If the action type is authenticate-cognito, you authenticate + // [HTTPS listeners] If the action type is authenticate-cognito, you authenticate // users through the user pools supported by Amazon Cognito. // // [Application Load Balancer] If the action type is redirect, you redirect @@ -4575,9 +4584,10 @@ type CreateTargetGroupInput struct { HealthCheckPort *string `type:"string"` // The protocol the load balancer uses when performing health checks on targets. - // The TCP protocol is supported only if the protocol of the target group is - // TCP. For Application Load Balancers, the default is HTTP. For Network Load - // Balancers, the default is TCP. + // For Application Load Balancers, the default is HTTP. For Network Load Balancers, + // the default is TCP. The TCP protocol is supported for health checks only + // if the protocol of the target group is TCP or TLS. The TLS protocol is not + // supported for health checks. HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"` // The amount of time, in seconds, during which no response from a target means @@ -4613,8 +4623,8 @@ type CreateTargetGroupInput struct { // The protocol to use for routing traffic to the targets. For Application Load // Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, - // the supported protocol is TCP. If the target is a Lambda function, this parameter - // does not apply. + // the supported protocols are TCP and TLS. If the target is a Lambda function, + // this parameter does not apply. Protocol *string `type:"string" enum:"ProtocolEnum"` // The type of target that you must specify when registering targets with this @@ -6119,7 +6129,7 @@ type Listener struct { _ struct{} `type:"structure"` // The SSL server certificate. You must provide a certificate if the protocol - // is HTTPS. + // is HTTPS or TLS. Certificates []*Certificate `type:"list"` // The default actions for the listener. @@ -6369,11 +6379,6 @@ type LoadBalancerAttribute struct { // The following attributes are supported by both Application Load Balancers // and Network Load Balancers: // - // * deletion_protection.enabled - Indicates whether deletion protection - // is enabled. The value is true or false. The default is false. - // - // The following attributes are supported by only Application Load Balancers: - // // * access_logs.s3.enabled - Indicates whether access logs are enabled. // The value is true or false. The default is false. // @@ -6385,6 +6390,11 @@ type LoadBalancerAttribute struct { // * access_logs.s3.prefix - The prefix for the location in the S3 bucket // for the access logs. // + // * deletion_protection.enabled - Indicates whether deletion protection + // is enabled. The value is true or false. The default is false. + // + // The following attributes are supported by only Application Load Balancers: + // // * idle_timeout.timeout_seconds - The idle timeout value, in seconds. The // valid range is 1-4000 seconds. The default is 60 seconds. // @@ -6506,9 +6516,9 @@ func (s *Matcher) SetHttpCode(v string) *Matcher { type ModifyListenerInput struct { _ struct{} `type:"structure"` - // [HTTPS listeners] The default SSL server certificate. You must provide exactly - // one certificate. Set CertificateArn to the certificate ARN but do not set - // IsDefault. + // [HTTPS and TLS listeners] The default SSL server certificate. You must provide + // exactly one certificate. Set CertificateArn to the certificate ARN but do + // not set IsDefault. // // To create a certificate list, use AddListenerCertificates. Certificates []*Certificate `type:"list"` @@ -6517,13 +6527,13 @@ type ModifyListenerInput struct { // or one or more fixed-response actions. // // If the action type is forward, you specify a target group. The protocol of - // the target group must be HTTP or HTTPS for an Application Load Balancer or - // TCP for a Network Load Balancer. + // the target group must be HTTP or HTTPS for an Application Load Balancer. + // The protocol of the target group must be TCP or TLS for a Network Load Balancer. // - // [HTTPS listener] If the action type is authenticate-oidc, you authenticate + // [HTTPS listeners] If the action type is authenticate-oidc, you authenticate // users through an identity provider that is OpenID Connect (OIDC) compliant. // - // [HTTPS listener] If the action type is authenticate-cognito, you authenticate + // [HTTPS listeners] If the action type is authenticate-cognito, you authenticate // users through the user pools supported by Amazon Cognito. // // [Application Load Balancer] If the action type is redirect, you redirect @@ -6542,12 +6552,12 @@ type ModifyListenerInput struct { Port *int64 `min:"1" type:"integer"` // The protocol for connections from clients to the load balancer. Application - // Load Balancers support HTTP and HTTPS and Network Load Balancers support - // TCP. + // Load Balancers support the HTTP and HTTPS protocols. Network Load Balancers + // support the TCP and TLS protocols. Protocol *string `type:"string" enum:"ProtocolEnum"` - // [HTTPS listeners] The security policy that defines which protocols and ciphers - // are supported. For more information, see Security Policies (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) + // [HTTPS and TLS listeners] The security policy that defines which protocols + // and ciphers are supported. For more information, see Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) // in the Application Load Balancers Guide. SslPolicy *string `type:"string"` } @@ -6728,13 +6738,13 @@ type ModifyRuleInput struct { // The actions. // // If the action type is forward, you specify a target group. The protocol of - // the target group must be HTTP or HTTPS for an Application Load Balancer or - // TCP for a Network Load Balancer. + // the target group must be HTTP or HTTPS for an Application Load Balancer. + // The protocol of the target group must be TCP or TLS for a Network Load Balancer. // - // [HTTPS listener] If the action type is authenticate-oidc, you authenticate + // [HTTPS listeners] If the action type is authenticate-oidc, you authenticate // users through an identity provider that is OpenID Connect (OIDC) compliant. // - // [HTTPS listener] If the action type is authenticate-cognito, you authenticate + // [HTTPS listeners] If the action type is authenticate-cognito, you authenticate // users through the user pools supported by Amazon Cognito. // // [Application Load Balancer] If the action type is redirect, you redirect @@ -6951,8 +6961,9 @@ type ModifyTargetGroupInput struct { HealthCheckPort *string `type:"string"` // The protocol the load balancer uses when performing health checks on targets. - // The TCP protocol is supported only if the protocol of the target group is - // TCP. + // The TCP protocol is supported for health checks only if the protocol of the + // target group is TCP or TLS. The TLS protocol is not supported for health + // checks. // // If the protocol of the target group is TCP, you can't modify this setting. HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"` @@ -8617,6 +8628,9 @@ const ( // ProtocolEnumTcp is a ProtocolEnum enum value ProtocolEnumTcp = "TCP" + + // ProtocolEnumTls is a ProtocolEnum enum value + ProtocolEnumTls = "TLS" ) const ( diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elbv2/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elbv2/doc.go index 99a2ea81fc1..ef3e971c654 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elbv2/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/elbv2/doc.go @@ -19,7 +19,7 @@ // // An Application Load Balancer makes routing and load balancing decisions at // the application layer (HTTP/HTTPS). A Network Load Balancer makes routing -// and load balancing decisions at the transport layer (TCP). Both Application +// and load balancing decisions at the transport layer (TCP/TLS). Both Application // Load Balancers and Network Load Balancers can route requests to one or more // ports on each EC2 instance or container instance in your virtual private // cloud (VPC). @@ -27,7 +27,7 @@ // A Classic Load Balancer makes routing and load balancing decisions either // at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and // supports either EC2-Classic or a VPC. For more information, see the Elastic -// Load Balancing User Guide (http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/). +// Load Balancing User Guide (https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/). // // This reference covers the 2015-12-01 API, which supports Application Load // Balancers and Network Load Balancers. The 2012-06-01 API supports Classic diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/emr/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/emr/api.go index cc98bed8e43..6f844686a94 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/emr/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/emr/api.go @@ -3034,24 +3034,16 @@ func (s AddTagsOutput) GoString() string { return s.String() } -// An application is any Amazon or third-party software that you can add to -// the cluster. This structure contains a list of strings that indicates the -// software to use with the cluster and accepts a user argument list. Amazon -// EMR accepts and forwards the argument list to the corresponding installation -// script as bootstrap action argument. For more information, see Using the -// MapR Distribution for Hadoop (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-mapr.html). -// Currently supported values are: -// -// * "mapr-m3" - launch the cluster using MapR M3 Edition. -// -// * "mapr-m5" - launch the cluster using MapR M5 Edition. -// -// * "mapr" with the user arguments specifying "--edition,m3" or "--edition,m5" -// - launch the cluster using MapR M3 or M5 Edition, respectively. -// -// In Amazon EMR releases 4.x and later, the only accepted parameter is the -// application name. To pass arguments to applications, you supply a configuration -// for each application. +// With Amazon EMR release version 4.0 and later, the only accepted parameter +// is the application name. To pass arguments to applications, you use configuration +// classifications specified using configuration JSON objects. For more information, +// see Configuring Applications (http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html). +// +// With earlier Amazon EMR releases, the application is any Amazon or third-party +// software that you can add to the cluster. This structure contains a list +// of strings that indicates the software to use with the cluster and accepts +// a user argument list. Amazon EMR accepts and forwards the argument list to +// the corresponding installation script as bootstrap action argument. type Application struct { _ struct{} `type:"structure"` @@ -4788,7 +4780,8 @@ type Ec2InstanceAttributes struct { // A list of additional Amazon EC2 security group IDs for the master node. AdditionalMasterSecurityGroups []*string `type:"list"` - // A list of additional Amazon EC2 security group IDs for the slave nodes. + // A list of additional Amazon EC2 security group IDs for the core and task + // nodes. AdditionalSlaveSecurityGroups []*string `type:"list"` // The Availability Zone in which the cluster will run. @@ -4811,7 +4804,7 @@ type Ec2InstanceAttributes struct { // The identifier of the Amazon EC2 security group for the master node. EmrManagedMasterSecurityGroup *string `type:"string"` - // The identifier of the Amazon EC2 security group for the slave nodes. + // The identifier of the Amazon EC2 security group for the core and task nodes. EmrManagedSlaveSecurityGroup *string `type:"string"` // The IAM role that was specified when the cluster was launched. The EC2 instances @@ -7028,7 +7021,8 @@ type JobFlowInstancesConfig struct { // A list of additional Amazon EC2 security group IDs for the master node. AdditionalMasterSecurityGroups []*string `type:"list"` - // A list of additional Amazon EC2 security group IDs for the slave nodes. + // A list of additional Amazon EC2 security group IDs for the core and task + // nodes. AdditionalSlaveSecurityGroups []*string `type:"list"` // The name of the EC2 key pair that can be used to ssh to the master node as @@ -7059,7 +7053,7 @@ type JobFlowInstancesConfig struct { // The identifier of the Amazon EC2 security group for the master node. EmrManagedMasterSecurityGroup *string `type:"string"` - // The identifier of the Amazon EC2 security group for the slave nodes. + // The identifier of the Amazon EC2 security group for the core and task nodes. EmrManagedSlaveSecurityGroup *string `type:"string"` // Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop @@ -7097,7 +7091,7 @@ type JobFlowInstancesConfig struct { // to access clusters in VPC private subnets. ServiceAccessSecurityGroup *string `type:"string"` - // The EC2 instance type of the slave nodes. + // The EC2 instance type of the core and task nodes. SlaveInstanceType *string `min:"1" type:"string"` // Specifies whether to lock the cluster to prevent the Amazon EC2 instances @@ -7271,8 +7265,9 @@ type JobFlowInstancesDetail struct { HadoopVersion *string `type:"string"` // The number of Amazon EC2 instances in the cluster. If the value is 1, the - // same instance serves as both the master and slave node. If the value is greater - // than 1, one instance is the master node and all others are slave nodes. + // same instance serves as both the master and core and task node. If the value + // is greater than 1, one instance is the master node and all others are core + // and task nodes. // // InstanceCount is a required field InstanceCount *int64 `type:"integer" required:"true"` @@ -7307,7 +7302,7 @@ type JobFlowInstancesDetail struct { // The Amazon EC2 Availability Zone for the cluster. Placement *PlacementType `type:"structure"` - // The Amazon EC2 slave node instance type. + // The Amazon EC2 core and task node instance type. // // SlaveInstanceType is a required field SlaveInstanceType *string `min:"1" type:"string" required:"true"` @@ -8617,9 +8612,10 @@ type RunJobFlowInput struct { // 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID. AmiVersion *string `type:"string"` - // For Amazon EMR releases 4.0 and later. A list of applications for the cluster. - // Valid values are: "Hadoop", "Hive", "Mahout", "Pig", and "Spark." They are - // case insensitive. + // Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of + // applications for Amazon EMR to install and configure when launching the cluster. + // For a list of applications available for each Amazon EMR release version, + // see the Amazon EMR Release Guide (http://docs.aws.amazon.com/emr/latest/ReleaseGuide/). Applications []*Application `type:"list"` // An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. @@ -9595,10 +9591,11 @@ type SpotProvisioningSpecification struct { BlockDurationMinutes *int64 `type:"integer"` // The action to take when TargetSpotCapacity has not been fulfilled when the - // TimeoutDurationMinutes has expired. Spot instances are not uprovisioned within - // the Spot provisioining timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. - // SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand - // Instances should be provisioned to fulfill any remaining Spot capacity. + // TimeoutDurationMinutes has expired; that is, when all Spot instances could + // not be provisioned within the Spot provisioning timeout. Valid values are + // TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies + // that if no Spot instances are available, On-Demand Instances should be provisioned + // to fulfill any remaining Spot capacity. // // TimeoutAction is a required field TimeoutAction *string `type:"string" required:"true" enum:"SpotProvisioningTimeoutAction"` @@ -9660,8 +9657,9 @@ func (s *SpotProvisioningSpecification) SetTimeoutDurationMinutes(v int64) *Spot type Step struct { _ struct{} `type:"structure"` - // This specifies what action to take when the cluster step fails. Possible - // values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. + // The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, + // CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward + // compatibility. We recommend using TERMINATE_CLUSTER instead. ActionOnFailure *string `type:"string" enum:"ActionOnFailure"` // The Hadoop job configuration of the cluster step. @@ -9721,7 +9719,9 @@ func (s *Step) SetStatus(v *StepStatus) *Step { type StepConfig struct { _ struct{} `type:"structure"` - // The action to take if the step fails. + // The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, + // CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward + // compatibility. We recommend using TERMINATE_CLUSTER instead. ActionOnFailure *string `type:"string" enum:"ActionOnFailure"` // The JAR file used for the step. @@ -9975,8 +9975,9 @@ func (s *StepStatus) SetTimeline(v *StepTimeline) *StepStatus { type StepSummary struct { _ struct{} `type:"structure"` - // This specifies what action to take when the cluster step fails. Possible - // values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. + // The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, + // CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is available for backward + // compatibility. We recommend using TERMINATE_CLUSTER instead. ActionOnFailure *string `type:"string" enum:"ActionOnFailure"` // The Hadoop job configuration of the cluster step. diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go index fea196d26b7..50916817484 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go @@ -814,13 +814,16 @@ func (c *Firehose) StartDeliveryStreamEncryptionRequest(input *StartDeliveryStre // StartDeliveryStreamEncryption API operation for Amazon Kinesis Firehose. // -// Enables server-side encryption (SSE) for the delivery stream. This operation -// is asynchronous. It returns immediately. When you invoke it, Kinesis Firehose -// first sets the status of the stream to ENABLING then to ENABLED. You can -// continue to read and write data to your stream while its status is ENABLING -// but they won't get encrypted. It can take up to 5 seconds after the encryption -// status changes to ENABLED before all records written to the delivery stream -// are encrypted. +// Enables server-side encryption (SSE) for the delivery stream. +// +// This operation is asynchronous. It returns immediately. When you invoke it, +// Kinesis Data Firehose first sets the status of the stream to ENABLING, and +// then to ENABLED. You can continue to read and write data to your stream while +// its status is ENABLING, but the data is not encrypted. It can take up to +// 5 seconds after the encryption status changes to ENABLED before all records +// written to the delivery stream are encrypted. To find out whether a record +// or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted +// and PutRecordBatchOutput$Encrypted, respectively. // // To check the encryption state of a delivery stream, use DescribeDeliveryStream. // @@ -829,8 +832,8 @@ func (c *Firehose) StartDeliveryStreamEncryptionRequest(input *StartDeliveryStre // // The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations // have a combined limit of 25 calls per delivery stream per 24 hours. For example, -// you reach the limit if you call StartDeliveryStreamEncryption thirteen times -// and StopDeliveryStreamEncryption twelve times for the same stream in a 24-hour +// you reach the limit if you call StartDeliveryStreamEncryption 13 times and +// StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour // period. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -920,20 +923,23 @@ func (c *Firehose) StopDeliveryStreamEncryptionRequest(input *StopDeliveryStream // StopDeliveryStreamEncryption API operation for Amazon Kinesis Firehose. // -// Disables server-side encryption (SSE) for the delivery stream. This operation -// is asynchronous. It returns immediately. When you invoke it, Kinesis Firehose -// first sets the status of the stream to DISABLING then to DISABLED. You can -// continue to read and write data to your stream while its status is DISABLING. -// It can take up to 5 seconds after the encryption status changes to DISABLED -// before all records written to the delivery stream are no longer subject to -// encryption. +// Disables server-side encryption (SSE) for the delivery stream. +// +// This operation is asynchronous. It returns immediately. When you invoke it, +// Kinesis Data Firehose first sets the status of the stream to DISABLING, and +// then to DISABLED. You can continue to read and write data to your stream +// while its status is DISABLING. It can take up to 5 seconds after the encryption +// status changes to DISABLED before all records written to the delivery stream +// are no longer subject to encryption. To find out whether a record or a batch +// of records was encrypted, check the response elements PutRecordOutput$Encrypted +// and PutRecordBatchOutput$Encrypted, respectively. // // To check the encryption state of a delivery stream, use DescribeDeliveryStream. // // The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations // have a combined limit of 25 calls per delivery stream per 24 hours. For example, -// you reach the limit if you call StartDeliveryStreamEncryption thirteen times -// and StopDeliveryStreamEncryption twelve times for the same stream in a 24-hour +// you reach the limit if you call StartDeliveryStreamEncryption 13 times and +// StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour // period. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1024,12 +1030,12 @@ func (c *Firehose) TagDeliveryStreamRequest(input *TagDeliveryStreamInput) (req // TagDeliveryStream API operation for Amazon Kinesis Firehose. // // Adds or updates tags for the specified delivery stream. A tag is a key-value -// pair (the value is optional) that you can define and assign to AWS resources. -// If you specify a tag that already exists, the tag value is replaced with -// the value that you specify in the request. Tags are metadata. For example, -// you can add friendly names and descriptions or other types of information -// that can help you distinguish the delivery stream. For more information about -// tags, see Using Cost Allocation Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) +// pair that you can define and assign to AWS resources. If you specify a tag +// that already exists, the tag value is replaced with the value that you specify +// in the request. Tags are metadata. For example, you can add friendly names +// and descriptions or other types of information that can help you distinguish +// the delivery stream. For more information about tags, see Using Cost Allocation +// Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) // in the AWS Billing and Cost Management User Guide. // // Each delivery stream can have up to 50 tags. @@ -2249,7 +2255,7 @@ type ElasticsearchDestinationConfiguration struct { // IndexName is a required field IndexName *string `min:"1" type:"string" required:"true"` - // The Elasticsearch index rotation period. Index rotation appends a time stamp + // The Elasticsearch index rotation period. Index rotation appends a timestamp // to the IndexName to facilitate the expiration of old data. For more information, // see Index Rotation for the Amazon ES Destination (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation). // The default value is OneDay. @@ -2559,7 +2565,7 @@ type ElasticsearchDestinationUpdate struct { // The Elasticsearch index name. IndexName *string `min:"1" type:"string"` - // The Elasticsearch index rotation period. Index rotation appends a time stamp + // The Elasticsearch index rotation period. Index rotation appends a timestamp // to IndexName to facilitate the expiration of old data. For more information, // see Index Rotation for the Amazon ES Destination (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation). // Default value is OneDay. @@ -2800,6 +2806,11 @@ type ExtendedS3DestinationConfiguration struct { // encryption. EncryptionConfiguration *EncryptionConfiguration `type:"structure"` + // A prefix that Kinesis Data Firehose evaluates and adds to failed records + // before writing them to S3. This prefix appears immediately following the + // bucket name. + ErrorOutputPrefix *string `type:"string"` + // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered // Amazon S3 files. You can specify an extra prefix to be added in front of // the time format prefix. If the prefix ends with a slash, it appears as a @@ -2917,6 +2928,12 @@ func (s *ExtendedS3DestinationConfiguration) SetEncryptionConfiguration(v *Encry return s } +// SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. +func (s *ExtendedS3DestinationConfiguration) SetErrorOutputPrefix(v string) *ExtendedS3DestinationConfiguration { + s.ErrorOutputPrefix = &v + return s +} + // SetPrefix sets the Prefix field's value. func (s *ExtendedS3DestinationConfiguration) SetPrefix(v string) *ExtendedS3DestinationConfiguration { s.Prefix = &v @@ -2980,6 +2997,11 @@ type ExtendedS3DestinationDescription struct { // EncryptionConfiguration is a required field EncryptionConfiguration *EncryptionConfiguration `type:"structure" required:"true"` + // A prefix that Kinesis Data Firehose evaluates and adds to failed records + // before writing them to S3. This prefix appears immediately following the + // bucket name. + ErrorOutputPrefix *string `type:"string"` + // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered // Amazon S3 files. You can specify an extra prefix to be added in front of // the time format prefix. If the prefix ends with a slash, it appears as a @@ -3050,6 +3072,12 @@ func (s *ExtendedS3DestinationDescription) SetEncryptionConfiguration(v *Encrypt return s } +// SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. +func (s *ExtendedS3DestinationDescription) SetErrorOutputPrefix(v string) *ExtendedS3DestinationDescription { + s.ErrorOutputPrefix = &v + return s +} + // SetPrefix sets the Prefix field's value. func (s *ExtendedS3DestinationDescription) SetPrefix(v string) *ExtendedS3DestinationDescription { s.Prefix = &v @@ -3105,6 +3133,11 @@ type ExtendedS3DestinationUpdate struct { // encryption. EncryptionConfiguration *EncryptionConfiguration `type:"structure"` + // A prefix that Kinesis Data Firehose evaluates and adds to failed records + // before writing them to S3. This prefix appears immediately following the + // bucket name. + ErrorOutputPrefix *string `type:"string"` + // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered // Amazon S3 files. You can specify an extra prefix to be added in front of // the time format prefix. If the prefix ends with a slash, it appears as a @@ -3214,6 +3247,12 @@ func (s *ExtendedS3DestinationUpdate) SetEncryptionConfiguration(v *EncryptionCo return s } +// SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. +func (s *ExtendedS3DestinationUpdate) SetErrorOutputPrefix(v string) *ExtendedS3DestinationUpdate { + s.ErrorOutputPrefix = &v + return s +} + // SetPrefix sets the Prefix field's value. func (s *ExtendedS3DestinationUpdate) SetPrefix(v string) *ExtendedS3DestinationUpdate { s.Prefix = &v @@ -3252,11 +3291,11 @@ func (s *ExtendedS3DestinationUpdate) SetS3BackupUpdate(v *S3DestinationUpdate) type HiveJsonSerDe struct { _ struct{} `type:"structure"` - // Indicates how you want Kinesis Data Firehose to parse the date and time stamps + // Indicates how you want Kinesis Data Firehose to parse the date and timestamps // that may be present in your input data JSON. To specify these format strings, // follow the pattern syntax of JodaTime's DateTimeFormat format strings. For // more information, see Class DateTimeFormat (https://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html). - // You can also use the special value millis to parse time stamps in epoch milliseconds. + // You can also use the special value millis to parse timestamps in epoch milliseconds. // If you don't specify a format, Kinesis Data Firehose uses java.sql.Timestamp::valueOf // by default. TimestampFormats []*string `type:"list"` @@ -3418,7 +3457,7 @@ type KinesisStreamSourceDescription struct { _ struct{} `type:"structure"` // Kinesis Data Firehose starts retrieving records from the Kinesis data stream - // starting with this time stamp. + // starting with this timestamp. DeliveryStartTimestamp *time.Time `type:"timestamp"` // The Amazon Resource Name (ARN) of the source Kinesis data stream. For more @@ -5005,6 +5044,11 @@ type S3DestinationConfiguration struct { // encryption. EncryptionConfiguration *EncryptionConfiguration `type:"structure"` + // A prefix that Kinesis Data Firehose evaluates and adds to failed records + // before writing them to S3. This prefix appears immediately following the + // bucket name. + ErrorOutputPrefix *string `type:"string"` + // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered // Amazon S3 files. You can specify an extra prefix to be added in front of // the time format prefix. If the prefix ends with a slash, it appears as a @@ -5092,6 +5136,12 @@ func (s *S3DestinationConfiguration) SetEncryptionConfiguration(v *EncryptionCon return s } +// SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. +func (s *S3DestinationConfiguration) SetErrorOutputPrefix(v string) *S3DestinationConfiguration { + s.ErrorOutputPrefix = &v + return s +} + // SetPrefix sets the Prefix field's value. func (s *S3DestinationConfiguration) SetPrefix(v string) *S3DestinationConfiguration { s.Prefix = &v @@ -5134,6 +5184,11 @@ type S3DestinationDescription struct { // EncryptionConfiguration is a required field EncryptionConfiguration *EncryptionConfiguration `type:"structure" required:"true"` + // A prefix that Kinesis Data Firehose evaluates and adds to failed records + // before writing them to S3. This prefix appears immediately following the + // bucket name. + ErrorOutputPrefix *string `type:"string"` + // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered // Amazon S3 files. You can specify an extra prefix to be added in front of // the time format prefix. If the prefix ends with a slash, it appears as a @@ -5189,6 +5244,12 @@ func (s *S3DestinationDescription) SetEncryptionConfiguration(v *EncryptionConfi return s } +// SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. +func (s *S3DestinationDescription) SetErrorOutputPrefix(v string) *S3DestinationDescription { + s.ErrorOutputPrefix = &v + return s +} + // SetPrefix sets the Prefix field's value. func (s *S3DestinationDescription) SetPrefix(v string) *S3DestinationDescription { s.Prefix = &v @@ -5227,6 +5288,11 @@ type S3DestinationUpdate struct { // encryption. EncryptionConfiguration *EncryptionConfiguration `type:"structure"` + // A prefix that Kinesis Data Firehose evaluates and adds to failed records + // before writing them to S3. This prefix appears immediately following the + // bucket name. + ErrorOutputPrefix *string `type:"string"` + // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered // Amazon S3 files. You can specify an extra prefix to be added in front of // the time format prefix. If the prefix ends with a slash, it appears as a @@ -5306,6 +5372,12 @@ func (s *S3DestinationUpdate) SetEncryptionConfiguration(v *EncryptionConfigurat return s } +// SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. +func (s *S3DestinationUpdate) SetErrorOutputPrefix(v string) *S3DestinationUpdate { + s.ErrorOutputPrefix = &v + return s +} + // SetPrefix sets the Prefix field's value. func (s *S3DestinationUpdate) SetPrefix(v string) *S3DestinationUpdate { s.Prefix = &v diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fms/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fms/api.go index 61cdda7a7c4..4c2b2be5361 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fms/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fms/api.go @@ -338,8 +338,8 @@ func (c *FMS) DisassociateAdminAccountRequest(input *DisassociateAdminAccountInp // DisassociateAdminAccount API operation for Firewall Management Service. // // Disassociates the account that has been set as the AWS Firewall Manager administrator -// account. You will need to submit an AssociateAdminAccount request to set -// a new account as the AWS Firewall administrator. +// account. To set a different account as the administrator account, you must +// submit an AssociateAdminAccount 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 @@ -1327,6 +1327,10 @@ func (s DeleteNotificationChannelOutput) GoString() string { type DeletePolicyInput struct { _ struct{} `type:"structure"` + // If True, the request will also delete all web ACLs in this policy. Associated + // resources will no longer be protected by web ACLs in this policy. + DeleteAllPolicyResources *bool `type:"boolean"` + // The ID of the policy that you want to delete. PolicyId is returned by PutPolicy // and by ListPolicies. // @@ -1360,6 +1364,12 @@ func (s *DeletePolicyInput) Validate() error { return nil } +// SetDeleteAllPolicyResources sets the DeleteAllPolicyResources field's value. +func (s *DeletePolicyInput) SetDeleteAllPolicyResources(v bool) *DeletePolicyInput { + s.DeleteAllPolicyResources = &v + return s +} + // SetPolicyId sets the PolicyId field's value. func (s *DeletePolicyInput) SetPolicyId(v string) *DeletePolicyInput { s.PolicyId = &v @@ -1819,8 +1829,7 @@ type ListMemberAccountsInput struct { // Specifies the number of member account IDs that you want AWS Firewall Manager // to return for this request. If you have more IDs than the number that you // specify for MaxResults, the response includes a NextToken value that you - // can use to get another batch of member account IDs. The maximum value for - // MaxResults is 100. + // can use to get another batch of member account IDs. MaxResults *int64 `min:"1" type:"integer"` // If you specify a value for MaxResults and you have more account IDs than @@ -2002,8 +2011,8 @@ type Policy struct { _ struct{} `type:"structure"` // Specifies the AWS account IDs to exclude from the policy. The IncludeMap - // values are evaluated first, with all of the appropriate account IDs added - // to the policy. Then the accounts listed in ExcludeMap are removed, resulting + // values are evaluated first, with all the appropriate account IDs added to + // the policy. Then the accounts listed in ExcludeMap are removed, resulting // in the final list of accounts to add to the policy. // // The key to the map is ACCOUNT. For example, a valid ExcludeMap would be {“ACCOUNT” @@ -2019,9 +2028,9 @@ type Policy struct { ExcludeResourceTags *bool `type:"boolean" required:"true"` // Specifies the AWS account IDs to include in the policy. If IncludeMap is - // null, all accounts in the AWS Organization are included in the policy. If - // IncludeMap is not null, only values listed in IncludeMap will be included - // in the policy. + // null, all accounts in the organization in AWS Organizations are included + // in the policy. If IncludeMap is not null, only values listed in IncludeMap + // are included in the policy. // // The key to the map is ACCOUNT. For example, a valid IncludeMap would be {“ACCOUNT” // : [“accountID1”, “accountID2”]}. @@ -2201,8 +2210,8 @@ type PolicyComplianceDetail struct { // Details about problems with dependent services, such as AWS WAF or AWS Config, // that are causing a resource to be non-compliant. The details include the - // name of the dependent service and the error message recieved indicating the - // problem with the service. + // name of the dependent service and the error message received that indicates + // the problem with the service. IssueInfoMap map[string]*string `type:"map"` // The AWS account ID. @@ -2281,8 +2290,8 @@ type PolicyComplianceStatus struct { // Details about problems with dependent services, such as AWS WAF or AWS Config, // that are causing a resource to be non-compliant. The details include the - // name of the dependent service and the error message recieved indicating the - // problem with the service. + // name of the dependent service and the error message received that indicates + // the problem with the service. IssueInfoMap map[string]*string `type:"map"` // Time stamp of the last update to the EvaluationResult objects. diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go new file mode 100644 index 00000000000..19af266ad00 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go @@ -0,0 +1,3675 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package fsx + +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 opCreateBackup = "CreateBackup" + +// CreateBackupRequest generates a "aws/request.Request" representing the +// client's request for the CreateBackup 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 CreateBackup for more information on using the CreateBackup +// 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 CreateBackupRequest method. +// req, resp := client.CreateBackupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateBackup +func (c *FSx) CreateBackupRequest(input *CreateBackupInput) (req *request.Request, output *CreateBackupOutput) { + op := &request.Operation{ + Name: opCreateBackup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateBackupInput{} + } + + output = &CreateBackupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateBackup API operation for Amazon FSx. +// +// Creates a backup of an existing Amazon FSx for Windows File Server file system. +// Creating regular backups for your file system is a best practice that complements +// the replication that Amazon FSx for Windows File Server performs for your +// file system. It also enables you to restore from user modification of data. +// +// If a backup with the specified client request token exists, and the parameters +// match, this operation returns the description of the existing backup. If +// a backup specified client request token exists, and the parameters don't +// match, this operation returns IncompatibleParameterError. If a backup with +// the specified client request token doesn't exist, CreateBackup does the following: +// +// * Creates a new Amazon FSx backup with an assigned ID, and an initial +// lifecycle state of CREATING. +// +// * Returns the description of the backup. +// +// By using the idempotent operation, you can retry a CreateBackup operation +// without the risk of creating an extra backup. This approach can be useful +// when an initial call fails in a way that makes it unclear whether a backup +// was created. If you use the same client request token and the initial call +// created a backup, the operation returns a successful result because all the +// parameters are the same. +// +// The CreateFileSystem operation returns while the backup's lifecycle state +// is still CREATING. You can check the file system creation status by calling +// the DescribeBackups operation, which returns the backup state along with +// other 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 FSx's +// API operation CreateBackup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequest "BadRequest" +// A generic error indicating a failure with a client request. +// +// * ErrCodeFileSystemNotFound "FileSystemNotFound" +// No Amazon FSx file systems were found based upon supplied parameters. +// +// * ErrCodeBackupInProgress "BackupInProgress" +// Another backup is already under way. Wait for completion before initiating +// additional backups of this file system. +// +// * ErrCodeIncompatibleParameterError "IncompatibleParameterError" +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +// +// * ErrCodeServiceLimitExceeded "ServiceLimitExceeded" +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting AWS Support. +// +// * ErrCodeInternalServerError "InternalServerError" +// A generic error indicating a server-side failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateBackup +func (c *FSx) CreateBackup(input *CreateBackupInput) (*CreateBackupOutput, error) { + req, out := c.CreateBackupRequest(input) + return out, req.Send() +} + +// CreateBackupWithContext is the same as CreateBackup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateBackup 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 *FSx) CreateBackupWithContext(ctx aws.Context, input *CreateBackupInput, opts ...request.Option) (*CreateBackupOutput, error) { + req, out := c.CreateBackupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateFileSystem = "CreateFileSystem" + +// CreateFileSystemRequest generates a "aws/request.Request" representing the +// client's request for the CreateFileSystem 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 CreateFileSystem for more information on using the CreateFileSystem +// 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 CreateFileSystemRequest method. +// req, resp := client.CreateFileSystemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystem +func (c *FSx) CreateFileSystemRequest(input *CreateFileSystemInput) (req *request.Request, output *CreateFileSystemOutput) { + op := &request.Operation{ + Name: opCreateFileSystem, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateFileSystemInput{} + } + + output = &CreateFileSystemOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateFileSystem API operation for Amazon FSx. +// +// Creates a new, empty Amazon FSx file system. +// +// If a file system with the specified client request token exists and the parameters +// match, CreateFileSystem returns the description of the existing file system. +// If a file system specified client request token exists and the parameters +// don't match, this call returns IncompatibleParameterError. If a file system +// with the specified client request token doesn't exist, CreateFileSystem does +// the following: +// +// * Creates a new, empty Amazon FSx file system with an assigned ID, and +// an initial lifecycle state of CREATING. +// +// * Returns the description of the file system. +// +// This operation requires a client request token in the request that Amazon +// FSx uses to ensure idempotent creation. This means that calling the operation +// multiple times with the same client request token has no effect. By using +// the idempotent operation, you can retry a CreateFileSystem operation without +// the risk of creating an extra file system. This approach can be useful when +// an initial call fails in a way that makes it unclear whether a file system +// was created. Examples are if a transport level timeout occurred, or your +// connection was reset. If you use the same client request token and the initial +// call created a file system, the client receives success as long as the parameters +// are the same. +// +// The CreateFileSystem call returns while the file system's lifecycle state +// is still CREATING. You can check the file-system creation status by calling +// the DescribeFileSystems operation, which returns the file system state along +// with other 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 FSx's +// API operation CreateFileSystem for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequest "BadRequest" +// A generic error indicating a failure with a client request. +// +// * ErrCodeActiveDirectoryError "ActiveDirectoryError" +// An Active Directory error. +// +// * ErrCodeIncompatibleParameterError "IncompatibleParameterError" +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +// +// * ErrCodeInvalidImportPath "InvalidImportPath" +// The path provided for data repository import isn't valid. +// +// * ErrCodeInvalidExportPath "InvalidExportPath" +// The path provided for data repository export isn't valid. +// +// * ErrCodeInvalidNetworkSettings "InvalidNetworkSettings" +// One or more network settings specified in the request are invalid. InvalidVpcId +// means that the ID passed for the virtual private cloud (VPC) is invalid. +// InvalidSubnetIds returns the list of IDs for subnets that are either invalid +// or not part of the VPC specified. InvalidSecurityGroupIds returns the list +// of IDs for security groups that are either invalid or not part of the VPC +// specified. +// +// * ErrCodeServiceLimitExceeded "ServiceLimitExceeded" +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting AWS Support. +// +// * ErrCodeInternalServerError "InternalServerError" +// A generic error indicating a server-side failure. +// +// * ErrCodeMissingFileSystemConfiguration "MissingFileSystemConfiguration" +// File system configuration is required for this operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystem +func (c *FSx) CreateFileSystem(input *CreateFileSystemInput) (*CreateFileSystemOutput, error) { + req, out := c.CreateFileSystemRequest(input) + return out, req.Send() +} + +// CreateFileSystemWithContext is the same as CreateFileSystem with the addition of +// the ability to pass a context and additional request options. +// +// See CreateFileSystem 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 *FSx) CreateFileSystemWithContext(ctx aws.Context, input *CreateFileSystemInput, opts ...request.Option) (*CreateFileSystemOutput, error) { + req, out := c.CreateFileSystemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateFileSystemFromBackup = "CreateFileSystemFromBackup" + +// CreateFileSystemFromBackupRequest generates a "aws/request.Request" representing the +// client's request for the CreateFileSystemFromBackup 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 CreateFileSystemFromBackup for more information on using the CreateFileSystemFromBackup +// 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 CreateFileSystemFromBackupRequest method. +// req, resp := client.CreateFileSystemFromBackupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemFromBackup +func (c *FSx) CreateFileSystemFromBackupRequest(input *CreateFileSystemFromBackupInput) (req *request.Request, output *CreateFileSystemFromBackupOutput) { + op := &request.Operation{ + Name: opCreateFileSystemFromBackup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateFileSystemFromBackupInput{} + } + + output = &CreateFileSystemFromBackupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateFileSystemFromBackup API operation for Amazon FSx. +// +// Creates a new Amazon FSx file system from an existing Amazon FSx for Windows +// File Server backup. +// +// If a file system with the specified client request token exists and the parameters +// match, this call returns the description of the existing file system. If +// a client request token specified by the file system exists and the parameters +// don't match, this call returns IncompatibleParameterError. If a file system +// with the specified client request token doesn't exist, this operation does +// the following: +// +// * Creates a new Amazon FSx file system from backup with an assigned ID, +// and an initial lifecycle state of CREATING. +// +// * Returns the description of the file system. +// +// Parameters like Active Directory, default share name, automatic backup, and +// backup settings default to the parameters of the file system that was backed +// up, unless overridden. You can explicitly supply other settings. +// +// By using the idempotent operation, you can retry a CreateFileSystemFromBackup +// call without the risk of creating an extra file system. This approach can +// be useful when an initial call fails in a way that makes it unclear whether +// a file system was created. Examples are if a transport level timeout occurred, +// or your connection was reset. If you use the same client request token and +// the initial call created a file system, the client receives success as long +// as the parameters are the same. +// +// The CreateFileSystemFromBackup call returns while the file system's lifecycle +// state is still CREATING. You can check the file-system creation status by +// calling the DescribeFileSystems operation, which returns the file system +// state along with other 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 FSx's +// API operation CreateFileSystemFromBackup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequest "BadRequest" +// A generic error indicating a failure with a client request. +// +// * ErrCodeActiveDirectoryError "ActiveDirectoryError" +// An Active Directory error. +// +// * ErrCodeIncompatibleParameterError "IncompatibleParameterError" +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +// +// * ErrCodeInvalidNetworkSettings "InvalidNetworkSettings" +// One or more network settings specified in the request are invalid. InvalidVpcId +// means that the ID passed for the virtual private cloud (VPC) is invalid. +// InvalidSubnetIds returns the list of IDs for subnets that are either invalid +// or not part of the VPC specified. InvalidSecurityGroupIds returns the list +// of IDs for security groups that are either invalid or not part of the VPC +// specified. +// +// * ErrCodeServiceLimitExceeded "ServiceLimitExceeded" +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting AWS Support. +// +// * ErrCodeBackupNotFound "BackupNotFound" +// No Amazon FSx backups were found based upon the supplied parameters. +// +// * ErrCodeInternalServerError "InternalServerError" +// A generic error indicating a server-side failure. +// +// * ErrCodeMissingFileSystemConfiguration "MissingFileSystemConfiguration" +// File system configuration is required for this operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemFromBackup +func (c *FSx) CreateFileSystemFromBackup(input *CreateFileSystemFromBackupInput) (*CreateFileSystemFromBackupOutput, error) { + req, out := c.CreateFileSystemFromBackupRequest(input) + return out, req.Send() +} + +// CreateFileSystemFromBackupWithContext is the same as CreateFileSystemFromBackup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateFileSystemFromBackup 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 *FSx) CreateFileSystemFromBackupWithContext(ctx aws.Context, input *CreateFileSystemFromBackupInput, opts ...request.Option) (*CreateFileSystemFromBackupOutput, error) { + req, out := c.CreateFileSystemFromBackupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteBackup = "DeleteBackup" + +// DeleteBackupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBackup 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 DeleteBackup for more information on using the DeleteBackup +// 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 DeleteBackupRequest method. +// req, resp := client.DeleteBackupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteBackup +func (c *FSx) DeleteBackupRequest(input *DeleteBackupInput) (req *request.Request, output *DeleteBackupOutput) { + op := &request.Operation{ + Name: opDeleteBackup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteBackupInput{} + } + + output = &DeleteBackupOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteBackup API operation for Amazon FSx. +// +// Deletes an Amazon FSx for Windows File Server backup, deleting its contents. +// After deletion, the backup no longer exists, and its data is gone. +// +// The DeleteBackup call returns instantly. The backup will not show up in later +// DescribeBackups calls. +// +// The data in a deleted backup is also deleted and can't be recovered by any +// means. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon FSx's +// API operation DeleteBackup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequest "BadRequest" +// A generic error indicating a failure with a client request. +// +// * ErrCodeBackupInProgress "BackupInProgress" +// Another backup is already under way. Wait for completion before initiating +// additional backups of this file system. +// +// * ErrCodeBackupNotFound "BackupNotFound" +// No Amazon FSx backups were found based upon the supplied parameters. +// +// * ErrCodeBackupRestoring "BackupRestoring" +// You can't delete a backup while it's being used to restore a file system. +// +// * ErrCodeIncompatibleParameterError "IncompatibleParameterError" +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +// +// * ErrCodeInternalServerError "InternalServerError" +// A generic error indicating a server-side failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteBackup +func (c *FSx) DeleteBackup(input *DeleteBackupInput) (*DeleteBackupOutput, error) { + req, out := c.DeleteBackupRequest(input) + return out, req.Send() +} + +// DeleteBackupWithContext is the same as DeleteBackup with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBackup 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 *FSx) DeleteBackupWithContext(ctx aws.Context, input *DeleteBackupInput, opts ...request.Option) (*DeleteBackupOutput, error) { + req, out := c.DeleteBackupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteFileSystem = "DeleteFileSystem" + +// DeleteFileSystemRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFileSystem 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 DeleteFileSystem for more information on using the DeleteFileSystem +// 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 DeleteFileSystemRequest method. +// req, resp := client.DeleteFileSystemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileSystem +func (c *FSx) DeleteFileSystemRequest(input *DeleteFileSystemInput) (req *request.Request, output *DeleteFileSystemOutput) { + op := &request.Operation{ + Name: opDeleteFileSystem, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteFileSystemInput{} + } + + output = &DeleteFileSystemOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteFileSystem API operation for Amazon FSx. +// +// Deletes a file system, deleting its contents. After deletion, the file system +// no longer exists, and its data is gone. Any existing automatic backups will +// also be deleted. +// +// By default, when you delete an Amazon FSx for Windows File Server file system, +// a final backup is created upon deletion. This final backup is not subject +// to the file system's retention policy, and must be manually deleted. +// +// The DeleteFileSystem action returns while the file system has the DELETING +// status. You can check the file system deletion status by calling the DescribeFileSystems +// action, which returns a list of file systems in your account. If you pass +// the file system ID for a deleted file system, the DescribeFileSystems returns +// a FileSystemNotFound error. +// +// The data in a deleted file system is also deleted and can't be recovered +// by any means. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon FSx's +// API operation DeleteFileSystem for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequest "BadRequest" +// A generic error indicating a failure with a client request. +// +// * ErrCodeIncompatibleParameterError "IncompatibleParameterError" +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +// +// * ErrCodeFileSystemNotFound "FileSystemNotFound" +// No Amazon FSx file systems were found based upon supplied parameters. +// +// * ErrCodeServiceLimitExceeded "ServiceLimitExceeded" +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting AWS Support. +// +// * ErrCodeInternalServerError "InternalServerError" +// A generic error indicating a server-side failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileSystem +func (c *FSx) DeleteFileSystem(input *DeleteFileSystemInput) (*DeleteFileSystemOutput, error) { + req, out := c.DeleteFileSystemRequest(input) + return out, req.Send() +} + +// DeleteFileSystemWithContext is the same as DeleteFileSystem with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteFileSystem 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 *FSx) DeleteFileSystemWithContext(ctx aws.Context, input *DeleteFileSystemInput, opts ...request.Option) (*DeleteFileSystemOutput, error) { + req, out := c.DeleteFileSystemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeBackups = "DescribeBackups" + +// DescribeBackupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBackups 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 DescribeBackups for more information on using the DescribeBackups +// 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 DescribeBackupsRequest method. +// req, resp := client.DescribeBackupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeBackups +func (c *FSx) DescribeBackupsRequest(input *DescribeBackupsInput) (req *request.Request, output *DescribeBackupsOutput) { + op := &request.Operation{ + Name: opDescribeBackups, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeBackupsInput{} + } + + output = &DescribeBackupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeBackups API operation for Amazon FSx. +// +// Returns the description of specific Amazon FSx for Windows File Server backups, +// if a BackupIds value is provided for that backup. Otherwise, it returns all +// backups owned by your AWS account in the AWS Region of the endpoint that +// you're calling. +// +// When retrieving all backups, you can optionally specify the MaxResults parameter +// to limit the number of backups in a response. If more backups remain, Amazon +// FSx returns a NextToken value in the response. In this case, send a later +// request with the NextToken request parameter set to the value of NextToken +// from the last response. +// +// This action is used in an iterative process to retrieve a list of your backups. +// DescribeBackups is called first without a NextTokenvalue. Then the action +// continues to be called with the NextToken parameter set to the value of the +// last NextToken value until a response has no NextToken. +// +// When using this action, keep the following in mind: +// +// * The implementation might return fewer than MaxResults file system descriptions +// while still including a NextToken value. +// +// * The order of backups returned in the response of one DescribeBackups +// call and the order of backups returned across the responses of a multi-call +// iteration is unspecified. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon FSx's +// API operation DescribeBackups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequest "BadRequest" +// A generic error indicating a failure with a client request. +// +// * ErrCodeFileSystemNotFound "FileSystemNotFound" +// No Amazon FSx file systems were found based upon supplied parameters. +// +// * ErrCodeBackupNotFound "BackupNotFound" +// No Amazon FSx backups were found based upon the supplied parameters. +// +// * ErrCodeInternalServerError "InternalServerError" +// A generic error indicating a server-side failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeBackups +func (c *FSx) DescribeBackups(input *DescribeBackupsInput) (*DescribeBackupsOutput, error) { + req, out := c.DescribeBackupsRequest(input) + return out, req.Send() +} + +// DescribeBackupsWithContext is the same as DescribeBackups with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeBackups 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 *FSx) DescribeBackupsWithContext(ctx aws.Context, input *DescribeBackupsInput, opts ...request.Option) (*DescribeBackupsOutput, error) { + req, out := c.DescribeBackupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeBackupsPages iterates over the pages of a DescribeBackups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeBackups 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 DescribeBackups operation. +// pageNum := 0 +// err := client.DescribeBackupsPages(params, +// func(page *DescribeBackupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *FSx) DescribeBackupsPages(input *DescribeBackupsInput, fn func(*DescribeBackupsOutput, bool) bool) error { + return c.DescribeBackupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeBackupsPagesWithContext same as DescribeBackupsPages 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 *FSx) DescribeBackupsPagesWithContext(ctx aws.Context, input *DescribeBackupsInput, fn func(*DescribeBackupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeBackupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeBackupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeBackupsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeFileSystems = "DescribeFileSystems" + +// DescribeFileSystemsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFileSystems 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 DescribeFileSystems for more information on using the DescribeFileSystems +// 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 DescribeFileSystemsRequest method. +// req, resp := client.DescribeFileSystemsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystems +func (c *FSx) DescribeFileSystemsRequest(input *DescribeFileSystemsInput) (req *request.Request, output *DescribeFileSystemsOutput) { + op := &request.Operation{ + Name: opDescribeFileSystems, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeFileSystemsInput{} + } + + output = &DescribeFileSystemsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFileSystems API operation for Amazon FSx. +// +// Returns the description of specific Amazon FSx file systems, if a FileSystemIds +// value is provided for that file system. Otherwise, it returns descriptions +// of all file systems owned by your AWS account in the AWS Region of the endpoint +// that you're calling. +// +// When retrieving all file system descriptions, you can optionally specify +// the MaxResults parameter to limit the number of descriptions in a response. +// If more file system descriptions remain, Amazon FSx returns a NextToken value +// in the response. In this case, send a later request with the NextToken request +// parameter set to the value of NextToken from the last response. +// +// This action is used in an iterative process to retrieve a list of your file +// system descriptions. DescribeFileSystems is called first without a NextTokenvalue. +// Then the action continues to be called with the NextToken parameter set to +// the value of the last NextToken value until a response has no NextToken. +// +// When using this action, keep the following in mind: +// +// * The implementation might return fewer than MaxResults file system descriptions +// while still including a NextToken value. +// +// * The order of file systems returned in the response of one DescribeFileSystems +// call and the order of file systems returned across the responses of a +// multicall iteration is unspecified. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon FSx's +// API operation DescribeFileSystems for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequest "BadRequest" +// A generic error indicating a failure with a client request. +// +// * ErrCodeFileSystemNotFound "FileSystemNotFound" +// No Amazon FSx file systems were found based upon supplied parameters. +// +// * ErrCodeInternalServerError "InternalServerError" +// A generic error indicating a server-side failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystems +func (c *FSx) DescribeFileSystems(input *DescribeFileSystemsInput) (*DescribeFileSystemsOutput, error) { + req, out := c.DescribeFileSystemsRequest(input) + return out, req.Send() +} + +// DescribeFileSystemsWithContext is the same as DescribeFileSystems with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFileSystems 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 *FSx) DescribeFileSystemsWithContext(ctx aws.Context, input *DescribeFileSystemsInput, opts ...request.Option) (*DescribeFileSystemsOutput, error) { + req, out := c.DescribeFileSystemsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeFileSystemsPages iterates over the pages of a DescribeFileSystems operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeFileSystems 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 DescribeFileSystems operation. +// pageNum := 0 +// err := client.DescribeFileSystemsPages(params, +// func(page *DescribeFileSystemsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *FSx) DescribeFileSystemsPages(input *DescribeFileSystemsInput, fn func(*DescribeFileSystemsOutput, bool) bool) error { + return c.DescribeFileSystemsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeFileSystemsPagesWithContext same as DescribeFileSystemsPages 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 *FSx) DescribeFileSystemsPagesWithContext(ctx aws.Context, input *DescribeFileSystemsInput, fn func(*DescribeFileSystemsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeFileSystemsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeFileSystemsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeFileSystemsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ListTagsForResource +func (c *FSx) 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 FSx. +// +// Lists tags for an Amazon FSx file systems and backups in the case of Amazon +// FSx for Windows File Server. +// +// When retrieving all tags, you can optionally specify the MaxResults parameter +// to limit the number of tags in a response. If more tags remain, Amazon FSx +// returns a NextToken value in the response. In this case, send a later request +// with the NextToken request parameter set to the value of NextToken from the +// last response. +// +// This action is used in an iterative process to retrieve a list of your tags. +// ListTagsForResource is called first without a NextTokenvalue. Then the action +// continues to be called with the NextToken parameter set to the value of the +// last NextToken value until a response has no NextToken. +// +// When using this action, keep the following in mind: +// +// * The implementation might return fewer than MaxResults file system descriptions +// while still including a NextToken value. +// +// * The order of tags returned in the response of one ListTagsForResource +// call and the order of tags returned across the responses of a multi-call +// iteration is unspecified. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon FSx's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequest "BadRequest" +// A generic error indicating a failure with a client request. +// +// * ErrCodeInternalServerError "InternalServerError" +// A generic error indicating a server-side failure. +// +// * ErrCodeResourceNotFound "ResourceNotFound" +// The resource specified by the Amazon Resource Name (ARN) can't be found. +// +// * ErrCodeNotServiceResourceError "NotServiceResourceError" +// The resource specified for the tagging operation is not a resource type owned +// by Amazon FSx. Use the API of the relevant service to perform the operation. +// +// * ErrCodeResourceDoesNotSupportTagging "ResourceDoesNotSupportTagging" +// The resource specified does not support tagging. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ListTagsForResource +func (c *FSx) 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 *FSx) 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 opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/TagResource +func (c *FSx) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon FSx. +// +// Tags an Amazon FSx 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 FSx's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequest "BadRequest" +// A generic error indicating a failure with a client request. +// +// * ErrCodeInternalServerError "InternalServerError" +// A generic error indicating a server-side failure. +// +// * ErrCodeResourceNotFound "ResourceNotFound" +// The resource specified by the Amazon Resource Name (ARN) can't be found. +// +// * ErrCodeNotServiceResourceError "NotServiceResourceError" +// The resource specified for the tagging operation is not a resource type owned +// by Amazon FSx. Use the API of the relevant service to perform the operation. +// +// * ErrCodeResourceDoesNotSupportTagging "ResourceDoesNotSupportTagging" +// The resource specified does not support tagging. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/TagResource +func (c *FSx) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FSx) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UntagResource +func (c *FSx) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon FSx. +// +// This action removes a tag from an Amazon FSx 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 FSx's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequest "BadRequest" +// A generic error indicating a failure with a client request. +// +// * ErrCodeInternalServerError "InternalServerError" +// A generic error indicating a server-side failure. +// +// * ErrCodeResourceNotFound "ResourceNotFound" +// The resource specified by the Amazon Resource Name (ARN) can't be found. +// +// * ErrCodeNotServiceResourceError "NotServiceResourceError" +// The resource specified for the tagging operation is not a resource type owned +// by Amazon FSx. Use the API of the relevant service to perform the operation. +// +// * ErrCodeResourceDoesNotSupportTagging "ResourceDoesNotSupportTagging" +// The resource specified does not support tagging. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UntagResource +func (c *FSx) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FSx) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateFileSystem = "UpdateFileSystem" + +// UpdateFileSystemRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFileSystem 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 UpdateFileSystem for more information on using the UpdateFileSystem +// 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 UpdateFileSystemRequest method. +// req, resp := client.UpdateFileSystemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystem +func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *request.Request, output *UpdateFileSystemOutput) { + op := &request.Operation{ + Name: opUpdateFileSystem, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateFileSystemInput{} + } + + output = &UpdateFileSystemOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFileSystem API operation for Amazon FSx. +// +// Updates a file system configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon FSx's +// API operation UpdateFileSystem for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequest "BadRequest" +// A generic error indicating a failure with a client request. +// +// * ErrCodeIncompatibleParameterError "IncompatibleParameterError" +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +// +// * ErrCodeInternalServerError "InternalServerError" +// A generic error indicating a server-side failure. +// +// * ErrCodeFileSystemNotFound "FileSystemNotFound" +// No Amazon FSx file systems were found based upon supplied parameters. +// +// * ErrCodeMissingFileSystemConfiguration "MissingFileSystemConfiguration" +// File system configuration is required for this operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystem +func (c *FSx) UpdateFileSystem(input *UpdateFileSystemInput) (*UpdateFileSystemOutput, error) { + req, out := c.UpdateFileSystemRequest(input) + return out, req.Send() +} + +// UpdateFileSystemWithContext is the same as UpdateFileSystem with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFileSystem 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 *FSx) UpdateFileSystemWithContext(ctx aws.Context, input *UpdateFileSystemInput, opts ...request.Option) (*UpdateFileSystemOutput, error) { + req, out := c.UpdateFileSystemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// A backup of an Amazon FSx for Windows File Server file system. You can create +// a new file system from a backup to protect against data loss. +type Backup struct { + _ struct{} `type:"structure"` + + // The ID of the backup. + // + // BackupId is a required field + BackupId *string `min:"12" type:"string" required:"true"` + + // The time when a particular backup was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // Details explaining any failures that occur when creating a backup. + FailureDetails *BackupFailureDetails `type:"structure"` + + // Metadata of the file system associated with the backup. This metadata is + // persisted even if the file system is deleted. + // + // FileSystem is a required field + FileSystem *FileSystem `type:"structure" required:"true"` + + // The ID of the AWS Key Management Service (AWS KMS) key used to encrypt this + // backup's data. + KmsKeyId *string `min:"1" type:"string"` + + // The lifecycle status of the backup. + // + // Lifecycle is a required field + Lifecycle *string `type:"string" required:"true" enum:"BackupLifecycle"` + + // The current percent of progress of an asynchronous task. + ProgressPercent *int64 `type:"integer"` + + // The Amazon Resource Name (ARN) for the backup resource. + ResourceARN *string `min:"8" type:"string"` + + // Tags associated with a particular file system. + Tags []*Tag `min:"1" type:"list"` + + // The type of the backup. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"BackupType"` +} + +// String returns the string representation +func (s Backup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Backup) GoString() string { + return s.String() +} + +// SetBackupId sets the BackupId field's value. +func (s *Backup) SetBackupId(v string) *Backup { + s.BackupId = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Backup) SetCreationTime(v time.Time) *Backup { + s.CreationTime = &v + return s +} + +// SetFailureDetails sets the FailureDetails field's value. +func (s *Backup) SetFailureDetails(v *BackupFailureDetails) *Backup { + s.FailureDetails = v + return s +} + +// SetFileSystem sets the FileSystem field's value. +func (s *Backup) SetFileSystem(v *FileSystem) *Backup { + s.FileSystem = v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *Backup) SetKmsKeyId(v string) *Backup { + s.KmsKeyId = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *Backup) SetLifecycle(v string) *Backup { + s.Lifecycle = &v + return s +} + +// SetProgressPercent sets the ProgressPercent field's value. +func (s *Backup) SetProgressPercent(v int64) *Backup { + s.ProgressPercent = &v + return s +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *Backup) SetResourceARN(v string) *Backup { + s.ResourceARN = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Backup) SetTags(v []*Tag) *Backup { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *Backup) SetType(v string) *Backup { + s.Type = &v + return s +} + +// If backup creation fails, this structure contains the details of that failure. +type BackupFailureDetails struct { + _ struct{} `type:"structure"` + + // A message describing the backup creation failure. + Message *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s BackupFailureDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BackupFailureDetails) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *BackupFailureDetails) SetMessage(v string) *BackupFailureDetails { + s.Message = &v + return s +} + +// The request object for the CreateBackup operation. +type CreateBackupInput struct { + _ struct{} `type:"structure"` + + // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to + // ensure idempotent creation. This string is automatically filled on your behalf + // when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The ID of the file system to back up. + // + // FileSystemId is a required field + FileSystemId *string `min:"11" type:"string" required:"true"` + + // The tags to apply to the backup at backup creation. The key value of the + // Name tag appears in the console as the backup name. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation +func (s CreateBackupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBackupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateBackupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBackupInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateBackupInput) SetClientRequestToken(v string) *CreateBackupInput { + s.ClientRequestToken = &v + return s +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *CreateBackupInput) SetFileSystemId(v string) *CreateBackupInput { + s.FileSystemId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateBackupInput) SetTags(v []*Tag) *CreateBackupInput { + s.Tags = v + return s +} + +// The response object for the CreateBackup operation. +type CreateBackupOutput struct { + _ struct{} `type:"structure"` + + // A description of the backup. + Backup *Backup `type:"structure"` +} + +// String returns the string representation +func (s CreateBackupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBackupOutput) GoString() string { + return s.String() +} + +// SetBackup sets the Backup field's value. +func (s *CreateBackupOutput) SetBackup(v *Backup) *CreateBackupOutput { + s.Backup = v + return s +} + +// The request object for the CreateFileSystemFromBackup operation. +type CreateFileSystemFromBackupInput struct { + _ struct{} `type:"structure"` + + // The ID of the backup. + // + // BackupId is a required field + BackupId *string `min:"12" type:"string" required:"true"` + + // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to + // ensure idempotent creation. This string is automatically filled on your behalf + // when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // A list of IDs for the security groups that apply to the specified network + // interfaces created for file system access. These security groups apply to + // all network interfaces. This value isn't returned in later describe requests. + SecurityGroupIds []*string `type:"list"` + + // A list of IDs for the subnets that the file system will be accessible from. + // Currently, you can specify only one subnet. The file server is also launched + // in that subnet's Availability Zone. + // + // SubnetIds is a required field + SubnetIds []*string `type:"list" required:"true"` + + // The tags to be applied to the file system at file system creation. The key + // value of the Name tag appears in the console as the file system name. + Tags []*Tag `min:"1" type:"list"` + + // The configuration for this Microsoft Windows file system. + WindowsConfiguration *CreateFileSystemWindowsConfiguration `type:"structure"` +} + +// String returns the string representation +func (s CreateFileSystemFromBackupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFileSystemFromBackupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemFromBackupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemFromBackupInput"} + if s.BackupId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupId")) + } + if s.BackupId != nil && len(*s.BackupId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("BackupId", 12)) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.WindowsConfiguration != nil { + if err := s.WindowsConfiguration.Validate(); err != nil { + invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupId sets the BackupId field's value. +func (s *CreateFileSystemFromBackupInput) SetBackupId(v string) *CreateFileSystemFromBackupInput { + s.BackupId = &v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateFileSystemFromBackupInput) SetClientRequestToken(v string) *CreateFileSystemFromBackupInput { + s.ClientRequestToken = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateFileSystemFromBackupInput) SetSecurityGroupIds(v []*string) *CreateFileSystemFromBackupInput { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *CreateFileSystemFromBackupInput) SetSubnetIds(v []*string) *CreateFileSystemFromBackupInput { + s.SubnetIds = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateFileSystemFromBackupInput) SetTags(v []*Tag) *CreateFileSystemFromBackupInput { + s.Tags = v + return s +} + +// SetWindowsConfiguration sets the WindowsConfiguration field's value. +func (s *CreateFileSystemFromBackupInput) SetWindowsConfiguration(v *CreateFileSystemWindowsConfiguration) *CreateFileSystemFromBackupInput { + s.WindowsConfiguration = v + return s +} + +// The response object for the CreateFileSystemFromBackup operation. +type CreateFileSystemFromBackupOutput struct { + _ struct{} `type:"structure"` + + // A description of the file system. + FileSystem *FileSystem `type:"structure"` +} + +// String returns the string representation +func (s CreateFileSystemFromBackupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFileSystemFromBackupOutput) GoString() string { + return s.String() +} + +// SetFileSystem sets the FileSystem field's value. +func (s *CreateFileSystemFromBackupOutput) SetFileSystem(v *FileSystem) *CreateFileSystemFromBackupOutput { + s.FileSystem = v + return s +} + +// The request object for the CreateFileSystem operation. +type CreateFileSystemInput struct { + _ struct{} `type:"structure"` + + // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to + // ensure idempotent creation. This string is automatically filled on your behalf + // when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The type of file system. + // + // FileSystemType is a required field + FileSystemType *string `type:"string" required:"true" enum:"FileSystemType"` + + // The ID of your AWS Key Management Service (AWS KMS) key. This ID is used + // to encrypt the data in your file system at rest. For more information, see + // Encrypt (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) + // in the AWS Key Management Service API Reference. + KmsKeyId *string `min:"1" type:"string"` + + // The configuration object for Lustre file systems used in the CreateFileSystem + // operation. + LustreConfiguration *CreateFileSystemLustreConfiguration `type:"structure"` + + // A list of IDs for the security groups that apply to the specified network + // interfaces created for file system access. These security groups will apply + // to all network interfaces. This list isn't returned in later describe requests. + SecurityGroupIds []*string `type:"list"` + + // The storage capacity of the file system. + // + // For Windows file systems, the storage capacity has a minimum of 300 GiB, + // and a maximum of 65,536 GiB. + // + // For Lustre file systems, the storage capacity has a minimum of 3,600 GiB. + // Storage capacity is provisioned in increments of 3,600 GiB. + // + // StorageCapacity is a required field + StorageCapacity *int64 `min:"1" type:"integer" required:"true"` + + // A list of IDs for the subnets that the file system will be accessible from. + // File systems support only one subnet. The file server is also launched in + // that subnet's Availability Zone. + // + // SubnetIds is a required field + SubnetIds []*string `type:"list" required:"true"` + + // The tags to be applied to the file system at file system creation. The key + // value of the Name tag appears in the console as the file system name. + Tags []*Tag `min:"1" type:"list"` + + // The configuration for this Microsoft Windows file system. + WindowsConfiguration *CreateFileSystemWindowsConfiguration `type:"structure"` +} + +// String returns the string representation +func (s CreateFileSystemInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFileSystemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.FileSystemType == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemType")) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.StorageCapacity == nil { + invalidParams.Add(request.NewErrParamRequired("StorageCapacity")) + } + if s.StorageCapacity != nil && *s.StorageCapacity < 1 { + invalidParams.Add(request.NewErrParamMinValue("StorageCapacity", 1)) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.LustreConfiguration != nil { + if err := s.LustreConfiguration.Validate(); err != nil { + invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.WindowsConfiguration != nil { + if err := s.WindowsConfiguration.Validate(); err != nil { + invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateFileSystemInput) SetClientRequestToken(v string) *CreateFileSystemInput { + s.ClientRequestToken = &v + return s +} + +// SetFileSystemType sets the FileSystemType field's value. +func (s *CreateFileSystemInput) SetFileSystemType(v string) *CreateFileSystemInput { + s.FileSystemType = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateFileSystemInput) SetKmsKeyId(v string) *CreateFileSystemInput { + s.KmsKeyId = &v + return s +} + +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *CreateFileSystemInput) SetLustreConfiguration(v *CreateFileSystemLustreConfiguration) *CreateFileSystemInput { + s.LustreConfiguration = v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateFileSystemInput) SetSecurityGroupIds(v []*string) *CreateFileSystemInput { + s.SecurityGroupIds = v + return s +} + +// SetStorageCapacity sets the StorageCapacity field's value. +func (s *CreateFileSystemInput) SetStorageCapacity(v int64) *CreateFileSystemInput { + s.StorageCapacity = &v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *CreateFileSystemInput) SetSubnetIds(v []*string) *CreateFileSystemInput { + s.SubnetIds = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateFileSystemInput) SetTags(v []*Tag) *CreateFileSystemInput { + s.Tags = v + return s +} + +// SetWindowsConfiguration sets the WindowsConfiguration field's value. +func (s *CreateFileSystemInput) SetWindowsConfiguration(v *CreateFileSystemWindowsConfiguration) *CreateFileSystemInput { + s.WindowsConfiguration = v + return s +} + +// The configuration object for Lustre file systems used in the CreateFileSystem +// operation. +type CreateFileSystemLustreConfiguration struct { + _ struct{} `type:"structure"` + + // (Optional) The path in Amazon S3 where the root of your Amazon FSx file system + // is exported. The path must use the same Amazon S3 bucket as specified in + // ImportPath. You can provide an optional prefix to which new and changed data + // is to be exported from your Amazon FSx for Lustre file system. If an ExportPath + // value is not provided, Amazon FSx sets a default export path, s3://import-bucket/FSxLustre[creation-timestamp]. + // The timestamp is in UTC format, for example s3://import-bucket/FSxLustre20181105T222312Z. + // + // The Amazon S3 export bucket must be the same as the import bucket specified + // by ImportPath. If you only specify a bucket name, such as s3://import-bucket, + // you get a 1:1 mapping of file system objects to S3 bucket objects. This mapping + // means that the input data in S3 is overwritten on export. If you provide + // a custom prefix in the export path, such as s3://import-bucket/[custom-optional-prefix], + // Amazon FSx exports the contents of your file system to that export prefix + // in the Amazon S3 bucket. + ExportPath *string `min:"3" type:"string"` + + // (Optional) The path to the Amazon S3 bucket (including the optional prefix) + // that you're using as the data repository for your Amazon FSx for Lustre file + // system. The root of your FSx for Lustre file system will be mapped to the + // root of the Amazon S3 bucket you select. An example is s3://import-bucket/optional-prefix. + // If you specify a prefix after the Amazon S3 bucket name, only object keys + // with that prefix are loaded into the file system. + ImportPath *string `min:"3" type:"string"` + + // (Optional) For files imported from a data repository, this value determines + // the stripe count and maximum amount of data per file (in MiB) stored on a + // single physical disk. The maximum number of disks that a single file can + // be striped across is limited by the total number of disks that make up the + // file system. + // + // The chunk size default is 1,024 MiB (1 GiB) and can go as high as 512,000 + // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. + ImportedFileChunkSize *int64 `min:"1" type:"integer"` + + // The preferred time to perform weekly maintenance, in the UTC time zone. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` +} + +// String returns the string representation +func (s CreateFileSystemLustreConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFileSystemLustreConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemLustreConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemLustreConfiguration"} + if s.ExportPath != nil && len(*s.ExportPath) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ExportPath", 3)) + } + if s.ImportPath != nil && len(*s.ImportPath) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ImportPath", 3)) + } + if s.ImportedFileChunkSize != nil && *s.ImportedFileChunkSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("ImportedFileChunkSize", 1)) + } + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExportPath sets the ExportPath field's value. +func (s *CreateFileSystemLustreConfiguration) SetExportPath(v string) *CreateFileSystemLustreConfiguration { + s.ExportPath = &v + return s +} + +// SetImportPath sets the ImportPath field's value. +func (s *CreateFileSystemLustreConfiguration) SetImportPath(v string) *CreateFileSystemLustreConfiguration { + s.ImportPath = &v + return s +} + +// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. +func (s *CreateFileSystemLustreConfiguration) SetImportedFileChunkSize(v int64) *CreateFileSystemLustreConfiguration { + s.ImportedFileChunkSize = &v + return s +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *CreateFileSystemLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemLustreConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// The response object for the CreateFileSystem operation. +type CreateFileSystemOutput struct { + _ struct{} `type:"structure"` + + // A description of the file system. + FileSystem *FileSystem `type:"structure"` +} + +// String returns the string representation +func (s CreateFileSystemOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFileSystemOutput) GoString() string { + return s.String() +} + +// SetFileSystem sets the FileSystem field's value. +func (s *CreateFileSystemOutput) SetFileSystem(v *FileSystem) *CreateFileSystemOutput { + s.FileSystem = v + return s +} + +// The configuration object for the Microsoft Windows file system used in CreateFileSystem +// and CreateFileSystemFromBackup operations. +type CreateFileSystemWindowsConfiguration struct { + _ struct{} `type:"structure"` + + // The ID for an existing Microsoft Active Directory instance that the file + // system should join when it's created. + ActiveDirectoryId *string `min:"12" type:"string"` + + // The number of days to retain automatic backups. The default is to retain + // backups for 7 days. Setting this value to 0 disables the creation of automatic + // backups. The maximum retention period for backups is 35 days. + AutomaticBackupRetentionDays *int64 `type:"integer"` + + // A boolean flag indicating whether tags on the file system should be copied + // to backups. This value defaults to false. If it's set to true, all tags on + // the file system are copied to all automatic backups and any user-initiated + // backups where the user doesn't specify any tags. If this value is true, and + // you specify one or more tags, only the specified tags are copied to backups. + CopyTagsToBackups *bool `type:"boolean"` + + // The preferred time to take daily automatic backups, in the UTC time zone. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + + // The throughput of an Amazon FSx file system, measured in megabytes per second. + // + // ThroughputCapacity is a required field + ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` + + // The preferred start time to perform weekly maintenance, in the UTC time zone. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` +} + +// String returns the string representation +func (s CreateFileSystemWindowsConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFileSystemWindowsConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemWindowsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemWindowsConfiguration"} + if s.ActiveDirectoryId != nil && len(*s.ActiveDirectoryId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("ActiveDirectoryId", 12)) + } + if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { + invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) + } + if s.ThroughputCapacity == nil { + invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity")) + } + if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { + invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) + } + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActiveDirectoryId sets the ActiveDirectoryId field's value. +func (s *CreateFileSystemWindowsConfiguration) SetActiveDirectoryId(v string) *CreateFileSystemWindowsConfiguration { + s.ActiveDirectoryId = &v + return s +} + +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *CreateFileSystemWindowsConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemWindowsConfiguration { + s.AutomaticBackupRetentionDays = &v + return s +} + +// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. +func (s *CreateFileSystemWindowsConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemWindowsConfiguration { + s.CopyTagsToBackups = &v + return s +} + +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *CreateFileSystemWindowsConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemWindowsConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s +} + +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *CreateFileSystemWindowsConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemWindowsConfiguration { + s.ThroughputCapacity = &v + return s +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *CreateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemWindowsConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// The data repository configuration object for Lustre file systems returned +// in the response of the CreateFileSystem operation. +type DataRepositoryConfiguration struct { + _ struct{} `type:"structure"` + + // The export path to the Amazon S3 bucket (and prefix) that you are using to + // store new and changed Lustre file system files in S3. + ExportPath *string `min:"3" type:"string"` + + // The import path to the Amazon S3 bucket (and optional prefix) that you're + // using as the data repository for your FSx for Lustre file system, for example + // s3://import-bucket/optional-prefix. If a prefix is specified after the Amazon + // S3 bucket name, only object keys with that prefix are loaded into the file + // system. + ImportPath *string `min:"3" type:"string"` + + // For files imported from a data repository, this value determines the stripe + // count and maximum amount of data per file (in MiB) stored on a single physical + // disk. The maximum number of disks that a single file can be striped across + // is limited by the total number of disks that make up the file system. + // + // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 + // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. + ImportedFileChunkSize *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s DataRepositoryConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataRepositoryConfiguration) GoString() string { + return s.String() +} + +// SetExportPath sets the ExportPath field's value. +func (s *DataRepositoryConfiguration) SetExportPath(v string) *DataRepositoryConfiguration { + s.ExportPath = &v + return s +} + +// SetImportPath sets the ImportPath field's value. +func (s *DataRepositoryConfiguration) SetImportPath(v string) *DataRepositoryConfiguration { + s.ImportPath = &v + return s +} + +// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. +func (s *DataRepositoryConfiguration) SetImportedFileChunkSize(v int64) *DataRepositoryConfiguration { + s.ImportedFileChunkSize = &v + return s +} + +// The request object for DeleteBackup operation. +type DeleteBackupInput struct { + _ struct{} `type:"structure"` + + // The ID of the backup you want to delete. + // + // BackupId is a required field + BackupId *string `min:"12" type:"string" required:"true"` + + // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to + // ensure idempotent deletion. This is automatically filled on your behalf when + // using the AWS CLI or SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` +} + +// String returns the string representation +func (s DeleteBackupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBackupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBackupInput"} + if s.BackupId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupId")) + } + if s.BackupId != nil && len(*s.BackupId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("BackupId", 12)) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupId sets the BackupId field's value. +func (s *DeleteBackupInput) SetBackupId(v string) *DeleteBackupInput { + s.BackupId = &v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *DeleteBackupInput) SetClientRequestToken(v string) *DeleteBackupInput { + s.ClientRequestToken = &v + return s +} + +// The response object for DeleteBackup operation. +type DeleteBackupOutput struct { + _ struct{} `type:"structure"` + + // The ID of the backup deleted. + BackupId *string `min:"12" type:"string"` + + // The lifecycle of the backup. Should be DELETED. + Lifecycle *string `type:"string" enum:"BackupLifecycle"` +} + +// String returns the string representation +func (s DeleteBackupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackupOutput) GoString() string { + return s.String() +} + +// SetBackupId sets the BackupId field's value. +func (s *DeleteBackupOutput) SetBackupId(v string) *DeleteBackupOutput { + s.BackupId = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteBackupOutput) SetLifecycle(v string) *DeleteBackupOutput { + s.Lifecycle = &v + return s +} + +// The request object for DeleteFileSystem operation. +type DeleteFileSystemInput struct { + _ struct{} `type:"structure"` + + // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to + // ensure idempotent deletion. This is automatically filled on your behalf when + // using the AWS CLI or SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The ID of the file system you want to delete. + // + // FileSystemId is a required field + FileSystemId *string `min:"11" type:"string" required:"true"` + + // The configuration object for the Microsoft Windows file system used in the + // DeleteFileSystem operation. + WindowsConfiguration *DeleteFileSystemWindowsConfiguration `type:"structure"` +} + +// String returns the string representation +func (s DeleteFileSystemInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFileSystemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFileSystemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) + } + if s.WindowsConfiguration != nil { + if err := s.WindowsConfiguration.Validate(); err != nil { + invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *DeleteFileSystemInput) SetClientRequestToken(v string) *DeleteFileSystemInput { + s.ClientRequestToken = &v + return s +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *DeleteFileSystemInput) SetFileSystemId(v string) *DeleteFileSystemInput { + s.FileSystemId = &v + return s +} + +// SetWindowsConfiguration sets the WindowsConfiguration field's value. +func (s *DeleteFileSystemInput) SetWindowsConfiguration(v *DeleteFileSystemWindowsConfiguration) *DeleteFileSystemInput { + s.WindowsConfiguration = v + return s +} + +// The response object for the DeleteFileSystem operation. +type DeleteFileSystemOutput struct { + _ struct{} `type:"structure"` + + // The ID of the file system being deleted. + FileSystemId *string `min:"11" type:"string"` + + // The file system lifecycle for the deletion request. Should be DELETING. + Lifecycle *string `type:"string" enum:"FileSystemLifecycle"` + + // The response object for the Microsoft Windows file system used in the DeleteFileSystem + // operation. + WindowsResponse *DeleteFileSystemWindowsResponse `type:"structure"` +} + +// String returns the string representation +func (s DeleteFileSystemOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFileSystemOutput) GoString() string { + return s.String() +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *DeleteFileSystemOutput) SetFileSystemId(v string) *DeleteFileSystemOutput { + s.FileSystemId = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteFileSystemOutput) SetLifecycle(v string) *DeleteFileSystemOutput { + s.Lifecycle = &v + return s +} + +// SetWindowsResponse sets the WindowsResponse field's value. +func (s *DeleteFileSystemOutput) SetWindowsResponse(v *DeleteFileSystemWindowsResponse) *DeleteFileSystemOutput { + s.WindowsResponse = v + return s +} + +// The configuration object for the Microsoft Windows file system used in the +// DeleteFileSystem operation. +type DeleteFileSystemWindowsConfiguration struct { + _ struct{} `type:"structure"` + + // A set of tags for your final backup. + FinalBackupTags []*Tag `min:"1" type:"list"` + + // By default, Amazon FSx for Windows takes a final backup on your behalf when + // the DeleteFileSystem operation is invoked. Doing this helps protect you from + // data loss, and we highly recommend taking the final backup. If you want to + // skip this backup, use this flag to do so. + SkipFinalBackup *bool `type:"boolean"` +} + +// String returns the string representation +func (s DeleteFileSystemWindowsConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFileSystemWindowsConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFileSystemWindowsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemWindowsConfiguration"} + if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) + } + if s.FinalBackupTags != nil { + for i, v := range s.FinalBackupTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemWindowsConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemWindowsConfiguration { + s.FinalBackupTags = v + return s +} + +// SetSkipFinalBackup sets the SkipFinalBackup field's value. +func (s *DeleteFileSystemWindowsConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemWindowsConfiguration { + s.SkipFinalBackup = &v + return s +} + +// The response object for the Microsoft Windows file system used in the DeleteFileSystem +// operation. +type DeleteFileSystemWindowsResponse struct { + _ struct{} `type:"structure"` + + // The ID of the final backup for this file system. + FinalBackupId *string `min:"12" type:"string"` + + // The set of tags applied to the final backup. + FinalBackupTags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation +func (s DeleteFileSystemWindowsResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFileSystemWindowsResponse) GoString() string { + return s.String() +} + +// SetFinalBackupId sets the FinalBackupId field's value. +func (s *DeleteFileSystemWindowsResponse) SetFinalBackupId(v string) *DeleteFileSystemWindowsResponse { + s.FinalBackupId = &v + return s +} + +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemWindowsResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemWindowsResponse { + s.FinalBackupTags = v + return s +} + +// The request object for DescribeBackups operation. +type DescribeBackupsInput struct { + _ struct{} `type:"structure"` + + // (Optional) IDs of the backups you want to retrieve (String). This overrides + // any filters. If any IDs are not found, BackupNotFound will be thrown. + BackupIds []*string `type:"list"` + + // (Optional) Filters structure. Supported names are file-system-id and backup-type. + Filters []*Filter `type:"list"` + + // (Optional) Maximum number of backups to return in the response (integer). + // This parameter value must be greater than 0. The number of items that Amazon + // FSx returns is the minimum of the MaxResults parameter specified in the request + // and the service's internal maximum number of items per page. + MaxResults *int64 `min:"1" type:"integer"` + + // (Optional) Opaque pagination token returned from a previous DescribeBackups + // operation (String). If a token present, the action continues the list from + // where the returning call left off. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeBackupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBackupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeBackupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBackupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupIds sets the BackupIds field's value. +func (s *DescribeBackupsInput) SetBackupIds(v []*string) *DescribeBackupsInput { + s.BackupIds = v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeBackupsInput) SetFilters(v []*Filter) *DescribeBackupsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeBackupsInput) SetMaxResults(v int64) *DescribeBackupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeBackupsInput) SetNextToken(v string) *DescribeBackupsInput { + s.NextToken = &v + return s +} + +// Response object for DescribeBackups operation. +type DescribeBackupsOutput struct { + _ struct{} `type:"structure"` + + // Any array of backups. + Backups []*Backup `type:"list"` + + // This is present if there are more backups than returned in the response (String). + // You can use the NextToken value in the later request to fetch the backups. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeBackupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBackupsOutput) GoString() string { + return s.String() +} + +// SetBackups sets the Backups field's value. +func (s *DescribeBackupsOutput) SetBackups(v []*Backup) *DescribeBackupsOutput { + s.Backups = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeBackupsOutput) SetNextToken(v string) *DescribeBackupsOutput { + s.NextToken = &v + return s +} + +// The request object for DescribeFileSystems operation. +type DescribeFileSystemsInput struct { + _ struct{} `type:"structure"` + + // (Optional) IDs of the file systems whose descriptions you want to retrieve + // (String). + FileSystemIds []*string `type:"list"` + + // (Optional) Maximum number of file systems to return in the response (integer). + // This parameter value must be greater than 0. The number of items that Amazon + // FSx returns is the minimum of the MaxResults parameter specified in the request + // and the service's internal maximum number of items per page. + MaxResults *int64 `min:"1" type:"integer"` + + // (Optional) Opaque pagination token returned from a previous DescribeFileSystems + // operation (String). If a token present, the action continues the list from + // where the returning call left off. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeFileSystemsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFileSystemsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFileSystemsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFileSystemIds sets the FileSystemIds field's value. +func (s *DescribeFileSystemsInput) SetFileSystemIds(v []*string) *DescribeFileSystemsInput { + s.FileSystemIds = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeFileSystemsInput) SetMaxResults(v int64) *DescribeFileSystemsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFileSystemsInput) SetNextToken(v string) *DescribeFileSystemsInput { + s.NextToken = &v + return s +} + +// The response object for DescribeFileSystems operation. +type DescribeFileSystemsOutput struct { + _ struct{} `type:"structure"` + + // An array of file system descriptions. + FileSystems []*FileSystem `type:"list"` + + // Present if there are more file systems than returned in the response (String). + // You can use the NextToken value in the later request to fetch the descriptions. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeFileSystemsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFileSystemsOutput) GoString() string { + return s.String() +} + +// SetFileSystems sets the FileSystems field's value. +func (s *DescribeFileSystemsOutput) SetFileSystems(v []*FileSystem) *DescribeFileSystemsOutput { + s.FileSystems = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFileSystemsOutput) SetNextToken(v string) *DescribeFileSystemsOutput { + s.NextToken = &v + return s +} + +// A description of a specific Amazon FSx file system. +type FileSystem struct { + _ struct{} `type:"structure"` + + // The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), + // also known as Unix time. + CreationTime *time.Time `type:"timestamp"` + + // The DNS name for the file system. + DNSName *string `min:"16" type:"string"` + + // Structure providing details of any failures that occur when creating the + // file system has failed. + FailureDetails *FileSystemFailureDetails `type:"structure"` + + // The eight-digit ID of the file system that was automatically assigned by + // Amazon FSx. + FileSystemId *string `min:"11" type:"string"` + + // Type of file system. Currently the only supported type is WINDOWS. + FileSystemType *string `type:"string" enum:"FileSystemType"` + + // The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the + // file system's data for an Amazon FSx for Windows File Server file system. + KmsKeyId *string `min:"1" type:"string"` + + // The lifecycle status of the file system. + Lifecycle *string `type:"string" enum:"FileSystemLifecycle"` + + // The configuration for the Amazon FSx for Lustre file system. + LustreConfiguration *LustreFileSystemConfiguration `type:"structure"` + + // The IDs of the elastic network interface from which a specific file system + // is accessible. The elastic network interface is automatically created in + // the same VPC that the Amazon FSx file system was created in. For more information, + // see Elastic Network Interfaces (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) + // in the Amazon EC2 User Guide. + // + // For an Amazon FSx for Windows File Server file system, you can have one network + // interface Id. For an Amazon FSx for Lustre file system, you can have more + // than one. + NetworkInterfaceIds []*string `type:"list"` + + // The AWS account that created the file system. If the file system was created + // by an IAM user, the AWS account to which the IAM user belongs is the owner. + OwnerId *string `min:"12" type:"string"` + + // The resource ARN of the file system. + ResourceARN *string `min:"8" type:"string"` + + // The storage capacity of the file system in gigabytes. + StorageCapacity *int64 `min:"1" type:"integer"` + + // The IDs of the subnets to contain the endpoint for the file system. One and + // only one is supported. The file system is launched in the Availability Zone + // associated with this subnet. + SubnetIds []*string `type:"list"` + + // The tags to associate with the file system. For more information, see Tagging + // Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) + // in the Amazon EC2 User Guide. + Tags []*Tag `min:"1" type:"list"` + + // The ID of the primary VPC for the file system. + VpcId *string `min:"12" type:"string"` + + // The configuration for this Microsoft Windows file system. + WindowsConfiguration *WindowsFileSystemConfiguration `type:"structure"` +} + +// String returns the string representation +func (s FileSystem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FileSystem) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *FileSystem) SetCreationTime(v time.Time) *FileSystem { + s.CreationTime = &v + return s +} + +// SetDNSName sets the DNSName field's value. +func (s *FileSystem) SetDNSName(v string) *FileSystem { + s.DNSName = &v + return s +} + +// SetFailureDetails sets the FailureDetails field's value. +func (s *FileSystem) SetFailureDetails(v *FileSystemFailureDetails) *FileSystem { + s.FailureDetails = v + return s +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *FileSystem) SetFileSystemId(v string) *FileSystem { + s.FileSystemId = &v + return s +} + +// SetFileSystemType sets the FileSystemType field's value. +func (s *FileSystem) SetFileSystemType(v string) *FileSystem { + s.FileSystemType = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *FileSystem) SetKmsKeyId(v string) *FileSystem { + s.KmsKeyId = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *FileSystem) SetLifecycle(v string) *FileSystem { + s.Lifecycle = &v + return s +} + +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *FileSystem) SetLustreConfiguration(v *LustreFileSystemConfiguration) *FileSystem { + s.LustreConfiguration = v + return s +} + +// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value. +func (s *FileSystem) SetNetworkInterfaceIds(v []*string) *FileSystem { + s.NetworkInterfaceIds = v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *FileSystem) SetOwnerId(v string) *FileSystem { + s.OwnerId = &v + return s +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *FileSystem) SetResourceARN(v string) *FileSystem { + s.ResourceARN = &v + return s +} + +// SetStorageCapacity sets the StorageCapacity field's value. +func (s *FileSystem) SetStorageCapacity(v int64) *FileSystem { + s.StorageCapacity = &v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *FileSystem) SetSubnetIds(v []*string) *FileSystem { + s.SubnetIds = v + return s +} + +// SetTags sets the Tags field's value. +func (s *FileSystem) SetTags(v []*Tag) *FileSystem { + s.Tags = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *FileSystem) SetVpcId(v string) *FileSystem { + s.VpcId = &v + return s +} + +// SetWindowsConfiguration sets the WindowsConfiguration field's value. +func (s *FileSystem) SetWindowsConfiguration(v *WindowsFileSystemConfiguration) *FileSystem { + s.WindowsConfiguration = v + return s +} + +// Structure providing details of any failures that occur when creating the +// file system has failed. +type FileSystemFailureDetails struct { + _ struct{} `type:"structure"` + + // Message describing the failures that occurred during file system creation. + Message *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s FileSystemFailureDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FileSystemFailureDetails) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *FileSystemFailureDetails) SetMessage(v string) *FileSystemFailureDetails { + s.Message = &v + return s +} + +// A filter used to restrict the results of describe calls. You can use multiple +// filters to return results that meet all applied filter requirements. +type Filter struct { + _ struct{} `type:"structure"` + + // The name for this filter. + Name *string `type:"string" enum:"FilterName"` + + // The values of the filter. These are all the values for any of the applied + // filters. + Values []*string `type:"list"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v + return s +} + +// The request object for ListTagsForResource operation. +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // (Optional) Maximum number of tags to return in the response (integer). This + // parameter value must be greater than 0. The number of items that Amazon FSx + // returns is the minimum of the MaxResults parameter specified in the request + // and the service's internal maximum number of items per page. + MaxResults *int64 `min:"1" type:"integer"` + + // (Optional) Opaque pagination token returned from a previous ListTagsForResource + // operation (String). If a token present, the action continues the list from + // where the returning call left off. + NextToken *string `min:"1" type:"string"` + + // The ARN of the Amazon FSx resource that will have its tags listed. + // + // ResourceARN is a required field + ResourceARN *string `min:"8" type:"string" required:"true"` +} + +// 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.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 8 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 8)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { + s.NextToken = &v + return s +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { + s.ResourceARN = &v + return s +} + +// The response object for ListTagsForResource operation. +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // This is present if there are more tags than returned in the response (String). + // You can use the NextToken value in the later request to fetch the tags. + NextToken *string `min:"1" type:"string"` + + // A list of tags on the resource. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { + s.NextToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// The configuration for the Amazon FSx for Lustre file system. +type LustreFileSystemConfiguration struct { + _ struct{} `type:"structure"` + + // The data repository configuration object for Lustre file systems returned + // in the response of the CreateFileSystem operation. + DataRepositoryConfiguration *DataRepositoryConfiguration `type:"structure"` + + // The UTC time that you want to begin your weekly maintenance window. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` +} + +// String returns the string representation +func (s LustreFileSystemConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LustreFileSystemConfiguration) GoString() string { + return s.String() +} + +// SetDataRepositoryConfiguration sets the DataRepositoryConfiguration field's value. +func (s *LustreFileSystemConfiguration) SetDataRepositoryConfiguration(v *DataRepositoryConfiguration) *LustreFileSystemConfiguration { + s.DataRepositoryConfiguration = v + return s +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *LustreFileSystemConfiguration) SetWeeklyMaintenanceStartTime(v string) *LustreFileSystemConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// Specifies a key-value pair for a resource tag. +type Tag struct { + _ struct{} `type:"structure"` + + // A value that specifies the TagKey, the name of the tag. Tag keys must be + // unique for the resource to which they are attached. + Key *string `min:"1" type:"string"` + + // A value that specifies the TagValue, the value assigned to the corresponding + // tag key. Tag values can be null and don't have to be unique in a tag set. + // For example, you can have a key-value pair in a tag set of finances : April + // and also of payroll : April. + Value *string `type:"string"` +} + +// 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 && 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 *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 +} + +// The request object for the TagResource operation. +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to + // tag. + // + // ResourceARN is a required field + ResourceARN *string `min:"8" type:"string" required:"true"` + + // A list of tags for the resource. If a tag with a given key already exists, + // the value is replaced by the one specified in this parameter. + // + // Tags is a required field + Tags []*Tag `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 8 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 8)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +// The response object for the TagResource operation. +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// The request object for UntagResource action. +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the Amazon FSx resource to untag. + // + // ResourceARN is a required field + ResourceARN *string `min:"8" type:"string" required:"true"` + + // A list of keys of tags on the resource to untag. In case the tag key doesn't + // exist, the call will still succeed to be idempotent. + // + // TagKeys is a required field + TagKeys []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 8 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 8)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + if s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +// The response object for UntagResource action. +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +// The request object for the UpdateFileSystem operation. +type UpdateFileSystemInput struct { + _ struct{} `type:"structure"` + + // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to + // ensure idempotent updates. This string is automatically filled on your behalf + // when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The globally unique ID of the file system, assigned by Amazon FSx. + // + // FileSystemId is a required field + FileSystemId *string `min:"11" type:"string" required:"true"` + + // The configuration object for Amazon FSx for Lustre file systems used in the + // UpdateFileSystem operation. + LustreConfiguration *UpdateFileSystemLustreConfiguration `type:"structure"` + + // The configuration for this Microsoft Windows file system. The only supported + // options are for backup and maintenance. + WindowsConfiguration *UpdateFileSystemWindowsConfiguration `type:"structure"` +} + +// String returns the string representation +func (s UpdateFileSystemInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFileSystemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFileSystemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) + } + if s.LustreConfiguration != nil { + if err := s.LustreConfiguration.Validate(); err != nil { + invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.WindowsConfiguration != nil { + if err := s.WindowsConfiguration.Validate(); err != nil { + invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *UpdateFileSystemInput) SetClientRequestToken(v string) *UpdateFileSystemInput { + s.ClientRequestToken = &v + return s +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *UpdateFileSystemInput) SetFileSystemId(v string) *UpdateFileSystemInput { + s.FileSystemId = &v + return s +} + +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *UpdateFileSystemInput) SetLustreConfiguration(v *UpdateFileSystemLustreConfiguration) *UpdateFileSystemInput { + s.LustreConfiguration = v + return s +} + +// SetWindowsConfiguration sets the WindowsConfiguration field's value. +func (s *UpdateFileSystemInput) SetWindowsConfiguration(v *UpdateFileSystemWindowsConfiguration) *UpdateFileSystemInput { + s.WindowsConfiguration = v + return s +} + +// The configuration object for Amazon FSx for Lustre file systems used in the +// UpdateFileSystem operation. +type UpdateFileSystemLustreConfiguration struct { + _ struct{} `type:"structure"` + + // The preferred time to perform weekly maintenance, in the UTC time zone. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` +} + +// String returns the string representation +func (s UpdateFileSystemLustreConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFileSystemLustreConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFileSystemLustreConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemLustreConfiguration"} + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *UpdateFileSystemLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemLustreConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// The response object for the UpdateFileSystem operation. +type UpdateFileSystemOutput struct { + _ struct{} `type:"structure"` + + // A description of the file system. + FileSystem *FileSystem `type:"structure"` +} + +// String returns the string representation +func (s UpdateFileSystemOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFileSystemOutput) GoString() string { + return s.String() +} + +// SetFileSystem sets the FileSystem field's value. +func (s *UpdateFileSystemOutput) SetFileSystem(v *FileSystem) *UpdateFileSystemOutput { + s.FileSystem = v + return s +} + +// The configuration object for the Microsoft Windows file system used in the +// UpdateFileSystem operation. +type UpdateFileSystemWindowsConfiguration struct { + _ struct{} `type:"structure"` + + // The number of days to retain automatic backups. Setting this to 0 disables + // automatic backups. You can retain automatic backups for a maximum of 35 days. + AutomaticBackupRetentionDays *int64 `type:"integer"` + + // The preferred time to take daily automatic backups, in the UTC time zone. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + + // The preferred time to perform weekly maintenance, in the UTC time zone. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` +} + +// String returns the string representation +func (s UpdateFileSystemWindowsConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFileSystemWindowsConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFileSystemWindowsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemWindowsConfiguration"} + if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { + invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) + } + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *UpdateFileSystemWindowsConfiguration) SetAutomaticBackupRetentionDays(v int64) *UpdateFileSystemWindowsConfiguration { + s.AutomaticBackupRetentionDays = &v + return s +} + +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *UpdateFileSystemWindowsConfiguration) SetDailyAutomaticBackupStartTime(v string) *UpdateFileSystemWindowsConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *UpdateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemWindowsConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// The configuration for this Microsoft Windows file system. +type WindowsFileSystemConfiguration struct { + _ struct{} `type:"structure"` + + // The ID for an existing Microsoft Active Directory instance that the file + // system should join when it's created. + ActiveDirectoryId *string `min:"12" type:"string"` + + // The number of days to retain automatic backups. Setting this to 0 disables + // automatic backups. You can retain automatic backups for a maximum of 35 days. + AutomaticBackupRetentionDays *int64 `type:"integer"` + + // A boolean flag indicating whether tags on the file system should be copied + // to backups. This value defaults to false. If it's set to true, all tags on + // the file system are copied to all automatic backups and any user-initiated + // backups where the user doesn't specify any tags. If this value is true, and + // you specify one or more tags, only the specified tags are copied to backups. + CopyTagsToBackups *bool `type:"boolean"` + + // The preferred time to take daily automatic backups, in the UTC time zone. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + + // The list of maintenance operations in progress for this file system. + MaintenanceOperationsInProgress []*string `type:"list"` + + // The throughput of an Amazon FSx file system, measured in megabytes per second. + ThroughputCapacity *int64 `min:"8" type:"integer"` + + // The preferred time to perform weekly maintenance, in the UTC time zone. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` +} + +// String returns the string representation +func (s WindowsFileSystemConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WindowsFileSystemConfiguration) GoString() string { + return s.String() +} + +// SetActiveDirectoryId sets the ActiveDirectoryId field's value. +func (s *WindowsFileSystemConfiguration) SetActiveDirectoryId(v string) *WindowsFileSystemConfiguration { + s.ActiveDirectoryId = &v + return s +} + +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *WindowsFileSystemConfiguration) SetAutomaticBackupRetentionDays(v int64) *WindowsFileSystemConfiguration { + s.AutomaticBackupRetentionDays = &v + return s +} + +// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. +func (s *WindowsFileSystemConfiguration) SetCopyTagsToBackups(v bool) *WindowsFileSystemConfiguration { + s.CopyTagsToBackups = &v + return s +} + +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *WindowsFileSystemConfiguration) SetDailyAutomaticBackupStartTime(v string) *WindowsFileSystemConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s +} + +// SetMaintenanceOperationsInProgress sets the MaintenanceOperationsInProgress field's value. +func (s *WindowsFileSystemConfiguration) SetMaintenanceOperationsInProgress(v []*string) *WindowsFileSystemConfiguration { + s.MaintenanceOperationsInProgress = v + return s +} + +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *WindowsFileSystemConfiguration) SetThroughputCapacity(v int64) *WindowsFileSystemConfiguration { + s.ThroughputCapacity = &v + return s +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *WindowsFileSystemConfiguration) SetWeeklyMaintenanceStartTime(v string) *WindowsFileSystemConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// The type of error relating to Microsoft Active Directory. NOT_FOUND means +// that no directory was found by specifying the given directory. INCOMPATIBLE_MODE +// means that the directory specified is not a Microsoft AD directory. WRONG_VPC +// means that the specified directory isn't accessible from the specified VPC. +// WRONG_STAGE means that the specified directory isn't currently in the ACTIVE +// state. +const ( + // ActiveDirectoryErrorTypeDomainNotFound is a ActiveDirectoryErrorType enum value + ActiveDirectoryErrorTypeDomainNotFound = "DOMAIN_NOT_FOUND" + + // ActiveDirectoryErrorTypeIncompatibleDomainMode is a ActiveDirectoryErrorType enum value + ActiveDirectoryErrorTypeIncompatibleDomainMode = "INCOMPATIBLE_DOMAIN_MODE" + + // ActiveDirectoryErrorTypeWrongVpc is a ActiveDirectoryErrorType enum value + ActiveDirectoryErrorTypeWrongVpc = "WRONG_VPC" + + // ActiveDirectoryErrorTypeInvalidDomainStage is a ActiveDirectoryErrorType enum value + ActiveDirectoryErrorTypeInvalidDomainStage = "INVALID_DOMAIN_STAGE" +) + +// The lifecycle status of the backup. +const ( + // BackupLifecycleAvailable is a BackupLifecycle enum value + BackupLifecycleAvailable = "AVAILABLE" + + // BackupLifecycleCreating is a BackupLifecycle enum value + BackupLifecycleCreating = "CREATING" + + // BackupLifecycleDeleted is a BackupLifecycle enum value + BackupLifecycleDeleted = "DELETED" + + // BackupLifecycleFailed is a BackupLifecycle enum value + BackupLifecycleFailed = "FAILED" +) + +// The type of the backup. +const ( + // BackupTypeAutomatic is a BackupType enum value + BackupTypeAutomatic = "AUTOMATIC" + + // BackupTypeUserInitiated is a BackupType enum value + BackupTypeUserInitiated = "USER_INITIATED" +) + +// The lifecycle status of the file system. +const ( + // FileSystemLifecycleAvailable is a FileSystemLifecycle enum value + FileSystemLifecycleAvailable = "AVAILABLE" + + // FileSystemLifecycleCreating is a FileSystemLifecycle enum value + FileSystemLifecycleCreating = "CREATING" + + // FileSystemLifecycleFailed is a FileSystemLifecycle enum value + FileSystemLifecycleFailed = "FAILED" + + // FileSystemLifecycleDeleting is a FileSystemLifecycle enum value + FileSystemLifecycleDeleting = "DELETING" +) + +// An enumeration specifying the currently ongoing maintenance operation. +const ( + // FileSystemMaintenanceOperationPatching is a FileSystemMaintenanceOperation enum value + FileSystemMaintenanceOperationPatching = "PATCHING" + + // FileSystemMaintenanceOperationBackingUp is a FileSystemMaintenanceOperation enum value + FileSystemMaintenanceOperationBackingUp = "BACKING_UP" +) + +// The type of file system. +const ( + // FileSystemTypeWindows is a FileSystemType enum value + FileSystemTypeWindows = "WINDOWS" + + // FileSystemTypeLustre is a FileSystemType enum value + FileSystemTypeLustre = "LUSTRE" +) + +// The name for a filter. +const ( + // FilterNameFileSystemId is a FilterName enum value + FilterNameFileSystemId = "file-system-id" + + // FilterNameBackupType is a FilterName enum value + FilterNameBackupType = "backup-type" +) + +// The types of limits on your service utilization. Limits include file system +// count, total throughput capacity, total storage, and total user-initiated +// backups. These limits apply for a specific account in a specific AWS Region. +// You can increase some of them by contacting AWS Support. +const ( + // ServiceLimitFileSystemCount is a ServiceLimit enum value + ServiceLimitFileSystemCount = "FILE_SYSTEM_COUNT" + + // ServiceLimitTotalThroughputCapacity is a ServiceLimit enum value + ServiceLimitTotalThroughputCapacity = "TOTAL_THROUGHPUT_CAPACITY" + + // ServiceLimitTotalStorage is a ServiceLimit enum value + ServiceLimitTotalStorage = "TOTAL_STORAGE" + + // ServiceLimitTotalUserInitiatedBackups is a ServiceLimit enum value + ServiceLimitTotalUserInitiatedBackups = "TOTAL_USER_INITIATED_BACKUPS" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fsx/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fsx/doc.go new file mode 100644 index 00000000000..0c23c396c48 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fsx/doc.go @@ -0,0 +1,29 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package fsx provides the client and types for making API +// requests to Amazon FSx. +// +// Amazon FSx is a fully managed service that makes it easy for storage and +// application administrators to launch and use shared file storage. +// +// See https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01 for more information on this service. +// +// See fsx package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/fsx/ +// +// Using the Client +// +// To contact Amazon FSx 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 FSx client FSx for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/fsx/#New +package fsx diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fsx/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fsx/errors.go new file mode 100644 index 00000000000..d207da38f0e --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fsx/errors.go @@ -0,0 +1,112 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package fsx + +const ( + + // ErrCodeActiveDirectoryError for service response error code + // "ActiveDirectoryError". + // + // An Active Directory error. + ErrCodeActiveDirectoryError = "ActiveDirectoryError" + + // ErrCodeBackupInProgress for service response error code + // "BackupInProgress". + // + // Another backup is already under way. Wait for completion before initiating + // additional backups of this file system. + ErrCodeBackupInProgress = "BackupInProgress" + + // ErrCodeBackupNotFound for service response error code + // "BackupNotFound". + // + // No Amazon FSx backups were found based upon the supplied parameters. + ErrCodeBackupNotFound = "BackupNotFound" + + // ErrCodeBackupRestoring for service response error code + // "BackupRestoring". + // + // You can't delete a backup while it's being used to restore a file system. + ErrCodeBackupRestoring = "BackupRestoring" + + // ErrCodeBadRequest for service response error code + // "BadRequest". + // + // A generic error indicating a failure with a client request. + ErrCodeBadRequest = "BadRequest" + + // ErrCodeFileSystemNotFound for service response error code + // "FileSystemNotFound". + // + // No Amazon FSx file systems were found based upon supplied parameters. + ErrCodeFileSystemNotFound = "FileSystemNotFound" + + // ErrCodeIncompatibleParameterError for service response error code + // "IncompatibleParameterError". + // + // The error returned when a second request is received with the same client + // request token but different parameters settings. A client request token should + // always uniquely identify a single request. + ErrCodeIncompatibleParameterError = "IncompatibleParameterError" + + // ErrCodeInternalServerError for service response error code + // "InternalServerError". + // + // A generic error indicating a server-side failure. + ErrCodeInternalServerError = "InternalServerError" + + // ErrCodeInvalidExportPath for service response error code + // "InvalidExportPath". + // + // The path provided for data repository export isn't valid. + ErrCodeInvalidExportPath = "InvalidExportPath" + + // ErrCodeInvalidImportPath for service response error code + // "InvalidImportPath". + // + // The path provided for data repository import isn't valid. + ErrCodeInvalidImportPath = "InvalidImportPath" + + // ErrCodeInvalidNetworkSettings for service response error code + // "InvalidNetworkSettings". + // + // One or more network settings specified in the request are invalid. InvalidVpcId + // means that the ID passed for the virtual private cloud (VPC) is invalid. + // InvalidSubnetIds returns the list of IDs for subnets that are either invalid + // or not part of the VPC specified. InvalidSecurityGroupIds returns the list + // of IDs for security groups that are either invalid or not part of the VPC + // specified. + ErrCodeInvalidNetworkSettings = "InvalidNetworkSettings" + + // ErrCodeMissingFileSystemConfiguration for service response error code + // "MissingFileSystemConfiguration". + // + // File system configuration is required for this operation. + ErrCodeMissingFileSystemConfiguration = "MissingFileSystemConfiguration" + + // ErrCodeNotServiceResourceError for service response error code + // "NotServiceResourceError". + // + // The resource specified for the tagging operation is not a resource type owned + // by Amazon FSx. Use the API of the relevant service to perform the operation. + ErrCodeNotServiceResourceError = "NotServiceResourceError" + + // ErrCodeResourceDoesNotSupportTagging for service response error code + // "ResourceDoesNotSupportTagging". + // + // The resource specified does not support tagging. + ErrCodeResourceDoesNotSupportTagging = "ResourceDoesNotSupportTagging" + + // ErrCodeResourceNotFound for service response error code + // "ResourceNotFound". + // + // The resource specified by the Amazon Resource Name (ARN) can't be found. + ErrCodeResourceNotFound = "ResourceNotFound" + + // ErrCodeServiceLimitExceeded for service response error code + // "ServiceLimitExceeded". + // + // An error indicating that a particular service limit was exceeded. You can + // increase some service limits by contacting AWS Support. + ErrCodeServiceLimitExceeded = "ServiceLimitExceeded" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fsx/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fsx/service.go new file mode 100644 index 00000000000..544a82e1b07 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/fsx/service.go @@ -0,0 +1,97 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package fsx + +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" +) + +// FSx provides the API operation methods for making requests to +// Amazon FSx. See this package's package overview docs +// for details on the service. +// +// FSx methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type FSx 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 = "FSx" // Name of service. + EndpointsID = "fsx" // ID to lookup a service endpoint with. + ServiceID = "FSx" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the FSx 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 FSx client from just a session. +// svc := fsx.New(mySession) +// +// // Create a FSx client with additional configuration +// svc := fsx.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *FSx { + 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) *FSx { + svc := &FSx{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-03-01", + JSONVersion: "1.1", + TargetPrefix: "AWSSimbaAPIService_v20180301", + }, + 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 FSx operation and runs any +// custom request initialization. +func (c *FSx) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go index 60d1aca41a5..27e79fe4773 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go @@ -81,8 +81,6 @@ func (c *GameLift) AcceptMatchRequest(input *AcceptMatchInput) (req *request.Req // status is set to FAILED, and processing is terminated. A new matchmaking // request for these players can be submitted as needed. // -// Matchmaking-related operations include: -// // * StartMatchmaking // // * DescribeMatchmaking @@ -203,8 +201,6 @@ func (c *GameLift) CreateAliasRequest(input *CreateAliasInput) (req *request.Req // an alias ID, which you can reference when creating a game session. You can // reassign an alias to another fleet by calling UpdateAlias. // -// Alias-related operations include: -// // * CreateAlias // // * ListAliases @@ -317,14 +313,14 @@ func (c *GameLift) CreateBuildRequest(input *CreateBuildInput) (req *request.Req // Storage Service (Amazon S3) location. // // Game server binaries must be combined into a .zip file for use with Amazon -// GameLift. See Uploading Your Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html) +// GameLift. See Uploading Your Game (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html) // for more information. // // To create new builds quickly and easily, use the AWS CLI command upload-build -// (http://docs.aws.amazon.com/cli/latest/reference/gamelift/upload-build.html). +// (https://docs.aws.amazon.com/cli/latest/reference/gamelift/upload-build.html). // This helper command uploads your build and creates a new build record in // one step, and automatically handles the necessary permissions. See Upload -// Build Files to Amazon GameLift (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html) +// Build Files to Amazon GameLift (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html) // for more help. // // The CreateBuild operation should be used only when you need to manually upload @@ -332,7 +328,7 @@ func (c *GameLift) CreateBuildRequest(input *CreateBuildInput) (req *request.Req // // * Store a build file in an Amazon S3 bucket under your own AWS account. // To use this option, you must first give Amazon GameLift access to that -// Amazon S3 bucket. See Create a Build with Files in Amazon S3 (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build) +// Amazon S3 bucket. See Create a Build with Files in Amazon S3 (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build) // for detailed help. To create a new build record using files in your Amazon // S3 bucket, call CreateBuild and specify a build name, operating system, // and the storage location of your game build. @@ -342,7 +338,7 @@ func (c *GameLift) CreateBuildRequest(input *CreateBuildInput) (req *request.Req // system. This action creates a new build record and returns an Amazon S3 // storage location (bucket and key only) and temporary access credentials. // Use the credentials to manually upload your build file to the storage -// location (see the Amazon S3 topic Uploading Objects (http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html)). +// location (see the Amazon S3 topic Uploading Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html)). // You can upload files to a location only once. // // If successful, this operation creates a new build record with a unique build @@ -350,8 +346,6 @@ func (c *GameLift) CreateBuildRequest(input *CreateBuildInput) (req *request.Req // the status of your build. A build must be in READY status before it can be // used to create fleets. // -// Build-related operations include: -// // * CreateBuild // // * ListBuilds @@ -456,31 +450,14 @@ func (c *GameLift) CreateFleetRequest(input *CreateFleetInput) (req *request.Req // Creates a new fleet to run your game servers. A fleet is a set of Amazon // Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple // server processes to host game sessions. You set up a fleet to use instances -// with certain hardware specifications (see Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/) -// for more information), and deploy your game build to run on each instance. -// -// To create a new fleet, you must specify the following: (1) a fleet name, -// (2) the build ID of a successfully uploaded game build, (3) an EC2 instance -// type, and (4) a run-time configuration, which describes the server processes -// to run on each instance in the fleet. If you don't specify a fleet type (on-demand -// or spot), the new fleet uses on-demand instances by default. -// -// You can also configure the new fleet with the following settings: -// -// * Fleet description -// -// * Access permissions for inbound traffic -// -// * Fleet-wide game session protection +// with certain hardware specifications (see Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/)), +// and deploy your game build to the fleet. // -// * Resource usage limits -// -// * VPC peering connection (see VPC Peering with Amazon GameLift Fleets -// (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html)) -// -// If you use Amazon CloudWatch for metrics, you can add the new fleet to a -// metric group. By adding multiple fleets to a metric group, you can view aggregated -// metrics for all the fleets in the group. +// To create a new fleet, you must provide the following: (1) a fleet name, +// (2) an EC2 instance type, (3) the build ID for your game build, and (4) a +// run-time configuration, which specifies the server processes to run on each +// instance in the fleet. If fleet type is not set, the new fleet will use on-demand +// instances by default. // // If the CreateFleet call is successful, Amazon GameLift performs the following // tasks. You can track the process of a fleet by checking the fleet status @@ -504,7 +481,11 @@ func (c *GameLift) CreateFleetRequest(input *CreateFleetInput) (req *request.Req // * Sets the fleet's status to ACTIVE as soon as one server process is ready // to host a game session. // -// Fleet-related operations include: +// Learn more +// +// See Amazon GameLift Developer Guide topics in Working with Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html). +// +// Related operations // // * CreateFleet // @@ -674,8 +655,6 @@ func (c *GameLift) CreateGameSessionRequest(input *CreateGameSessionInput) (req // // Available in Amazon GameLift Local. // -// Game-session-related operations include: -// // * CreateGameSession // // * DescribeGameSessions @@ -846,8 +825,6 @@ func (c *GameLift) CreateGameSessionQueueRequest(input *CreateGameSessionQueueIn // and, if desired, a set of latency policies. If successful, a new queue object // is returned. // -// Queue-related operations include: -// // * CreateGameSessionQueue // // * DescribeGameSessionQueues @@ -971,12 +948,10 @@ func (c *GameLift) CreateMatchmakingConfigurationRequest(input *CreateMatchmakin // or (2) receiving notifications with Amazon Simple Notification Service (SNS). // To use notifications, you first need to set up an SNS topic to receive the // notifications, and provide the topic ARN in the matchmaking configuration -// (see Setting up Notifications for Matchmaking (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html)). +// (see Setting up Notifications for Matchmaking (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html)). // Since notifications promise only "best effort" delivery, we recommend calling // DescribeMatchmaking if no notifications are received within 30 seconds. // -// Operations related to match configurations and rule sets include: -// // * CreateMatchmakingConfiguration // // * DescribeMatchmakingConfigurations @@ -991,6 +966,8 @@ func (c *GameLift) CreateMatchmakingConfigurationRequest(input *CreateMatchmakin // // * ValidateMatchmakingRuleSet // +// * DeleteMatchmakingRuleSet +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1088,26 +1065,25 @@ func (c *GameLift) CreateMatchmakingRuleSetRequest(input *CreateMatchmakingRuleS // Creates a new rule set for FlexMatch matchmaking. A rule set describes the // type of match to create, such as the number and size of teams, and sets the // parameters for acceptable player matches, such as minimum skill level or -// character type. Rule sets are used in matchmaking configurations, which define -// how matchmaking requests are handled. Each MatchmakingConfiguration uses -// one rule set; you can set up multiple rule sets to handle the scenarios that -// suit your game (such as for different game modes), and create a separate -// matchmaking configuration for each rule set. See additional information on -// rule set content in the MatchmakingRuleSet structure. For help creating rule -// sets, including useful examples, see the topic Adding FlexMatch to Your -// Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html). -// -// Once created, matchmaking rule sets cannot be changed or deleted, so we recommend -// checking the rule set syntax using ValidateMatchmakingRuleSet before creating -// the rule set. -// -// To create a matchmaking rule set, provide the set of rules and a unique name. -// Rule sets must be defined in the same region as the matchmaking configuration -// they will be used with. Rule sets cannot be edited or deleted. If you need -// to change a rule set, create a new one with the necessary edits and then -// update matchmaking configurations to use the new rule set. -// -// Operations related to match configurations and rule sets include: +// character type. A rule set is used by a MatchmakingConfiguration. +// +// To create a matchmaking rule set, provide unique rule set name and the rule +// set body in JSON format. Rule sets must be defined in the same region as +// the matchmaking configuration they will be used with. +// +// Since matchmaking rule sets cannot be edited, it is a good idea to check +// the rule set syntax using ValidateMatchmakingRuleSet before creating a new +// rule set. +// +// Learn more +// +// * Build a Rule Set (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html) +// +// * Design a Matchmaker (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-configuration.html) +// +// * Matchmaking with FlexMatch (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html) +// +// Related operations // // * CreateMatchmakingConfiguration // @@ -1123,6 +1099,8 @@ func (c *GameLift) CreateMatchmakingRuleSetRequest(input *CreateMatchmakingRuleS // // * ValidateMatchmakingRuleSet // +// * DeleteMatchmakingRuleSet +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1220,8 +1198,6 @@ func (c *GameLift) CreatePlayerSessionRequest(input *CreatePlayerSessionInput) ( // // Available in Amazon GameLift Local. // -// Player-session-related operations include: -// // * CreatePlayerSession // // * CreatePlayerSessions @@ -1354,8 +1330,6 @@ func (c *GameLift) CreatePlayerSessionsRequest(input *CreatePlayerSessionsInput) // // Available in Amazon GameLift Local. // -// Player-session-related operations include: -// // * CreatePlayerSession // // * CreatePlayerSessions @@ -1481,7 +1455,7 @@ func (c *GameLift) CreateVpcPeeringAuthorizationRequest(input *CreateVpcPeeringA // AWS account. VPC peering enables the game servers on your fleet to communicate // directly with other AWS resources. Once you've received authorization, call // CreateVpcPeeringConnection to establish the peering connection. For more -// information, see VPC Peering with Amazon GameLift Fleets (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). +// information, see VPC Peering with Amazon GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). // // You can peer with VPCs that are owned by any AWS account you have access // to, including the account that you use to manage your Amazon GameLift fleets. @@ -1505,8 +1479,6 @@ func (c *GameLift) CreateVpcPeeringAuthorizationRequest(input *CreateVpcPeeringA // to DeleteVpcPeeringAuthorization. You must create or delete the peering connection // while the authorization is valid. // -// VPC peering connection operations include: -// // * CreateVpcPeeringAuthorization // // * DescribeVpcPeeringAuthorizations @@ -1616,7 +1588,7 @@ func (c *GameLift) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConn // AWS resources. You can peer with VPCs in any AWS account that you have access // to, including the account that you use to manage your Amazon GameLift fleets. // You cannot peer with VPCs that are in different regions. For more information, -// see VPC Peering with Amazon GameLift Fleets (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). +// see VPC Peering with Amazon GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). // // Before calling this operation to establish the peering connection, you first // need to call CreateVpcPeeringAuthorization and identify the VPC you want @@ -1634,8 +1606,6 @@ func (c *GameLift) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConn // to track the request's status using DescribeVpcPeeringConnections, or by // monitoring fleet events for success or failure using DescribeFleetEvents. // -// VPC peering connection operations include: -// // * CreateVpcPeeringAuthorization // // * DescribeVpcPeeringAuthorizations @@ -1743,8 +1713,6 @@ func (c *GameLift) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Req // attempting to access a server process using the deleted alias receive an // error. To delete an alias, specify the alias ID to be deleted. // -// Alias-related operations include: -// // * CreateAlias // // * ListAliases @@ -1855,8 +1823,6 @@ func (c *GameLift) DeleteBuildRequest(input *DeleteBuildInput) (req *request.Req // of any active fleets using the build, but you can no longer create new fleets // with the deleted build. // -// Build-related operations include: -// // * CreateBuild // // * ListBuilds @@ -1964,8 +1930,6 @@ func (c *GameLift) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Req // This action removes the fleet's resources and the fleet record. Once a fleet // is deleted, you can no longer use that fleet. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -2104,8 +2068,6 @@ func (c *GameLift) DeleteGameSessionQueueRequest(input *DeleteGameSessionQueueIn // requests that reference this queue will fail. To delete a queue, specify // the queue name. // -// Queue-related operations include: -// // * CreateGameSessionQueue // // * DescribeGameSessionQueues @@ -2209,8 +2171,6 @@ func (c *GameLift) DeleteMatchmakingConfigurationRequest(input *DeleteMatchmakin // the configuration name. A matchmaking configuration cannot be deleted if // it is being used in any active matchmaking tickets. // -// Operations related to match configurations and rule sets include: -// // * CreateMatchmakingConfiguration // // * DescribeMatchmakingConfigurations @@ -2225,6 +2185,8 @@ func (c *GameLift) DeleteMatchmakingConfigurationRequest(input *DeleteMatchmakin // // * ValidateMatchmakingRuleSet // +// * DeleteMatchmakingRuleSet +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -2271,6 +2233,123 @@ func (c *GameLift) DeleteMatchmakingConfigurationWithContext(ctx aws.Context, in return out, req.Send() } +const opDeleteMatchmakingRuleSet = "DeleteMatchmakingRuleSet" + +// DeleteMatchmakingRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMatchmakingRuleSet 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 DeleteMatchmakingRuleSet for more information on using the DeleteMatchmakingRuleSet +// 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 DeleteMatchmakingRuleSetRequest method. +// req, resp := client.DeleteMatchmakingRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingRuleSet +func (c *GameLift) DeleteMatchmakingRuleSetRequest(input *DeleteMatchmakingRuleSetInput) (req *request.Request, output *DeleteMatchmakingRuleSetOutput) { + op := &request.Operation{ + Name: opDeleteMatchmakingRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteMatchmakingRuleSetInput{} + } + + output = &DeleteMatchmakingRuleSetOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteMatchmakingRuleSet API operation for Amazon GameLift. +// +// Deletes an existing matchmaking rule set. To delete the rule set, provide +// the rule set name. Rule sets cannot be deleted if they are currently being +// used by a matchmaking configuration. +// +// Learn more +// +// * Build a Rule Set (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html) +// +// Related operations +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// * DeleteMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DeleteMatchmakingRuleSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingRuleSet +func (c *GameLift) DeleteMatchmakingRuleSet(input *DeleteMatchmakingRuleSetInput) (*DeleteMatchmakingRuleSetOutput, error) { + req, out := c.DeleteMatchmakingRuleSetRequest(input) + return out, req.Send() +} + +// DeleteMatchmakingRuleSetWithContext is the same as DeleteMatchmakingRuleSet with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteMatchmakingRuleSet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DeleteMatchmakingRuleSetWithContext(ctx aws.Context, input *DeleteMatchmakingRuleSetInput, opts ...request.Option) (*DeleteMatchmakingRuleSetOutput, error) { + req, out := c.DeleteMatchmakingRuleSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteScalingPolicy = "DeleteScalingPolicy" // DeleteScalingPolicyRequest generates a "aws/request.Request" representing the @@ -2323,8 +2402,6 @@ func (c *GameLift) DeleteScalingPolicyRequest(input *DeleteScalingPolicyInput) ( // To temporarily suspend scaling policies, call StopFleetActions. This operation // suspends all policies for the fleet. // -// Operations related to fleet capacity scaling include: -// // * DescribeFleetCapacity // // * UpdateFleetCapacity @@ -2440,8 +2517,6 @@ func (c *GameLift) DeleteVpcPeeringAuthorizationRequest(input *DeleteVpcPeeringA // authorization has already been used to create a peering connection, call // DeleteVpcPeeringConnection to remove the connection. // -// VPC peering connection operations include: -// // * CreateVpcPeeringAuthorization // // * DescribeVpcPeeringAuthorizations @@ -2555,8 +2630,6 @@ func (c *GameLift) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConn // to delete by the connection ID and fleet ID. If successful, the connection // is removed. // -// VPC peering connection operations include: -// // * CreateVpcPeeringAuthorization // // * DescribeVpcPeeringAuthorizations @@ -2665,8 +2738,6 @@ func (c *GameLift) DescribeAliasRequest(input *DescribeAliasInput) (req *request // To get alias properties, specify the alias ID. If successful, the requested // alias record is returned. // -// Alias-related operations include: -// // * CreateAlias // // * ListAliases @@ -2772,8 +2843,6 @@ func (c *GameLift) DescribeBuildRequest(input *DescribeBuildInput) (req *request // Retrieves properties for a build. To request a build record, specify a build // ID. If successful, an object containing the build properties is returned. // -// Build-related operations include: -// // * CreateBuild // // * ListBuilds @@ -2884,8 +2953,6 @@ func (c *GameLift) DescribeEC2InstanceLimitsRequest(input *DescribeEC2InstanceLi // can be found in the AWS Management Console for Amazon GameLift (see the drop-down // list in the upper right corner). // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -3022,8 +3089,6 @@ func (c *GameLift) DescribeFleetAttributesRequest(input *DescribeFleetAttributes // If a request exceeds this limit, the request fails and the error message // includes the maximum allowed. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -3165,8 +3230,6 @@ func (c *GameLift) DescribeFleetCapacityRequest(input *DescribeFleetCapacityInpu // If a request exceeds this limit, the request fails and the error message // includes the maximum allowed. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -3300,8 +3363,6 @@ func (c *GameLift) DescribeFleetEventsRequest(input *DescribeFleetEventsInput) ( // results as a set of sequential pages. If successful, a collection of event // log entries matching the request are returned. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -3437,8 +3498,6 @@ func (c *GameLift) DescribeFleetPortSettingsRequest(input *DescribeFleetPortSett // objects is returned for the requested fleet ID. If the requested fleet has // been deleted, the result set is empty. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -3578,8 +3637,6 @@ func (c *GameLift) DescribeFleetUtilizationRequest(input *DescribeFleetUtilizati // If a request exceeds this limit, the request fails and the error message // includes the maximum allowed. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -3720,8 +3777,6 @@ func (c *GameLift) DescribeGameSessionDetailsRequest(input *DescribeGameSessionD // pages. If successful, a GameSessionDetail object is returned for each session // matching the request. // -// Game-session-related operations include: -// // * CreateGameSession // // * DescribeGameSessions @@ -3843,8 +3898,6 @@ func (c *GameLift) DescribeGameSessionPlacementRequest(input *DescribeGameSessio // To get game session placement details, specify the placement ID. If successful, // a GameSessionPlacement object is returned. // -// Game-session-related operations include: -// // * CreateGameSession // // * DescribeGameSessions @@ -3961,8 +4014,6 @@ func (c *GameLift) DescribeGameSessionQueuesRequest(input *DescribeGameSessionQu // for each requested queue. When specifying a list of queues, objects are returned // only for queues that currently exist in the region. // -// Queue-related operations include: -// // * CreateGameSessionQueue // // * DescribeGameSessionQueues @@ -4074,8 +4125,6 @@ func (c *GameLift) DescribeGameSessionsRequest(input *DescribeGameSessionsInput) // // Available in Amazon GameLift Local. // -// Game-session-related operations include: -// // * CreateGameSession // // * DescribeGameSessions @@ -4305,8 +4354,6 @@ func (c *GameLift) DescribeMatchmakingRequest(input *DescribeMatchmakingInput) ( // the request is successful, a ticket object is returned for each requested // ID that currently exists. // -// Matchmaking-related operations include: -// // * StartMatchmaking // // * DescribeMatchmaking @@ -4412,8 +4459,6 @@ func (c *GameLift) DescribeMatchmakingConfigurationsRequest(input *DescribeMatch // When specifying a list of names, only configurations that currently exist // are returned. // -// Operations related to match configurations and rule sets include: -// // * CreateMatchmakingConfiguration // // * DescribeMatchmakingConfigurations @@ -4428,6 +4473,8 @@ func (c *GameLift) DescribeMatchmakingConfigurationsRequest(input *DescribeMatch // // * ValidateMatchmakingRuleSet // +// * DeleteMatchmakingRuleSet +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -4520,7 +4567,11 @@ func (c *GameLift) DescribeMatchmakingRuleSetsRequest(input *DescribeMatchmaking // to retrieve results as a set of sequential pages. If successful, a rule set // is returned for each requested name. // -// Operations related to match configurations and rule sets include: +// Learn more +// +// * Build a Rule Set (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html) +// +// Related operations // // * CreateMatchmakingConfiguration // @@ -4536,6 +4587,8 @@ func (c *GameLift) DescribeMatchmakingRuleSetsRequest(input *DescribeMatchmaking // // * ValidateMatchmakingRuleSet // +// * DeleteMatchmakingRuleSet +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -4640,8 +4693,6 @@ func (c *GameLift) DescribePlayerSessionsRequest(input *DescribePlayerSessionsIn // // Available in Amazon GameLift Local. // -// Player-session-related operations include: -// // * CreatePlayerSession // // * CreatePlayerSessions @@ -4750,8 +4801,6 @@ func (c *GameLift) DescribeRuntimeConfigurationRequest(input *DescribeRuntimeCon // run-time configuration tells Amazon GameLift how to launch server processes // on instances in the fleet. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -4892,8 +4941,6 @@ func (c *GameLift) DescribeScalingPoliciesRequest(input *DescribeScalingPolicies // ACTIVE. To see whether a fleet's scaling policies are in force or suspended, // call DescribeFleetAttributes and check the stopped actions. // -// Operations related to fleet capacity scaling include: -// // * DescribeFleetCapacity // // * UpdateFleetCapacity @@ -5008,8 +5055,6 @@ func (c *GameLift) DescribeVpcPeeringAuthorizationsRequest(input *DescribeVpcPee // This operation returns all VPC peering authorizations and requests for peering. // This includes those initiated and received by this account. // -// VPC peering connection operations include: -// // * CreateVpcPeeringAuthorization // // * DescribeVpcPeeringAuthorizations @@ -5117,8 +5162,6 @@ func (c *GameLift) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeerin // the retrieved information includes both active and pending connections. Active // connections identify the IpV4 CIDR block that the VPC uses to connect. // -// VPC peering connection operations include: -// // * CreateVpcPeeringAuthorization // // * DescribeVpcPeeringAuthorizations @@ -5226,12 +5269,10 @@ func (c *GameLift) GetGameSessionLogUrlRequest(input *GetGameSessionLogUrlInput) // logs in Amazon S3 and retains them for 14 days. Use this URL to download // the logs. // -// See the AWS Service Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift) +// See the AWS Service Limits (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift) // page for maximum log file sizes. Log files that exceed this limit are not // saved. // -// Game-session-related operations include: -// // * CreateGameSession // // * DescribeGameSessions @@ -5353,11 +5394,12 @@ func (c *GameLift) GetInstanceAccessRequest(input *GetInstanceAccessInput) (req // to a .pem file before using. If you're making this request using the AWS // CLI, saving the secret can be handled as part of the GetInstanceAccess request. // (See the example later in this topic). For more information on remote access, -// see Remotely Accessing an Instance (http://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html). +// see Remotely Accessing an Instance (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html). // -// To request access to a specific instance, specify the IDs of the instance -// and the fleet it belongs to. If successful, an InstanceAccess object is returned -// containing the instance's IP address and a set of credentials. +// To request access to a specific instance, specify the IDs of both the instance +// and the fleet it belongs to. You can retrieve a fleet's instance IDs by calling +// DescribeInstances. If successful, an InstanceAccess object is returned containing +// the instance's IP address and a set of credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5455,8 +5497,6 @@ func (c *GameLift) ListAliasesRequest(input *ListAliasesInput) (req *request.Req // // Returned aliases are not listed in any particular order. // -// Alias-related operations include: -// // * CreateAlias // // * ListAliases @@ -5562,8 +5602,6 @@ func (c *GameLift) ListBuildsRequest(input *ListBuildsInput) (req *request.Reque // // Build records are not listed in any particular order. // -// Build-related operations include: -// // * CreateBuild // // * ListBuilds @@ -5666,8 +5704,6 @@ func (c *GameLift) ListFleetsRequest(input *ListFleetsInput) (req *request.Reque // // Fleet records are not listed in any particular order. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -5816,7 +5852,7 @@ func (c *GameLift) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req *r // remove it, you must delete the policy with DeleteScalingPolicy. // // Learn more about how to work with auto-scaling in Set Up Fleet Automatic -// Scaling (http://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-autoscaling.html). +// Scaling (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-autoscaling.html). // // Target-based policy // @@ -5871,8 +5907,6 @@ func (c *GameLift) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req *r // successfully created. If the fleet's auto-scaling actions are temporarily // suspended, the new policy will be in force once the fleet actions are restarted. // -// Operations related to fleet capacity scaling include: -// // * DescribeFleetCapacity // // * UpdateFleetCapacity @@ -6083,8 +6117,6 @@ func (c *GameLift) ResolveAliasRequest(input *ResolveAliasInput) (req *request.R // // Retrieves the fleet ID that a specified alias is currently pointing to. // -// Alias-related operations include: -// // * CreateAlias // // * ListAliases @@ -6244,8 +6276,6 @@ func (c *GameLift) SearchGameSessionsRequest(input *SearchGameSessionsInput) (re // the results. This search feature finds only game sessions that are in ACTIVE // status. To locate games in statuses other than active, use DescribeGameSessionDetails. // -// Game-session-related operations include: -// // * CreateGameSession // // * DescribeGameSessions @@ -6373,8 +6403,6 @@ func (c *GameLift) StartFleetActionsRequest(input *StartFleetActionsInput) (req // actions on the fleet were never stopped, this operation will have no effect. // You can view a fleet's stopped actions using DescribeFleetAttributes. // -// Operations related to fleet capacity scaling include: -// // * DescribeFleetCapacity // // * UpdateFleetCapacity @@ -6513,8 +6541,9 @@ func (c *GameLift) StartGameSessionPlacementRequest(input *StartGameSessionPlace // * A unique ID (such as a UUID) for the placement. You use this ID to track // the status of the placement request // -// * (Optional) A set of IDs and player data for each player you want to -// join to the new game session +// * (Optional) A set of player data and a unique player ID for each player +// that you are joining to the new game session (player data is optional, +// but if you include it, you must also provide a unique ID for each player) // // * Latency data for all players (if you want to optimize game play for // the players) @@ -6527,8 +6556,6 @@ func (c *GameLift) StartGameSessionPlacementRequest(input *StartGameSessionPlace // placement request times out, you can resubmit the request or retry it with // a different queue. // -// Game-session-related operations include: -// // * CreateGameSession // // * DescribeGameSessions @@ -6653,7 +6680,7 @@ func (c *GameLift) StartMatchBackfillRequest(input *StartMatchBackfillInput) (re // ticket is created and returned with status set to QUEUED. The ticket is placed // in the matchmaker's ticket pool and processed. Track the status of the ticket // to respond as needed. For more detail how to set up backfilling, see Backfill -// Existing Games with FlexMatch (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-backfill.html). +// Existing Games with FlexMatch (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-backfill.html). // // The process of finding backfill matches is essentially identical to the initial // matchmaking process. The matchmaker searches the pool and groups tickets @@ -6663,9 +6690,7 @@ func (c *GameLift) StartMatchBackfillRequest(input *StartMatchBackfillInput) (re // game session's connection information, and the GameSession object is updated // to include matchmaker data on the new players. For more detail on how match // backfill requests are processed, see How Amazon GameLift FlexMatch Works -// (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html). -// -// Matchmaking-related operations include: +// (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html). // // * StartMatchmaking // @@ -6777,7 +6802,7 @@ func (c *GameLift) StartMatchmakingRequest(input *StartMatchmakingInput) (req *r // fill the match. Match type, rules, and the queue used to place a new game // session are defined in a MatchmakingConfiguration. For complete information // on setting up and using FlexMatch, see the topic Adding FlexMatch to Your -// Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html). +// Game (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html). // // To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, // and include the players to be matched. You must also include a set of player @@ -6829,8 +6854,6 @@ func (c *GameLift) StartMatchmakingRequest(input *StartMatchmakingInput) (req *r // and player session) is added to the matchmaking tickets. Matched players // can use the connection information to join the game. // -// Matchmaking-related operations include: -// // * StartMatchmaking // // * DescribeMatchmaking @@ -7037,8 +7060,6 @@ func (c *GameLift) StopGameSessionPlacementRequest(input *StopGameSessionPlaceme // provide the placement ID values. If successful, the placement is moved to // CANCELLED status. // -// Game-session-related operations include: -// // * CreateGameSession // // * DescribeGameSessions @@ -7154,8 +7175,6 @@ func (c *GameLift) StopMatchmakingRequest(input *StopMatchmakingInput) (req *req // matchmaking operation, specify the ticket ID. If successful, work on the // ticket is stopped, and the ticket status is changed to CANCELLED. // -// Matchmaking-related operations include: -// // * StartMatchmaking // // * DescribeMatchmaking @@ -7261,8 +7280,6 @@ func (c *GameLift) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Req // alias to another fleet, provide an updated routing strategy. If successful, // the updated alias record is returned. // -// Alias-related operations include: -// // * CreateAlias // // * ListAliases @@ -7370,8 +7387,6 @@ func (c *GameLift) UpdateBuildRequest(input *UpdateBuildInput) (req *request.Req // values. If successful, a build object containing the updated metadata is // returned. // -// Build-related operations include: -// // * CreateBuild // // * ListBuilds @@ -7476,8 +7491,6 @@ func (c *GameLift) UpdateFleetAttributesRequest(input *UpdateFleetAttributesInpu // update metadata, specify the fleet ID and the property values that you want // to change. If successful, the fleet ID for the updated fleet is returned. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -7637,8 +7650,6 @@ func (c *GameLift) UpdateFleetCapacityRequest(input *UpdateFleetCapacityInput) ( // If the desired instance count is higher than the instance type's limit, the // "Limit Exceeded" exception occurs. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -7788,8 +7799,6 @@ func (c *GameLift) UpdateFleetPortSettingsRequest(input *UpdateFleetPortSettings // match existing fleet permissions. If successful, the fleet ID for the updated // fleet is returned. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -7940,8 +7949,6 @@ func (c *GameLift) UpdateGameSessionRequest(input *UpdateGameSessionInput) (req // values you want to change. If successful, an updated GameSession object is // returned. // -// Game-session-related operations include: -// // * CreateGameSession // // * DescribeGameSessions @@ -8067,8 +8074,6 @@ func (c *GameLift) UpdateGameSessionQueueRequest(input *UpdateGameSessionQueueIn // the queue name to be updated and provide the new settings. When updating // destinations, provide a complete list of destinations. // -// Queue-related operations include: -// // * CreateGameSessionQueue // // * DescribeGameSessionQueues @@ -8170,8 +8175,6 @@ func (c *GameLift) UpdateMatchmakingConfigurationRequest(input *UpdateMatchmakin // Updates settings for a FlexMatch matchmaking configuration. To update settings, // specify the configuration name to be updated and provide the new settings. // -// Operations related to match configurations and rule sets include: -// // * CreateMatchmakingConfiguration // // * DescribeMatchmakingConfigurations @@ -8186,6 +8189,8 @@ func (c *GameLift) UpdateMatchmakingConfigurationRequest(input *UpdateMatchmakin // // * ValidateMatchmakingRuleSet // +// * DeleteMatchmakingRuleSet +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -8293,8 +8298,6 @@ func (c *GameLift) UpdateRuntimeConfigurationRequest(input *UpdateRuntimeConfigu // processes shut down and new processes are launched in Amazon GameLift's normal // process recycling activity. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -8429,10 +8432,15 @@ func (c *GameLift) ValidateMatchmakingRuleSetRequest(input *ValidateMatchmakingR // ValidateMatchmakingRuleSet API operation for Amazon GameLift. // // Validates the syntax of a matchmaking rule or rule set. This operation checks -// that the rule set uses syntactically correct JSON and that it conforms to -// allowed property expressions. To validate syntax, provide a rule set string. +// that the rule set is using syntactically correct JSON and that it conforms +// to allowed property expressions. To validate syntax, provide a rule set JSON +// string. +// +// Learn more +// +// * Build a Rule Set (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html) // -// Operations related to match configurations and rule sets include: +// Related operations // // * CreateMatchmakingConfiguration // @@ -8448,6 +8456,8 @@ func (c *GameLift) ValidateMatchmakingRuleSetRequest(input *ValidateMatchmakingR // // * ValidateMatchmakingRuleSet // +// * DeleteMatchmakingRuleSet +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -8578,8 +8588,6 @@ func (s AcceptMatchOutput) GoString() string { // Properties describing a fleet alias. // -// Alias-related operations include: -// // * CreateAlias // // * ListAliases @@ -8788,8 +8796,6 @@ func (s *AwsCredentials) SetSessionToken(v string) *AwsCredentials { // Properties describing a game build. // -// Build-related operations include: -// // * CreateBuild // // * ListBuilds @@ -9153,19 +9159,19 @@ type CreateFleetInput struct { // and keep them as long as you need them. Spot instances have lower prices, // but spot pricing is variable, and while in use they can be interrupted (with // a two-minute notification). Learn more about Amazon GameLift spot instances - // with at Choose Computing Resources (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html). + // with at Set up Access to External Services (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-credentials.html). FleetType *string `type:"string" enum:"FleetType"` // This parameter is no longer used. Instead, to specify where Amazon GameLift // should store log files once a server process shuts down, use the Amazon GameLift // server API ProcessReady() and specify one or more directory paths in logParameters. - // See more information in the Server API Reference (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process). + // See more information in the Server API Reference (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process). LogPaths []*string `type:"list"` - // Name of a metric group to add this fleet to. A metric group tracks metrics - // across all fleets in the group. Use an existing metric group name to add - // this fleet to the group, or use a new name to create a new metric group. - // A fleet can only be included in one metric group at a time. + // Name of an Amazon CloudWatch metric group to add this fleet to. A metric + // group aggregates the metrics for all fleets in the group. Specify an existing + // metric group name, or provide a new name to create a new metric group. A + // fleet can only be included in one metric group at a time. MetricGroups []*string `type:"list"` // Descriptive label that is associated with a fleet. Fleet names do not need @@ -9194,8 +9200,9 @@ type CreateFleetInput struct { // Unique identifier for a VPC with resources to be accessed by your Amazon // GameLift fleet. The VPC must be in the same region where your fleet is deployed. - // To get VPC information, including IDs, use the Virtual Private Cloud service - // tools, including the VPC Dashboard in the AWS Management Console. + // Look up a VPC ID using the VPC Dashboard (https://console.aws.amazon.com/vpc/) + // in the AWS Management Console. Learn more about VPC peering in VPC Peering + // with Amazon GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). PeerVpcId *string `min:"1" type:"string"` // Policy that limits the number of game sessions an individual player can create @@ -9424,12 +9431,12 @@ type CreateGameSessionInput struct { // Set of custom properties for a game session, formatted as key:value pairs. // These properties are passed to a game server process in the GameSession object - // with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // with a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameProperties []*GameProperty `type:"list"` // Set of custom game session properties, formatted as a single string value. // This data is passed to a game server process in the GameSession object with - // a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameSessionData *string `min:"1" type:"string"` // This parameter is no longer preferred. Please use IdempotencyToken instead. @@ -9732,19 +9739,19 @@ type CreateMatchmakingConfigurationInput struct { // Set of custom properties for a game session, formatted as key:value pairs. // These properties are passed to a game server process in the GameSession object - // with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // with a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). // This information is added to the new GameSession object that is created for // a successful match. GameProperties []*GameProperty `type:"list"` // Set of custom game session properties, formatted as a single string value. // This data is passed to a game server process in the GameSession object with - // a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). // This information is added to the new GameSession object that is created for // a successful match. GameSessionData *string `min:"1" type:"string"` - // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) // that is assigned to a game session queue and uniquely identifies it. Format // is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. // These queues are used when placing game sessions for matches that are created @@ -9939,14 +9946,15 @@ func (s *CreateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingCo type CreateMatchmakingRuleSetInput struct { _ struct{} `type:"structure"` - // Unique identifier for a matchmaking rule set. This name is used to identify - // the rule set associated with a matchmaking configuration. + // Unique identifier for a matchmaking rule set. A matchmaking configuration + // identifies the rule set it uses by this name value. (Note: The rule set name + // is different from the optional "name" field in the rule set body.) // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // Collection of matchmaking rules, formatted as a JSON string. (Note that comments - // are not allowed in JSON, but most elements support a description field.) + // Collection of matchmaking rules, formatted as a JSON string. Note that comments + // are not allowed in JSON, but most elements support a description field. // // RuleSetBody is a required field RuleSetBody *string `min:"1" type:"string" required:"true"` @@ -10226,8 +10234,9 @@ type CreateVpcPeeringAuthorizationInput struct { // Unique identifier for a VPC with resources to be accessed by your Amazon // GameLift fleet. The VPC must be in the same region where your fleet is deployed. - // To get VPC information, including IDs, use the Virtual Private Cloud service - // tools, including the VPC Dashboard in the AWS Management Console. + // Look up a VPC ID using the VPC Dashboard (https://console.aws.amazon.com/vpc/) + // in the AWS Management Console. Learn more about VPC peering in VPC Peering + // with Amazon GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). // // PeerVpcId is a required field PeerVpcId *string `min:"1" type:"string" required:"true"` @@ -10320,8 +10329,9 @@ type CreateVpcPeeringConnectionInput struct { // Unique identifier for a VPC with resources to be accessed by your Amazon // GameLift fleet. The VPC must be in the same region where your fleet is deployed. - // To get VPC information, including IDs, use the Virtual Private Cloud service - // tools, including the VPC Dashboard in the AWS Management Console. + // Look up a VPC ID using the VPC Dashboard (https://console.aws.amazon.com/vpc/) + // in the AWS Management Console. Learn more about VPC peering in VPC Peering + // with Amazon GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). // // PeerVpcId is a required field PeerVpcId *string `min:"1" type:"string" required:"true"` @@ -10666,6 +10676,64 @@ func (s DeleteMatchmakingConfigurationOutput) GoString() string { return s.String() } +// Represents the input for a request action. +type DeleteMatchmakingRuleSetInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a matchmaking rule set to be deleted. (Note: The rule + // set name is different from the optional "name" field in the rule set body.) + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteMatchmakingRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteMatchmakingRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMatchmakingRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMatchmakingRuleSetInput"} + 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 *DeleteMatchmakingRuleSetInput) SetName(v string) *DeleteMatchmakingRuleSetInput { + s.Name = &v + return s +} + +// Represents the returned data in response to a request action. +type DeleteMatchmakingRuleSetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteMatchmakingRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteMatchmakingRuleSetOutput) GoString() string { + return s.String() +} + // Represents the input for a request action. type DeleteScalingPolicyInput struct { _ struct{} `type:"structure"` @@ -10750,8 +10818,9 @@ type DeleteVpcPeeringAuthorizationInput struct { // Unique identifier for a VPC with resources to be accessed by your Amazon // GameLift fleet. The VPC must be in the same region where your fleet is deployed. - // To get VPC information, including IDs, use the Virtual Private Cloud service - // tools, including the VPC Dashboard in the AWS Management Console. + // Look up a VPC ID using the VPC Dashboard (https://console.aws.amazon.com/vpc/) + // in the AWS Management Console. Learn more about VPC peering in VPC Peering + // with Amazon GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). // // PeerVpcId is a required field PeerVpcId *string `min:"1" type:"string" required:"true"` @@ -12287,8 +12356,9 @@ type DescribeMatchmakingRuleSetsInput struct { // get results as a set of sequential pages. Limit *int64 `min:"1" type:"integer"` - // Unique identifier for a matchmaking rule set. This name is used to identify - // the rule set associated with a matchmaking configuration. + // List of one or more matchmaking rule set names to retrieve details for. (Note: + // The rule set name is different from the optional "name" field in the rule + // set body.) Names []*string `min:"1" type:"list"` // Token that indicates the start of the next sequential page of results. Use @@ -12862,8 +12932,6 @@ func (s *DesiredPlayerSession) SetPlayerId(v string) *DesiredPlayerSession { // an UpdateFleetCapacity request, or if access to resources is temporarily // affected. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -13105,8 +13173,8 @@ type Event struct { // provide additional detail. A common reason for peering failure is that // the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve // this, change the CIDR block for the VPC in your AWS account. For more - // information on VPC peering failures, see http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html - // (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html) + // information on VPC peering failures, see https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html + // (https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html) // // * FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully // deleted. @@ -13198,8 +13266,6 @@ func (s *Event) SetResourceId(v string) *Event { // General properties describing a fleet. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -13269,7 +13335,7 @@ type FleetAttributes struct { // Location of default log files. When a server process is shut down, Amazon // GameLift captures and stores any log files in this location. These logs are // in addition to game session logs; see more on game session logs in the Amazon - // GameLift Developer Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-api-server-code). + // GameLift Developer Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-api-server-code). // If no default log path for a fleet is specified, Amazon GameLift automatically // uploads logs that are stored on each instance at C:\game\logs (for Windows) // or /local/game/logs (for Linux). Use the Amazon GameLift console to access @@ -13468,8 +13534,6 @@ func (s *FleetAttributes) SetTerminationTime(v time.Time) *FleetAttributes { // be updated as needed. The maximum number of instances for a fleet is determined // by the fleet's instance type. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -13555,8 +13619,6 @@ func (s *FleetCapacity) SetInstanceType(v string) *FleetCapacity { // Current status of fleet utilization, including the number of game and player // sessions being hosted. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -13663,7 +13725,7 @@ func (s *FleetUtilization) SetMaximumPlayerSessionCount(v int64) *FleetUtilizati // mode, level, or map. Game properties are passed to the game server process // when initiating a new game session; the server process uses the properties // as appropriate. For more information, see the Amazon GameLift Developer -// Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-create). +// Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-create). type GameProperty struct { _ struct{} `type:"structure"` @@ -13725,8 +13787,6 @@ func (s *GameProperty) SetValue(v string) *GameProperty { // means you can reuse idempotency token values after this time. Game session // logs are retained for 14 days. // -// Game-session-related operations include: -// // * CreateGameSession // // * DescribeGameSessions @@ -13766,13 +13826,13 @@ type GameSession struct { // Set of custom properties for a game session, formatted as key:value pairs. // These properties are passed to a game server process in the GameSession object - // with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // with a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). // You can search for active game sessions based on this custom data with SearchGameSessions. GameProperties []*GameProperty `type:"list"` // Set of custom game session properties, formatted as a single string value. // This data is passed to a game server process in the GameSession object with - // a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameSessionData *string `min:"1" type:"string"` // Unique identifier for the game session. A game session ARN has the following @@ -13788,7 +13848,7 @@ type GameSession struct { // session. It is in JSON syntax, formatted as a string. In addition the matchmaking // configuration used, it contains data on all players assigned to the match, // including player attributes and team assignments. For more details on matchmaker - // data, see Match Data (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data). + // data, see Match Data (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data). // Matchmaker data is useful when requesting match backfills, and is updated // whenever new players are added during a successful backfill (see StartMatchBackfill). MatchmakerData *string `min:"1" type:"string"` @@ -13937,7 +13997,7 @@ func (s *GameSession) SetTerminationTime(v time.Time) *GameSession { type GameSessionConnectionInfo struct { _ struct{} `type:"structure"` - // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) // that is assigned to a game session and uniquely identifies it. GameSessionArn *string `min:"1" type:"string"` @@ -14047,7 +14107,7 @@ type GameSessionPlacement struct { // Set of custom properties for a game session, formatted as key:value pairs. // These properties are passed to a game server process in the GameSession object - // with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // with a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameProperties []*GameProperty `type:"list"` // Identifier for the game session created by this placement request. This value @@ -14058,7 +14118,7 @@ type GameSessionPlacement struct { // Set of custom game session properties, formatted as a single string value. // This data is passed to a game server process in the GameSession object with - // a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameSessionData *string `min:"1" type:"string"` // Unique identifier for the game session. This value is set once the new game @@ -14087,7 +14147,7 @@ type GameSessionPlacement struct { // formatted as a string. It identifies the matchmaking configuration used to // create the match, and contains data on all players assigned to the match, // including player attributes and team assignments. For more details on matchmaker - // data, see Match Data (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data). + // data, see Match Data (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data). MatchmakerData *string `min:"1" type:"string"` // Maximum number of players that can be connected simultaneously to the game @@ -14263,8 +14323,6 @@ func (s *GameSessionPlacement) SetStatus(v string) *GameSessionPlacement { // high latencies, preventing game sessions from being placed where any individual // player is reporting latency higher than a policy's maximum. // -// Queue-related operations include: -// // * CreateGameSessionQueue // // * DescribeGameSessionQueues @@ -14280,7 +14338,7 @@ type GameSessionQueue struct { // ARN. Destinations are listed in default preference order. Destinations []*GameSessionQueueDestination `type:"list"` - // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) // that is assigned to a game session queue and uniquely identifies it. Format // is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. GameSessionQueueArn *string `min:"1" type:"string"` @@ -14349,8 +14407,6 @@ func (s *GameSessionQueue) SetTimeoutInSeconds(v int64) *GameSessionQueue { // in the queue are fulfilled by starting a new game session on any destination // configured for a queue. // -// Queue-related operations include: -// // * CreateGameSessionQueue // // * DescribeGameSessionQueues @@ -14442,7 +14498,10 @@ func (s *GetGameSessionLogUrlInput) SetGameSessionId(v string) *GetGameSessionLo type GetGameSessionLogUrlOutput struct { _ struct{} `type:"structure"` - // Location of the requested game session logs, available for download. + // Location of the requested game session logs, available for download. This + // URL is valid for 15 minutes, after which S3 will reject any download request + // using this URL. You can request a new URL any time within the 14-day period + // that the logs are retained. PreSignedUrl *string `min:"1" type:"string"` } @@ -15228,19 +15287,19 @@ type MatchmakingConfiguration struct { // Set of custom properties for a game session, formatted as key:value pairs. // These properties are passed to a game server process in the GameSession object - // with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // with a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). // This information is added to the new GameSession object that is created for // a successful match. GameProperties []*GameProperty `type:"list"` // Set of custom game session properties, formatted as a single string value. // This data is passed to a game server process in the GameSession object with - // a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). // This information is added to the new GameSession object that is created for // a successful match. GameSessionData *string `min:"1" type:"string"` - // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) // that is assigned to a game session queue and uniquely identifies it. Format // is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. // These queues are used when placing game sessions for matches that are created @@ -15359,7 +15418,7 @@ func (s *MatchmakingConfiguration) SetRuleSetName(v string) *MatchmakingConfigur // // A rule set may define the following elements for a match. For detailed information // and examples showing how to construct a rule set, see Build a FlexMatch Rule -// Set (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html). +// Set (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html). // // * Teams -- Required. A rule set must define one or multiple teams for // the match and set minimum and maximum team sizes. For example, a rule @@ -15586,8 +15645,6 @@ func (s *MatchmakingTicket) SetTicketId(v string) *MatchmakingTicket { // retrieve full details on a player session, call DescribePlayerSessions with // the player session ID. // -// Player-session-related operations include: -// // * CreatePlayerSession // // * CreatePlayerSessions @@ -15794,8 +15851,6 @@ func (s *PlayerLatency) SetRegionIdentifier(v string) *PlayerLatency { // is reporting latency higher than the cap. Latency policies are only enforced // when the placement request contains player latency information. // -// Queue-related operations include: -// // * CreateGameSessionQueue // // * DescribeGameSessionQueues @@ -15850,8 +15905,6 @@ func (s *PlayerLatencyPolicy) SetPolicyDurationSeconds(v int64) *PlayerLatencyPo // Once the session ends, the player session object is retained for 30 days // and then removed. // -// Player-session-related operations include: -// // * CreatePlayerSession // // * CreatePlayerSessions @@ -16008,7 +16061,7 @@ type PutScalingPolicyInput struct { // Name of the Amazon GameLift-defined metric that is used to trigger a scaling // adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon - // GameLift with Amazon CloudWatch (http://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html). + // GameLift with Amazon CloudWatch (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html). // // * ActivatingGameSessions -- Game sessions in the process of being created. // @@ -16391,8 +16444,6 @@ func (s *ResourceCreationLimitPolicy) SetPolicyPeriodInMinutes(v int64) *Resourc // Routing configuration for a fleet alias. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -16502,8 +16553,6 @@ func (s *RoutingStrategy) SetType(v string) *RoutingStrategy { // the values of the ConcurrentExecutions parameter for each ServerProcess object // in the run-time configuration. // -// Fleet-related operations include: -// // * CreateFleet // // * ListFleets @@ -16619,7 +16668,7 @@ func (s *RuntimeConfiguration) SetServerProcesses(v []*ServerProcess) *RuntimeCo // Location in Amazon Simple Storage Service (Amazon S3) where build files can // be stored for access by Amazon GameLift. This location is specified in a // CreateBuild request. For more details, see the Create a Build with Files -// in Amazon S3 (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build). +// in Amazon S3 (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build). type S3Location struct { _ struct{} `type:"structure"` @@ -16629,7 +16678,7 @@ type S3Location struct { // Name of the zip file containing your build files. Key *string `min:"1" type:"string"` - // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) // for the access role that allows Amazon GameLift to access your S3 bucket. RoleArn *string `min:"1" type:"string"` } @@ -16684,8 +16733,6 @@ func (s *S3Location) SetRoleArn(v string) *S3Location { // Rule that controls how a fleet is scaled. Scaling policies are uniquely identified // by the combination of name and fleet ID. // -// Operations related to fleet capacity scaling include: -// // * DescribeFleetCapacity // // * UpdateFleetCapacity @@ -16721,7 +16768,7 @@ type ScalingPolicy struct { // Name of the Amazon GameLift-defined metric that is used to trigger a scaling // adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon - // GameLift with Amazon CloudWatch (http://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html). + // GameLift with Amazon CloudWatch (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html). // // * ActivatingGameSessions -- Game sessions in the process of being created. // @@ -17232,12 +17279,12 @@ type StartGameSessionPlacementInput struct { // Set of custom properties for a game session, formatted as key:value pairs. // These properties are passed to a game server process in the GameSession object - // with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // with a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameProperties []*GameProperty `type:"list"` // Set of custom game session properties, formatted as a single string value. // This data is passed to a game server process in the GameSession object with - // a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameSessionData *string `min:"1" type:"string"` // Descriptive label that is associated with a game session. Session names do @@ -17428,7 +17475,7 @@ type StartMatchBackfillInput struct { // ConfigurationName is a required field ConfigurationName *string `min:"1" type:"string" required:"true"` - // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) // that is assigned to a game session and uniquely identifies it. // // GameSessionArn is a required field @@ -17442,7 +17489,7 @@ type StartMatchBackfillInput struct { // in the GameSession object, MatchmakerData property, for all players who // are currently assigned to the game session. The matchmaker data is in // JSON syntax, formatted as a string. For more details, see Match Data - // (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data). + // (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data). // // // * LatencyInMs -\\- If the matchmaker uses player latency, include a latency @@ -17865,8 +17912,6 @@ func (s StopMatchmakingOutput) GoString() string { // specifies settings as needed for the target based policy, including the target // value. // -// Operations related to fleet capacity scaling include: -// // * DescribeFleetCapacity // // * UpdateFleetCapacity @@ -18692,19 +18737,19 @@ type UpdateMatchmakingConfigurationInput struct { // Set of custom properties for a game session, formatted as key:value pairs. // These properties are passed to a game server process in the GameSession object - // with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // with a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). // This information is added to the new GameSession object that is created for // a successful match. GameProperties []*GameProperty `type:"list"` // Set of custom game session properties, formatted as a single string value. // This data is passed to a game server process in the GameSession object with - // a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). // This information is added to the new GameSession object that is created for // a successful match. GameSessionData *string `min:"1" type:"string"` - // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) // that is assigned to a game session queue and uniquely identifies it. Format // is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. // These queues are used when placing game sessions for matches that are created @@ -18717,7 +18762,7 @@ type UpdateMatchmakingConfigurationInput struct { Name *string `min:"1" type:"string" required:"true"` // SNS topic ARN that is set up to receive matchmaking notifications. See Setting - // up Notifications for Matchmaking (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html) + // up Notifications for Matchmaking (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html) // for more information. NotificationTarget *string `type:"string"` @@ -19037,8 +19082,6 @@ func (s *ValidateMatchmakingRuleSetOutput) SetValid(v bool) *ValidateMatchmaking // to. This authorization must exist and be valid for the peering connection // to be established. Authorizations are valid for 24 hours after they are issued. // -// VPC peering connection operations include: -// // * CreateVpcPeeringAuthorization // // * DescribeVpcPeeringAuthorizations @@ -19070,8 +19113,9 @@ type VpcPeeringAuthorization struct { // Unique identifier for a VPC with resources to be accessed by your Amazon // GameLift fleet. The VPC must be in the same region where your fleet is deployed. - // To get VPC information, including IDs, use the Virtual Private Cloud service - // tools, including the VPC Dashboard in the AWS Management Console. + // Look up a VPC ID using the VPC Dashboard (https://console.aws.amazon.com/vpc/) + // in the AWS Management Console. Learn more about VPC peering in VPC Peering + // with Amazon GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). PeerVpcId *string `min:"1" type:"string"` } @@ -19119,8 +19163,6 @@ func (s *VpcPeeringAuthorization) SetPeerVpcId(v string) *VpcPeeringAuthorizatio // and the VPC for your Amazon GameLift fleets. This record may be for an active // peering connection or a pending connection that has not yet been established. // -// VPC peering connection operations include: -// // * CreateVpcPeeringAuthorization // // * DescribeVpcPeeringAuthorizations @@ -19151,8 +19193,9 @@ type VpcPeeringConnection struct { // Unique identifier for a VPC with resources to be accessed by your Amazon // GameLift fleet. The VPC must be in the same region where your fleet is deployed. - // To get VPC information, including IDs, use the Virtual Private Cloud service - // tools, including the VPC Dashboard in the AWS Management Console. + // Look up a VPC ID using the VPC Dashboard (https://console.aws.amazon.com/vpc/) + // in the AWS Management Console. Learn more about VPC peering in VPC Peering + // with Amazon GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). PeerVpcId *string `min:"1" type:"string"` // Object that contains status information about the connection. Status indicates @@ -19213,7 +19256,7 @@ func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringCo // Represents status information for a VPC peering connection. Status is associated // with a VpcPeeringConnection object. Status codes and messages are provided -// from EC2 (see VpcPeeringConnectionStateReason (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpcPeeringConnectionStateReason.html)). +// from EC2 (see VpcPeeringConnectionStateReason (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpcPeeringConnectionStateReason.html)). // Connection status information is also communicated as a fleet Event. type VpcPeeringConnectionStatus struct { _ struct{} `type:"structure"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/gamelift/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/gamelift/doc.go index def8e05107d..f765e21748f 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/gamelift/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/gamelift/doc.go @@ -23,14 +23,14 @@ // You can use the API functionality with these tools: // // * The Amazon Web Services software development kit (AWS SDK (http://aws.amazon.com/tools/#sdk)) -// is available in multiple languages (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-supported.html#gamelift-supported-clients) +// is available in multiple languages (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-supported.html#gamelift-supported-clients) // including C++ and C#. Use the SDK to access the API programmatically from // an application, such as a game client. // -// * The AWS command-line interface (http://aws.amazon.com/cli/) (CLI) tool -// is primarily useful for handling administrative actions, such as setting -// up and managing Amazon GameLift settings and resources. You can use the -// AWS CLI to manage all of your AWS services. +// * The AWS command-line interface (https://docs.aws.amazon.com/cli/latest/userguide/) +// (CLI) tool is primarily useful for handling administrative actions, such +// as setting up and managing Amazon GameLift settings and resources. You +// can use the AWS CLI to manage all of your AWS services. // // * The AWS Management Console (https://console.aws.amazon.com/gamelift/home) // for Amazon GameLift provides a web interface to manage your Amazon GameLift @@ -41,24 +41,24 @@ // * Amazon GameLift Local is a tool for testing your game's integration // with Amazon GameLift before deploying it on the service. This tools supports // a subset of key API actions, which can be called from either the AWS CLI -// or programmatically. See Testing an Integration (http://docs.aws.amazon.com/gamelift/latest/developerguide/integration-testing-local.html). +// or programmatically. See Testing an Integration (https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-testing-local.html). // // Learn more // -// * Developer Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/) +// * Developer Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/) // -- Read about Amazon GameLift features and how to use them. // // * Tutorials (https://gamedev.amazon.com/forums/tutorials) -- Get started // fast with walkthroughs and sample projects. // -// * GameDev Blog (http://aws.amazon.com/blogs/gamedev/) -- Stay up to date -// with new features and techniques. +// * GameDev Blog (https://gamedev.amazon.com/blogs/gamedev/) -- Stay up +// to date with new features and techniques. // // * GameDev Forums (https://gamedev.amazon.com/forums/spaces/123/gamelift-discussion.html) // -- Connect with the GameDev community. // -// * Release notes (http://aws.amazon.com/releasenotes/Amazon-GameLift/) -// and document history (http://docs.aws.amazon.com/gamelift/latest/developerguide/doc-history.html) +// * Release notes (https://aws.amazon.com/releasenotes/Amazon-GameLift/) +// and document history (https://docs.aws.amazon.com/gamelift/latest/developerguide/doc-history.html) // -- Stay current with updates to the Amazon GameLift service, SDKs, and // documentation. // @@ -137,7 +137,7 @@ // Setting Up and Managing Game Servers // // When setting up Amazon GameLift resources for your game, you first create -// a game build (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html) +// a game build (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html) // and upload it to Amazon GameLift. You can then use these actions to configure // and manage a fleet of resources to run your game servers, scale capacity // to meet player demand, access performance and utilization metrics, and more. @@ -202,24 +202,43 @@ // // StopFleetActions -- Suspend a fleet's auto-scaling policies. // -// * Manage VPC peering connections for fleets +// * Manage game session queues // -// CreateVpcPeeringAuthorization -- Authorize a peering connection to one of -// your VPCs. +// CreateGameSessionQueue -- Create a queue for processing requests for new +// game sessions. // -// DescribeVpcPeeringAuthorizations -- Retrieve valid peering connection authorizations. +// DescribeGameSessionQueues -- Retrieve game session queues defined in a Amazon +// GameLift region. // +// UpdateGameSessionQueue -- Change the configuration of a game session queue. // -// DeleteVpcPeeringAuthorization -- Delete a peering connection authorization. +// DeleteGameSessionQueue -- Remove a game session queue from the region. // -// CreateVpcPeeringConnection -- Establish a peering connection between the -// VPC for a Amazon GameLift fleet and one of your VPCs. +// * Manage FlexMatch resources // -// DescribeVpcPeeringConnections -- Retrieve information on active or pending -// VPC peering connections with a Amazon GameLift fleet. +// CreateMatchmakingConfiguration -- Create a matchmaking configuration with +// instructions for building a player group and placing in a new game session. +// +// +// DescribeMatchmakingConfigurations -- Retrieve matchmaking configurations +// defined a Amazon GameLift region. +// +// UpdateMatchmakingConfiguration -- Change settings for matchmaking configuration. +// queue. +// +// DeleteMatchmakingConfiguration -- Remove a matchmaking configuration from +// the region. +// +// CreateMatchmakingRuleSet -- Create a set of rules to use when searching for +// player matches. +// +// DescribeMatchmakingRuleSets -- Retrieve matchmaking rule sets defined in +// a Amazon GameLift region. +// +// ValidateMatchmakingRuleSet -- Verify syntax for a set of matchmaking rules. // -// DeleteVpcPeeringConnection -- Delete a VPC peering connection with a Amazon -// GameLift fleet. +// +// DeleteMatchmakingRuleSet -- Remove a matchmaking rule set from the region. // // * Access fleet activity statistics // @@ -254,40 +273,24 @@ // // ResolveAlias -- Get the fleet ID that a specified alias points to. // -// * Manage game session queues -// -// CreateGameSessionQueue -- Create a queue for processing requests for new -// game sessions. -// -// DescribeGameSessionQueues -- Retrieve game session queues defined in a Amazon -// GameLift region. -// -// UpdateGameSessionQueue -- Change the configuration of a game session queue. -// -// DeleteGameSessionQueue -- Remove a game session queue from the region. -// -// * Manage FlexMatch resources -// -// CreateMatchmakingConfiguration -- Create a matchmaking configuration with -// instructions for building a player group and placing in a new game session. +// * Manage VPC peering connections for fleets // +// CreateVpcPeeringAuthorization -- Authorize a peering connection to one of +// your VPCs. // -// DescribeMatchmakingConfigurations -- Retrieve matchmaking configurations -// defined a Amazon GameLift region. +// DescribeVpcPeeringAuthorizations -- Retrieve valid peering connection authorizations. // -// UpdateMatchmakingConfiguration -- Change settings for matchmaking configuration. -// queue. // -// DeleteMatchmakingConfiguration -- Remove a matchmaking configuration from -// the region. +// DeleteVpcPeeringAuthorization -- Delete a peering connection authorization. // -// CreateMatchmakingRuleSet -- Create a set of rules to use when searching for -// player matches. +// CreateVpcPeeringConnection -- Establish a peering connection between the +// VPC for a Amazon GameLift fleet and one of your VPCs. // -// DescribeMatchmakingRuleSets -- Retrieve matchmaking rule sets defined in -// a Amazon GameLift region. +// DescribeVpcPeeringConnections -- Retrieve information on active or pending +// VPC peering connections with a Amazon GameLift fleet. // -// ValidateMatchmakingRuleSet -- Verify syntax for a set of matchmaking rules. +// DeleteVpcPeeringConnection -- Delete a VPC peering connection with a Amazon +// GameLift fleet. // // See https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01 for more information on this service. // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/globalaccelerator/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/globalaccelerator/api.go new file mode 100644 index 00000000000..ac7d30d2d6e --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/globalaccelerator/api.go @@ -0,0 +1,3617 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package globalaccelerator + +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 opCreateAccelerator = "CreateAccelerator" + +// CreateAcceleratorRequest generates a "aws/request.Request" representing the +// client's request for the CreateAccelerator 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 CreateAccelerator for more information on using the CreateAccelerator +// 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 CreateAcceleratorRequest method. +// req, resp := client.CreateAcceleratorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateAccelerator +func (c *GlobalAccelerator) CreateAcceleratorRequest(input *CreateAcceleratorInput) (req *request.Request, output *CreateAcceleratorOutput) { + op := &request.Operation{ + Name: opCreateAccelerator, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateAcceleratorInput{} + } + + output = &CreateAcceleratorOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateAccelerator API operation for AWS Global Accelerator. +// +// Create an accelerator. An accelerator includes one or more listeners that +// process inbound connections and direct traffic to one or more endpoint groups, +// each of which includes endpoints, such as Network Load Balancers. To see +// an AWS CLI example of creating an accelerator, scroll down to Example. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation CreateAccelerator for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// An argument that you specified is invalid. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateAccelerator +func (c *GlobalAccelerator) CreateAccelerator(input *CreateAcceleratorInput) (*CreateAcceleratorOutput, error) { + req, out := c.CreateAcceleratorRequest(input) + return out, req.Send() +} + +// CreateAcceleratorWithContext is the same as CreateAccelerator with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAccelerator 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 *GlobalAccelerator) CreateAcceleratorWithContext(ctx aws.Context, input *CreateAcceleratorInput, opts ...request.Option) (*CreateAcceleratorOutput, error) { + req, out := c.CreateAcceleratorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateEndpointGroup = "CreateEndpointGroup" + +// CreateEndpointGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateEndpointGroup 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 CreateEndpointGroup for more information on using the CreateEndpointGroup +// 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 CreateEndpointGroupRequest method. +// req, resp := client.CreateEndpointGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateEndpointGroup +func (c *GlobalAccelerator) CreateEndpointGroupRequest(input *CreateEndpointGroupInput) (req *request.Request, output *CreateEndpointGroupOutput) { + op := &request.Operation{ + Name: opCreateEndpointGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateEndpointGroupInput{} + } + + output = &CreateEndpointGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateEndpointGroup API operation for AWS Global Accelerator. +// +// Create an endpoint group for the specified listener. An endpoint group is +// a collection of endpoints in one AWS Region. To see an AWS CLI example of +// creating an endpoint group, scroll down to Example. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation CreateEndpointGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAcceleratorNotFoundException "AcceleratorNotFoundException" +// The accelerator that you specified doesn't exist. +// +// * ErrCodeEndpointGroupAlreadyExistsException "EndpointGroupAlreadyExistsException" +// The endpoint group that you specified already exists. +// +// * ErrCodeListenerNotFoundException "ListenerNotFoundException" +// The listener that you specified doesn't exist. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// An argument that you specified is invalid. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateEndpointGroup +func (c *GlobalAccelerator) CreateEndpointGroup(input *CreateEndpointGroupInput) (*CreateEndpointGroupOutput, error) { + req, out := c.CreateEndpointGroupRequest(input) + return out, req.Send() +} + +// CreateEndpointGroupWithContext is the same as CreateEndpointGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateEndpointGroup 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 *GlobalAccelerator) CreateEndpointGroupWithContext(ctx aws.Context, input *CreateEndpointGroupInput, opts ...request.Option) (*CreateEndpointGroupOutput, error) { + req, out := c.CreateEndpointGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateListener = "CreateListener" + +// CreateListenerRequest generates a "aws/request.Request" representing the +// client's request for the CreateListener 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 CreateListener for more information on using the CreateListener +// 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 CreateListenerRequest method. +// req, resp := client.CreateListenerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateListener +func (c *GlobalAccelerator) CreateListenerRequest(input *CreateListenerInput) (req *request.Request, output *CreateListenerOutput) { + op := &request.Operation{ + Name: opCreateListener, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateListenerInput{} + } + + output = &CreateListenerOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateListener API operation for AWS Global Accelerator. +// +// Create a listener to process inbound connections from clients to an accelerator. +// Connections arrive to assigned static IP addresses on a port, port range, +// or list of port ranges that you specify. To see an AWS CLI example of creating +// a listener, scroll down to Example. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation CreateListener for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// An argument that you specified is invalid. +// +// * ErrCodeAcceleratorNotFoundException "AcceleratorNotFoundException" +// The accelerator that you specified doesn't exist. +// +// * ErrCodeInvalidPortRangeException "InvalidPortRangeException" +// The port numbers that you specified are not valid numbers or are not unique +// for this accelerator. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateListener +func (c *GlobalAccelerator) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) { + req, out := c.CreateListenerRequest(input) + return out, req.Send() +} + +// CreateListenerWithContext is the same as CreateListener with the addition of +// the ability to pass a context and additional request options. +// +// See CreateListener 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 *GlobalAccelerator) CreateListenerWithContext(ctx aws.Context, input *CreateListenerInput, opts ...request.Option) (*CreateListenerOutput, error) { + req, out := c.CreateListenerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteAccelerator = "DeleteAccelerator" + +// DeleteAcceleratorRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAccelerator 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 DeleteAccelerator for more information on using the DeleteAccelerator +// 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 DeleteAcceleratorRequest method. +// req, resp := client.DeleteAcceleratorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteAccelerator +func (c *GlobalAccelerator) DeleteAcceleratorRequest(input *DeleteAcceleratorInput) (req *request.Request, output *DeleteAcceleratorOutput) { + op := &request.Operation{ + Name: opDeleteAccelerator, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteAcceleratorInput{} + } + + output = &DeleteAcceleratorOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteAccelerator API operation for AWS Global Accelerator. +// +// Delete an accelerator. Note: before you can delete an accelerator, you must +// disable it and remove all dependent resources (listeners and endpoint groups). +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation DeleteAccelerator for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAcceleratorNotFoundException "AcceleratorNotFoundException" +// The accelerator that you specified doesn't exist. +// +// * ErrCodeAcceleratorNotDisabledException "AcceleratorNotDisabledException" +// The accelerator that you specified could not be disabled. +// +// * ErrCodeAssociatedListenerFoundException "AssociatedListenerFoundException" +// The accelerator that you specified has a listener associated with it. You +// must remove all dependent resources from an accelerator before you can delete +// it. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// An argument that you specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteAccelerator +func (c *GlobalAccelerator) DeleteAccelerator(input *DeleteAcceleratorInput) (*DeleteAcceleratorOutput, error) { + req, out := c.DeleteAcceleratorRequest(input) + return out, req.Send() +} + +// DeleteAcceleratorWithContext is the same as DeleteAccelerator with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAccelerator 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 *GlobalAccelerator) DeleteAcceleratorWithContext(ctx aws.Context, input *DeleteAcceleratorInput, opts ...request.Option) (*DeleteAcceleratorOutput, error) { + req, out := c.DeleteAcceleratorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteEndpointGroup = "DeleteEndpointGroup" + +// DeleteEndpointGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEndpointGroup 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 DeleteEndpointGroup for more information on using the DeleteEndpointGroup +// 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 DeleteEndpointGroupRequest method. +// req, resp := client.DeleteEndpointGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteEndpointGroup +func (c *GlobalAccelerator) DeleteEndpointGroupRequest(input *DeleteEndpointGroupInput) (req *request.Request, output *DeleteEndpointGroupOutput) { + op := &request.Operation{ + Name: opDeleteEndpointGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteEndpointGroupInput{} + } + + output = &DeleteEndpointGroupOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteEndpointGroup API operation for AWS Global Accelerator. +// +// Delete an endpoint group from a listener. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation DeleteEndpointGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEndpointGroupNotFoundException "EndpointGroupNotFoundException" +// The endpoint group that you specified doesn't exist. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteEndpointGroup +func (c *GlobalAccelerator) DeleteEndpointGroup(input *DeleteEndpointGroupInput) (*DeleteEndpointGroupOutput, error) { + req, out := c.DeleteEndpointGroupRequest(input) + return out, req.Send() +} + +// DeleteEndpointGroupWithContext is the same as DeleteEndpointGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEndpointGroup 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 *GlobalAccelerator) DeleteEndpointGroupWithContext(ctx aws.Context, input *DeleteEndpointGroupInput, opts ...request.Option) (*DeleteEndpointGroupOutput, error) { + req, out := c.DeleteEndpointGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteListener = "DeleteListener" + +// DeleteListenerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteListener 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 DeleteListener for more information on using the DeleteListener +// 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 DeleteListenerRequest method. +// req, resp := client.DeleteListenerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteListener +func (c *GlobalAccelerator) DeleteListenerRequest(input *DeleteListenerInput) (req *request.Request, output *DeleteListenerOutput) { + op := &request.Operation{ + Name: opDeleteListener, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteListenerInput{} + } + + output = &DeleteListenerOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteListener API operation for AWS Global Accelerator. +// +// Delete a listener from an accelerator. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation DeleteListener for usage and error information. +// +// Returned Error Codes: +// * ErrCodeListenerNotFoundException "ListenerNotFoundException" +// The listener that you specified doesn't exist. +// +// * ErrCodeAssociatedEndpointGroupFoundException "AssociatedEndpointGroupFoundException" +// The listener that you specified has an endpoint group associated with it. +// You must remove all dependent resources from a listener before you can delete +// it. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteListener +func (c *GlobalAccelerator) DeleteListener(input *DeleteListenerInput) (*DeleteListenerOutput, error) { + req, out := c.DeleteListenerRequest(input) + return out, req.Send() +} + +// DeleteListenerWithContext is the same as DeleteListener with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteListener 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 *GlobalAccelerator) DeleteListenerWithContext(ctx aws.Context, input *DeleteListenerInput, opts ...request.Option) (*DeleteListenerOutput, error) { + req, out := c.DeleteListenerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAccelerator = "DescribeAccelerator" + +// DescribeAcceleratorRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAccelerator 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 DescribeAccelerator for more information on using the DescribeAccelerator +// 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 DescribeAcceleratorRequest method. +// req, resp := client.DescribeAcceleratorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAccelerator +func (c *GlobalAccelerator) DescribeAcceleratorRequest(input *DescribeAcceleratorInput) (req *request.Request, output *DescribeAcceleratorOutput) { + op := &request.Operation{ + Name: opDescribeAccelerator, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeAcceleratorInput{} + } + + output = &DescribeAcceleratorOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAccelerator API operation for AWS Global Accelerator. +// +// Describe an accelerator. To see an AWS CLI example of describing an accelerator, +// scroll down to Example. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation DescribeAccelerator for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAcceleratorNotFoundException "AcceleratorNotFoundException" +// The accelerator that you specified doesn't exist. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// An argument that you specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAccelerator +func (c *GlobalAccelerator) DescribeAccelerator(input *DescribeAcceleratorInput) (*DescribeAcceleratorOutput, error) { + req, out := c.DescribeAcceleratorRequest(input) + return out, req.Send() +} + +// DescribeAcceleratorWithContext is the same as DescribeAccelerator with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAccelerator 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 *GlobalAccelerator) DescribeAcceleratorWithContext(ctx aws.Context, input *DescribeAcceleratorInput, opts ...request.Option) (*DescribeAcceleratorOutput, error) { + req, out := c.DescribeAcceleratorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAcceleratorAttributes = "DescribeAcceleratorAttributes" + +// DescribeAcceleratorAttributesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAcceleratorAttributes 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 DescribeAcceleratorAttributes for more information on using the DescribeAcceleratorAttributes +// 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 DescribeAcceleratorAttributesRequest method. +// req, resp := client.DescribeAcceleratorAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAcceleratorAttributes +func (c *GlobalAccelerator) DescribeAcceleratorAttributesRequest(input *DescribeAcceleratorAttributesInput) (req *request.Request, output *DescribeAcceleratorAttributesOutput) { + op := &request.Operation{ + Name: opDescribeAcceleratorAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeAcceleratorAttributesInput{} + } + + output = &DescribeAcceleratorAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAcceleratorAttributes API operation for AWS Global Accelerator. +// +// Describe the attributes of an accelerator. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation DescribeAcceleratorAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAcceleratorNotFoundException "AcceleratorNotFoundException" +// The accelerator that you specified doesn't exist. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// An argument that you specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAcceleratorAttributes +func (c *GlobalAccelerator) DescribeAcceleratorAttributes(input *DescribeAcceleratorAttributesInput) (*DescribeAcceleratorAttributesOutput, error) { + req, out := c.DescribeAcceleratorAttributesRequest(input) + return out, req.Send() +} + +// DescribeAcceleratorAttributesWithContext is the same as DescribeAcceleratorAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAcceleratorAttributes 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 *GlobalAccelerator) DescribeAcceleratorAttributesWithContext(ctx aws.Context, input *DescribeAcceleratorAttributesInput, opts ...request.Option) (*DescribeAcceleratorAttributesOutput, error) { + req, out := c.DescribeAcceleratorAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeEndpointGroup = "DescribeEndpointGroup" + +// DescribeEndpointGroupRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEndpointGroup 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 DescribeEndpointGroup for more information on using the DescribeEndpointGroup +// 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 DescribeEndpointGroupRequest method. +// req, resp := client.DescribeEndpointGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeEndpointGroup +func (c *GlobalAccelerator) DescribeEndpointGroupRequest(input *DescribeEndpointGroupInput) (req *request.Request, output *DescribeEndpointGroupOutput) { + op := &request.Operation{ + Name: opDescribeEndpointGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEndpointGroupInput{} + } + + output = &DescribeEndpointGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEndpointGroup API operation for AWS Global Accelerator. +// +// Describe an endpoint 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 AWS Global Accelerator's +// API operation DescribeEndpointGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEndpointGroupNotFoundException "EndpointGroupNotFoundException" +// The endpoint group that you specified doesn't exist. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeEndpointGroup +func (c *GlobalAccelerator) DescribeEndpointGroup(input *DescribeEndpointGroupInput) (*DescribeEndpointGroupOutput, error) { + req, out := c.DescribeEndpointGroupRequest(input) + return out, req.Send() +} + +// DescribeEndpointGroupWithContext is the same as DescribeEndpointGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEndpointGroup 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 *GlobalAccelerator) DescribeEndpointGroupWithContext(ctx aws.Context, input *DescribeEndpointGroupInput, opts ...request.Option) (*DescribeEndpointGroupOutput, error) { + req, out := c.DescribeEndpointGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeListener = "DescribeListener" + +// DescribeListenerRequest generates a "aws/request.Request" representing the +// client's request for the DescribeListener 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 DescribeListener for more information on using the DescribeListener +// 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 DescribeListenerRequest method. +// req, resp := client.DescribeListenerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeListener +func (c *GlobalAccelerator) DescribeListenerRequest(input *DescribeListenerInput) (req *request.Request, output *DescribeListenerOutput) { + op := &request.Operation{ + Name: opDescribeListener, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeListenerInput{} + } + + output = &DescribeListenerOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeListener API operation for AWS Global Accelerator. +// +// Describe a listener. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation DescribeListener for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// An argument that you specified is invalid. +// +// * ErrCodeListenerNotFoundException "ListenerNotFoundException" +// The listener that you specified doesn't exist. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeListener +func (c *GlobalAccelerator) DescribeListener(input *DescribeListenerInput) (*DescribeListenerOutput, error) { + req, out := c.DescribeListenerRequest(input) + return out, req.Send() +} + +// DescribeListenerWithContext is the same as DescribeListener with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeListener 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 *GlobalAccelerator) DescribeListenerWithContext(ctx aws.Context, input *DescribeListenerInput, opts ...request.Option) (*DescribeListenerOutput, error) { + req, out := c.DescribeListenerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListAccelerators = "ListAccelerators" + +// ListAcceleratorsRequest generates a "aws/request.Request" representing the +// client's request for the ListAccelerators 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 ListAccelerators for more information on using the ListAccelerators +// 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 ListAcceleratorsRequest method. +// req, resp := client.ListAcceleratorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListAccelerators +func (c *GlobalAccelerator) ListAcceleratorsRequest(input *ListAcceleratorsInput) (req *request.Request, output *ListAcceleratorsOutput) { + op := &request.Operation{ + Name: opListAccelerators, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListAcceleratorsInput{} + } + + output = &ListAcceleratorsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAccelerators API operation for AWS Global Accelerator. +// +// List the accelerators for 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 AWS Global Accelerator's +// API operation ListAccelerators for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// There isn't another item to return. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListAccelerators +func (c *GlobalAccelerator) ListAccelerators(input *ListAcceleratorsInput) (*ListAcceleratorsOutput, error) { + req, out := c.ListAcceleratorsRequest(input) + return out, req.Send() +} + +// ListAcceleratorsWithContext is the same as ListAccelerators with the addition of +// the ability to pass a context and additional request options. +// +// See ListAccelerators 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 *GlobalAccelerator) ListAcceleratorsWithContext(ctx aws.Context, input *ListAcceleratorsInput, opts ...request.Option) (*ListAcceleratorsOutput, error) { + req, out := c.ListAcceleratorsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListEndpointGroups = "ListEndpointGroups" + +// ListEndpointGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListEndpointGroups 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 ListEndpointGroups for more information on using the ListEndpointGroups +// 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 ListEndpointGroupsRequest method. +// req, resp := client.ListEndpointGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListEndpointGroups +func (c *GlobalAccelerator) ListEndpointGroupsRequest(input *ListEndpointGroupsInput) (req *request.Request, output *ListEndpointGroupsOutput) { + op := &request.Operation{ + Name: opListEndpointGroups, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListEndpointGroupsInput{} + } + + output = &ListEndpointGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEndpointGroups API operation for AWS Global Accelerator. +// +// List the endpoint groups that are associated with a listener. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation ListEndpointGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeListenerNotFoundException "ListenerNotFoundException" +// The listener that you specified doesn't exist. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// There isn't another item to return. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// An argument that you specified is invalid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListEndpointGroups +func (c *GlobalAccelerator) ListEndpointGroups(input *ListEndpointGroupsInput) (*ListEndpointGroupsOutput, error) { + req, out := c.ListEndpointGroupsRequest(input) + return out, req.Send() +} + +// ListEndpointGroupsWithContext is the same as ListEndpointGroups with the addition of +// the ability to pass a context and additional request options. +// +// See ListEndpointGroups 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 *GlobalAccelerator) ListEndpointGroupsWithContext(ctx aws.Context, input *ListEndpointGroupsInput, opts ...request.Option) (*ListEndpointGroupsOutput, error) { + req, out := c.ListEndpointGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListListeners = "ListListeners" + +// ListListenersRequest generates a "aws/request.Request" representing the +// client's request for the ListListeners 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 ListListeners for more information on using the ListListeners +// 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 ListListenersRequest method. +// req, resp := client.ListListenersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListListeners +func (c *GlobalAccelerator) ListListenersRequest(input *ListListenersInput) (req *request.Request, output *ListListenersOutput) { + op := &request.Operation{ + Name: opListListeners, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListListenersInput{} + } + + output = &ListListenersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListListeners API operation for AWS Global Accelerator. +// +// List the listeners for an accelerator. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation ListListeners for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAcceleratorNotFoundException "AcceleratorNotFoundException" +// The accelerator that you specified doesn't exist. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// There isn't another item to return. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListListeners +func (c *GlobalAccelerator) ListListeners(input *ListListenersInput) (*ListListenersOutput, error) { + req, out := c.ListListenersRequest(input) + return out, req.Send() +} + +// ListListenersWithContext is the same as ListListeners with the addition of +// the ability to pass a context and additional request options. +// +// See ListListeners 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 *GlobalAccelerator) ListListenersWithContext(ctx aws.Context, input *ListListenersInput, opts ...request.Option) (*ListListenersOutput, error) { + req, out := c.ListListenersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAccelerator = "UpdateAccelerator" + +// UpdateAcceleratorRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAccelerator 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 UpdateAccelerator for more information on using the UpdateAccelerator +// 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 UpdateAcceleratorRequest method. +// req, resp := client.UpdateAcceleratorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAccelerator +func (c *GlobalAccelerator) UpdateAcceleratorRequest(input *UpdateAcceleratorInput) (req *request.Request, output *UpdateAcceleratorOutput) { + op := &request.Operation{ + Name: opUpdateAccelerator, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateAcceleratorInput{} + } + + output = &UpdateAcceleratorOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAccelerator API operation for AWS Global Accelerator. +// +// Update an accelerator. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation UpdateAccelerator for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAcceleratorNotFoundException "AcceleratorNotFoundException" +// The accelerator that you specified doesn't exist. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// An argument that you specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAccelerator +func (c *GlobalAccelerator) UpdateAccelerator(input *UpdateAcceleratorInput) (*UpdateAcceleratorOutput, error) { + req, out := c.UpdateAcceleratorRequest(input) + return out, req.Send() +} + +// UpdateAcceleratorWithContext is the same as UpdateAccelerator with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAccelerator 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 *GlobalAccelerator) UpdateAcceleratorWithContext(ctx aws.Context, input *UpdateAcceleratorInput, opts ...request.Option) (*UpdateAcceleratorOutput, error) { + req, out := c.UpdateAcceleratorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAcceleratorAttributes = "UpdateAcceleratorAttributes" + +// UpdateAcceleratorAttributesRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAcceleratorAttributes 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 UpdateAcceleratorAttributes for more information on using the UpdateAcceleratorAttributes +// 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 UpdateAcceleratorAttributesRequest method. +// req, resp := client.UpdateAcceleratorAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAcceleratorAttributes +func (c *GlobalAccelerator) UpdateAcceleratorAttributesRequest(input *UpdateAcceleratorAttributesInput) (req *request.Request, output *UpdateAcceleratorAttributesOutput) { + op := &request.Operation{ + Name: opUpdateAcceleratorAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateAcceleratorAttributesInput{} + } + + output = &UpdateAcceleratorAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAcceleratorAttributes API operation for AWS Global Accelerator. +// +// Update the attributes for an accelerator. To see an AWS CLI example of updating +// an accelerator to enable flow logs, scroll down to Example. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation UpdateAcceleratorAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAcceleratorNotFoundException "AcceleratorNotFoundException" +// The accelerator that you specified doesn't exist. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// An argument that you specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAcceleratorAttributes +func (c *GlobalAccelerator) UpdateAcceleratorAttributes(input *UpdateAcceleratorAttributesInput) (*UpdateAcceleratorAttributesOutput, error) { + req, out := c.UpdateAcceleratorAttributesRequest(input) + return out, req.Send() +} + +// UpdateAcceleratorAttributesWithContext is the same as UpdateAcceleratorAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAcceleratorAttributes 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 *GlobalAccelerator) UpdateAcceleratorAttributesWithContext(ctx aws.Context, input *UpdateAcceleratorAttributesInput, opts ...request.Option) (*UpdateAcceleratorAttributesOutput, error) { + req, out := c.UpdateAcceleratorAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateEndpointGroup = "UpdateEndpointGroup" + +// UpdateEndpointGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEndpointGroup 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 UpdateEndpointGroup for more information on using the UpdateEndpointGroup +// 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 UpdateEndpointGroupRequest method. +// req, resp := client.UpdateEndpointGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateEndpointGroup +func (c *GlobalAccelerator) UpdateEndpointGroupRequest(input *UpdateEndpointGroupInput) (req *request.Request, output *UpdateEndpointGroupOutput) { + op := &request.Operation{ + Name: opUpdateEndpointGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateEndpointGroupInput{} + } + + output = &UpdateEndpointGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateEndpointGroup API operation for AWS Global Accelerator. +// +// Update an endpoint group. To see an AWS CLI example of updating an endpoint +// group, scroll down to Example. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation UpdateEndpointGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// An argument that you specified is invalid. +// +// * ErrCodeEndpointGroupNotFoundException "EndpointGroupNotFoundException" +// The endpoint group that you specified doesn't exist. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateEndpointGroup +func (c *GlobalAccelerator) UpdateEndpointGroup(input *UpdateEndpointGroupInput) (*UpdateEndpointGroupOutput, error) { + req, out := c.UpdateEndpointGroupRequest(input) + return out, req.Send() +} + +// UpdateEndpointGroupWithContext is the same as UpdateEndpointGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateEndpointGroup 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 *GlobalAccelerator) UpdateEndpointGroupWithContext(ctx aws.Context, input *UpdateEndpointGroupInput, opts ...request.Option) (*UpdateEndpointGroupOutput, error) { + req, out := c.UpdateEndpointGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateListener = "UpdateListener" + +// UpdateListenerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateListener 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 UpdateListener for more information on using the UpdateListener +// 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 UpdateListenerRequest method. +// req, resp := client.UpdateListenerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateListener +func (c *GlobalAccelerator) UpdateListenerRequest(input *UpdateListenerInput) (req *request.Request, output *UpdateListenerOutput) { + op := &request.Operation{ + Name: opUpdateListener, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateListenerInput{} + } + + output = &UpdateListenerOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateListener API operation for AWS Global Accelerator. +// +// Update a listener. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Global Accelerator's +// API operation UpdateListener for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// An argument that you specified is invalid. +// +// * ErrCodeInvalidPortRangeException "InvalidPortRangeException" +// The port numbers that you specified are not valid numbers or are not unique +// for this accelerator. +// +// * ErrCodeListenerNotFoundException "ListenerNotFoundException" +// The listener that you specified doesn't exist. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// There was an internal error for AWS Global Accelerator. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// Processing your request would cause you to exceed an AWS Global Accelerator +// limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateListener +func (c *GlobalAccelerator) UpdateListener(input *UpdateListenerInput) (*UpdateListenerOutput, error) { + req, out := c.UpdateListenerRequest(input) + return out, req.Send() +} + +// UpdateListenerWithContext is the same as UpdateListener with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateListener 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 *GlobalAccelerator) UpdateListenerWithContext(ctx aws.Context, input *UpdateListenerInput, opts ...request.Option) (*UpdateListenerOutput, error) { + req, out := c.UpdateListenerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// An accelerator is a complex type that includes one or more listeners that +// process inbound connections and then direct traffic to one or more endpoint +// groups, each of which includes endpoints, such as load balancers. +type Accelerator struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the accelerator. + AcceleratorArn *string `type:"string"` + + // The date and time that the accelerator was created. + CreatedTime *time.Time `type:"timestamp"` + + // Indicates whether theaccelerator is enabled. The value is true or false. + // The default value is true. + // + // If the value is set to true, the accelerator cannot be deleted. If set to + // false, accelerator can be deleted. + Enabled *bool `type:"boolean"` + + // The value for the address type must be IPv4. + IpAddressType *string `type:"string" enum:"IpAddressType"` + + // IP address set associated with the accelerator. + IpSets []*IpSet `type:"list"` + + // The date and time that the accelerator was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // The name of the accelerator. The name can have a maximum of 32 characters, + // must contain only alphanumeric characters or hyphens (-), and must not begin + // or end with a hyphen. + Name *string `type:"string"` + + // Describes the deployment status of the accelerator. + Status *string `type:"string" enum:"AcceleratorStatus"` +} + +// String returns the string representation +func (s Accelerator) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Accelerator) GoString() string { + return s.String() +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *Accelerator) SetAcceleratorArn(v string) *Accelerator { + s.AcceleratorArn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *Accelerator) SetCreatedTime(v time.Time) *Accelerator { + s.CreatedTime = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *Accelerator) SetEnabled(v bool) *Accelerator { + s.Enabled = &v + return s +} + +// SetIpAddressType sets the IpAddressType field's value. +func (s *Accelerator) SetIpAddressType(v string) *Accelerator { + s.IpAddressType = &v + return s +} + +// SetIpSets sets the IpSets field's value. +func (s *Accelerator) SetIpSets(v []*IpSet) *Accelerator { + s.IpSets = v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *Accelerator) SetLastModifiedTime(v time.Time) *Accelerator { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Accelerator) SetName(v string) *Accelerator { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Accelerator) SetStatus(v string) *Accelerator { + s.Status = &v + return s +} + +// Attributes of an accelerator. +type AcceleratorAttributes struct { + _ struct{} `type:"structure"` + + // Indicates whether flow logs are enabled. The default value is false. If the + // value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified. + // + // For more information, see Flow Logs (https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html) + // in the AWS Global Accelerator Developer Guide. + FlowLogsEnabled *bool `type:"boolean"` + + // The name of the Amazon S3 bucket for the flow logs. Attribute is required + // if FlowLogsEnabled is true. The bucket must exist and have a bucket policy + // that grants AWS Global Accelerator permission to write to the bucket. + FlowLogsS3Bucket *string `type:"string"` + + // The prefix for the location in the Amazon S3 bucket for the flow logs. Attribute + // is required if FlowLogsEnabled is true. If you don’t specify a prefix, the + // flow logs are stored in the root of the bucket. + FlowLogsS3Prefix *string `type:"string"` +} + +// String returns the string representation +func (s AcceleratorAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceleratorAttributes) GoString() string { + return s.String() +} + +// SetFlowLogsEnabled sets the FlowLogsEnabled field's value. +func (s *AcceleratorAttributes) SetFlowLogsEnabled(v bool) *AcceleratorAttributes { + s.FlowLogsEnabled = &v + return s +} + +// SetFlowLogsS3Bucket sets the FlowLogsS3Bucket field's value. +func (s *AcceleratorAttributes) SetFlowLogsS3Bucket(v string) *AcceleratorAttributes { + s.FlowLogsS3Bucket = &v + return s +} + +// SetFlowLogsS3Prefix sets the FlowLogsS3Prefix field's value. +func (s *AcceleratorAttributes) SetFlowLogsS3Prefix(v string) *AcceleratorAttributes { + s.FlowLogsS3Prefix = &v + return s +} + +type CreateAcceleratorInput struct { + _ struct{} `type:"structure"` + + // Indicates whether an accelerator is enabled. The value is true or false. + // The default value is true. + // + // If the value is set to true, an accelerator cannot be deleted. If set to + // false, the accelerator can be deleted. + Enabled *bool `type:"boolean"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency—that + // is, the uniqueness—of an accelerator. + // + // IdempotencyToken is a required field + IdempotencyToken *string `type:"string" required:"true"` + + // The value for the address type must be IPv4. + IpAddressType *string `type:"string" enum:"IpAddressType"` + + // The name of an accelerator. The name can have a maximum of 32 characters, + // must contain only alphanumeric characters or hyphens (-), and must not begin + // or end with a hyphen. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateAcceleratorInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAcceleratorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAcceleratorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAcceleratorInput"} + if s.IdempotencyToken == nil { + invalidParams.Add(request.NewErrParamRequired("IdempotencyToken")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *CreateAcceleratorInput) SetEnabled(v bool) *CreateAcceleratorInput { + s.Enabled = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateAcceleratorInput) SetIdempotencyToken(v string) *CreateAcceleratorInput { + s.IdempotencyToken = &v + return s +} + +// SetIpAddressType sets the IpAddressType field's value. +func (s *CreateAcceleratorInput) SetIpAddressType(v string) *CreateAcceleratorInput { + s.IpAddressType = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateAcceleratorInput) SetName(v string) *CreateAcceleratorInput { + s.Name = &v + return s +} + +type CreateAcceleratorOutput struct { + _ struct{} `type:"structure"` + + // The accelerator that is created by specifying a listener and the supported + // IP address types. + Accelerator *Accelerator `type:"structure"` +} + +// String returns the string representation +func (s CreateAcceleratorOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAcceleratorOutput) GoString() string { + return s.String() +} + +// SetAccelerator sets the Accelerator field's value. +func (s *CreateAcceleratorOutput) SetAccelerator(v *Accelerator) *CreateAcceleratorOutput { + s.Accelerator = v + return s +} + +type CreateEndpointGroupInput struct { + _ struct{} `type:"structure"` + + // The list of endpoint objects. + EndpointConfigurations []*EndpointConfiguration `type:"list"` + + // The name of the AWS Region where the endpoint group is located. A listener + // can have only one endpoint group in a specific Region. + // + // EndpointGroupRegion is a required field + EndpointGroupRegion *string `type:"string" required:"true"` + + // The time—10 seconds or 30 seconds—between each health check for an endpoint. + // The default value is 30. + HealthCheckIntervalSeconds *int64 `min:"10" type:"integer"` + + // If the protocol is HTTP/S, then this specifies the path that is the destination + // for health check targets. The default value is slash (/). + HealthCheckPath *string `type:"string"` + + // The port that AWS Global Accelerator uses to check the health of endpoints + // that are part of this endpoint group. The default port is the listener port + // that this endpoint group is associated with. If listener port is a list of + // ports, Global Accelerator uses the first port in the list. + HealthCheckPort *int64 `min:"1" type:"integer"` + + // The protocol that AWS Global Accelerator uses to check the health of endpoints + // that are part of this endpoint group. The default value is TCP. + HealthCheckProtocol *string `type:"string" enum:"HealthCheckProtocol"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency—that + // is, the uniqueness—of the request. + // + // IdempotencyToken is a required field + IdempotencyToken *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the listener. + // + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` + + // The number of consecutive health checks required to set the state of a healthy + // endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default + // value is 3. + ThresholdCount *int64 `min:"1" type:"integer"` + + // The percentage of traffic to send to an AWS Region. Additional traffic is + // distributed to other endpoint groups for this listener. + // + // Use this action to increase (dial up) or decrease (dial down) traffic to + // a specific Region. The percentage is applied to the traffic that would otherwise + // have been routed to the Region based on optimal routing. + // + // The default value is 100. + TrafficDialPercentage *float64 `type:"float"` +} + +// String returns the string representation +func (s CreateEndpointGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEndpointGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEndpointGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEndpointGroupInput"} + if s.EndpointGroupRegion == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupRegion")) + } + if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 10 { + invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 10)) + } + if s.HealthCheckPort != nil && *s.HealthCheckPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("HealthCheckPort", 1)) + } + if s.IdempotencyToken == nil { + invalidParams.Add(request.NewErrParamRequired("IdempotencyToken")) + } + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) + } + if s.ThresholdCount != nil && *s.ThresholdCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("ThresholdCount", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointConfigurations sets the EndpointConfigurations field's value. +func (s *CreateEndpointGroupInput) SetEndpointConfigurations(v []*EndpointConfiguration) *CreateEndpointGroupInput { + s.EndpointConfigurations = v + return s +} + +// SetEndpointGroupRegion sets the EndpointGroupRegion field's value. +func (s *CreateEndpointGroupInput) SetEndpointGroupRegion(v string) *CreateEndpointGroupInput { + s.EndpointGroupRegion = &v + return s +} + +// SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value. +func (s *CreateEndpointGroupInput) SetHealthCheckIntervalSeconds(v int64) *CreateEndpointGroupInput { + s.HealthCheckIntervalSeconds = &v + return s +} + +// SetHealthCheckPath sets the HealthCheckPath field's value. +func (s *CreateEndpointGroupInput) SetHealthCheckPath(v string) *CreateEndpointGroupInput { + s.HealthCheckPath = &v + return s +} + +// SetHealthCheckPort sets the HealthCheckPort field's value. +func (s *CreateEndpointGroupInput) SetHealthCheckPort(v int64) *CreateEndpointGroupInput { + s.HealthCheckPort = &v + return s +} + +// SetHealthCheckProtocol sets the HealthCheckProtocol field's value. +func (s *CreateEndpointGroupInput) SetHealthCheckProtocol(v string) *CreateEndpointGroupInput { + s.HealthCheckProtocol = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateEndpointGroupInput) SetIdempotencyToken(v string) *CreateEndpointGroupInput { + s.IdempotencyToken = &v + return s +} + +// SetListenerArn sets the ListenerArn field's value. +func (s *CreateEndpointGroupInput) SetListenerArn(v string) *CreateEndpointGroupInput { + s.ListenerArn = &v + return s +} + +// SetThresholdCount sets the ThresholdCount field's value. +func (s *CreateEndpointGroupInput) SetThresholdCount(v int64) *CreateEndpointGroupInput { + s.ThresholdCount = &v + return s +} + +// SetTrafficDialPercentage sets the TrafficDialPercentage field's value. +func (s *CreateEndpointGroupInput) SetTrafficDialPercentage(v float64) *CreateEndpointGroupInput { + s.TrafficDialPercentage = &v + return s +} + +type CreateEndpointGroupOutput struct { + _ struct{} `type:"structure"` + + // The information about the endpoint group that was created. + EndpointGroup *EndpointGroup `type:"structure"` +} + +// String returns the string representation +func (s CreateEndpointGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEndpointGroupOutput) GoString() string { + return s.String() +} + +// SetEndpointGroup sets the EndpointGroup field's value. +func (s *CreateEndpointGroupOutput) SetEndpointGroup(v *EndpointGroup) *CreateEndpointGroupOutput { + s.EndpointGroup = v + return s +} + +type CreateListenerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of your accelerator. + // + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` + + // Client affinity lets you direct all requests from a user to the same endpoint, + // if you have stateful applications, regardless of the port and protocol of + // the client request. Clienty affinity gives you control over whether to always + // route each client to the same specific endpoint. + // + // AWS Global Accelerator uses a consistent-flow hashing algorithm to choose + // the optimal endpoint for a connection. If client affinity is NONE, Global + // Accelerator uses the "five-tuple" (5-tuple) properties—source IP address, + // source port, destination IP address, destination port, and protocol—to select + // the hash value, and then chooses the best endpoint. However, with this setting, + // if someone uses different ports to connect to Global Accelerator, their connections + // might not be always routed to the same endpoint because the hash value changes. + // + // If you want a given client to always be routed to the same endpoint, set + // client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, + // Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) + // IP address and destination IP address—to select the hash value. + // + // The default value is NONE. + ClientAffinity *string `type:"string" enum:"ClientAffinity"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency—that + // is, the uniqueness—of the request. + // + // IdempotencyToken is a required field + IdempotencyToken *string `type:"string" required:"true"` + + // The list of port ranges to support for connections from clients to your accelerator. + // + // PortRanges is a required field + PortRanges []*PortRange `min:"1" type:"list" required:"true"` + + // The protocol for connections from clients to your accelerator. + // + // Protocol is a required field + Protocol *string `type:"string" required:"true" enum:"Protocol"` +} + +// String returns the string representation +func (s CreateListenerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateListenerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateListenerInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) + } + if s.IdempotencyToken == nil { + invalidParams.Add(request.NewErrParamRequired("IdempotencyToken")) + } + if s.PortRanges == nil { + invalidParams.Add(request.NewErrParamRequired("PortRanges")) + } + if s.PortRanges != nil && len(s.PortRanges) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PortRanges", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.PortRanges != nil { + for i, v := range s.PortRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortRanges", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *CreateListenerInput) SetAcceleratorArn(v string) *CreateListenerInput { + s.AcceleratorArn = &v + return s +} + +// SetClientAffinity sets the ClientAffinity field's value. +func (s *CreateListenerInput) SetClientAffinity(v string) *CreateListenerInput { + s.ClientAffinity = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateListenerInput) SetIdempotencyToken(v string) *CreateListenerInput { + s.IdempotencyToken = &v + return s +} + +// SetPortRanges sets the PortRanges field's value. +func (s *CreateListenerInput) SetPortRanges(v []*PortRange) *CreateListenerInput { + s.PortRanges = v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *CreateListenerInput) SetProtocol(v string) *CreateListenerInput { + s.Protocol = &v + return s +} + +type CreateListenerOutput struct { + _ struct{} `type:"structure"` + + // The listener that you've created. + Listener *Listener `type:"structure"` +} + +// String returns the string representation +func (s CreateListenerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateListenerOutput) GoString() string { + return s.String() +} + +// SetListener sets the Listener field's value. +func (s *CreateListenerOutput) SetListener(v *Listener) *CreateListenerOutput { + s.Listener = v + return s +} + +type DeleteAcceleratorInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of an accelerator. + // + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAcceleratorInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAcceleratorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAcceleratorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAcceleratorInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *DeleteAcceleratorInput) SetAcceleratorArn(v string) *DeleteAcceleratorInput { + s.AcceleratorArn = &v + return s +} + +type DeleteAcceleratorOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteAcceleratorOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAcceleratorOutput) GoString() string { + return s.String() +} + +type DeleteEndpointGroupInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the endpoint group to delete. + // + // EndpointGroupArn is a required field + EndpointGroupArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEndpointGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEndpointGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEndpointGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointGroupInput"} + if s.EndpointGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *DeleteEndpointGroupInput) SetEndpointGroupArn(v string) *DeleteEndpointGroupInput { + s.EndpointGroupArn = &v + return s +} + +type DeleteEndpointGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteEndpointGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEndpointGroupOutput) GoString() string { + return s.String() +} + +type DeleteListenerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the listener. + // + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteListenerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteListenerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteListenerInput"} + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetListenerArn sets the ListenerArn field's value. +func (s *DeleteListenerInput) SetListenerArn(v string) *DeleteListenerInput { + s.ListenerArn = &v + return s +} + +type DeleteListenerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteListenerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteListenerOutput) GoString() string { + return s.String() +} + +type DescribeAcceleratorAttributesInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the accelerator with the attributes that + // you want to describe. Value is required. + AcceleratorArn *string `type:"string"` +} + +// String returns the string representation +func (s DescribeAcceleratorAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAcceleratorAttributesInput) GoString() string { + return s.String() +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *DescribeAcceleratorAttributesInput) SetAcceleratorArn(v string) *DescribeAcceleratorAttributesInput { + s.AcceleratorArn = &v + return s +} + +type DescribeAcceleratorAttributesOutput struct { + _ struct{} `type:"structure"` + + // The attributes of the accelerator. + AcceleratorAttributes *AcceleratorAttributes `type:"structure"` +} + +// String returns the string representation +func (s DescribeAcceleratorAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAcceleratorAttributesOutput) GoString() string { + return s.String() +} + +// SetAcceleratorAttributes sets the AcceleratorAttributes field's value. +func (s *DescribeAcceleratorAttributesOutput) SetAcceleratorAttributes(v *AcceleratorAttributes) *DescribeAcceleratorAttributesOutput { + s.AcceleratorAttributes = v + return s +} + +type DescribeAcceleratorInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the accelerator to describe. + // + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeAcceleratorInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAcceleratorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAcceleratorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAcceleratorInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *DescribeAcceleratorInput) SetAcceleratorArn(v string) *DescribeAcceleratorInput { + s.AcceleratorArn = &v + return s +} + +type DescribeAcceleratorOutput struct { + _ struct{} `type:"structure"` + + // The description of the accelerator. + Accelerator *Accelerator `type:"structure"` +} + +// String returns the string representation +func (s DescribeAcceleratorOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAcceleratorOutput) GoString() string { + return s.String() +} + +// SetAccelerator sets the Accelerator field's value. +func (s *DescribeAcceleratorOutput) SetAccelerator(v *Accelerator) *DescribeAcceleratorOutput { + s.Accelerator = v + return s +} + +type DescribeEndpointGroupInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the endpoint group to describe. + // + // EndpointGroupArn is a required field + EndpointGroupArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeEndpointGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEndpointGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEndpointGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEndpointGroupInput"} + if s.EndpointGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *DescribeEndpointGroupInput) SetEndpointGroupArn(v string) *DescribeEndpointGroupInput { + s.EndpointGroupArn = &v + return s +} + +type DescribeEndpointGroupOutput struct { + _ struct{} `type:"structure"` + + // The description of an endpoint group. + EndpointGroup *EndpointGroup `type:"structure"` +} + +// String returns the string representation +func (s DescribeEndpointGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEndpointGroupOutput) GoString() string { + return s.String() +} + +// SetEndpointGroup sets the EndpointGroup field's value. +func (s *DescribeEndpointGroupOutput) SetEndpointGroup(v *EndpointGroup) *DescribeEndpointGroupOutput { + s.EndpointGroup = v + return s +} + +type DescribeListenerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the listener to describe. + // + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeListenerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeListenerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeListenerInput"} + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetListenerArn sets the ListenerArn field's value. +func (s *DescribeListenerInput) SetListenerArn(v string) *DescribeListenerInput { + s.ListenerArn = &v + return s +} + +type DescribeListenerOutput struct { + _ struct{} `type:"structure"` + + // The description of a listener. + Listener *Listener `type:"structure"` +} + +// String returns the string representation +func (s DescribeListenerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeListenerOutput) GoString() string { + return s.String() +} + +// SetListener sets the Listener field's value. +func (s *DescribeListenerOutput) SetListener(v *Listener) *DescribeListenerOutput { + s.Listener = v + return s +} + +// A complex type for endpoints. +type EndpointConfiguration struct { + _ struct{} `type:"structure"` + + // An ID for the endpoint. If the endpoint is a Network Load Balancer or Application + // Load Balancer, this is the Amazon Resource Name (ARN) of the resource. If + // the endpoint is an Elastic IP address, this is the Elastic IP address allocation + // ID. + EndpointId *string `type:"string"` + + // The weight associated with the endpoint. When you add weights to endpoints, + // you configure AWS Global Accelerator to route traffic based on proportions + // that you specify. For example, you might specify endpoint weights of 4, 5, + // 5, and 6 (sum=20). The result is that 4/20 of your traffic, on average, is + // routed to the first endpoint, 5/20 is routed both to the second and third + // endpoints, and 6/20 is routed to the last endpoint. For more information, + // see Endpoint Weights (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html) + // in the AWS Global Accelerator Developer Guide. + Weight *int64 `type:"integer"` +} + +// String returns the string representation +func (s EndpointConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EndpointConfiguration) GoString() string { + return s.String() +} + +// SetEndpointId sets the EndpointId field's value. +func (s *EndpointConfiguration) SetEndpointId(v string) *EndpointConfiguration { + s.EndpointId = &v + return s +} + +// SetWeight sets the Weight field's value. +func (s *EndpointConfiguration) SetWeight(v int64) *EndpointConfiguration { + s.Weight = &v + return s +} + +// A complex type for an endpoint. Each endpoint group can include one or more +// endpoints, such as load balancers. +type EndpointDescription struct { + _ struct{} `type:"structure"` + + // An ID for the endpoint. If the endpoint is a Network Load Balancer or Application + // Load Balancer, this is the Amazon Resource Name (ARN) of the resource. If + // the endpoint is an Elastic IP address, this is the Elastic IP address allocation + // ID. + EndpointId *string `type:"string"` + + // The reason code associated with why the endpoint is not healthy. If the endpoint + // state is healthy, a reason code is not provided. + // + // If the endpoint state is unhealthy, the reason code can be one of the following + // values: + // + // * Timeout: The health check requests to the endpoint are timing out before + // returning a status. + // + // * Failed: The health check failed, for example because the endpoint response + // was invalid (malformed). + // + // If the endpoint state is initial, the reason code can be one of the following + // values: + // + // * ProvisioningInProgress: The endpoint is in the process of being provisioned. + // + // * InitialHealthChecking: Global Accelerator is still setting up the minimum + // number of health checks for the endpoint that are required to determine + // its health status. + HealthReason *string `type:"string"` + + // The health status of the endpoint. + HealthState *string `type:"string" enum:"HealthState"` + + // The weight associated with the endpoint. When you add weights to endpoints, + // you configure AWS Global Accelerator to route traffic based on proportions + // that you specify. For example, you might specify endpoint weights of 4, 5, + // 5, and 6 (sum=20). The result is that 4/20 of your traffic, on average, is + // routed to the first endpoint, 5/20 is routed both to the second and third + // endpoints, and 6/20 is routed to the last endpoint. For more information, + // see Endpoint Weights (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html) + // in the AWS Global Accelerator Developer Guide. + Weight *int64 `type:"integer"` +} + +// String returns the string representation +func (s EndpointDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EndpointDescription) GoString() string { + return s.String() +} + +// SetEndpointId sets the EndpointId field's value. +func (s *EndpointDescription) SetEndpointId(v string) *EndpointDescription { + s.EndpointId = &v + return s +} + +// SetHealthReason sets the HealthReason field's value. +func (s *EndpointDescription) SetHealthReason(v string) *EndpointDescription { + s.HealthReason = &v + return s +} + +// SetHealthState sets the HealthState field's value. +func (s *EndpointDescription) SetHealthState(v string) *EndpointDescription { + s.HealthState = &v + return s +} + +// SetWeight sets the Weight field's value. +func (s *EndpointDescription) SetWeight(v int64) *EndpointDescription { + s.Weight = &v + return s +} + +// A complex type for the endpoint group. An AWS Region can have only one endpoint +// group for a specific listener. +type EndpointGroup struct { + _ struct{} `type:"structure"` + + // The list of endpoint objects. + EndpointDescriptions []*EndpointDescription `type:"list"` + + // The Amazon Resource Name (ARN) of the endpoint group. + EndpointGroupArn *string `type:"string"` + + // The AWS Region that this endpoint group belongs. + EndpointGroupRegion *string `type:"string"` + + // The time—10 seconds or 30 seconds—between health checks for each endpoint. + // The default value is 30. + HealthCheckIntervalSeconds *int64 `min:"10" type:"integer"` + + // If the protocol is HTTP/S, then this value provides the ping path that Global + // Accelerator uses for the destination on the endpoints for health checks. + // The default is slash (/). + HealthCheckPath *string `type:"string"` + + // The port that Global Accelerator uses to perform health checks on endpoints + // that are part of this endpoint group. + // + // The default port is the port for the listener that this endpoint group is + // associated with. If the listener port is a list, Global Accelerator uses + // the first specified port in the list of ports. + HealthCheckPort *int64 `min:"1" type:"integer"` + + // The protocol that Global Accelerator uses to perform health checks on endpoints + // that are part of this endpoint group. The default value is TCP. + HealthCheckProtocol *string `type:"string" enum:"HealthCheckProtocol"` + + // The number of consecutive health checks required to set the state of a healthy + // endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default + // value is 3. + ThresholdCount *int64 `min:"1" type:"integer"` + + // The percentage of traffic to send to an AWS Region. Additional traffic is + // distributed to other endpoint groups for this listener. + // + // Use this action to increase (dial up) or decrease (dial down) traffic to + // a specific Region. The percentage is applied to the traffic that would otherwise + // have been routed to the Region based on optimal routing. + // + // The default value is 100. + TrafficDialPercentage *float64 `type:"float"` +} + +// String returns the string representation +func (s EndpointGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EndpointGroup) GoString() string { + return s.String() +} + +// SetEndpointDescriptions sets the EndpointDescriptions field's value. +func (s *EndpointGroup) SetEndpointDescriptions(v []*EndpointDescription) *EndpointGroup { + s.EndpointDescriptions = v + return s +} + +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *EndpointGroup) SetEndpointGroupArn(v string) *EndpointGroup { + s.EndpointGroupArn = &v + return s +} + +// SetEndpointGroupRegion sets the EndpointGroupRegion field's value. +func (s *EndpointGroup) SetEndpointGroupRegion(v string) *EndpointGroup { + s.EndpointGroupRegion = &v + return s +} + +// SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value. +func (s *EndpointGroup) SetHealthCheckIntervalSeconds(v int64) *EndpointGroup { + s.HealthCheckIntervalSeconds = &v + return s +} + +// SetHealthCheckPath sets the HealthCheckPath field's value. +func (s *EndpointGroup) SetHealthCheckPath(v string) *EndpointGroup { + s.HealthCheckPath = &v + return s +} + +// SetHealthCheckPort sets the HealthCheckPort field's value. +func (s *EndpointGroup) SetHealthCheckPort(v int64) *EndpointGroup { + s.HealthCheckPort = &v + return s +} + +// SetHealthCheckProtocol sets the HealthCheckProtocol field's value. +func (s *EndpointGroup) SetHealthCheckProtocol(v string) *EndpointGroup { + s.HealthCheckProtocol = &v + return s +} + +// SetThresholdCount sets the ThresholdCount field's value. +func (s *EndpointGroup) SetThresholdCount(v int64) *EndpointGroup { + s.ThresholdCount = &v + return s +} + +// SetTrafficDialPercentage sets the TrafficDialPercentage field's value. +func (s *EndpointGroup) SetTrafficDialPercentage(v float64) *EndpointGroup { + s.TrafficDialPercentage = &v + return s +} + +// A complex type for the set of IP addresses for an accelerator. +type IpSet struct { + _ struct{} `type:"structure"` + + // The array of IP addresses in the IP address set. An IP address set can have + // a maximum of two IP addresses. + IpAddresses []*string `type:"list"` + + // The types of IP addresses included in this IP set. + IpFamily *string `type:"string"` +} + +// String returns the string representation +func (s IpSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IpSet) GoString() string { + return s.String() +} + +// SetIpAddresses sets the IpAddresses field's value. +func (s *IpSet) SetIpAddresses(v []*string) *IpSet { + s.IpAddresses = v + return s +} + +// SetIpFamily sets the IpFamily field's value. +func (s *IpSet) SetIpFamily(v string) *IpSet { + s.IpFamily = &v + return s +} + +type ListAcceleratorsInput struct { + _ struct{} `type:"structure"` + + // The number of Global Accelerator objects that you want to return with this + // call. The default value is 10. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListAcceleratorsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAcceleratorsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAcceleratorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAcceleratorsInput"} + 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 *ListAcceleratorsInput) SetMaxResults(v int64) *ListAcceleratorsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAcceleratorsInput) SetNextToken(v string) *ListAcceleratorsInput { + s.NextToken = &v + return s +} + +type ListAcceleratorsOutput struct { + _ struct{} `type:"structure"` + + // The list of accelerators for a customer account. + Accelerators []*Accelerator `type:"list"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListAcceleratorsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAcceleratorsOutput) GoString() string { + return s.String() +} + +// SetAccelerators sets the Accelerators field's value. +func (s *ListAcceleratorsOutput) SetAccelerators(v []*Accelerator) *ListAcceleratorsOutput { + s.Accelerators = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAcceleratorsOutput) SetNextToken(v string) *ListAcceleratorsOutput { + s.NextToken = &v + return s +} + +type ListEndpointGroupsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the listener. + // + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` + + // The number of endpoint group objects that you want to return with this call. + // The default value is 10. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListEndpointGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEndpointGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEndpointGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEndpointGroupsInput"} + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetListenerArn sets the ListenerArn field's value. +func (s *ListEndpointGroupsInput) SetListenerArn(v string) *ListEndpointGroupsInput { + s.ListenerArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEndpointGroupsInput) SetMaxResults(v int64) *ListEndpointGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEndpointGroupsInput) SetNextToken(v string) *ListEndpointGroupsInput { + s.NextToken = &v + return s +} + +type ListEndpointGroupsOutput struct { + _ struct{} `type:"structure"` + + // The list of the endpoint groups associated with a listener. + EndpointGroups []*EndpointGroup `type:"list"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListEndpointGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEndpointGroupsOutput) GoString() string { + return s.String() +} + +// SetEndpointGroups sets the EndpointGroups field's value. +func (s *ListEndpointGroupsOutput) SetEndpointGroups(v []*EndpointGroup) *ListEndpointGroupsOutput { + s.EndpointGroups = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEndpointGroupsOutput) SetNextToken(v string) *ListEndpointGroupsOutput { + s.NextToken = &v + return s +} + +type ListListenersInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the accelerator for which you want to list + // listener objects. + // + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` + + // The number of listener objects that you want to return with this call. The + // default value is 10. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListListenersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListListenersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListListenersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListListenersInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *ListListenersInput) SetAcceleratorArn(v string) *ListListenersInput { + s.AcceleratorArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListListenersInput) SetMaxResults(v int64) *ListListenersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListListenersInput) SetNextToken(v string) *ListListenersInput { + s.NextToken = &v + return s +} + +type ListListenersOutput struct { + _ struct{} `type:"structure"` + + // The list of listeners for an accelerator. + Listeners []*Listener `type:"list"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListListenersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListListenersOutput) GoString() string { + return s.String() +} + +// SetListeners sets the Listeners field's value. +func (s *ListListenersOutput) SetListeners(v []*Listener) *ListListenersOutput { + s.Listeners = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListListenersOutput) SetNextToken(v string) *ListListenersOutput { + s.NextToken = &v + return s +} + +// A complex type for a listener. +type Listener struct { + _ struct{} `type:"structure"` + + // Client affinity lets you direct all requests from a user to the same endpoint, + // if you have stateful applications, regardless of the port and protocol of + // the client request. Clienty affinity gives you control over whether to always + // route each client to the same specific endpoint. + // + // AWS Global Accelerator uses a consistent-flow hashing algorithm to choose + // the optimal endpoint for a connection. If client affinity is NONE, Global + // Accelerator uses the "five-tuple" (5-tuple) properties—source IP address, + // source port, destination IP address, destination port, and protocol—to select + // the hash value, and then chooses the best endpoint. However, with this setting, + // if someone uses different ports to connect to Global Accelerator, their connections + // might not be always routed to the same endpoint because the hash value changes. + // + // If you want a given client to always be routed to the same endpoint, set + // client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, + // Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) + // IP address and destination IP address—to select the hash value. + // + // The default value is NONE. + ClientAffinity *string `type:"string" enum:"ClientAffinity"` + + // The Amazon Resource Name (ARN) of the listener. + ListenerArn *string `type:"string"` + + // The list of port ranges for the connections from clients to the accelerator. + PortRanges []*PortRange `min:"1" type:"list"` + + // The protocol for the connections from clients to the accelerator. + Protocol *string `type:"string" enum:"Protocol"` +} + +// String returns the string representation +func (s Listener) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Listener) GoString() string { + return s.String() +} + +// SetClientAffinity sets the ClientAffinity field's value. +func (s *Listener) SetClientAffinity(v string) *Listener { + s.ClientAffinity = &v + return s +} + +// SetListenerArn sets the ListenerArn field's value. +func (s *Listener) SetListenerArn(v string) *Listener { + s.ListenerArn = &v + return s +} + +// SetPortRanges sets the PortRanges field's value. +func (s *Listener) SetPortRanges(v []*PortRange) *Listener { + s.PortRanges = v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *Listener) SetProtocol(v string) *Listener { + s.Protocol = &v + return s +} + +// A complex type for a range of ports for a listener. +type PortRange struct { + _ struct{} `type:"structure"` + + // The first port in the range of ports, inclusive. + FromPort *int64 `min:"1" type:"integer"` + + // The last port in the range of ports, inclusive. + ToPort *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s PortRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PortRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PortRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PortRange"} + if s.FromPort != nil && *s.FromPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("FromPort", 1)) + } + if s.ToPort != nil && *s.ToPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("ToPort", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFromPort sets the FromPort field's value. +func (s *PortRange) SetFromPort(v int64) *PortRange { + s.FromPort = &v + return s +} + +// SetToPort sets the ToPort field's value. +func (s *PortRange) SetToPort(v int64) *PortRange { + s.ToPort = &v + return s +} + +type UpdateAcceleratorAttributesInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the accelerator that you want to update. + // Attribute is required. + AcceleratorArn *string `type:"string"` + + // Update whether flow logs are enabled. The default value is false. If the + // value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified. + // + // For more information, see Flow Logs (https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html) + // in the AWS Global Accelerator Developer Guide. + FlowLogsEnabled *bool `type:"boolean"` + + // The name of the Amazon S3 bucket for the flow logs. Attribute is required + // if FlowLogsEnabled is true. The bucket must exist and have a bucket policy + // that grants AWS Global Accelerator permission to write to the bucket. + FlowLogsS3Bucket *string `type:"string"` + + // Update the prefix for the location in the Amazon S3 bucket for the flow logs. + // Attribute is required if FlowLogsEnabled is true. If you don’t specify a + // prefix, the flow logs are stored in the root of the bucket. + FlowLogsS3Prefix *string `type:"string"` +} + +// String returns the string representation +func (s UpdateAcceleratorAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAcceleratorAttributesInput) GoString() string { + return s.String() +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *UpdateAcceleratorAttributesInput) SetAcceleratorArn(v string) *UpdateAcceleratorAttributesInput { + s.AcceleratorArn = &v + return s +} + +// SetFlowLogsEnabled sets the FlowLogsEnabled field's value. +func (s *UpdateAcceleratorAttributesInput) SetFlowLogsEnabled(v bool) *UpdateAcceleratorAttributesInput { + s.FlowLogsEnabled = &v + return s +} + +// SetFlowLogsS3Bucket sets the FlowLogsS3Bucket field's value. +func (s *UpdateAcceleratorAttributesInput) SetFlowLogsS3Bucket(v string) *UpdateAcceleratorAttributesInput { + s.FlowLogsS3Bucket = &v + return s +} + +// SetFlowLogsS3Prefix sets the FlowLogsS3Prefix field's value. +func (s *UpdateAcceleratorAttributesInput) SetFlowLogsS3Prefix(v string) *UpdateAcceleratorAttributesInput { + s.FlowLogsS3Prefix = &v + return s +} + +type UpdateAcceleratorAttributesOutput struct { + _ struct{} `type:"structure"` + + // Updated attributes for the accelerator. + AcceleratorAttributes *AcceleratorAttributes `type:"structure"` +} + +// String returns the string representation +func (s UpdateAcceleratorAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAcceleratorAttributesOutput) GoString() string { + return s.String() +} + +// SetAcceleratorAttributes sets the AcceleratorAttributes field's value. +func (s *UpdateAcceleratorAttributesOutput) SetAcceleratorAttributes(v *AcceleratorAttributes) *UpdateAcceleratorAttributesOutput { + s.AcceleratorAttributes = v + return s +} + +type UpdateAcceleratorInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the accelerator to update. + // + // AcceleratorArn is a required field + AcceleratorArn *string `type:"string" required:"true"` + + // Indicates whether an accelerator is enabled. The value is true or false. + // The default value is true. + // + // If the value is set to true, the accelerator cannot be deleted. If set to + // false, the accelerator can be deleted. + Enabled *bool `type:"boolean"` + + // The value for the address type must be IPv4. + IpAddressType *string `type:"string" enum:"IpAddressType"` + + // The name of the accelerator. The name can have a maximum of 32 characters, + // must contain only alphanumeric characters or hyphens (-), and must not begin + // or end with a hyphen. + Name *string `type:"string"` +} + +// String returns the string representation +func (s UpdateAcceleratorInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAcceleratorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAcceleratorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAcceleratorInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *UpdateAcceleratorInput) SetAcceleratorArn(v string) *UpdateAcceleratorInput { + s.AcceleratorArn = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *UpdateAcceleratorInput) SetEnabled(v bool) *UpdateAcceleratorInput { + s.Enabled = &v + return s +} + +// SetIpAddressType sets the IpAddressType field's value. +func (s *UpdateAcceleratorInput) SetIpAddressType(v string) *UpdateAcceleratorInput { + s.IpAddressType = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateAcceleratorInput) SetName(v string) *UpdateAcceleratorInput { + s.Name = &v + return s +} + +type UpdateAcceleratorOutput struct { + _ struct{} `type:"structure"` + + // Information about the updated accelerator. + Accelerator *Accelerator `type:"structure"` +} + +// String returns the string representation +func (s UpdateAcceleratorOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAcceleratorOutput) GoString() string { + return s.String() +} + +// SetAccelerator sets the Accelerator field's value. +func (s *UpdateAcceleratorOutput) SetAccelerator(v *Accelerator) *UpdateAcceleratorOutput { + s.Accelerator = v + return s +} + +type UpdateEndpointGroupInput struct { + _ struct{} `type:"structure"` + + // The list of endpoint objects. + EndpointConfigurations []*EndpointConfiguration `type:"list"` + + // The Amazon Resource Name (ARN) of the endpoint group. + // + // EndpointGroupArn is a required field + EndpointGroupArn *string `type:"string" required:"true"` + + // The time—10 seconds or 30 seconds—between each health check for an endpoint. + // The default value is 30. + HealthCheckIntervalSeconds *int64 `min:"10" type:"integer"` + + // If the protocol is HTTP/S, then this specifies the path that is the destination + // for health check targets. The default value is slash (/). + HealthCheckPath *string `type:"string"` + + // The port that AWS Global Accelerator uses to check the health of endpoints + // that are part of this endpoint group. The default port is the listener port + // that this endpoint group is associated with. If the listener port is a list + // of ports, Global Accelerator uses the first port in the list. + HealthCheckPort *int64 `min:"1" type:"integer"` + + // The protocol that AWS Global Accelerator uses to check the health of endpoints + // that are part of this endpoint group. The default value is TCP. + HealthCheckProtocol *string `type:"string" enum:"HealthCheckProtocol"` + + // The number of consecutive health checks required to set the state of a healthy + // endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default + // value is 3. + ThresholdCount *int64 `min:"1" type:"integer"` + + // The percentage of traffic to send to an AWS Region. Additional traffic is + // distributed to other endpoint groups for this listener. + // + // Use this action to increase (dial up) or decrease (dial down) traffic to + // a specific Region. The percentage is applied to the traffic that would otherwise + // have been routed to the Region based on optimal routing. + // + // The default value is 100. + TrafficDialPercentage *float64 `type:"float"` +} + +// String returns the string representation +func (s UpdateEndpointGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEndpointGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateEndpointGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointGroupInput"} + if s.EndpointGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn")) + } + if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 10 { + invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 10)) + } + if s.HealthCheckPort != nil && *s.HealthCheckPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("HealthCheckPort", 1)) + } + if s.ThresholdCount != nil && *s.ThresholdCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("ThresholdCount", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointConfigurations sets the EndpointConfigurations field's value. +func (s *UpdateEndpointGroupInput) SetEndpointConfigurations(v []*EndpointConfiguration) *UpdateEndpointGroupInput { + s.EndpointConfigurations = v + return s +} + +// SetEndpointGroupArn sets the EndpointGroupArn field's value. +func (s *UpdateEndpointGroupInput) SetEndpointGroupArn(v string) *UpdateEndpointGroupInput { + s.EndpointGroupArn = &v + return s +} + +// SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value. +func (s *UpdateEndpointGroupInput) SetHealthCheckIntervalSeconds(v int64) *UpdateEndpointGroupInput { + s.HealthCheckIntervalSeconds = &v + return s +} + +// SetHealthCheckPath sets the HealthCheckPath field's value. +func (s *UpdateEndpointGroupInput) SetHealthCheckPath(v string) *UpdateEndpointGroupInput { + s.HealthCheckPath = &v + return s +} + +// SetHealthCheckPort sets the HealthCheckPort field's value. +func (s *UpdateEndpointGroupInput) SetHealthCheckPort(v int64) *UpdateEndpointGroupInput { + s.HealthCheckPort = &v + return s +} + +// SetHealthCheckProtocol sets the HealthCheckProtocol field's value. +func (s *UpdateEndpointGroupInput) SetHealthCheckProtocol(v string) *UpdateEndpointGroupInput { + s.HealthCheckProtocol = &v + return s +} + +// SetThresholdCount sets the ThresholdCount field's value. +func (s *UpdateEndpointGroupInput) SetThresholdCount(v int64) *UpdateEndpointGroupInput { + s.ThresholdCount = &v + return s +} + +// SetTrafficDialPercentage sets the TrafficDialPercentage field's value. +func (s *UpdateEndpointGroupInput) SetTrafficDialPercentage(v float64) *UpdateEndpointGroupInput { + s.TrafficDialPercentage = &v + return s +} + +type UpdateEndpointGroupOutput struct { + _ struct{} `type:"structure"` + + // The information about the endpoint group that was updated. + EndpointGroup *EndpointGroup `type:"structure"` +} + +// String returns the string representation +func (s UpdateEndpointGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEndpointGroupOutput) GoString() string { + return s.String() +} + +// SetEndpointGroup sets the EndpointGroup field's value. +func (s *UpdateEndpointGroupOutput) SetEndpointGroup(v *EndpointGroup) *UpdateEndpointGroupOutput { + s.EndpointGroup = v + return s +} + +type UpdateListenerInput struct { + _ struct{} `type:"structure"` + + // Client affinity lets you direct all requests from a user to the same endpoint, + // if you have stateful applications, regardless of the port and protocol of + // the client request. Clienty affinity gives you control over whether to always + // route each client to the same specific endpoint. + // + // AWS Global Accelerator uses a consistent-flow hashing algorithm to choose + // the optimal endpoint for a connection. If client affinity is NONE, Global + // Accelerator uses the "five-tuple" (5-tuple) properties—source IP address, + // source port, destination IP address, destination port, and protocol—to select + // the hash value, and then chooses the best endpoint. However, with this setting, + // if someone uses different ports to connect to Global Accelerator, their connections + // might not be always routed to the same endpoint because the hash value changes. + // + // If you want a given client to always be routed to the same endpoint, set + // client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, + // Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) + // IP address and destination IP address—to select the hash value. + // + // The default value is NONE. + ClientAffinity *string `type:"string" enum:"ClientAffinity"` + + // The Amazon Resource Name (ARN) of the listener to update. + // + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` + + // The updated list of port ranges for the connections from clients to the accelerator. + PortRanges []*PortRange `min:"1" type:"list"` + + // The updated protocol for the connections from clients to the accelerator. + Protocol *string `type:"string" enum:"Protocol"` +} + +// String returns the string representation +func (s UpdateListenerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateListenerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateListenerInput"} + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) + } + if s.PortRanges != nil && len(s.PortRanges) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PortRanges", 1)) + } + if s.PortRanges != nil { + for i, v := range s.PortRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortRanges", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientAffinity sets the ClientAffinity field's value. +func (s *UpdateListenerInput) SetClientAffinity(v string) *UpdateListenerInput { + s.ClientAffinity = &v + return s +} + +// SetListenerArn sets the ListenerArn field's value. +func (s *UpdateListenerInput) SetListenerArn(v string) *UpdateListenerInput { + s.ListenerArn = &v + return s +} + +// SetPortRanges sets the PortRanges field's value. +func (s *UpdateListenerInput) SetPortRanges(v []*PortRange) *UpdateListenerInput { + s.PortRanges = v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *UpdateListenerInput) SetProtocol(v string) *UpdateListenerInput { + s.Protocol = &v + return s +} + +type UpdateListenerOutput struct { + _ struct{} `type:"structure"` + + // Information for the updated listener. + Listener *Listener `type:"structure"` +} + +// String returns the string representation +func (s UpdateListenerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateListenerOutput) GoString() string { + return s.String() +} + +// SetListener sets the Listener field's value. +func (s *UpdateListenerOutput) SetListener(v *Listener) *UpdateListenerOutput { + s.Listener = v + return s +} + +const ( + // AcceleratorStatusDeployed is a AcceleratorStatus enum value + AcceleratorStatusDeployed = "DEPLOYED" + + // AcceleratorStatusInProgress is a AcceleratorStatus enum value + AcceleratorStatusInProgress = "IN_PROGRESS" +) + +const ( + // ClientAffinityNone is a ClientAffinity enum value + ClientAffinityNone = "NONE" + + // ClientAffinitySourceIp is a ClientAffinity enum value + ClientAffinitySourceIp = "SOURCE_IP" +) + +const ( + // HealthCheckProtocolTcp is a HealthCheckProtocol enum value + HealthCheckProtocolTcp = "TCP" + + // HealthCheckProtocolHttp is a HealthCheckProtocol enum value + HealthCheckProtocolHttp = "HTTP" + + // HealthCheckProtocolHttps is a HealthCheckProtocol enum value + HealthCheckProtocolHttps = "HTTPS" +) + +const ( + // HealthStateInitial is a HealthState enum value + HealthStateInitial = "INITIAL" + + // HealthStateHealthy is a HealthState enum value + HealthStateHealthy = "HEALTHY" + + // HealthStateUnhealthy is a HealthState enum value + HealthStateUnhealthy = "UNHEALTHY" +) + +const ( + // IpAddressTypeIpv4 is a IpAddressType enum value + IpAddressTypeIpv4 = "IPV4" +) + +const ( + // ProtocolTcp is a Protocol enum value + ProtocolTcp = "TCP" + + // ProtocolUdp is a Protocol enum value + ProtocolUdp = "UDP" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/globalaccelerator/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/globalaccelerator/doc.go new file mode 100644 index 00000000000..f75f98cf14e --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/globalaccelerator/doc.go @@ -0,0 +1,94 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package globalaccelerator provides the client and types for making API +// requests to AWS Global Accelerator. +// +// This is the AWS Global Accelerator API Reference. This guide is for developers +// who need detailed information about AWS Global Accelerator API actions, data +// types, and errors. For more information about Global Accelerator features, +// see the AWS Global Accelerator Developer Guide (https://docs.aws.amazon.com/global-accelerator/latest/dg/Welcome.html). +// +// AWS Global Accelerator is a network layer service in which you create accelerators +// to improve availability and performance for internet applications used by +// a global audience. +// +// Global Accelerator provides you with static IP addresses that you associate +// with your accelerator. These IP addresses are anycast from the AWS edge network +// and distribute incoming application traffic across multiple endpoint resources +// in multiple AWS Regions, which increases the availability of your applications. +// Endpoints can be Elastic IP addresses, Network Load Balancers, and Application +// Load Balancers that are located in one AWS Region or multiple Regions. +// +// Global Accelerator uses the AWS global network to route traffic to the optimal +// regional endpoint based on health, client location, and policies that you +// configure. The service reacts instantly to changes in health or configuration +// to ensure that internet traffic from clients is directed to only healthy +// endpoints. +// +// Global Accelerator includes components that work together to help you improve +// performance and availability for your applications: +// +// Static IP addressAWS Global Accelerator provides you with a set of static +// IP addresses which are anycast from the AWS edge network and serve as the +// single fixed entry points for your clients. If you already have Elastic Load +// Balancing or Elastic IP address resources set up for your applications, you +// can easily add those to Global Accelerator to allow the resources to be accessed +// by a Global Accelerator static IP address. +// +// AcceleratorAn accelerator directs traffic to optimal endpoints over the AWS +// global network to improve availability and performance for your internet +// applications that have a global audience. Each accelerator includes one or +// more listeners. +// +// Network zoneA network zone services the static IP addresses for your accelerator +// from a unique IP subnet. Similar to an AWS Availability Zone, a network zone +// is an isolated unit with its own set of physical infrastructure. When you +// configure an accelerator, Global Accelerator allocates two IPv4 addresses +// for it. If one IP address from a network zone becomes unavailable due to +// IP address blocking by certain client networks, or network disruptions, then +// client applications can retry on the healthy static IP address from the other +// isolated network zone. +// +// ListenerA listener processes inbound connections from clients to Global Accelerator, +// based on the protocol and port that you configure. Each listener has one +// or more endpoint groups associated with it, and traffic is forwarded to endpoints +// in one of the groups. You associate endpoint groups with listeners by specifying +// the Regions that you want to distribute traffic to. Traffic is distributed +// to optimal endpoints within the endpoint groups associated with a listener. +// +// Endpoint groupEach endpoint group is associated with a specific AWS Region. +// Endpoint groups include one or more endpoints in the Region. You can increase +// or reduce the percentage of traffic that would be otherwise directed to an +// endpoint group by adjusting a setting called a traffic dial. The traffic +// dial lets you easily do performance testing or blue/green deployment testing +// for new releases across different AWS Regions, for example. +// +// EndpointAn endpoint is an Elastic IP address, Network Load Balancer, or Application +// Load Balancer. Traffic is routed to endpoints based on several factors, including +// the geo-proximity to the user, the health of the endpoint, and the configuration +// options that you choose, such as endpoint weights. For each endpoint, you +// can configure weights, which are numbers that you can use to specify the +// proportion of traffic to route to each one. This can be useful, for example, +// to do performance testing within a Region. +// +// See https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08 for more information on this service. +// +// See globalaccelerator package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/globalaccelerator/ +// +// Using the Client +// +// To contact AWS Global Accelerator 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 Global Accelerator client GlobalAccelerator for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/globalaccelerator/#New +package globalaccelerator diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/globalaccelerator/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/globalaccelerator/errors.go new file mode 100644 index 00000000000..13aea5e363d --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/globalaccelerator/errors.go @@ -0,0 +1,84 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package globalaccelerator + +const ( + + // ErrCodeAcceleratorNotDisabledException for service response error code + // "AcceleratorNotDisabledException". + // + // The accelerator that you specified could not be disabled. + ErrCodeAcceleratorNotDisabledException = "AcceleratorNotDisabledException" + + // ErrCodeAcceleratorNotFoundException for service response error code + // "AcceleratorNotFoundException". + // + // The accelerator that you specified doesn't exist. + ErrCodeAcceleratorNotFoundException = "AcceleratorNotFoundException" + + // ErrCodeAssociatedEndpointGroupFoundException for service response error code + // "AssociatedEndpointGroupFoundException". + // + // The listener that you specified has an endpoint group associated with it. + // You must remove all dependent resources from a listener before you can delete + // it. + ErrCodeAssociatedEndpointGroupFoundException = "AssociatedEndpointGroupFoundException" + + // ErrCodeAssociatedListenerFoundException for service response error code + // "AssociatedListenerFoundException". + // + // The accelerator that you specified has a listener associated with it. You + // must remove all dependent resources from an accelerator before you can delete + // it. + ErrCodeAssociatedListenerFoundException = "AssociatedListenerFoundException" + + // ErrCodeEndpointGroupAlreadyExistsException for service response error code + // "EndpointGroupAlreadyExistsException". + // + // The endpoint group that you specified already exists. + ErrCodeEndpointGroupAlreadyExistsException = "EndpointGroupAlreadyExistsException" + + // ErrCodeEndpointGroupNotFoundException for service response error code + // "EndpointGroupNotFoundException". + // + // The endpoint group that you specified doesn't exist. + ErrCodeEndpointGroupNotFoundException = "EndpointGroupNotFoundException" + + // ErrCodeInternalServiceErrorException for service response error code + // "InternalServiceErrorException". + // + // There was an internal error for AWS Global Accelerator. + ErrCodeInternalServiceErrorException = "InternalServiceErrorException" + + // ErrCodeInvalidArgumentException for service response error code + // "InvalidArgumentException". + // + // An argument that you specified is invalid. + ErrCodeInvalidArgumentException = "InvalidArgumentException" + + // ErrCodeInvalidNextTokenException for service response error code + // "InvalidNextTokenException". + // + // There isn't another item to return. + ErrCodeInvalidNextTokenException = "InvalidNextTokenException" + + // ErrCodeInvalidPortRangeException for service response error code + // "InvalidPortRangeException". + // + // The port numbers that you specified are not valid numbers or are not unique + // for this accelerator. + ErrCodeInvalidPortRangeException = "InvalidPortRangeException" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // Processing your request would cause you to exceed an AWS Global Accelerator + // limit. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeListenerNotFoundException for service response error code + // "ListenerNotFoundException". + // + // The listener that you specified doesn't exist. + ErrCodeListenerNotFoundException = "ListenerNotFoundException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/globalaccelerator/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/globalaccelerator/service.go new file mode 100644 index 00000000000..31552ab8c29 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/globalaccelerator/service.go @@ -0,0 +1,100 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package globalaccelerator + +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" +) + +// GlobalAccelerator provides the API operation methods for making requests to +// AWS Global Accelerator. See this package's package overview docs +// for details on the service. +// +// GlobalAccelerator methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type GlobalAccelerator 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 = "Global Accelerator" // Name of service. + EndpointsID = "globalaccelerator" // ID to lookup a service endpoint with. + ServiceID = "Global Accelerator" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the GlobalAccelerator 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 GlobalAccelerator client from just a session. +// svc := globalaccelerator.New(mySession) +// +// // Create a GlobalAccelerator client with additional configuration +// svc := globalaccelerator.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *GlobalAccelerator { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "globalaccelerator" + } + 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) *GlobalAccelerator { + svc := &GlobalAccelerator{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-08-08", + JSONVersion: "1.1", + TargetPrefix: "GlobalAccelerator_V20180706", + }, + 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 GlobalAccelerator operation and runs any +// custom request initialization. +func (c *GlobalAccelerator) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/glue/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/glue/api.go index b2741974827..235bd7e6a26 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/glue/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/glue/api.go @@ -465,6 +465,269 @@ func (c *Glue) BatchDeleteTableVersionWithContext(ctx aws.Context, input *BatchD return out, req.Send() } +const opBatchGetCrawlers = "BatchGetCrawlers" + +// BatchGetCrawlersRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetCrawlers 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 BatchGetCrawlers for more information on using the BatchGetCrawlers +// 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 BatchGetCrawlersRequest method. +// req, resp := client.BatchGetCrawlersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetCrawlers +func (c *Glue) BatchGetCrawlersRequest(input *BatchGetCrawlersInput) (req *request.Request, output *BatchGetCrawlersOutput) { + op := &request.Operation{ + Name: opBatchGetCrawlers, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchGetCrawlersInput{} + } + + output = &BatchGetCrawlersOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetCrawlers API operation for AWS Glue. +// +// Returns a list of resource metadata for a given list of crawler names. After +// calling the ListCrawlers operation, you can call this operation to access +// the data to which you have been granted permissions to based on tags. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation BatchGetCrawlers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetCrawlers +func (c *Glue) BatchGetCrawlers(input *BatchGetCrawlersInput) (*BatchGetCrawlersOutput, error) { + req, out := c.BatchGetCrawlersRequest(input) + return out, req.Send() +} + +// BatchGetCrawlersWithContext is the same as BatchGetCrawlers with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetCrawlers for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) BatchGetCrawlersWithContext(ctx aws.Context, input *BatchGetCrawlersInput, opts ...request.Option) (*BatchGetCrawlersOutput, error) { + req, out := c.BatchGetCrawlersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchGetDevEndpoints = "BatchGetDevEndpoints" + +// BatchGetDevEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetDevEndpoints 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 BatchGetDevEndpoints for more information on using the BatchGetDevEndpoints +// 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 BatchGetDevEndpointsRequest method. +// req, resp := client.BatchGetDevEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetDevEndpoints +func (c *Glue) BatchGetDevEndpointsRequest(input *BatchGetDevEndpointsInput) (req *request.Request, output *BatchGetDevEndpointsOutput) { + op := &request.Operation{ + Name: opBatchGetDevEndpoints, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchGetDevEndpointsInput{} + } + + output = &BatchGetDevEndpointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetDevEndpoints API operation for AWS Glue. +// +// Returns a list of resource metadata for a given list of DevEndpoint names. +// After calling the ListDevEndpoints operation, you can call this operation +// to access the data to which you have been granted permissions. This operation +// supports all IAM permissions, including permission conditions that uses tags. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation BatchGetDevEndpoints for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to a resource was denied. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetDevEndpoints +func (c *Glue) BatchGetDevEndpoints(input *BatchGetDevEndpointsInput) (*BatchGetDevEndpointsOutput, error) { + req, out := c.BatchGetDevEndpointsRequest(input) + return out, req.Send() +} + +// BatchGetDevEndpointsWithContext is the same as BatchGetDevEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetDevEndpoints for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) BatchGetDevEndpointsWithContext(ctx aws.Context, input *BatchGetDevEndpointsInput, opts ...request.Option) (*BatchGetDevEndpointsOutput, error) { + req, out := c.BatchGetDevEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchGetJobs = "BatchGetJobs" + +// BatchGetJobsRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetJobs 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 BatchGetJobs for more information on using the BatchGetJobs +// 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 BatchGetJobsRequest method. +// req, resp := client.BatchGetJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetJobs +func (c *Glue) BatchGetJobsRequest(input *BatchGetJobsInput) (req *request.Request, output *BatchGetJobsOutput) { + op := &request.Operation{ + Name: opBatchGetJobs, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchGetJobsInput{} + } + + output = &BatchGetJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetJobs API operation for AWS Glue. +// +// Returns a list of resource metadata for a given list of job names. After +// calling the ListJobs operation, you can call this operation to access the +// data to which you have been granted permissions. This operation supports +// all IAM permissions, including permission conditions that uses tags. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation BatchGetJobs for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetJobs +func (c *Glue) BatchGetJobs(input *BatchGetJobsInput) (*BatchGetJobsOutput, error) { + req, out := c.BatchGetJobsRequest(input) + return out, req.Send() +} + +// BatchGetJobsWithContext is the same as BatchGetJobs with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetJobs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) BatchGetJobsWithContext(ctx aws.Context, input *BatchGetJobsInput, opts ...request.Option) (*BatchGetJobsOutput, error) { + req, out := c.BatchGetJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opBatchGetPartition = "BatchGetPartition" // BatchGetPartitionRequest generates a "aws/request.Request" representing the @@ -556,6 +819,94 @@ func (c *Glue) BatchGetPartitionWithContext(ctx aws.Context, input *BatchGetPart return out, req.Send() } +const opBatchGetTriggers = "BatchGetTriggers" + +// BatchGetTriggersRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetTriggers 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 BatchGetTriggers for more information on using the BatchGetTriggers +// 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 BatchGetTriggersRequest method. +// req, resp := client.BatchGetTriggersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetTriggers +func (c *Glue) BatchGetTriggersRequest(input *BatchGetTriggersInput) (req *request.Request, output *BatchGetTriggersOutput) { + op := &request.Operation{ + Name: opBatchGetTriggers, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchGetTriggersInput{} + } + + output = &BatchGetTriggersOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetTriggers API operation for AWS Glue. +// +// Returns a list of resource metadata for a given list of trigger names. After +// calling the ListTriggers operation, you can call this operation to access +// the data to which you have been granted permissions. This operation supports +// all IAM permissions, including permission conditions that uses tags. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation BatchGetTriggers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetTriggers +func (c *Glue) BatchGetTriggers(input *BatchGetTriggersInput) (*BatchGetTriggersOutput, error) { + req, out := c.BatchGetTriggersRequest(input) + return out, req.Send() +} + +// BatchGetTriggersWithContext is the same as BatchGetTriggers with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetTriggers for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) BatchGetTriggersWithContext(ctx aws.Context, input *BatchGetTriggersInput, opts ...request.Option) (*BatchGetTriggersOutput, error) { + req, out := c.BatchGetTriggersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opBatchStopJobRun = "BatchStopJobRun" // BatchStopJobRunRequest generates a "aws/request.Request" representing the @@ -5549,6 +5900,12 @@ func (c *Glue) GetSecurityConfigurationsRequest(input *GetSecurityConfigurations Name: opGetSecurityConfigurations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -5606,6 +5963,56 @@ func (c *Glue) GetSecurityConfigurationsWithContext(ctx aws.Context, input *GetS return out, req.Send() } +// GetSecurityConfigurationsPages iterates over the pages of a GetSecurityConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetSecurityConfigurations 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 GetSecurityConfigurations operation. +// pageNum := 0 +// err := client.GetSecurityConfigurationsPages(params, +// func(page *GetSecurityConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetSecurityConfigurationsPages(input *GetSecurityConfigurationsInput, fn func(*GetSecurityConfigurationsOutput, bool) bool) error { + return c.GetSecurityConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetSecurityConfigurationsPagesWithContext same as GetSecurityConfigurationsPages 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 *Glue) GetSecurityConfigurationsPagesWithContext(ctx aws.Context, input *GetSecurityConfigurationsInput, fn func(*GetSecurityConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetSecurityConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetSecurityConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetSecurityConfigurationsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opGetTable = "GetTable" // GetTableRequest generates a "aws/request.Request" representing the @@ -6083,6 +6490,94 @@ func (c *Glue) GetTablesPagesWithContext(ctx aws.Context, input *GetTablesInput, return p.Err() } +const opGetTags = "GetTags" + +// GetTagsRequest generates a "aws/request.Request" representing the +// client's request for the GetTags 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 GetTags for more information on using the GetTags +// 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 GetTagsRequest method. +// req, resp := client.GetTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTags +func (c *Glue) GetTagsRequest(input *GetTagsInput) (req *request.Request, output *GetTagsOutput) { + op := &request.Operation{ + Name: opGetTags, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetTagsInput{} + } + + output = &GetTagsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTags API operation for AWS Glue. +// +// Retrieves a list of tags associated with a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetTags for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTags +func (c *Glue) GetTags(input *GetTagsInput) (*GetTagsOutput, error) { + req, out := c.GetTagsRequest(input) + return out, req.Send() +} + +// GetTagsWithContext is the same as GetTags with the addition of +// the ability to pass a context and additional request options. +// +// See GetTags for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetTagsWithContext(ctx aws.Context, input *GetTagsInput, opts ...request.Option) (*GetTagsOutput, error) { + req, out := c.GetTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetTrigger = "GetTrigger" // GetTriggerRequest generates a "aws/request.Request" representing the @@ -6636,148 +7131,216 @@ func (c *Glue) ImportCatalogToGlueWithContext(ctx aws.Context, input *ImportCata return out, req.Send() } -const opPutDataCatalogEncryptionSettings = "PutDataCatalogEncryptionSettings" +const opListCrawlers = "ListCrawlers" -// PutDataCatalogEncryptionSettingsRequest generates a "aws/request.Request" representing the -// client's request for the PutDataCatalogEncryptionSettings operation. The "output" return +// ListCrawlersRequest generates a "aws/request.Request" representing the +// client's request for the ListCrawlers 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 PutDataCatalogEncryptionSettings for more information on using the PutDataCatalogEncryptionSettings +// See ListCrawlers for more information on using the ListCrawlers // 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 PutDataCatalogEncryptionSettingsRequest method. -// req, resp := client.PutDataCatalogEncryptionSettingsRequest(params) +// // Example sending a request using the ListCrawlersRequest method. +// req, resp := client.ListCrawlersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/PutDataCatalogEncryptionSettings -func (c *Glue) PutDataCatalogEncryptionSettingsRequest(input *PutDataCatalogEncryptionSettingsInput) (req *request.Request, output *PutDataCatalogEncryptionSettingsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ListCrawlers +func (c *Glue) ListCrawlersRequest(input *ListCrawlersInput) (req *request.Request, output *ListCrawlersOutput) { op := &request.Operation{ - Name: opPutDataCatalogEncryptionSettings, + Name: opListCrawlers, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &PutDataCatalogEncryptionSettingsInput{} + input = &ListCrawlersInput{} } - output = &PutDataCatalogEncryptionSettingsOutput{} + output = &ListCrawlersOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// PutDataCatalogEncryptionSettings API operation for AWS Glue. +// ListCrawlers API operation for AWS Glue. // -// Sets the security configuration for a specified catalog. Once the configuration -// has been set, the specified encryption is applied to every catalog write -// thereafter. +// Retrieves the names of all crawler resources in this AWS account, or the +// resources with the specified tag. This operation allows you to see which +// resources are available in your account, and their names. +// +// This operation takes the optional Tags field which you can use as a filter +// on the response so that tagged resources can be retrieved as a group. If +// you choose to use tags filtering, only resources with the tag will be retrieved. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation PutDataCatalogEncryptionSettings for usage and error information. +// API operation ListCrawlers for usage and error information. // // Returned Error Codes: -// * ErrCodeInternalServiceException "InternalServiceException" -// An internal service error occurred. -// -// * ErrCodeInvalidInputException "InvalidInputException" -// The input provided was not valid. -// // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/PutDataCatalogEncryptionSettings -func (c *Glue) PutDataCatalogEncryptionSettings(input *PutDataCatalogEncryptionSettingsInput) (*PutDataCatalogEncryptionSettingsOutput, error) { - req, out := c.PutDataCatalogEncryptionSettingsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ListCrawlers +func (c *Glue) ListCrawlers(input *ListCrawlersInput) (*ListCrawlersOutput, error) { + req, out := c.ListCrawlersRequest(input) return out, req.Send() } -// PutDataCatalogEncryptionSettingsWithContext is the same as PutDataCatalogEncryptionSettings with the addition of +// ListCrawlersWithContext is the same as ListCrawlers with the addition of // the ability to pass a context and additional request options. // -// See PutDataCatalogEncryptionSettings for details on how to use this API operation. +// See ListCrawlers for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) PutDataCatalogEncryptionSettingsWithContext(ctx aws.Context, input *PutDataCatalogEncryptionSettingsInput, opts ...request.Option) (*PutDataCatalogEncryptionSettingsOutput, error) { - req, out := c.PutDataCatalogEncryptionSettingsRequest(input) +func (c *Glue) ListCrawlersWithContext(ctx aws.Context, input *ListCrawlersInput, opts ...request.Option) (*ListCrawlersOutput, error) { + req, out := c.ListCrawlersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutResourcePolicy = "PutResourcePolicy" +// ListCrawlersPages iterates over the pages of a ListCrawlers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCrawlers 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 ListCrawlers operation. +// pageNum := 0 +// err := client.ListCrawlersPages(params, +// func(page *ListCrawlersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) ListCrawlersPages(input *ListCrawlersInput, fn func(*ListCrawlersOutput, bool) bool) error { + return c.ListCrawlersPagesWithContext(aws.BackgroundContext(), input, fn) +} -// PutResourcePolicyRequest generates a "aws/request.Request" representing the -// client's request for the PutResourcePolicy operation. The "output" return +// ListCrawlersPagesWithContext same as ListCrawlersPages 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 *Glue) ListCrawlersPagesWithContext(ctx aws.Context, input *ListCrawlersInput, fn func(*ListCrawlersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCrawlersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCrawlersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListCrawlersOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListDevEndpoints = "ListDevEndpoints" + +// ListDevEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the ListDevEndpoints 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 PutResourcePolicy for more information on using the PutResourcePolicy +// See ListDevEndpoints for more information on using the ListDevEndpoints // 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 PutResourcePolicyRequest method. -// req, resp := client.PutResourcePolicyRequest(params) +// // Example sending a request using the ListDevEndpointsRequest method. +// req, resp := client.ListDevEndpointsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/PutResourcePolicy -func (c *Glue) PutResourcePolicyRequest(input *PutResourcePolicyInput) (req *request.Request, output *PutResourcePolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ListDevEndpoints +func (c *Glue) ListDevEndpointsRequest(input *ListDevEndpointsInput) (req *request.Request, output *ListDevEndpointsOutput) { op := &request.Operation{ - Name: opPutResourcePolicy, + Name: opListDevEndpoints, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &PutResourcePolicyInput{} + input = &ListDevEndpointsInput{} } - output = &PutResourcePolicyOutput{} + output = &ListDevEndpointsOutput{} req = c.newRequest(op, input, output) return } -// PutResourcePolicy API operation for AWS Glue. +// ListDevEndpoints API operation for AWS Glue. // -// Sets the Data Catalog resource policy for access control. +// Retrieves the names of all DevEndpoint resources in this AWS account, or +// the resources with the specified tag. This operation allows you to see which +// resources are available in your account, and their names. +// +// This operation takes the optional Tags field which you can use as a filter +// on the response so that tagged resources can be retrieved as a group. If +// you choose to use tags filtering, only resources with the tag will be retrieved. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation PutResourcePolicy for usage and error information. +// API operation ListDevEndpoints for usage and error information. // // Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// // * ErrCodeEntityNotFoundException "EntityNotFoundException" // A specified entity does not exist // @@ -6787,359 +7350,520 @@ func (c *Glue) PutResourcePolicyRequest(input *PutResourcePolicyInput) (req *req // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// * ErrCodeInvalidInputException "InvalidInputException" -// The input provided was not valid. -// -// * ErrCodeConditionCheckFailureException "ConditionCheckFailureException" -// A specified condition was not satisfied. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/PutResourcePolicy -func (c *Glue) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) { - req, out := c.PutResourcePolicyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ListDevEndpoints +func (c *Glue) ListDevEndpoints(input *ListDevEndpointsInput) (*ListDevEndpointsOutput, error) { + req, out := c.ListDevEndpointsRequest(input) return out, req.Send() } -// PutResourcePolicyWithContext is the same as PutResourcePolicy with the addition of +// ListDevEndpointsWithContext is the same as ListDevEndpoints with the addition of // the ability to pass a context and additional request options. // -// See PutResourcePolicy for details on how to use this API operation. +// See ListDevEndpoints for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) PutResourcePolicyWithContext(ctx aws.Context, input *PutResourcePolicyInput, opts ...request.Option) (*PutResourcePolicyOutput, error) { - req, out := c.PutResourcePolicyRequest(input) +func (c *Glue) ListDevEndpointsWithContext(ctx aws.Context, input *ListDevEndpointsInput, opts ...request.Option) (*ListDevEndpointsOutput, error) { + req, out := c.ListDevEndpointsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opResetJobBookmark = "ResetJobBookmark" - -// ResetJobBookmarkRequest generates a "aws/request.Request" representing the -// client's request for the ResetJobBookmark 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 ResetJobBookmark for more information on using the ResetJobBookmark -// API call, and error handling. +// ListDevEndpointsPages iterates over the pages of a ListDevEndpoints operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// 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. +// See ListDevEndpoints method for more information on how to use this operation. // +// Note: This operation can generate multiple requests to a service. // -// // Example sending a request using the ResetJobBookmarkRequest method. -// req, resp := client.ResetJobBookmarkRequest(params) +// // Example iterating over at most 3 pages of a ListDevEndpoints operation. +// pageNum := 0 +// err := client.ListDevEndpointsPages(params, +// func(page *ListDevEndpointsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) // -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } +func (c *Glue) ListDevEndpointsPages(input *ListDevEndpointsInput, fn func(*ListDevEndpointsOutput, bool) bool) error { + return c.ListDevEndpointsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDevEndpointsPagesWithContext same as ListDevEndpointsPages except +// it takes a Context and allows setting request options on the pages. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ResetJobBookmark -func (c *Glue) ResetJobBookmarkRequest(input *ResetJobBookmarkInput) (req *request.Request, output *ResetJobBookmarkOutput) { - op := &request.Operation{ - Name: opResetJobBookmark, +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) ListDevEndpointsPagesWithContext(ctx aws.Context, input *ListDevEndpointsInput, fn func(*ListDevEndpointsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDevEndpointsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDevEndpointsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListDevEndpointsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListJobs = "ListJobs" + +// ListJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListJobs 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 ListJobs for more information on using the ListJobs +// 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 ListJobsRequest method. +// req, resp := client.ListJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ListJobs +func (c *Glue) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) { + op := &request.Operation{ + Name: opListJobs, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &ResetJobBookmarkInput{} + input = &ListJobsInput{} } - output = &ResetJobBookmarkOutput{} + output = &ListJobsOutput{} req = c.newRequest(op, input, output) return } -// ResetJobBookmark API operation for AWS Glue. +// ListJobs API operation for AWS Glue. // -// Resets a bookmark entry. +// Retrieves the names of all job resources in this AWS account, or the resources +// with the specified tag. This operation allows you to see which resources +// are available in your account, and their names. +// +// This operation takes the optional Tags field which you can use as a filter +// on the response so that tagged resources can be retrieved as a group. If +// you choose to use tags filtering, only resources with the tag will be retrieved. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation ResetJobBookmark for usage and error information. +// API operation ListJobs for usage and error information. // // Returned Error Codes: -// * ErrCodeEntityNotFoundException "EntityNotFoundException" -// A specified entity does not exist -// // * ErrCodeInvalidInputException "InvalidInputException" // The input provided was not valid. // +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// // * ErrCodeInternalServiceException "InternalServiceException" // An internal service error occurred. // // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ResetJobBookmark -func (c *Glue) ResetJobBookmark(input *ResetJobBookmarkInput) (*ResetJobBookmarkOutput, error) { - req, out := c.ResetJobBookmarkRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ListJobs +func (c *Glue) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) { + req, out := c.ListJobsRequest(input) return out, req.Send() } -// ResetJobBookmarkWithContext is the same as ResetJobBookmark with the addition of +// ListJobsWithContext is the same as ListJobs with the addition of // the ability to pass a context and additional request options. // -// See ResetJobBookmark for details on how to use this API operation. +// See ListJobs for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) ResetJobBookmarkWithContext(ctx aws.Context, input *ResetJobBookmarkInput, opts ...request.Option) (*ResetJobBookmarkOutput, error) { - req, out := c.ResetJobBookmarkRequest(input) +func (c *Glue) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) { + req, out := c.ListJobsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartCrawler = "StartCrawler" +// ListJobsPages iterates over the pages of a ListJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListJobs 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 ListJobs operation. +// pageNum := 0 +// err := client.ListJobsPages(params, +// func(page *ListJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error { + return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// StartCrawlerRequest generates a "aws/request.Request" representing the -// client's request for the StartCrawler operation. The "output" return +// ListJobsPagesWithContext same as ListJobsPages 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 *Glue) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTriggers = "ListTriggers" + +// ListTriggersRequest generates a "aws/request.Request" representing the +// client's request for the ListTriggers 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 StartCrawler for more information on using the StartCrawler +// See ListTriggers for more information on using the ListTriggers // 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 StartCrawlerRequest method. -// req, resp := client.StartCrawlerRequest(params) +// // Example sending a request using the ListTriggersRequest method. +// req, resp := client.ListTriggersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawler -func (c *Glue) StartCrawlerRequest(input *StartCrawlerInput) (req *request.Request, output *StartCrawlerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ListTriggers +func (c *Glue) ListTriggersRequest(input *ListTriggersInput) (req *request.Request, output *ListTriggersOutput) { op := &request.Operation{ - Name: opStartCrawler, + Name: opListTriggers, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &StartCrawlerInput{} + input = &ListTriggersInput{} } - output = &StartCrawlerOutput{} + output = &ListTriggersOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// StartCrawler API operation for AWS Glue. +// ListTriggers API operation for AWS Glue. // -// Starts a crawl using the specified crawler, regardless of what is scheduled. -// If the crawler is already running, returns a CrawlerRunningException (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-exceptions.html#aws-glue-api-exceptions-CrawlerRunningException). +// Retrieves the names of all trigger resources in this AWS account, or the +// resources with the specified tag. This operation allows you to see which +// resources are available in your account, and their names. +// +// This operation takes the optional Tags field which you can use as a filter +// on the response so that tagged resources can be retrieved as a group. If +// you choose to use tags filtering, only resources with the tag will be retrieved. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation StartCrawler for usage and error information. +// API operation ListTriggers for usage and error information. // // Returned Error Codes: // * ErrCodeEntityNotFoundException "EntityNotFoundException" // A specified entity does not exist // -// * ErrCodeCrawlerRunningException "CrawlerRunningException" -// The operation cannot be performed because the crawler is already running. +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. // // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawler -func (c *Glue) StartCrawler(input *StartCrawlerInput) (*StartCrawlerOutput, error) { - req, out := c.StartCrawlerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ListTriggers +func (c *Glue) ListTriggers(input *ListTriggersInput) (*ListTriggersOutput, error) { + req, out := c.ListTriggersRequest(input) return out, req.Send() } -// StartCrawlerWithContext is the same as StartCrawler with the addition of +// ListTriggersWithContext is the same as ListTriggers with the addition of // the ability to pass a context and additional request options. // -// See StartCrawler for details on how to use this API operation. +// See ListTriggers for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) StartCrawlerWithContext(ctx aws.Context, input *StartCrawlerInput, opts ...request.Option) (*StartCrawlerOutput, error) { - req, out := c.StartCrawlerRequest(input) +func (c *Glue) ListTriggersWithContext(ctx aws.Context, input *ListTriggersInput, opts ...request.Option) (*ListTriggersOutput, error) { + req, out := c.ListTriggersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartCrawlerSchedule = "StartCrawlerSchedule" +// ListTriggersPages iterates over the pages of a ListTriggers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTriggers 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 ListTriggers operation. +// pageNum := 0 +// err := client.ListTriggersPages(params, +// func(page *ListTriggersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) ListTriggersPages(input *ListTriggersInput, fn func(*ListTriggersOutput, bool) bool) error { + return c.ListTriggersPagesWithContext(aws.BackgroundContext(), input, fn) +} -// StartCrawlerScheduleRequest generates a "aws/request.Request" representing the -// client's request for the StartCrawlerSchedule operation. The "output" return +// ListTriggersPagesWithContext same as ListTriggersPages 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 *Glue) ListTriggersPagesWithContext(ctx aws.Context, input *ListTriggersInput, fn func(*ListTriggersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTriggersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTriggersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListTriggersOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opPutDataCatalogEncryptionSettings = "PutDataCatalogEncryptionSettings" + +// PutDataCatalogEncryptionSettingsRequest generates a "aws/request.Request" representing the +// client's request for the PutDataCatalogEncryptionSettings 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 StartCrawlerSchedule for more information on using the StartCrawlerSchedule +// See PutDataCatalogEncryptionSettings for more information on using the PutDataCatalogEncryptionSettings // 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 StartCrawlerScheduleRequest method. -// req, resp := client.StartCrawlerScheduleRequest(params) +// // Example sending a request using the PutDataCatalogEncryptionSettingsRequest method. +// req, resp := client.PutDataCatalogEncryptionSettingsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawlerSchedule -func (c *Glue) StartCrawlerScheduleRequest(input *StartCrawlerScheduleInput) (req *request.Request, output *StartCrawlerScheduleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/PutDataCatalogEncryptionSettings +func (c *Glue) PutDataCatalogEncryptionSettingsRequest(input *PutDataCatalogEncryptionSettingsInput) (req *request.Request, output *PutDataCatalogEncryptionSettingsOutput) { op := &request.Operation{ - Name: opStartCrawlerSchedule, + Name: opPutDataCatalogEncryptionSettings, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StartCrawlerScheduleInput{} + input = &PutDataCatalogEncryptionSettingsInput{} } - output = &StartCrawlerScheduleOutput{} + output = &PutDataCatalogEncryptionSettingsOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// StartCrawlerSchedule API operation for AWS Glue. +// PutDataCatalogEncryptionSettings API operation for AWS Glue. // -// Changes the schedule state of the specified crawler to SCHEDULED, unless -// the crawler is already running or the schedule state is already SCHEDULED. +// Sets the security configuration for a specified catalog. After the configuration +// has been set, the specified encryption is applied to every catalog write +// thereafter. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation StartCrawlerSchedule for usage and error information. +// API operation PutDataCatalogEncryptionSettings for usage and error information. // // Returned Error Codes: -// * ErrCodeEntityNotFoundException "EntityNotFoundException" -// A specified entity does not exist -// -// * ErrCodeSchedulerRunningException "SchedulerRunningException" -// The specified scheduler is already running. -// -// * ErrCodeSchedulerTransitioningException "SchedulerTransitioningException" -// The specified scheduler is transitioning. +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. // -// * ErrCodeNoScheduleException "NoScheduleException" -// There is no applicable schedule. +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. // // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawlerSchedule -func (c *Glue) StartCrawlerSchedule(input *StartCrawlerScheduleInput) (*StartCrawlerScheduleOutput, error) { - req, out := c.StartCrawlerScheduleRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/PutDataCatalogEncryptionSettings +func (c *Glue) PutDataCatalogEncryptionSettings(input *PutDataCatalogEncryptionSettingsInput) (*PutDataCatalogEncryptionSettingsOutput, error) { + req, out := c.PutDataCatalogEncryptionSettingsRequest(input) return out, req.Send() } -// StartCrawlerScheduleWithContext is the same as StartCrawlerSchedule with the addition of +// PutDataCatalogEncryptionSettingsWithContext is the same as PutDataCatalogEncryptionSettings with the addition of // the ability to pass a context and additional request options. // -// See StartCrawlerSchedule for details on how to use this API operation. +// See PutDataCatalogEncryptionSettings for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) StartCrawlerScheduleWithContext(ctx aws.Context, input *StartCrawlerScheduleInput, opts ...request.Option) (*StartCrawlerScheduleOutput, error) { - req, out := c.StartCrawlerScheduleRequest(input) +func (c *Glue) PutDataCatalogEncryptionSettingsWithContext(ctx aws.Context, input *PutDataCatalogEncryptionSettingsInput, opts ...request.Option) (*PutDataCatalogEncryptionSettingsOutput, error) { + req, out := c.PutDataCatalogEncryptionSettingsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartJobRun = "StartJobRun" +const opPutResourcePolicy = "PutResourcePolicy" -// StartJobRunRequest generates a "aws/request.Request" representing the -// client's request for the StartJobRun operation. The "output" return +// PutResourcePolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutResourcePolicy 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 StartJobRun for more information on using the StartJobRun +// See PutResourcePolicy for more information on using the PutResourcePolicy // 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 StartJobRunRequest method. -// req, resp := client.StartJobRunRequest(params) +// // Example sending a request using the PutResourcePolicyRequest method. +// req, resp := client.PutResourcePolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartJobRun -func (c *Glue) StartJobRunRequest(input *StartJobRunInput) (req *request.Request, output *StartJobRunOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/PutResourcePolicy +func (c *Glue) PutResourcePolicyRequest(input *PutResourcePolicyInput) (req *request.Request, output *PutResourcePolicyOutput) { op := &request.Operation{ - Name: opStartJobRun, + Name: opPutResourcePolicy, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StartJobRunInput{} + input = &PutResourcePolicyInput{} } - output = &StartJobRunOutput{} + output = &PutResourcePolicyOutput{} req = c.newRequest(op, input, output) return } -// StartJobRun API operation for AWS Glue. +// PutResourcePolicy API operation for AWS Glue. // -// Starts a job run using a job definition. +// Sets the Data Catalog resource policy for access control. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation StartJobRun for usage and error information. +// API operation PutResourcePolicy for usage and error information. // // Returned Error Codes: -// * ErrCodeInvalidInputException "InvalidInputException" -// The input provided was not valid. -// // * ErrCodeEntityNotFoundException "EntityNotFoundException" // A specified entity does not exist // @@ -7149,460 +7873,456 @@ func (c *Glue) StartJobRunRequest(input *StartJobRunInput) (req *request.Request // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" -// A resource numerical limit was exceeded. +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. // -// * ErrCodeConcurrentRunsExceededException "ConcurrentRunsExceededException" -// Too many jobs are being run concurrently. +// * ErrCodeConditionCheckFailureException "ConditionCheckFailureException" +// A specified condition was not satisfied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartJobRun -func (c *Glue) StartJobRun(input *StartJobRunInput) (*StartJobRunOutput, error) { - req, out := c.StartJobRunRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/PutResourcePolicy +func (c *Glue) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) { + req, out := c.PutResourcePolicyRequest(input) return out, req.Send() } -// StartJobRunWithContext is the same as StartJobRun with the addition of +// PutResourcePolicyWithContext is the same as PutResourcePolicy with the addition of // the ability to pass a context and additional request options. // -// See StartJobRun for details on how to use this API operation. +// See PutResourcePolicy for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) StartJobRunWithContext(ctx aws.Context, input *StartJobRunInput, opts ...request.Option) (*StartJobRunOutput, error) { - req, out := c.StartJobRunRequest(input) +func (c *Glue) PutResourcePolicyWithContext(ctx aws.Context, input *PutResourcePolicyInput, opts ...request.Option) (*PutResourcePolicyOutput, error) { + req, out := c.PutResourcePolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartTrigger = "StartTrigger" +const opResetJobBookmark = "ResetJobBookmark" -// StartTriggerRequest generates a "aws/request.Request" representing the -// client's request for the StartTrigger operation. The "output" return +// ResetJobBookmarkRequest generates a "aws/request.Request" representing the +// client's request for the ResetJobBookmark 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 StartTrigger for more information on using the StartTrigger +// See ResetJobBookmark for more information on using the ResetJobBookmark // 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 StartTriggerRequest method. -// req, resp := client.StartTriggerRequest(params) +// // Example sending a request using the ResetJobBookmarkRequest method. +// req, resp := client.ResetJobBookmarkRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartTrigger -func (c *Glue) StartTriggerRequest(input *StartTriggerInput) (req *request.Request, output *StartTriggerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ResetJobBookmark +func (c *Glue) ResetJobBookmarkRequest(input *ResetJobBookmarkInput) (req *request.Request, output *ResetJobBookmarkOutput) { op := &request.Operation{ - Name: opStartTrigger, + Name: opResetJobBookmark, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StartTriggerInput{} + input = &ResetJobBookmarkInput{} } - output = &StartTriggerOutput{} + output = &ResetJobBookmarkOutput{} req = c.newRequest(op, input, output) return } -// StartTrigger API operation for AWS Glue. +// ResetJobBookmark API operation for AWS Glue. // -// Starts an existing trigger. See Triggering Jobs (http://docs.aws.amazon.com/glue/latest/dg/trigger-job.html) -// for information about how different types of trigger are started. +// Resets a bookmark entry. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation StartTrigger for usage and error information. +// API operation ResetJobBookmark for usage and error information. // // Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// // * ErrCodeInvalidInputException "InvalidInputException" // The input provided was not valid. // // * ErrCodeInternalServiceException "InternalServiceException" // An internal service error occurred. // -// * ErrCodeEntityNotFoundException "EntityNotFoundException" -// A specified entity does not exist -// // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" -// A resource numerical limit was exceeded. -// -// * ErrCodeConcurrentRunsExceededException "ConcurrentRunsExceededException" -// Too many jobs are being run concurrently. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartTrigger -func (c *Glue) StartTrigger(input *StartTriggerInput) (*StartTriggerOutput, error) { - req, out := c.StartTriggerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ResetJobBookmark +func (c *Glue) ResetJobBookmark(input *ResetJobBookmarkInput) (*ResetJobBookmarkOutput, error) { + req, out := c.ResetJobBookmarkRequest(input) return out, req.Send() } -// StartTriggerWithContext is the same as StartTrigger with the addition of +// ResetJobBookmarkWithContext is the same as ResetJobBookmark with the addition of // the ability to pass a context and additional request options. // -// See StartTrigger for details on how to use this API operation. +// See ResetJobBookmark for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) StartTriggerWithContext(ctx aws.Context, input *StartTriggerInput, opts ...request.Option) (*StartTriggerOutput, error) { - req, out := c.StartTriggerRequest(input) +func (c *Glue) ResetJobBookmarkWithContext(ctx aws.Context, input *ResetJobBookmarkInput, opts ...request.Option) (*ResetJobBookmarkOutput, error) { + req, out := c.ResetJobBookmarkRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopCrawler = "StopCrawler" +const opStartCrawler = "StartCrawler" -// StopCrawlerRequest generates a "aws/request.Request" representing the -// client's request for the StopCrawler operation. The "output" return +// StartCrawlerRequest generates a "aws/request.Request" representing the +// client's request for the StartCrawler 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 StopCrawler for more information on using the StopCrawler +// See StartCrawler for more information on using the StartCrawler // 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 StopCrawlerRequest method. -// req, resp := client.StopCrawlerRequest(params) +// // Example sending a request using the StartCrawlerRequest method. +// req, resp := client.StartCrawlerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawler -func (c *Glue) StopCrawlerRequest(input *StopCrawlerInput) (req *request.Request, output *StopCrawlerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawler +func (c *Glue) StartCrawlerRequest(input *StartCrawlerInput) (req *request.Request, output *StartCrawlerOutput) { op := &request.Operation{ - Name: opStopCrawler, + Name: opStartCrawler, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StopCrawlerInput{} + input = &StartCrawlerInput{} } - output = &StopCrawlerOutput{} + output = &StartCrawlerOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// StopCrawler API operation for AWS Glue. +// StartCrawler API operation for AWS Glue. // -// If the specified crawler is running, stops the crawl. +// Starts a crawl using the specified crawler, regardless of what is scheduled. +// If the crawler is already running, returns a CrawlerRunningException (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-exceptions.html#aws-glue-api-exceptions-CrawlerRunningException). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation StopCrawler for usage and error information. +// API operation StartCrawler for usage and error information. // // Returned Error Codes: // * ErrCodeEntityNotFoundException "EntityNotFoundException" // A specified entity does not exist // -// * ErrCodeCrawlerNotRunningException "CrawlerNotRunningException" -// The specified crawler is not running. -// -// * ErrCodeCrawlerStoppingException "CrawlerStoppingException" -// The specified crawler is stopping. +// * ErrCodeCrawlerRunningException "CrawlerRunningException" +// The operation cannot be performed because the crawler is already running. // // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawler -func (c *Glue) StopCrawler(input *StopCrawlerInput) (*StopCrawlerOutput, error) { - req, out := c.StopCrawlerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawler +func (c *Glue) StartCrawler(input *StartCrawlerInput) (*StartCrawlerOutput, error) { + req, out := c.StartCrawlerRequest(input) return out, req.Send() } -// StopCrawlerWithContext is the same as StopCrawler with the addition of +// StartCrawlerWithContext is the same as StartCrawler with the addition of // the ability to pass a context and additional request options. // -// See StopCrawler for details on how to use this API operation. +// See StartCrawler for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) StopCrawlerWithContext(ctx aws.Context, input *StopCrawlerInput, opts ...request.Option) (*StopCrawlerOutput, error) { - req, out := c.StopCrawlerRequest(input) +func (c *Glue) StartCrawlerWithContext(ctx aws.Context, input *StartCrawlerInput, opts ...request.Option) (*StartCrawlerOutput, error) { + req, out := c.StartCrawlerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopCrawlerSchedule = "StopCrawlerSchedule" +const opStartCrawlerSchedule = "StartCrawlerSchedule" -// StopCrawlerScheduleRequest generates a "aws/request.Request" representing the -// client's request for the StopCrawlerSchedule operation. The "output" return +// StartCrawlerScheduleRequest generates a "aws/request.Request" representing the +// client's request for the StartCrawlerSchedule 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 StopCrawlerSchedule for more information on using the StopCrawlerSchedule +// See StartCrawlerSchedule for more information on using the StartCrawlerSchedule // 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 StopCrawlerScheduleRequest method. -// req, resp := client.StopCrawlerScheduleRequest(params) +// // Example sending a request using the StartCrawlerScheduleRequest method. +// req, resp := client.StartCrawlerScheduleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawlerSchedule -func (c *Glue) StopCrawlerScheduleRequest(input *StopCrawlerScheduleInput) (req *request.Request, output *StopCrawlerScheduleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawlerSchedule +func (c *Glue) StartCrawlerScheduleRequest(input *StartCrawlerScheduleInput) (req *request.Request, output *StartCrawlerScheduleOutput) { op := &request.Operation{ - Name: opStopCrawlerSchedule, + Name: opStartCrawlerSchedule, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StopCrawlerScheduleInput{} + input = &StartCrawlerScheduleInput{} } - output = &StopCrawlerScheduleOutput{} + output = &StartCrawlerScheduleOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// StopCrawlerSchedule API operation for AWS Glue. +// StartCrawlerSchedule API operation for AWS Glue. // -// Sets the schedule state of the specified crawler to NOT_SCHEDULED, but does -// not stop the crawler if it is already running. +// Changes the schedule state of the specified crawler to SCHEDULED, unless +// the crawler is already running or the schedule state is already SCHEDULED. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation StopCrawlerSchedule for usage and error information. +// API operation StartCrawlerSchedule for usage and error information. // // Returned Error Codes: // * ErrCodeEntityNotFoundException "EntityNotFoundException" // A specified entity does not exist // -// * ErrCodeSchedulerNotRunningException "SchedulerNotRunningException" -// The specified scheduler is not running. +// * ErrCodeSchedulerRunningException "SchedulerRunningException" +// The specified scheduler is already running. // // * ErrCodeSchedulerTransitioningException "SchedulerTransitioningException" // The specified scheduler is transitioning. // +// * ErrCodeNoScheduleException "NoScheduleException" +// There is no applicable schedule. +// // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawlerSchedule -func (c *Glue) StopCrawlerSchedule(input *StopCrawlerScheduleInput) (*StopCrawlerScheduleOutput, error) { - req, out := c.StopCrawlerScheduleRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawlerSchedule +func (c *Glue) StartCrawlerSchedule(input *StartCrawlerScheduleInput) (*StartCrawlerScheduleOutput, error) { + req, out := c.StartCrawlerScheduleRequest(input) return out, req.Send() } -// StopCrawlerScheduleWithContext is the same as StopCrawlerSchedule with the addition of +// StartCrawlerScheduleWithContext is the same as StartCrawlerSchedule with the addition of // the ability to pass a context and additional request options. // -// See StopCrawlerSchedule for details on how to use this API operation. +// See StartCrawlerSchedule for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) StopCrawlerScheduleWithContext(ctx aws.Context, input *StopCrawlerScheduleInput, opts ...request.Option) (*StopCrawlerScheduleOutput, error) { - req, out := c.StopCrawlerScheduleRequest(input) +func (c *Glue) StartCrawlerScheduleWithContext(ctx aws.Context, input *StartCrawlerScheduleInput, opts ...request.Option) (*StartCrawlerScheduleOutput, error) { + req, out := c.StartCrawlerScheduleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopTrigger = "StopTrigger" +const opStartJobRun = "StartJobRun" -// StopTriggerRequest generates a "aws/request.Request" representing the -// client's request for the StopTrigger operation. The "output" return +// StartJobRunRequest generates a "aws/request.Request" representing the +// client's request for the StartJobRun 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 StopTrigger for more information on using the StopTrigger +// See StartJobRun for more information on using the StartJobRun // 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 StopTriggerRequest method. -// req, resp := client.StopTriggerRequest(params) +// // Example sending a request using the StartJobRunRequest method. +// req, resp := client.StartJobRunRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopTrigger -func (c *Glue) StopTriggerRequest(input *StopTriggerInput) (req *request.Request, output *StopTriggerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartJobRun +func (c *Glue) StartJobRunRequest(input *StartJobRunInput) (req *request.Request, output *StartJobRunOutput) { op := &request.Operation{ - Name: opStopTrigger, + Name: opStartJobRun, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StopTriggerInput{} + input = &StartJobRunInput{} } - output = &StopTriggerOutput{} + output = &StartJobRunOutput{} req = c.newRequest(op, input, output) return } -// StopTrigger API operation for AWS Glue. +// StartJobRun API operation for AWS Glue. // -// Stops a specified trigger. +// Starts a job run using a job definition. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation StopTrigger for usage and error information. +// API operation StartJobRun for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidInputException "InvalidInputException" // The input provided was not valid. // -// * ErrCodeInternalServiceException "InternalServiceException" -// An internal service error occurred. -// // * ErrCodeEntityNotFoundException "EntityNotFoundException" // A specified entity does not exist // +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// * ErrCodeConcurrentModificationException "ConcurrentModificationException" -// Two processes are trying to modify a resource simultaneously. +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopTrigger -func (c *Glue) StopTrigger(input *StopTriggerInput) (*StopTriggerOutput, error) { - req, out := c.StopTriggerRequest(input) +// * ErrCodeConcurrentRunsExceededException "ConcurrentRunsExceededException" +// Too many jobs are being run concurrently. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartJobRun +func (c *Glue) StartJobRun(input *StartJobRunInput) (*StartJobRunOutput, error) { + req, out := c.StartJobRunRequest(input) return out, req.Send() } -// StopTriggerWithContext is the same as StopTrigger with the addition of +// StartJobRunWithContext is the same as StartJobRun with the addition of // the ability to pass a context and additional request options. // -// See StopTrigger for details on how to use this API operation. +// See StartJobRun for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) StopTriggerWithContext(ctx aws.Context, input *StopTriggerInput, opts ...request.Option) (*StopTriggerOutput, error) { - req, out := c.StopTriggerRequest(input) +func (c *Glue) StartJobRunWithContext(ctx aws.Context, input *StartJobRunInput, opts ...request.Option) (*StartJobRunOutput, error) { + req, out := c.StartJobRunRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateClassifier = "UpdateClassifier" +const opStartTrigger = "StartTrigger" -// UpdateClassifierRequest generates a "aws/request.Request" representing the -// client's request for the UpdateClassifier operation. The "output" return +// StartTriggerRequest generates a "aws/request.Request" representing the +// client's request for the StartTrigger 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 UpdateClassifier for more information on using the UpdateClassifier +// See StartTrigger for more information on using the StartTrigger // 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 UpdateClassifierRequest method. -// req, resp := client.UpdateClassifierRequest(params) +// // Example sending a request using the StartTriggerRequest method. +// req, resp := client.StartTriggerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateClassifier -func (c *Glue) UpdateClassifierRequest(input *UpdateClassifierInput) (req *request.Request, output *UpdateClassifierOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartTrigger +func (c *Glue) StartTriggerRequest(input *StartTriggerInput) (req *request.Request, output *StartTriggerOutput) { op := &request.Operation{ - Name: opUpdateClassifier, + Name: opStartTrigger, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateClassifierInput{} + input = &StartTriggerInput{} } - output = &UpdateClassifierOutput{} + output = &StartTriggerOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateClassifier API operation for AWS Glue. +// StartTrigger API operation for AWS Glue. // -// Modifies an existing classifier (a GrokClassifier, XMLClassifier, or JsonClassifier, -// depending on which field is present). +// Starts an existing trigger. See Triggering Jobs (http://docs.aws.amazon.com/glue/latest/dg/trigger-job.html) +// for information about how different types of trigger are started. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation UpdateClassifier for usage and error information. +// API operation StartTrigger for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidInputException "InvalidInputException" // The input provided was not valid. // -// * ErrCodeVersionMismatchException "VersionMismatchException" -// There was a version conflict. +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. // // * ErrCodeEntityNotFoundException "EntityNotFoundException" // A specified entity does not exist @@ -7610,363 +8330,361 @@ func (c *Glue) UpdateClassifierRequest(input *UpdateClassifierInput) (req *reque // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateClassifier -func (c *Glue) UpdateClassifier(input *UpdateClassifierInput) (*UpdateClassifierOutput, error) { - req, out := c.UpdateClassifierRequest(input) +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// +// * ErrCodeConcurrentRunsExceededException "ConcurrentRunsExceededException" +// Too many jobs are being run concurrently. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartTrigger +func (c *Glue) StartTrigger(input *StartTriggerInput) (*StartTriggerOutput, error) { + req, out := c.StartTriggerRequest(input) return out, req.Send() } -// UpdateClassifierWithContext is the same as UpdateClassifier with the addition of +// StartTriggerWithContext is the same as StartTrigger with the addition of // the ability to pass a context and additional request options. // -// See UpdateClassifier for details on how to use this API operation. +// See StartTrigger for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) UpdateClassifierWithContext(ctx aws.Context, input *UpdateClassifierInput, opts ...request.Option) (*UpdateClassifierOutput, error) { - req, out := c.UpdateClassifierRequest(input) +func (c *Glue) StartTriggerWithContext(ctx aws.Context, input *StartTriggerInput, opts ...request.Option) (*StartTriggerOutput, error) { + req, out := c.StartTriggerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateConnection = "UpdateConnection" +const opStopCrawler = "StopCrawler" -// UpdateConnectionRequest generates a "aws/request.Request" representing the -// client's request for the UpdateConnection operation. The "output" return +// StopCrawlerRequest generates a "aws/request.Request" representing the +// client's request for the StopCrawler 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 UpdateConnection for more information on using the UpdateConnection +// See StopCrawler for more information on using the StopCrawler // 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 UpdateConnectionRequest method. -// req, resp := client.UpdateConnectionRequest(params) +// // Example sending a request using the StopCrawlerRequest method. +// req, resp := client.StopCrawlerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateConnection -func (c *Glue) UpdateConnectionRequest(input *UpdateConnectionInput) (req *request.Request, output *UpdateConnectionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawler +func (c *Glue) StopCrawlerRequest(input *StopCrawlerInput) (req *request.Request, output *StopCrawlerOutput) { op := &request.Operation{ - Name: opUpdateConnection, + Name: opStopCrawler, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateConnectionInput{} + input = &StopCrawlerInput{} } - output = &UpdateConnectionOutput{} + output = &StopCrawlerOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateConnection API operation for AWS Glue. +// StopCrawler API operation for AWS Glue. // -// Updates a connection definition in the Data Catalog. +// If the specified crawler is running, stops the crawl. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation UpdateConnection for usage and error information. +// API operation StopCrawler for usage and error information. // // Returned Error Codes: -// * ErrCodeInvalidInputException "InvalidInputException" -// The input provided was not valid. -// // * ErrCodeEntityNotFoundException "EntityNotFoundException" // A specified entity does not exist // -// * ErrCodeOperationTimeoutException "OperationTimeoutException" -// The operation timed out. +// * ErrCodeCrawlerNotRunningException "CrawlerNotRunningException" +// The specified crawler is not running. // -// * ErrCodeInvalidInputException "InvalidInputException" -// The input provided was not valid. +// * ErrCodeCrawlerStoppingException "CrawlerStoppingException" +// The specified crawler is stopping. // -// * ErrCodeEncryptionException "GlueEncryptionException" -// An encryption operation failed. +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateConnection -func (c *Glue) UpdateConnection(input *UpdateConnectionInput) (*UpdateConnectionOutput, error) { - req, out := c.UpdateConnectionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawler +func (c *Glue) StopCrawler(input *StopCrawlerInput) (*StopCrawlerOutput, error) { + req, out := c.StopCrawlerRequest(input) return out, req.Send() } -// UpdateConnectionWithContext is the same as UpdateConnection with the addition of +// StopCrawlerWithContext is the same as StopCrawler with the addition of // the ability to pass a context and additional request options. // -// See UpdateConnection for details on how to use this API operation. +// See StopCrawler for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) UpdateConnectionWithContext(ctx aws.Context, input *UpdateConnectionInput, opts ...request.Option) (*UpdateConnectionOutput, error) { - req, out := c.UpdateConnectionRequest(input) +func (c *Glue) StopCrawlerWithContext(ctx aws.Context, input *StopCrawlerInput, opts ...request.Option) (*StopCrawlerOutput, error) { + req, out := c.StopCrawlerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateCrawler = "UpdateCrawler" +const opStopCrawlerSchedule = "StopCrawlerSchedule" -// UpdateCrawlerRequest generates a "aws/request.Request" representing the -// client's request for the UpdateCrawler operation. The "output" return +// StopCrawlerScheduleRequest generates a "aws/request.Request" representing the +// client's request for the StopCrawlerSchedule 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 UpdateCrawler for more information on using the UpdateCrawler +// See StopCrawlerSchedule for more information on using the StopCrawlerSchedule // 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 UpdateCrawlerRequest method. -// req, resp := client.UpdateCrawlerRequest(params) +// // Example sending a request using the StopCrawlerScheduleRequest method. +// req, resp := client.StopCrawlerScheduleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawler -func (c *Glue) UpdateCrawlerRequest(input *UpdateCrawlerInput) (req *request.Request, output *UpdateCrawlerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawlerSchedule +func (c *Glue) StopCrawlerScheduleRequest(input *StopCrawlerScheduleInput) (req *request.Request, output *StopCrawlerScheduleOutput) { op := &request.Operation{ - Name: opUpdateCrawler, + Name: opStopCrawlerSchedule, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateCrawlerInput{} + input = &StopCrawlerScheduleInput{} } - output = &UpdateCrawlerOutput{} + output = &StopCrawlerScheduleOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateCrawler API operation for AWS Glue. +// StopCrawlerSchedule API operation for AWS Glue. // -// Updates a crawler. If a crawler is running, you must stop it using StopCrawler -// before updating it. +// Sets the schedule state of the specified crawler to NOT_SCHEDULED, but does +// not stop the crawler if it is already running. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation UpdateCrawler for usage and error information. +// API operation StopCrawlerSchedule for usage and error information. // // Returned Error Codes: -// * ErrCodeInvalidInputException "InvalidInputException" -// The input provided was not valid. -// -// * ErrCodeVersionMismatchException "VersionMismatchException" -// There was a version conflict. -// // * ErrCodeEntityNotFoundException "EntityNotFoundException" // A specified entity does not exist // -// * ErrCodeCrawlerRunningException "CrawlerRunningException" -// The operation cannot be performed because the crawler is already running. +// * ErrCodeSchedulerNotRunningException "SchedulerNotRunningException" +// The specified scheduler is not running. +// +// * ErrCodeSchedulerTransitioningException "SchedulerTransitioningException" +// The specified scheduler is transitioning. // // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawler -func (c *Glue) UpdateCrawler(input *UpdateCrawlerInput) (*UpdateCrawlerOutput, error) { - req, out := c.UpdateCrawlerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawlerSchedule +func (c *Glue) StopCrawlerSchedule(input *StopCrawlerScheduleInput) (*StopCrawlerScheduleOutput, error) { + req, out := c.StopCrawlerScheduleRequest(input) return out, req.Send() } -// UpdateCrawlerWithContext is the same as UpdateCrawler with the addition of +// StopCrawlerScheduleWithContext is the same as StopCrawlerSchedule with the addition of // the ability to pass a context and additional request options. // -// See UpdateCrawler for details on how to use this API operation. +// See StopCrawlerSchedule for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) UpdateCrawlerWithContext(ctx aws.Context, input *UpdateCrawlerInput, opts ...request.Option) (*UpdateCrawlerOutput, error) { - req, out := c.UpdateCrawlerRequest(input) +func (c *Glue) StopCrawlerScheduleWithContext(ctx aws.Context, input *StopCrawlerScheduleInput, opts ...request.Option) (*StopCrawlerScheduleOutput, error) { + req, out := c.StopCrawlerScheduleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateCrawlerSchedule = "UpdateCrawlerSchedule" +const opStopTrigger = "StopTrigger" -// UpdateCrawlerScheduleRequest generates a "aws/request.Request" representing the -// client's request for the UpdateCrawlerSchedule operation. The "output" return +// StopTriggerRequest generates a "aws/request.Request" representing the +// client's request for the StopTrigger 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 UpdateCrawlerSchedule for more information on using the UpdateCrawlerSchedule +// See StopTrigger for more information on using the StopTrigger // 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 UpdateCrawlerScheduleRequest method. -// req, resp := client.UpdateCrawlerScheduleRequest(params) +// // Example sending a request using the StopTriggerRequest method. +// req, resp := client.StopTriggerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawlerSchedule -func (c *Glue) UpdateCrawlerScheduleRequest(input *UpdateCrawlerScheduleInput) (req *request.Request, output *UpdateCrawlerScheduleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopTrigger +func (c *Glue) StopTriggerRequest(input *StopTriggerInput) (req *request.Request, output *StopTriggerOutput) { op := &request.Operation{ - Name: opUpdateCrawlerSchedule, + Name: opStopTrigger, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateCrawlerScheduleInput{} + input = &StopTriggerInput{} } - output = &UpdateCrawlerScheduleOutput{} + output = &StopTriggerOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateCrawlerSchedule API operation for AWS Glue. +// StopTrigger API operation for AWS Glue. // -// Updates the schedule of a crawler using a cron expression. +// Stops a specified trigger. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation UpdateCrawlerSchedule for usage and error information. +// API operation StopTrigger for usage and error information. // // Returned Error Codes: -// * ErrCodeEntityNotFoundException "EntityNotFoundException" -// A specified entity does not exist -// // * ErrCodeInvalidInputException "InvalidInputException" // The input provided was not valid. // -// * ErrCodeVersionMismatchException "VersionMismatchException" -// There was a version conflict. +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. // -// * ErrCodeSchedulerTransitioningException "SchedulerTransitioningException" -// The specified scheduler is transitioning. +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist // // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawlerSchedule -func (c *Glue) UpdateCrawlerSchedule(input *UpdateCrawlerScheduleInput) (*UpdateCrawlerScheduleOutput, error) { - req, out := c.UpdateCrawlerScheduleRequest(input) +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Two processes are trying to modify a resource simultaneously. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopTrigger +func (c *Glue) StopTrigger(input *StopTriggerInput) (*StopTriggerOutput, error) { + req, out := c.StopTriggerRequest(input) return out, req.Send() } -// UpdateCrawlerScheduleWithContext is the same as UpdateCrawlerSchedule with the addition of +// StopTriggerWithContext is the same as StopTrigger with the addition of // the ability to pass a context and additional request options. // -// See UpdateCrawlerSchedule for details on how to use this API operation. +// See StopTrigger for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) UpdateCrawlerScheduleWithContext(ctx aws.Context, input *UpdateCrawlerScheduleInput, opts ...request.Option) (*UpdateCrawlerScheduleOutput, error) { - req, out := c.UpdateCrawlerScheduleRequest(input) +func (c *Glue) StopTriggerWithContext(ctx aws.Context, input *StopTriggerInput, opts ...request.Option) (*StopTriggerOutput, error) { + req, out := c.StopTriggerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDatabase = "UpdateDatabase" +const opTagResource = "TagResource" -// UpdateDatabaseRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDatabase operation. The "output" return +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDatabase for more information on using the UpdateDatabase +// See TagResource for more information on using the TagResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateDatabaseRequest method. -// req, resp := client.UpdateDatabaseRequest(params) +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDatabase -func (c *Glue) UpdateDatabaseRequest(input *UpdateDatabaseInput) (req *request.Request, output *UpdateDatabaseOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/TagResource +func (c *Glue) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUpdateDatabase, + Name: opTagResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateDatabaseInput{} + input = &TagResourceInput{} } - output = &UpdateDatabaseOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateDatabase API operation for AWS Glue. +// TagResource API operation for AWS Glue. // -// Updates an existing database definition in a Data Catalog. +// Adds tags to a resource. A tag is a label you can assign to an AWS resource. +// In AWS Glue, you can tag only certain resources. For information about what +// resources you can tag, see AWS Tags in AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/monitor-tags.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 AWS Glue's -// API operation UpdateDatabase for usage and error information. +// API operation TagResource for usage and error information. // // Returned Error Codes: -// * ErrCodeEntityNotFoundException "EntityNotFoundException" -// A specified entity does not exist -// // * ErrCodeInvalidInputException "InvalidInputException" // The input provided was not valid. // @@ -7976,88 +8694,88 @@ func (c *Glue) UpdateDatabaseRequest(input *UpdateDatabaseInput) (req *request.R // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// * ErrCodeEncryptionException "GlueEncryptionException" -// An encryption operation failed. +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDatabase -func (c *Glue) UpdateDatabase(input *UpdateDatabaseInput) (*UpdateDatabaseOutput, error) { - req, out := c.UpdateDatabaseRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/TagResource +func (c *Glue) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) return out, req.Send() } -// UpdateDatabaseWithContext is the same as UpdateDatabase with the addition of +// TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateDatabase for details on how to use this API operation. +// See TagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) UpdateDatabaseWithContext(ctx aws.Context, input *UpdateDatabaseInput, opts ...request.Option) (*UpdateDatabaseOutput, error) { - req, out := c.UpdateDatabaseRequest(input) +func (c *Glue) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDevEndpoint = "UpdateDevEndpoint" +const opUntagResource = "UntagResource" -// UpdateDevEndpointRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDevEndpoint operation. The "output" return +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDevEndpoint for more information on using the UpdateDevEndpoint +// See UntagResource for more information on using the UntagResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateDevEndpointRequest method. -// req, resp := client.UpdateDevEndpointRequest(params) +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDevEndpoint -func (c *Glue) UpdateDevEndpointRequest(input *UpdateDevEndpointInput) (req *request.Request, output *UpdateDevEndpointOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UntagResource +func (c *Glue) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ - Name: opUpdateDevEndpoint, + Name: opUntagResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateDevEndpointInput{} + input = &UntagResourceInput{} } - output = &UpdateDevEndpointOutput{} + output = &UntagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateDevEndpoint API operation for AWS Glue. +// UntagResource API operation for AWS Glue. // -// Updates a specified DevEndpoint. +// Removes tags from a resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation UpdateDevEndpoint for usage and error information. +// API operation UntagResource for usage and error information. // // Returned Error Codes: -// * ErrCodeEntityNotFoundException "EntityNotFoundException" -// A specified entity does not exist +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. // // * ErrCodeInternalServiceException "InternalServiceException" // An internal service error occurred. @@ -8065,459 +8783,451 @@ func (c *Glue) UpdateDevEndpointRequest(input *UpdateDevEndpointInput) (req *req // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// * ErrCodeInvalidInputException "InvalidInputException" -// The input provided was not valid. -// -// * ErrCodeValidationException "ValidationException" -// A value could not be validated. +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDevEndpoint -func (c *Glue) UpdateDevEndpoint(input *UpdateDevEndpointInput) (*UpdateDevEndpointOutput, error) { - req, out := c.UpdateDevEndpointRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UntagResource +func (c *Glue) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) return out, req.Send() } -// UpdateDevEndpointWithContext is the same as UpdateDevEndpoint with the addition of +// UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateDevEndpoint for details on how to use this API operation. +// See UntagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) UpdateDevEndpointWithContext(ctx aws.Context, input *UpdateDevEndpointInput, opts ...request.Option) (*UpdateDevEndpointOutput, error) { - req, out := c.UpdateDevEndpointRequest(input) +func (c *Glue) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateJob = "UpdateJob" +const opUpdateClassifier = "UpdateClassifier" -// UpdateJobRequest generates a "aws/request.Request" representing the -// client's request for the UpdateJob operation. The "output" return +// UpdateClassifierRequest generates a "aws/request.Request" representing the +// client's request for the UpdateClassifier 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 UpdateJob for more information on using the UpdateJob +// See UpdateClassifier for more information on using the UpdateClassifier // 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 UpdateJobRequest method. -// req, resp := client.UpdateJobRequest(params) +// // Example sending a request using the UpdateClassifierRequest method. +// req, resp := client.UpdateClassifierRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateJob -func (c *Glue) UpdateJobRequest(input *UpdateJobInput) (req *request.Request, output *UpdateJobOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateClassifier +func (c *Glue) UpdateClassifierRequest(input *UpdateClassifierInput) (req *request.Request, output *UpdateClassifierOutput) { op := &request.Operation{ - Name: opUpdateJob, + Name: opUpdateClassifier, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateJobInput{} + input = &UpdateClassifierInput{} } - output = &UpdateJobOutput{} + output = &UpdateClassifierOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateJob API operation for AWS Glue. +// UpdateClassifier API operation for AWS Glue. // -// Updates an existing job definition. +// Modifies an existing classifier (a GrokClassifier, XMLClassifier, or JsonClassifier, +// depending on which field is present). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation UpdateJob for usage and error information. +// API operation UpdateClassifier for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidInputException "InvalidInputException" // The input provided was not valid. // +// * ErrCodeVersionMismatchException "VersionMismatchException" +// There was a version conflict. +// // * ErrCodeEntityNotFoundException "EntityNotFoundException" // A specified entity does not exist // -// * ErrCodeInternalServiceException "InternalServiceException" -// An internal service error occurred. -// // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// * ErrCodeConcurrentModificationException "ConcurrentModificationException" -// Two processes are trying to modify a resource simultaneously. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateJob -func (c *Glue) UpdateJob(input *UpdateJobInput) (*UpdateJobOutput, error) { - req, out := c.UpdateJobRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateClassifier +func (c *Glue) UpdateClassifier(input *UpdateClassifierInput) (*UpdateClassifierOutput, error) { + req, out := c.UpdateClassifierRequest(input) return out, req.Send() } -// UpdateJobWithContext is the same as UpdateJob with the addition of +// UpdateClassifierWithContext is the same as UpdateClassifier with the addition of // the ability to pass a context and additional request options. // -// See UpdateJob for details on how to use this API operation. +// See UpdateClassifier for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) UpdateJobWithContext(ctx aws.Context, input *UpdateJobInput, opts ...request.Option) (*UpdateJobOutput, error) { - req, out := c.UpdateJobRequest(input) +func (c *Glue) UpdateClassifierWithContext(ctx aws.Context, input *UpdateClassifierInput, opts ...request.Option) (*UpdateClassifierOutput, error) { + req, out := c.UpdateClassifierRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdatePartition = "UpdatePartition" +const opUpdateConnection = "UpdateConnection" -// UpdatePartitionRequest generates a "aws/request.Request" representing the -// client's request for the UpdatePartition operation. The "output" return +// UpdateConnectionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConnection 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 UpdatePartition for more information on using the UpdatePartition +// See UpdateConnection for more information on using the UpdateConnection // 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 UpdatePartitionRequest method. -// req, resp := client.UpdatePartitionRequest(params) +// // Example sending a request using the UpdateConnectionRequest method. +// req, resp := client.UpdateConnectionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdatePartition -func (c *Glue) UpdatePartitionRequest(input *UpdatePartitionInput) (req *request.Request, output *UpdatePartitionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateConnection +func (c *Glue) UpdateConnectionRequest(input *UpdateConnectionInput) (req *request.Request, output *UpdateConnectionOutput) { op := &request.Operation{ - Name: opUpdatePartition, + Name: opUpdateConnection, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdatePartitionInput{} + input = &UpdateConnectionInput{} } - output = &UpdatePartitionOutput{} + output = &UpdateConnectionOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdatePartition API operation for AWS Glue. +// UpdateConnection API operation for AWS Glue. // -// Updates a partition. +// Updates a connection definition in the Data Catalog. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation UpdatePartition for usage and error information. +// API operation UpdateConnection for usage and error information. // // Returned Error Codes: -// * ErrCodeEntityNotFoundException "EntityNotFoundException" -// A specified entity does not exist -// // * ErrCodeInvalidInputException "InvalidInputException" // The input provided was not valid. // -// * ErrCodeInternalServiceException "InternalServiceException" -// An internal service error occurred. +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist // // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// // * ErrCodeEncryptionException "GlueEncryptionException" // An encryption operation failed. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdatePartition -func (c *Glue) UpdatePartition(input *UpdatePartitionInput) (*UpdatePartitionOutput, error) { - req, out := c.UpdatePartitionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateConnection +func (c *Glue) UpdateConnection(input *UpdateConnectionInput) (*UpdateConnectionOutput, error) { + req, out := c.UpdateConnectionRequest(input) return out, req.Send() } -// UpdatePartitionWithContext is the same as UpdatePartition with the addition of +// UpdateConnectionWithContext is the same as UpdateConnection with the addition of // the ability to pass a context and additional request options. // -// See UpdatePartition for details on how to use this API operation. +// See UpdateConnection for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) UpdatePartitionWithContext(ctx aws.Context, input *UpdatePartitionInput, opts ...request.Option) (*UpdatePartitionOutput, error) { - req, out := c.UpdatePartitionRequest(input) +func (c *Glue) UpdateConnectionWithContext(ctx aws.Context, input *UpdateConnectionInput, opts ...request.Option) (*UpdateConnectionOutput, error) { + req, out := c.UpdateConnectionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateTable = "UpdateTable" +const opUpdateCrawler = "UpdateCrawler" -// UpdateTableRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTable operation. The "output" return +// UpdateCrawlerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCrawler 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 UpdateTable for more information on using the UpdateTable +// See UpdateCrawler for more information on using the UpdateCrawler // 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 UpdateTableRequest method. -// req, resp := client.UpdateTableRequest(params) +// // Example sending a request using the UpdateCrawlerRequest method. +// req, resp := client.UpdateCrawlerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTable -func (c *Glue) UpdateTableRequest(input *UpdateTableInput) (req *request.Request, output *UpdateTableOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawler +func (c *Glue) UpdateCrawlerRequest(input *UpdateCrawlerInput) (req *request.Request, output *UpdateCrawlerOutput) { op := &request.Operation{ - Name: opUpdateTable, + Name: opUpdateCrawler, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateTableInput{} + input = &UpdateCrawlerInput{} } - output = &UpdateTableOutput{} + output = &UpdateCrawlerOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateTable API operation for AWS Glue. +// UpdateCrawler API operation for AWS Glue. // -// Updates a metadata table in the Data Catalog. +// Updates a crawler. If a crawler is running, you must stop it using StopCrawler +// before updating it. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation UpdateTable for usage and error information. +// API operation UpdateCrawler for usage and error information. // // Returned Error Codes: -// * ErrCodeEntityNotFoundException "EntityNotFoundException" -// A specified entity does not exist -// // * ErrCodeInvalidInputException "InvalidInputException" // The input provided was not valid. // -// * ErrCodeInternalServiceException "InternalServiceException" -// An internal service error occurred. -// -// * ErrCodeOperationTimeoutException "OperationTimeoutException" -// The operation timed out. +// * ErrCodeVersionMismatchException "VersionMismatchException" +// There was a version conflict. // -// * ErrCodeConcurrentModificationException "ConcurrentModificationException" -// Two processes are trying to modify a resource simultaneously. +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist // -// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" -// A resource numerical limit was exceeded. +// * ErrCodeCrawlerRunningException "CrawlerRunningException" +// The operation cannot be performed because the crawler is already running. // -// * ErrCodeEncryptionException "GlueEncryptionException" -// An encryption operation failed. +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTable -func (c *Glue) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) { - req, out := c.UpdateTableRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawler +func (c *Glue) UpdateCrawler(input *UpdateCrawlerInput) (*UpdateCrawlerOutput, error) { + req, out := c.UpdateCrawlerRequest(input) return out, req.Send() } -// UpdateTableWithContext is the same as UpdateTable with the addition of +// UpdateCrawlerWithContext is the same as UpdateCrawler with the addition of // the ability to pass a context and additional request options. // -// See UpdateTable for details on how to use this API operation. +// See UpdateCrawler for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) UpdateTableWithContext(ctx aws.Context, input *UpdateTableInput, opts ...request.Option) (*UpdateTableOutput, error) { - req, out := c.UpdateTableRequest(input) +func (c *Glue) UpdateCrawlerWithContext(ctx aws.Context, input *UpdateCrawlerInput, opts ...request.Option) (*UpdateCrawlerOutput, error) { + req, out := c.UpdateCrawlerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateTrigger = "UpdateTrigger" +const opUpdateCrawlerSchedule = "UpdateCrawlerSchedule" -// UpdateTriggerRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTrigger operation. The "output" return +// UpdateCrawlerScheduleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCrawlerSchedule 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 UpdateTrigger for more information on using the UpdateTrigger +// See UpdateCrawlerSchedule for more information on using the UpdateCrawlerSchedule // 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 UpdateTriggerRequest method. -// req, resp := client.UpdateTriggerRequest(params) +// // Example sending a request using the UpdateCrawlerScheduleRequest method. +// req, resp := client.UpdateCrawlerScheduleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTrigger -func (c *Glue) UpdateTriggerRequest(input *UpdateTriggerInput) (req *request.Request, output *UpdateTriggerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawlerSchedule +func (c *Glue) UpdateCrawlerScheduleRequest(input *UpdateCrawlerScheduleInput) (req *request.Request, output *UpdateCrawlerScheduleOutput) { op := &request.Operation{ - Name: opUpdateTrigger, + Name: opUpdateCrawlerSchedule, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateTriggerInput{} + input = &UpdateCrawlerScheduleInput{} } - output = &UpdateTriggerOutput{} + output = &UpdateCrawlerScheduleOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateTrigger API operation for AWS Glue. +// UpdateCrawlerSchedule API operation for AWS Glue. // -// Updates a trigger definition. +// Updates the schedule of a crawler using a cron expression. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation UpdateTrigger for usage and error information. +// API operation UpdateCrawlerSchedule for usage and error information. // // Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// // * ErrCodeInvalidInputException "InvalidInputException" // The input provided was not valid. // -// * ErrCodeInternalServiceException "InternalServiceException" -// An internal service error occurred. +// * ErrCodeVersionMismatchException "VersionMismatchException" +// There was a version conflict. // -// * ErrCodeEntityNotFoundException "EntityNotFoundException" -// A specified entity does not exist +// * ErrCodeSchedulerTransitioningException "SchedulerTransitioningException" +// The specified scheduler is transitioning. // // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // -// * ErrCodeConcurrentModificationException "ConcurrentModificationException" -// Two processes are trying to modify a resource simultaneously. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTrigger -func (c *Glue) UpdateTrigger(input *UpdateTriggerInput) (*UpdateTriggerOutput, error) { - req, out := c.UpdateTriggerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawlerSchedule +func (c *Glue) UpdateCrawlerSchedule(input *UpdateCrawlerScheduleInput) (*UpdateCrawlerScheduleOutput, error) { + req, out := c.UpdateCrawlerScheduleRequest(input) return out, req.Send() } -// UpdateTriggerWithContext is the same as UpdateTrigger with the addition of +// UpdateCrawlerScheduleWithContext is the same as UpdateCrawlerSchedule with the addition of // the ability to pass a context and additional request options. // -// See UpdateTrigger for details on how to use this API operation. +// See UpdateCrawlerSchedule for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) UpdateTriggerWithContext(ctx aws.Context, input *UpdateTriggerInput, opts ...request.Option) (*UpdateTriggerOutput, error) { - req, out := c.UpdateTriggerRequest(input) +func (c *Glue) UpdateCrawlerScheduleWithContext(ctx aws.Context, input *UpdateCrawlerScheduleInput, opts ...request.Option) (*UpdateCrawlerScheduleOutput, error) { + req, out := c.UpdateCrawlerScheduleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateUserDefinedFunction = "UpdateUserDefinedFunction" +const opUpdateDatabase = "UpdateDatabase" -// UpdateUserDefinedFunctionRequest generates a "aws/request.Request" representing the -// client's request for the UpdateUserDefinedFunction operation. The "output" return +// UpdateDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDatabase 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 UpdateUserDefinedFunction for more information on using the UpdateUserDefinedFunction +// See UpdateDatabase for more information on using the UpdateDatabase // 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 UpdateUserDefinedFunctionRequest method. -// req, resp := client.UpdateUserDefinedFunctionRequest(params) +// // Example sending a request using the UpdateDatabaseRequest method. +// req, resp := client.UpdateDatabaseRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateUserDefinedFunction -func (c *Glue) UpdateUserDefinedFunctionRequest(input *UpdateUserDefinedFunctionInput) (req *request.Request, output *UpdateUserDefinedFunctionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDatabase +func (c *Glue) UpdateDatabaseRequest(input *UpdateDatabaseInput) (req *request.Request, output *UpdateDatabaseOutput) { op := &request.Operation{ - Name: opUpdateUserDefinedFunction, + Name: opUpdateDatabase, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateUserDefinedFunctionInput{} + input = &UpdateDatabaseInput{} } - output = &UpdateUserDefinedFunctionOutput{} + output = &UpdateDatabaseOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateUserDefinedFunction API operation for AWS Glue. +// UpdateDatabase API operation for AWS Glue. // -// Updates an existing function definition in the Data Catalog. +// Updates an existing database definition in a Data Catalog. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Glue's -// API operation UpdateUserDefinedFunction for usage and error information. +// API operation UpdateDatabase for usage and error information. // // Returned Error Codes: // * ErrCodeEntityNotFoundException "EntityNotFoundException" @@ -8535,162 +9245,1133 @@ func (c *Glue) UpdateUserDefinedFunctionRequest(input *UpdateUserDefinedFunction // * ErrCodeEncryptionException "GlueEncryptionException" // An encryption operation failed. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateUserDefinedFunction -func (c *Glue) UpdateUserDefinedFunction(input *UpdateUserDefinedFunctionInput) (*UpdateUserDefinedFunctionOutput, error) { - req, out := c.UpdateUserDefinedFunctionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDatabase +func (c *Glue) UpdateDatabase(input *UpdateDatabaseInput) (*UpdateDatabaseOutput, error) { + req, out := c.UpdateDatabaseRequest(input) return out, req.Send() } -// UpdateUserDefinedFunctionWithContext is the same as UpdateUserDefinedFunction with the addition of +// UpdateDatabaseWithContext is the same as UpdateDatabase with the addition of // the ability to pass a context and additional request options. // -// See UpdateUserDefinedFunction for details on how to use this API operation. +// See UpdateDatabase for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Glue) UpdateUserDefinedFunctionWithContext(ctx aws.Context, input *UpdateUserDefinedFunctionInput, opts ...request.Option) (*UpdateUserDefinedFunctionOutput, error) { - req, out := c.UpdateUserDefinedFunctionRequest(input) +func (c *Glue) UpdateDatabaseWithContext(ctx aws.Context, input *UpdateDatabaseInput, opts ...request.Option) (*UpdateDatabaseOutput, error) { + req, out := c.UpdateDatabaseRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Defines an action to be initiated by a trigger. -type Action struct { - _ struct{} `type:"structure"` - - // Arguments to be passed to the job run. - // - // You can specify arguments here that your own job-execution script consumes, - // as well as arguments that AWS Glue itself consumes. - // - // For information about how to specify and consume your own Job arguments, - // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) - // topic in the developer guide. - // - // For information about the key-value pairs that AWS Glue consumes to set up - // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) - // topic in the developer guide. - Arguments map[string]*string `type:"map"` - - // The name of a job to be executed. - JobName *string `min:"1" type:"string"` +const opUpdateDevEndpoint = "UpdateDevEndpoint" - // Specifies configuration properties of a job run notification. - NotificationProperty *NotificationProperty `type:"structure"` +// UpdateDevEndpointRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDevEndpoint 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 UpdateDevEndpoint for more information on using the UpdateDevEndpoint +// 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 UpdateDevEndpointRequest method. +// req, resp := client.UpdateDevEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDevEndpoint +func (c *Glue) UpdateDevEndpointRequest(input *UpdateDevEndpointInput) (req *request.Request, output *UpdateDevEndpointOutput) { + op := &request.Operation{ + Name: opUpdateDevEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } - // The name of the SecurityConfiguration structure to be used with this action. - SecurityConfiguration *string `min:"1" type:"string"` + if input == nil { + input = &UpdateDevEndpointInput{} + } - // The JobRun timeout in minutes. This is the maximum time that a job run can - // consume resources before it is terminated and enters TIMEOUT status. The - // default is 2,880 minutes (48 hours). This overrides the timeout value set - // in the parent job. - Timeout *int64 `min:"1" type:"integer"` + output = &UpdateDevEndpointOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return } -// String returns the string representation -func (s Action) String() string { - return awsutil.Prettify(s) +// UpdateDevEndpoint API operation for AWS Glue. +// +// Updates a specified DevEndpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateDevEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeValidationException "ValidationException" +// A value could not be validated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDevEndpoint +func (c *Glue) UpdateDevEndpoint(input *UpdateDevEndpointInput) (*UpdateDevEndpointOutput, error) { + req, out := c.UpdateDevEndpointRequest(input) + return out, req.Send() } -// GoString returns the string representation -func (s Action) GoString() string { - return s.String() +// UpdateDevEndpointWithContext is the same as UpdateDevEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDevEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateDevEndpointWithContext(ctx aws.Context, input *UpdateDevEndpointInput, opts ...request.Option) (*UpdateDevEndpointOutput, error) { + req, out := c.UpdateDevEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Action) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Action"} - if s.JobName != nil && len(*s.JobName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) - } - if s.SecurityConfiguration != nil && len(*s.SecurityConfiguration) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SecurityConfiguration", 1)) - } - if s.Timeout != nil && *s.Timeout < 1 { - invalidParams.Add(request.NewErrParamMinValue("Timeout", 1)) - } - if s.NotificationProperty != nil { - if err := s.NotificationProperty.Validate(); err != nil { - invalidParams.AddNested("NotificationProperty", err.(request.ErrInvalidParams)) - } - } +const opUpdateJob = "UpdateJob" - if invalidParams.Len() > 0 { - return invalidParams +// UpdateJobRequest generates a "aws/request.Request" representing the +// client's request for the UpdateJob 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 UpdateJob for more information on using the UpdateJob +// 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 UpdateJobRequest method. +// req, resp := client.UpdateJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateJob +func (c *Glue) UpdateJobRequest(input *UpdateJobInput) (req *request.Request, output *UpdateJobOutput) { + op := &request.Operation{ + Name: opUpdateJob, + HTTPMethod: "POST", + HTTPPath: "/", } - return nil -} -// SetArguments sets the Arguments field's value. -func (s *Action) SetArguments(v map[string]*string) *Action { - s.Arguments = v - return s -} + if input == nil { + input = &UpdateJobInput{} + } -// SetJobName sets the JobName field's value. -func (s *Action) SetJobName(v string) *Action { - s.JobName = &v - return s + output = &UpdateJobOutput{} + req = c.newRequest(op, input, output) + return } -// SetNotificationProperty sets the NotificationProperty field's value. -func (s *Action) SetNotificationProperty(v *NotificationProperty) *Action { - s.NotificationProperty = v - return s +// UpdateJob API operation for AWS Glue. +// +// Updates an existing job definition. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Two processes are trying to modify a resource simultaneously. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateJob +func (c *Glue) UpdateJob(input *UpdateJobInput) (*UpdateJobOutput, error) { + req, out := c.UpdateJobRequest(input) + return out, req.Send() } -// SetSecurityConfiguration sets the SecurityConfiguration field's value. -func (s *Action) SetSecurityConfiguration(v string) *Action { - s.SecurityConfiguration = &v - return s +// UpdateJobWithContext is the same as UpdateJob with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateJobWithContext(ctx aws.Context, input *UpdateJobInput, opts ...request.Option) (*UpdateJobOutput, error) { + req, out := c.UpdateJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePartition = "UpdatePartition" + +// UpdatePartitionRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePartition 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 UpdatePartition for more information on using the UpdatePartition +// 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 UpdatePartitionRequest method. +// req, resp := client.UpdatePartitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdatePartition +func (c *Glue) UpdatePartitionRequest(input *UpdatePartitionInput) (req *request.Request, output *UpdatePartitionOutput) { + op := &request.Operation{ + Name: opUpdatePartition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdatePartitionInput{} + } + + output = &UpdatePartitionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdatePartition API operation for AWS Glue. +// +// Updates a partition. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdatePartition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeEncryptionException "GlueEncryptionException" +// An encryption operation failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdatePartition +func (c *Glue) UpdatePartition(input *UpdatePartitionInput) (*UpdatePartitionOutput, error) { + req, out := c.UpdatePartitionRequest(input) + return out, req.Send() +} + +// UpdatePartitionWithContext is the same as UpdatePartition with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePartition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdatePartitionWithContext(ctx aws.Context, input *UpdatePartitionInput, opts ...request.Option) (*UpdatePartitionOutput, error) { + req, out := c.UpdatePartitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTable = "UpdateTable" + +// UpdateTableRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTable 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 UpdateTable for more information on using the UpdateTable +// 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 UpdateTableRequest method. +// req, resp := client.UpdateTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTable +func (c *Glue) UpdateTableRequest(input *UpdateTableInput) (req *request.Request, output *UpdateTableOutput) { + op := &request.Operation{ + Name: opUpdateTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTableInput{} + } + + output = &UpdateTableOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateTable API operation for AWS Glue. +// +// Updates a metadata table in the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateTable for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Two processes are trying to modify a resource simultaneously. +// +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// +// * ErrCodeEncryptionException "GlueEncryptionException" +// An encryption operation failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTable +func (c *Glue) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) { + req, out := c.UpdateTableRequest(input) + return out, req.Send() +} + +// UpdateTableWithContext is the same as UpdateTable with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateTableWithContext(ctx aws.Context, input *UpdateTableInput, opts ...request.Option) (*UpdateTableOutput, error) { + req, out := c.UpdateTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTrigger = "UpdateTrigger" + +// UpdateTriggerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTrigger 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 UpdateTrigger for more information on using the UpdateTrigger +// 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 UpdateTriggerRequest method. +// req, resp := client.UpdateTriggerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTrigger +func (c *Glue) UpdateTriggerRequest(input *UpdateTriggerInput) (req *request.Request, output *UpdateTriggerOutput) { + op := &request.Operation{ + Name: opUpdateTrigger, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTriggerInput{} + } + + output = &UpdateTriggerOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTrigger API operation for AWS Glue. +// +// Updates a trigger definition. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateTrigger for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Two processes are trying to modify a resource simultaneously. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTrigger +func (c *Glue) UpdateTrigger(input *UpdateTriggerInput) (*UpdateTriggerOutput, error) { + req, out := c.UpdateTriggerRequest(input) + return out, req.Send() +} + +// UpdateTriggerWithContext is the same as UpdateTrigger with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTrigger for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateTriggerWithContext(ctx aws.Context, input *UpdateTriggerInput, opts ...request.Option) (*UpdateTriggerOutput, error) { + req, out := c.UpdateTriggerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateUserDefinedFunction = "UpdateUserDefinedFunction" + +// UpdateUserDefinedFunctionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUserDefinedFunction 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 UpdateUserDefinedFunction for more information on using the UpdateUserDefinedFunction +// 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 UpdateUserDefinedFunctionRequest method. +// req, resp := client.UpdateUserDefinedFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateUserDefinedFunction +func (c *Glue) UpdateUserDefinedFunctionRequest(input *UpdateUserDefinedFunctionInput) (req *request.Request, output *UpdateUserDefinedFunctionOutput) { + op := &request.Operation{ + Name: opUpdateUserDefinedFunction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateUserDefinedFunctionInput{} + } + + output = &UpdateUserDefinedFunctionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateUserDefinedFunction API operation for AWS Glue. +// +// Updates an existing function definition in the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateUserDefinedFunction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeEncryptionException "GlueEncryptionException" +// An encryption operation failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateUserDefinedFunction +func (c *Glue) UpdateUserDefinedFunction(input *UpdateUserDefinedFunctionInput) (*UpdateUserDefinedFunctionOutput, error) { + req, out := c.UpdateUserDefinedFunctionRequest(input) + return out, req.Send() +} + +// UpdateUserDefinedFunctionWithContext is the same as UpdateUserDefinedFunction with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateUserDefinedFunction for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateUserDefinedFunctionWithContext(ctx aws.Context, input *UpdateUserDefinedFunctionInput, opts ...request.Option) (*UpdateUserDefinedFunctionOutput, error) { + req, out := c.UpdateUserDefinedFunctionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Defines an action to be initiated by a trigger. +type Action struct { + _ struct{} `type:"structure"` + + // The job arguments used when this trigger fires. For this job run, they replace + // the default arguments set in the job definition itself. + // + // You can specify arguments here that your own job-execution script consumes, + // as well as arguments that AWS Glue itself consumes. + // + // For information about how to specify and consume your own Job arguments, + // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) + // topic in the developer guide. + // + // For information about the key-value pairs that AWS Glue consumes to set up + // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) + // topic in the developer guide. + Arguments map[string]*string `type:"map"` + + // The name of a job to be executed. + JobName *string `min:"1" type:"string"` + + // Specifies configuration properties of a job run notification. + NotificationProperty *NotificationProperty `type:"structure"` + + // The name of the SecurityConfiguration structure to be used with this action. + SecurityConfiguration *string `min:"1" type:"string"` + + // The JobRun timeout in minutes. This is the maximum time that a job run can + // consume resources before it is terminated and enters TIMEOUT status. The + // default is 2,880 minutes (48 hours). This overrides the timeout value set + // in the parent job. + Timeout *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s Action) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Action) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Action) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Action"} + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + if s.SecurityConfiguration != nil && len(*s.SecurityConfiguration) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityConfiguration", 1)) + } + if s.Timeout != nil && *s.Timeout < 1 { + invalidParams.Add(request.NewErrParamMinValue("Timeout", 1)) + } + if s.NotificationProperty != nil { + if err := s.NotificationProperty.Validate(); err != nil { + invalidParams.AddNested("NotificationProperty", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArguments sets the Arguments field's value. +func (s *Action) SetArguments(v map[string]*string) *Action { + s.Arguments = v + return s +} + +// SetJobName sets the JobName field's value. +func (s *Action) SetJobName(v string) *Action { + s.JobName = &v + return s +} + +// SetNotificationProperty sets the NotificationProperty field's value. +func (s *Action) SetNotificationProperty(v *NotificationProperty) *Action { + s.NotificationProperty = v + return s +} + +// SetSecurityConfiguration sets the SecurityConfiguration field's value. +func (s *Action) SetSecurityConfiguration(v string) *Action { + s.SecurityConfiguration = &v + return s +} + +// SetTimeout sets the Timeout field's value. +func (s *Action) SetTimeout(v int64) *Action { + s.Timeout = &v + return s +} + +type BatchCreatePartitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the catalog in which the partion is to be created. Currently, this + // should be the AWS account ID. + CatalogId *string `min:"1" type:"string"` + + // The name of the metadata database in which the partition is to be created. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A list of PartitionInput structures that define the partitions to be created. + // + // PartitionInputList is a required field + PartitionInputList []*PartitionInput `type:"list" required:"true"` + + // The name of the metadata table in which the partition is to be created. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s BatchCreatePartitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchCreatePartitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchCreatePartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchCreatePartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionInputList == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionInputList")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.PartitionInputList != nil { + for i, v := range s.PartitionInputList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PartitionInputList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *BatchCreatePartitionInput) SetCatalogId(v string) *BatchCreatePartitionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *BatchCreatePartitionInput) SetDatabaseName(v string) *BatchCreatePartitionInput { + s.DatabaseName = &v + return s +} + +// SetPartitionInputList sets the PartitionInputList field's value. +func (s *BatchCreatePartitionInput) SetPartitionInputList(v []*PartitionInput) *BatchCreatePartitionInput { + s.PartitionInputList = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *BatchCreatePartitionInput) SetTableName(v string) *BatchCreatePartitionInput { + s.TableName = &v + return s +} + +type BatchCreatePartitionOutput struct { + _ struct{} `type:"structure"` + + // Errors encountered when trying to create the requested partitions. + Errors []*PartitionError `type:"list"` +} + +// String returns the string representation +func (s BatchCreatePartitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchCreatePartitionOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchCreatePartitionOutput) SetErrors(v []*PartitionError) *BatchCreatePartitionOutput { + s.Errors = v + return s +} + +type BatchDeleteConnectionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which the connections reside. If none is provided, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // A list of names of the connections to delete. + // + // ConnectionNameList is a required field + ConnectionNameList []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchDeleteConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDeleteConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDeleteConnectionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.ConnectionNameList == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionNameList")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *BatchDeleteConnectionInput) SetCatalogId(v string) *BatchDeleteConnectionInput { + s.CatalogId = &v + return s +} + +// SetConnectionNameList sets the ConnectionNameList field's value. +func (s *BatchDeleteConnectionInput) SetConnectionNameList(v []*string) *BatchDeleteConnectionInput { + s.ConnectionNameList = v + return s +} + +type BatchDeleteConnectionOutput struct { + _ struct{} `type:"structure"` + + // A map of the names of connections that were not successfully deleted to error + // details. + Errors map[string]*ErrorDetail `type:"map"` + + // A list of names of the connection definitions that were successfully deleted. + Succeeded []*string `type:"list"` +} + +// String returns the string representation +func (s BatchDeleteConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteConnectionOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchDeleteConnectionOutput) SetErrors(v map[string]*ErrorDetail) *BatchDeleteConnectionOutput { + s.Errors = v + return s +} + +// SetSucceeded sets the Succeeded field's value. +func (s *BatchDeleteConnectionOutput) SetSucceeded(v []*string) *BatchDeleteConnectionOutput { + s.Succeeded = v + return s +} + +type BatchDeletePartitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the partition to be deleted resides. If + // none is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database in which the table in question resides. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A list of PartitionInput structures that define the partitions to be deleted. + // + // PartitionsToDelete is a required field + PartitionsToDelete []*PartitionValueList `type:"list" required:"true"` + + // The name of the table where the partitions to be deleted is located. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s BatchDeletePartitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeletePartitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDeletePartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDeletePartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionsToDelete == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionsToDelete")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.PartitionsToDelete != nil { + for i, v := range s.PartitionsToDelete { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PartitionsToDelete", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *BatchDeletePartitionInput) SetCatalogId(v string) *BatchDeletePartitionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *BatchDeletePartitionInput) SetDatabaseName(v string) *BatchDeletePartitionInput { + s.DatabaseName = &v + return s +} + +// SetPartitionsToDelete sets the PartitionsToDelete field's value. +func (s *BatchDeletePartitionInput) SetPartitionsToDelete(v []*PartitionValueList) *BatchDeletePartitionInput { + s.PartitionsToDelete = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *BatchDeletePartitionInput) SetTableName(v string) *BatchDeletePartitionInput { + s.TableName = &v + return s +} + +type BatchDeletePartitionOutput struct { + _ struct{} `type:"structure"` + + // Errors encountered when trying to delete the requested partitions. + Errors []*PartitionError `type:"list"` +} + +// String returns the string representation +func (s BatchDeletePartitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeletePartitionOutput) GoString() string { + return s.String() } -// SetTimeout sets the Timeout field's value. -func (s *Action) SetTimeout(v int64) *Action { - s.Timeout = &v +// SetErrors sets the Errors field's value. +func (s *BatchDeletePartitionOutput) SetErrors(v []*PartitionError) *BatchDeletePartitionOutput { + s.Errors = v return s } -type BatchCreatePartitionInput struct { +type BatchDeleteTableInput struct { _ struct{} `type:"structure"` - // The ID of the catalog in which the partion is to be created. Currently, this - // should be the AWS account ID. + // The ID of the Data Catalog where the table resides. If none is supplied, + // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the metadata database in which the partition is to be created. + // The name of the catalog database where the tables to delete reside. For Hive + // compatibility, this name is entirely lowercase. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` - // A list of PartitionInput structures that define the partitions to be created. + // A list of the table to delete. // - // PartitionInputList is a required field - PartitionInputList []*PartitionInput `type:"list" required:"true"` + // TablesToDelete is a required field + TablesToDelete []*string `type:"list" required:"true"` +} - // The name of the metadata table in which the partition is to be created. +// String returns the string representation +func (s BatchDeleteTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDeleteTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDeleteTableInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TablesToDelete == nil { + invalidParams.Add(request.NewErrParamRequired("TablesToDelete")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *BatchDeleteTableInput) SetCatalogId(v string) *BatchDeleteTableInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *BatchDeleteTableInput) SetDatabaseName(v string) *BatchDeleteTableInput { + s.DatabaseName = &v + return s +} + +// SetTablesToDelete sets the TablesToDelete field's value. +func (s *BatchDeleteTableInput) SetTablesToDelete(v []*string) *BatchDeleteTableInput { + s.TablesToDelete = v + return s +} + +type BatchDeleteTableOutput struct { + _ struct{} `type:"structure"` + + // A list of errors encountered in attempting to delete the specified tables. + Errors []*TableError `type:"list"` +} + +// String returns the string representation +func (s BatchDeleteTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteTableOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchDeleteTableOutput) SetErrors(v []*TableError) *BatchDeleteTableOutput { + s.Errors = v + return s +} + +type BatchDeleteTableVersionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the tables reside. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The database in the catalog in which the table resides. For Hive compatibility, + // this name is entirely lowercase. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the table. For Hive compatibility, this name is entirely lowercase. // // TableName is a required field TableName *string `min:"1" type:"string" required:"true"` + + // A list of the IDs of versions to be deleted. A VersionId is a string representation + // of an integer. Each version is incremented by 1. + // + // VersionIds is a required field + VersionIds []*string `type:"list" required:"true"` } // String returns the string representation -func (s BatchCreatePartitionInput) String() string { +func (s BatchDeleteTableVersionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchCreatePartitionInput) GoString() string { +func (s BatchDeleteTableVersionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchCreatePartitionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchCreatePartitionInput"} +func (s *BatchDeleteTableVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDeleteTableVersionInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } @@ -8700,24 +10381,14 @@ func (s *BatchCreatePartitionInput) Validate() error { if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } - if s.PartitionInputList == nil { - invalidParams.Add(request.NewErrParamRequired("PartitionInputList")) - } if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } if s.TableName != nil && len(*s.TableName) < 1 { invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } - if s.PartitionInputList != nil { - for i, v := range s.PartitionInputList { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PartitionInputList", i), err.(request.ErrInvalidParams)) - } - } + if s.VersionIds == nil { + invalidParams.Add(request.NewErrParamRequired("VersionIds")) } if invalidParams.Len() > 0 { @@ -8727,83 +10398,221 @@ func (s *BatchCreatePartitionInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *BatchCreatePartitionInput) SetCatalogId(v string) *BatchCreatePartitionInput { +func (s *BatchDeleteTableVersionInput) SetCatalogId(v string) *BatchDeleteTableVersionInput { s.CatalogId = &v return s } // SetDatabaseName sets the DatabaseName field's value. -func (s *BatchCreatePartitionInput) SetDatabaseName(v string) *BatchCreatePartitionInput { +func (s *BatchDeleteTableVersionInput) SetDatabaseName(v string) *BatchDeleteTableVersionInput { s.DatabaseName = &v return s } -// SetPartitionInputList sets the PartitionInputList field's value. -func (s *BatchCreatePartitionInput) SetPartitionInputList(v []*PartitionInput) *BatchCreatePartitionInput { - s.PartitionInputList = v +// SetTableName sets the TableName field's value. +func (s *BatchDeleteTableVersionInput) SetTableName(v string) *BatchDeleteTableVersionInput { + s.TableName = &v return s } -// SetTableName sets the TableName field's value. -func (s *BatchCreatePartitionInput) SetTableName(v string) *BatchCreatePartitionInput { - s.TableName = &v +// SetVersionIds sets the VersionIds field's value. +func (s *BatchDeleteTableVersionInput) SetVersionIds(v []*string) *BatchDeleteTableVersionInput { + s.VersionIds = v return s } -type BatchCreatePartitionOutput struct { +type BatchDeleteTableVersionOutput struct { + _ struct{} `type:"structure"` + + // A list of errors encountered while trying to delete the specified table versions. + Errors []*TableVersionError `type:"list"` +} + +// String returns the string representation +func (s BatchDeleteTableVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteTableVersionOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchDeleteTableVersionOutput) SetErrors(v []*TableVersionError) *BatchDeleteTableVersionOutput { + s.Errors = v + return s +} + +type BatchGetCrawlersInput struct { + _ struct{} `type:"structure"` + + // A list of crawler names, which may be the names returned from the ListCrawlers + // operation. + // + // CrawlerNames is a required field + CrawlerNames []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetCrawlersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetCrawlersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetCrawlersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetCrawlersInput"} + if s.CrawlerNames == nil { + invalidParams.Add(request.NewErrParamRequired("CrawlerNames")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCrawlerNames sets the CrawlerNames field's value. +func (s *BatchGetCrawlersInput) SetCrawlerNames(v []*string) *BatchGetCrawlersInput { + s.CrawlerNames = v + return s +} + +type BatchGetCrawlersOutput struct { + _ struct{} `type:"structure"` + + // A list of crawler definitions. + Crawlers []*Crawler `type:"list"` + + // A list of crawlers not found. + CrawlersNotFound []*string `type:"list"` +} + +// String returns the string representation +func (s BatchGetCrawlersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetCrawlersOutput) GoString() string { + return s.String() +} + +// SetCrawlers sets the Crawlers field's value. +func (s *BatchGetCrawlersOutput) SetCrawlers(v []*Crawler) *BatchGetCrawlersOutput { + s.Crawlers = v + return s +} + +// SetCrawlersNotFound sets the CrawlersNotFound field's value. +func (s *BatchGetCrawlersOutput) SetCrawlersNotFound(v []*string) *BatchGetCrawlersOutput { + s.CrawlersNotFound = v + return s +} + +type BatchGetDevEndpointsInput struct { + _ struct{} `type:"structure"` + + // The list of DevEndpoint names, which may be the names returned from the ListDevEndpoint + // operation. + // + // DevEndpointNames is a required field + DevEndpointNames []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetDevEndpointsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetDevEndpointsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetDevEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetDevEndpointsInput"} + if s.DevEndpointNames == nil { + invalidParams.Add(request.NewErrParamRequired("DevEndpointNames")) + } + if s.DevEndpointNames != nil && len(s.DevEndpointNames) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DevEndpointNames", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDevEndpointNames sets the DevEndpointNames field's value. +func (s *BatchGetDevEndpointsInput) SetDevEndpointNames(v []*string) *BatchGetDevEndpointsInput { + s.DevEndpointNames = v + return s +} + +type BatchGetDevEndpointsOutput struct { _ struct{} `type:"structure"` - // Errors encountered when trying to create the requested partitions. - Errors []*PartitionError `type:"list"` + // A list of DevEndpoint definitions. + DevEndpoints []*DevEndpoint `type:"list"` + + // A list of DevEndpoints not found. + DevEndpointsNotFound []*string `min:"1" type:"list"` } // String returns the string representation -func (s BatchCreatePartitionOutput) String() string { +func (s BatchGetDevEndpointsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchCreatePartitionOutput) GoString() string { +func (s BatchGetDevEndpointsOutput) GoString() string { return s.String() } -// SetErrors sets the Errors field's value. -func (s *BatchCreatePartitionOutput) SetErrors(v []*PartitionError) *BatchCreatePartitionOutput { - s.Errors = v +// SetDevEndpoints sets the DevEndpoints field's value. +func (s *BatchGetDevEndpointsOutput) SetDevEndpoints(v []*DevEndpoint) *BatchGetDevEndpointsOutput { + s.DevEndpoints = v return s } -type BatchDeleteConnectionInput struct { - _ struct{} `type:"structure"` +// SetDevEndpointsNotFound sets the DevEndpointsNotFound field's value. +func (s *BatchGetDevEndpointsOutput) SetDevEndpointsNotFound(v []*string) *BatchGetDevEndpointsOutput { + s.DevEndpointsNotFound = v + return s +} - // The ID of the Data Catalog in which the connections reside. If none is supplied, - // the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` +type BatchGetJobsInput struct { + _ struct{} `type:"structure"` - // A list of names of the connections to delete. + // A list of job names, which may be the names returned from the ListJobs operation. // - // ConnectionNameList is a required field - ConnectionNameList []*string `type:"list" required:"true"` + // JobNames is a required field + JobNames []*string `type:"list" required:"true"` } // String returns the string representation -func (s BatchDeleteConnectionInput) String() string { +func (s BatchGetJobsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchDeleteConnectionInput) GoString() string { +func (s BatchGetJobsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchDeleteConnectionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchDeleteConnectionInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.ConnectionNameList == nil { - invalidParams.Add(request.NewErrParamRequired("ConnectionNameList")) +func (s *BatchGetJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetJobsInput"} + if s.JobNames == nil { + invalidParams.Add(request.NewErrParamRequired("JobNames")) } if invalidParams.Len() > 0 { @@ -8812,87 +10621,80 @@ func (s *BatchDeleteConnectionInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *BatchDeleteConnectionInput) SetCatalogId(v string) *BatchDeleteConnectionInput { - s.CatalogId = &v - return s -} - -// SetConnectionNameList sets the ConnectionNameList field's value. -func (s *BatchDeleteConnectionInput) SetConnectionNameList(v []*string) *BatchDeleteConnectionInput { - s.ConnectionNameList = v +// SetJobNames sets the JobNames field's value. +func (s *BatchGetJobsInput) SetJobNames(v []*string) *BatchGetJobsInput { + s.JobNames = v return s } -type BatchDeleteConnectionOutput struct { +type BatchGetJobsOutput struct { _ struct{} `type:"structure"` - // A map of the names of connections that were not successfully deleted to error - // details. - Errors map[string]*ErrorDetail `type:"map"` + // A list of job definitions. + Jobs []*Job `type:"list"` - // A list of names of the connection definitions that were successfully deleted. - Succeeded []*string `type:"list"` + // A list of names of jobs not found. + JobsNotFound []*string `type:"list"` } // String returns the string representation -func (s BatchDeleteConnectionOutput) String() string { +func (s BatchGetJobsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchDeleteConnectionOutput) GoString() string { +func (s BatchGetJobsOutput) GoString() string { return s.String() } -// SetErrors sets the Errors field's value. -func (s *BatchDeleteConnectionOutput) SetErrors(v map[string]*ErrorDetail) *BatchDeleteConnectionOutput { - s.Errors = v +// SetJobs sets the Jobs field's value. +func (s *BatchGetJobsOutput) SetJobs(v []*Job) *BatchGetJobsOutput { + s.Jobs = v return s } -// SetSucceeded sets the Succeeded field's value. -func (s *BatchDeleteConnectionOutput) SetSucceeded(v []*string) *BatchDeleteConnectionOutput { - s.Succeeded = v +// SetJobsNotFound sets the JobsNotFound field's value. +func (s *BatchGetJobsOutput) SetJobsNotFound(v []*string) *BatchGetJobsOutput { + s.JobsNotFound = v return s } -type BatchDeletePartitionInput struct { +type BatchGetPartitionInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog where the partition to be deleted resides. If - // none is supplied, the AWS account ID is used by default. + // The ID of the Data Catalog where the partitions in question reside. If none + // is supplied, the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the catalog database in which the table in question resides. + // The name of the catalog database where the partitions reside. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` - // A list of PartitionInput structures that define the partitions to be deleted. + // A list of partition values identifying the partitions to retrieve. // - // PartitionsToDelete is a required field - PartitionsToDelete []*PartitionValueList `type:"list" required:"true"` + // PartitionsToGet is a required field + PartitionsToGet []*PartitionValueList `type:"list" required:"true"` - // The name of the table where the partitions to be deleted is located. + // The name of the partitions' table. // // TableName is a required field TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s BatchDeletePartitionInput) String() string { +func (s BatchGetPartitionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchDeletePartitionInput) GoString() string { +func (s BatchGetPartitionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchDeletePartitionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchDeletePartitionInput"} +func (s *BatchGetPartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetPartitionInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } @@ -8902,8 +10704,8 @@ func (s *BatchDeletePartitionInput) Validate() error { if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } - if s.PartitionsToDelete == nil { - invalidParams.Add(request.NewErrParamRequired("PartitionsToDelete")) + if s.PartitionsToGet == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionsToGet")) } if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) @@ -8911,13 +10713,13 @@ func (s *BatchDeletePartitionInput) Validate() error { if s.TableName != nil && len(*s.TableName) < 1 { invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } - if s.PartitionsToDelete != nil { - for i, v := range s.PartitionsToDelete { + if s.PartitionsToGet != nil { + for i, v := range s.PartitionsToGet { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PartitionsToDelete", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PartitionsToGet", i), err.(request.ErrInvalidParams)) } } } @@ -8929,95 +10731,87 @@ func (s *BatchDeletePartitionInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *BatchDeletePartitionInput) SetCatalogId(v string) *BatchDeletePartitionInput { +func (s *BatchGetPartitionInput) SetCatalogId(v string) *BatchGetPartitionInput { s.CatalogId = &v return s } // SetDatabaseName sets the DatabaseName field's value. -func (s *BatchDeletePartitionInput) SetDatabaseName(v string) *BatchDeletePartitionInput { +func (s *BatchGetPartitionInput) SetDatabaseName(v string) *BatchGetPartitionInput { s.DatabaseName = &v return s } -// SetPartitionsToDelete sets the PartitionsToDelete field's value. -func (s *BatchDeletePartitionInput) SetPartitionsToDelete(v []*PartitionValueList) *BatchDeletePartitionInput { - s.PartitionsToDelete = v +// SetPartitionsToGet sets the PartitionsToGet field's value. +func (s *BatchGetPartitionInput) SetPartitionsToGet(v []*PartitionValueList) *BatchGetPartitionInput { + s.PartitionsToGet = v return s } // SetTableName sets the TableName field's value. -func (s *BatchDeletePartitionInput) SetTableName(v string) *BatchDeletePartitionInput { +func (s *BatchGetPartitionInput) SetTableName(v string) *BatchGetPartitionInput { s.TableName = &v return s } -type BatchDeletePartitionOutput struct { +type BatchGetPartitionOutput struct { _ struct{} `type:"structure"` - // Errors encountered when trying to delete the requested partitions. - Errors []*PartitionError `type:"list"` + // A list of the requested partitions. + Partitions []*Partition `type:"list"` + + // A list of the partition values in the request for which partions were not + // returned. + UnprocessedKeys []*PartitionValueList `type:"list"` } // String returns the string representation -func (s BatchDeletePartitionOutput) String() string { +func (s BatchGetPartitionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchDeletePartitionOutput) GoString() string { +func (s BatchGetPartitionOutput) GoString() string { return s.String() } -// SetErrors sets the Errors field's value. -func (s *BatchDeletePartitionOutput) SetErrors(v []*PartitionError) *BatchDeletePartitionOutput { - s.Errors = v +// SetPartitions sets the Partitions field's value. +func (s *BatchGetPartitionOutput) SetPartitions(v []*Partition) *BatchGetPartitionOutput { + s.Partitions = v return s } -type BatchDeleteTableInput struct { - _ struct{} `type:"structure"` - - // The ID of the Data Catalog where the table resides. If none is supplied, - // the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` +// SetUnprocessedKeys sets the UnprocessedKeys field's value. +func (s *BatchGetPartitionOutput) SetUnprocessedKeys(v []*PartitionValueList) *BatchGetPartitionOutput { + s.UnprocessedKeys = v + return s +} - // The name of the catalog database where the tables to delete reside. For Hive - // compatibility, this name is entirely lowercase. - // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` +type BatchGetTriggersInput struct { + _ struct{} `type:"structure"` - // A list of the table to delete. + // A list of trigger names, which may be the names returned from the ListTriggers + // operation. // - // TablesToDelete is a required field - TablesToDelete []*string `type:"list" required:"true"` + // TriggerNames is a required field + TriggerNames []*string `type:"list" required:"true"` } // String returns the string representation -func (s BatchDeleteTableInput) String() string { +func (s BatchGetTriggersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchDeleteTableInput) GoString() string { +func (s BatchGetTriggersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchDeleteTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchDeleteTableInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.TablesToDelete == nil { - invalidParams.Add(request.NewErrParamRequired("TablesToDelete")) +func (s *BatchGetTriggersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetTriggersInput"} + if s.TriggerNames == nil { + invalidParams.Add(request.NewErrParamRequired("TriggerNames")) } if invalidParams.Len() > 0 { @@ -9026,102 +10820,124 @@ func (s *BatchDeleteTableInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *BatchDeleteTableInput) SetCatalogId(v string) *BatchDeleteTableInput { - s.CatalogId = &v +// SetTriggerNames sets the TriggerNames field's value. +func (s *BatchGetTriggersInput) SetTriggerNames(v []*string) *BatchGetTriggersInput { + s.TriggerNames = v return s } -// SetDatabaseName sets the DatabaseName field's value. -func (s *BatchDeleteTableInput) SetDatabaseName(v string) *BatchDeleteTableInput { - s.DatabaseName = &v +type BatchGetTriggersOutput struct { + _ struct{} `type:"structure"` + + // A list of trigger definitions. + Triggers []*Trigger `type:"list"` + + // A list of names of triggers not found. + TriggersNotFound []*string `type:"list"` +} + +// String returns the string representation +func (s BatchGetTriggersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetTriggersOutput) GoString() string { + return s.String() +} + +// SetTriggers sets the Triggers field's value. +func (s *BatchGetTriggersOutput) SetTriggers(v []*Trigger) *BatchGetTriggersOutput { + s.Triggers = v return s } -// SetTablesToDelete sets the TablesToDelete field's value. -func (s *BatchDeleteTableInput) SetTablesToDelete(v []*string) *BatchDeleteTableInput { - s.TablesToDelete = v +// SetTriggersNotFound sets the TriggersNotFound field's value. +func (s *BatchGetTriggersOutput) SetTriggersNotFound(v []*string) *BatchGetTriggersOutput { + s.TriggersNotFound = v return s } -type BatchDeleteTableOutput struct { +// Records an error that occurred when attempting to stop a specified job run. +type BatchStopJobRunError struct { _ struct{} `type:"structure"` - // A list of errors encountered in attempting to delete the specified tables. - Errors []*TableError `type:"list"` + // Specifies details about the error that was encountered. + ErrorDetail *ErrorDetail `type:"structure"` + + // The name of the job definition used in the job run in question. + JobName *string `min:"1" type:"string"` + + // The JobRunId of the job run in question. + JobRunId *string `min:"1" type:"string"` } // String returns the string representation -func (s BatchDeleteTableOutput) String() string { +func (s BatchStopJobRunError) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchDeleteTableOutput) GoString() string { +func (s BatchStopJobRunError) GoString() string { return s.String() } -// SetErrors sets the Errors field's value. -func (s *BatchDeleteTableOutput) SetErrors(v []*TableError) *BatchDeleteTableOutput { - s.Errors = v +// SetErrorDetail sets the ErrorDetail field's value. +func (s *BatchStopJobRunError) SetErrorDetail(v *ErrorDetail) *BatchStopJobRunError { + s.ErrorDetail = v return s } -type BatchDeleteTableVersionInput struct { - _ struct{} `type:"structure"` +// SetJobName sets the JobName field's value. +func (s *BatchStopJobRunError) SetJobName(v string) *BatchStopJobRunError { + s.JobName = &v + return s +} - // The ID of the Data Catalog where the tables reside. If none is supplied, - // the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` +// SetJobRunId sets the JobRunId field's value. +func (s *BatchStopJobRunError) SetJobRunId(v string) *BatchStopJobRunError { + s.JobRunId = &v + return s +} - // The database in the catalog in which the table resides. For Hive compatibility, - // this name is entirely lowercase. - // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` +type BatchStopJobRunInput struct { + _ struct{} `type:"structure"` - // The name of the table. For Hive compatibility, this name is entirely lowercase. + // The name of the job definition for which to stop job runs. // - // TableName is a required field - TableName *string `min:"1" type:"string" required:"true"` + // JobName is a required field + JobName *string `min:"1" type:"string" required:"true"` - // A list of the IDs of versions to be deleted. A VersionId is a string representation - // of an integer. Each version is incremented by 1. + // A list of the JobRunIds that should be stopped for that job definition. // - // VersionIds is a required field - VersionIds []*string `type:"list" required:"true"` + // JobRunIds is a required field + JobRunIds []*string `min:"1" type:"list" required:"true"` } // String returns the string representation -func (s BatchDeleteTableVersionInput) String() string { +func (s BatchStopJobRunInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchDeleteTableVersionInput) GoString() string { +func (s BatchStopJobRunInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchDeleteTableVersionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchDeleteTableVersionInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchStopJobRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchStopJobRunInput"} + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) } - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) } - if s.TableName != nil && len(*s.TableName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + if s.JobRunIds == nil { + invalidParams.Add(request.NewErrParamRequired("JobRunIds")) } - if s.VersionIds == nil { - invalidParams.Add(request.NewErrParamRequired("VersionIds")) + if s.JobRunIds != nil && len(s.JobRunIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobRunIds", 1)) } if invalidParams.Len() > 0 { @@ -9130,117 +10946,124 @@ func (s *BatchDeleteTableVersionInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *BatchDeleteTableVersionInput) SetCatalogId(v string) *BatchDeleteTableVersionInput { - s.CatalogId = &v +// SetJobName sets the JobName field's value. +func (s *BatchStopJobRunInput) SetJobName(v string) *BatchStopJobRunInput { + s.JobName = &v return s } -// SetDatabaseName sets the DatabaseName field's value. -func (s *BatchDeleteTableVersionInput) SetDatabaseName(v string) *BatchDeleteTableVersionInput { - s.DatabaseName = &v +// SetJobRunIds sets the JobRunIds field's value. +func (s *BatchStopJobRunInput) SetJobRunIds(v []*string) *BatchStopJobRunInput { + s.JobRunIds = v return s } -// SetTableName sets the TableName field's value. -func (s *BatchDeleteTableVersionInput) SetTableName(v string) *BatchDeleteTableVersionInput { - s.TableName = &v +type BatchStopJobRunOutput struct { + _ struct{} `type:"structure"` + + // A list of the errors that were encountered in tryng to stop JobRuns, including + // the JobRunId for which each error was encountered and details about the error. + Errors []*BatchStopJobRunError `type:"list"` + + // A list of the JobRuns that were successfully submitted for stopping. + SuccessfulSubmissions []*BatchStopJobRunSuccessfulSubmission `type:"list"` +} + +// String returns the string representation +func (s BatchStopJobRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchStopJobRunOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchStopJobRunOutput) SetErrors(v []*BatchStopJobRunError) *BatchStopJobRunOutput { + s.Errors = v return s } -// SetVersionIds sets the VersionIds field's value. -func (s *BatchDeleteTableVersionInput) SetVersionIds(v []*string) *BatchDeleteTableVersionInput { - s.VersionIds = v +// SetSuccessfulSubmissions sets the SuccessfulSubmissions field's value. +func (s *BatchStopJobRunOutput) SetSuccessfulSubmissions(v []*BatchStopJobRunSuccessfulSubmission) *BatchStopJobRunOutput { + s.SuccessfulSubmissions = v return s } -type BatchDeleteTableVersionOutput struct { +// Records a successful request to stop a specified JobRun. +type BatchStopJobRunSuccessfulSubmission struct { _ struct{} `type:"structure"` - // A list of errors encountered while trying to delete the specified table versions. - Errors []*TableVersionError `type:"list"` + // The name of the job definition used in the job run that was stopped. + JobName *string `min:"1" type:"string"` + + // The JobRunId of the job run that was stopped. + JobRunId *string `min:"1" type:"string"` } // String returns the string representation -func (s BatchDeleteTableVersionOutput) String() string { +func (s BatchStopJobRunSuccessfulSubmission) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchDeleteTableVersionOutput) GoString() string { +func (s BatchStopJobRunSuccessfulSubmission) GoString() string { return s.String() } -// SetErrors sets the Errors field's value. -func (s *BatchDeleteTableVersionOutput) SetErrors(v []*TableVersionError) *BatchDeleteTableVersionOutput { - s.Errors = v +// SetJobName sets the JobName field's value. +func (s *BatchStopJobRunSuccessfulSubmission) SetJobName(v string) *BatchStopJobRunSuccessfulSubmission { + s.JobName = &v return s } -type BatchGetPartitionInput struct { - _ struct{} `type:"structure"` +// SetJobRunId sets the JobRunId field's value. +func (s *BatchStopJobRunSuccessfulSubmission) SetJobRunId(v string) *BatchStopJobRunSuccessfulSubmission { + s.JobRunId = &v + return s +} - // The ID of the Data Catalog where the partitions in question reside. If none - // is supplied, the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` +// Specifies a table definition in the Data Catalog. +type CatalogEntry struct { + _ struct{} `type:"structure"` - // The name of the catalog database where the partitions reside. + // The database in which the table metadata resides. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` - // A list of partition values identifying the partitions to retrieve. - // - // PartitionsToGet is a required field - PartitionsToGet []*PartitionValueList `type:"list" required:"true"` - - // The name of the partitions' table. + // The name of the table in question. // // TableName is a required field TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s BatchGetPartitionInput) String() string { +func (s CatalogEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchGetPartitionInput) GoString() string { +func (s CatalogEntry) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetPartitionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetPartitionInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } +func (s *CatalogEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CatalogEntry"} if s.DatabaseName == nil { invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } - if s.PartitionsToGet == nil { - invalidParams.Add(request.NewErrParamRequired("PartitionsToGet")) - } if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } if s.TableName != nil && len(*s.TableName) < 1 { invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } - if s.PartitionsToGet != nil { - for i, v := range s.PartitionsToGet { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PartitionsToGet", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -9248,143 +11071,185 @@ func (s *BatchGetPartitionInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *BatchGetPartitionInput) SetCatalogId(v string) *BatchGetPartitionInput { - s.CatalogId = &v - return s -} - // SetDatabaseName sets the DatabaseName field's value. -func (s *BatchGetPartitionInput) SetDatabaseName(v string) *BatchGetPartitionInput { +func (s *CatalogEntry) SetDatabaseName(v string) *CatalogEntry { s.DatabaseName = &v return s } -// SetPartitionsToGet sets the PartitionsToGet field's value. -func (s *BatchGetPartitionInput) SetPartitionsToGet(v []*PartitionValueList) *BatchGetPartitionInput { - s.PartitionsToGet = v - return s -} - // SetTableName sets the TableName field's value. -func (s *BatchGetPartitionInput) SetTableName(v string) *BatchGetPartitionInput { +func (s *CatalogEntry) SetTableName(v string) *CatalogEntry { s.TableName = &v return s } -type BatchGetPartitionOutput struct { +// A structure containing migration status information. +type CatalogImportStatus struct { _ struct{} `type:"structure"` - // A list of the requested partitions. - Partitions []*Partition `type:"list"` + // True if the migration has completed, or False otherwise. + ImportCompleted *bool `type:"boolean"` - // A list of the partition values in the request for which partions were not - // returned. - UnprocessedKeys []*PartitionValueList `type:"list"` + // The time that the migration was started. + ImportTime *time.Time `type:"timestamp"` + + // The name of the person who initiated the migration. + ImportedBy *string `min:"1" type:"string"` } // String returns the string representation -func (s BatchGetPartitionOutput) String() string { +func (s CatalogImportStatus) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchGetPartitionOutput) GoString() string { +func (s CatalogImportStatus) GoString() string { return s.String() } -// SetPartitions sets the Partitions field's value. -func (s *BatchGetPartitionOutput) SetPartitions(v []*Partition) *BatchGetPartitionOutput { - s.Partitions = v +// SetImportCompleted sets the ImportCompleted field's value. +func (s *CatalogImportStatus) SetImportCompleted(v bool) *CatalogImportStatus { + s.ImportCompleted = &v return s } -// SetUnprocessedKeys sets the UnprocessedKeys field's value. -func (s *BatchGetPartitionOutput) SetUnprocessedKeys(v []*PartitionValueList) *BatchGetPartitionOutput { - s.UnprocessedKeys = v +// SetImportTime sets the ImportTime field's value. +func (s *CatalogImportStatus) SetImportTime(v time.Time) *CatalogImportStatus { + s.ImportTime = &v return s } -// Records an error that occurred when attempting to stop a specified job run. -type BatchStopJobRunError struct { +// SetImportedBy sets the ImportedBy field's value. +func (s *CatalogImportStatus) SetImportedBy(v string) *CatalogImportStatus { + s.ImportedBy = &v + return s +} + +// Classifiers are triggered during a crawl task. A classifier checks whether +// a given file is in a format it can handle, and if it is, the classifier creates +// a schema in the form of a StructType object that matches that data format. +// +// You can use the standard classifiers that AWS Glue supplies, or you can write +// your own classifiers to best categorize your data sources and specify the +// appropriate schemas to use for them. A classifier can be a grok classifier, +// an XML classifier, or a JSON classifier, as specified in one of the fields +// in the Classifier object. +type Classifier struct { _ struct{} `type:"structure"` - // Specifies details about the error that was encountered. - ErrorDetail *ErrorDetail `type:"structure"` + // A GrokClassifier object. + GrokClassifier *GrokClassifier `type:"structure"` - // The name of the job definition used in the job run in question. - JobName *string `min:"1" type:"string"` + // A JsonClassifier object. + JsonClassifier *JsonClassifier `type:"structure"` - // The JobRunId of the job run in question. - JobRunId *string `min:"1" type:"string"` + // An XMLClassifier object. + XMLClassifier *XMLClassifier `type:"structure"` } // String returns the string representation -func (s BatchStopJobRunError) String() string { +func (s Classifier) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchStopJobRunError) GoString() string { +func (s Classifier) GoString() string { return s.String() } -// SetErrorDetail sets the ErrorDetail field's value. -func (s *BatchStopJobRunError) SetErrorDetail(v *ErrorDetail) *BatchStopJobRunError { - s.ErrorDetail = v +// SetGrokClassifier sets the GrokClassifier field's value. +func (s *Classifier) SetGrokClassifier(v *GrokClassifier) *Classifier { + s.GrokClassifier = v return s } -// SetJobName sets the JobName field's value. -func (s *BatchStopJobRunError) SetJobName(v string) *BatchStopJobRunError { - s.JobName = &v +// SetJsonClassifier sets the JsonClassifier field's value. +func (s *Classifier) SetJsonClassifier(v *JsonClassifier) *Classifier { + s.JsonClassifier = v return s } -// SetJobRunId sets the JobRunId field's value. -func (s *BatchStopJobRunError) SetJobRunId(v string) *BatchStopJobRunError { - s.JobRunId = &v +// SetXMLClassifier sets the XMLClassifier field's value. +func (s *Classifier) SetXMLClassifier(v *XMLClassifier) *Classifier { + s.XMLClassifier = v + return s +} + +// Specifies how CloudWatch data should be encrypted. +type CloudWatchEncryption struct { + _ struct{} `type:"structure"` + + // The encryption mode to use for CloudWatch data. + CloudWatchEncryptionMode *string `type:"string" enum:"CloudWatchEncryptionMode"` + + // The AWS ARN of the KMS key to be used to encrypt the data. + KmsKeyArn *string `type:"string"` +} + +// String returns the string representation +func (s CloudWatchEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudWatchEncryption) GoString() string { + return s.String() +} + +// SetCloudWatchEncryptionMode sets the CloudWatchEncryptionMode field's value. +func (s *CloudWatchEncryption) SetCloudWatchEncryptionMode(v string) *CloudWatchEncryption { + s.CloudWatchEncryptionMode = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *CloudWatchEncryption) SetKmsKeyArn(v string) *CloudWatchEncryption { + s.KmsKeyArn = &v return s } -type BatchStopJobRunInput struct { +// Represents a directional edge in a directed acyclic graph (DAG). +type CodeGenEdge struct { _ struct{} `type:"structure"` - // The name of the job definition for which to stop job runs. + // The ID of the node at which the edge starts. // - // JobName is a required field - JobName *string `min:"1" type:"string" required:"true"` + // Source is a required field + Source *string `min:"1" type:"string" required:"true"` - // A list of the JobRunIds that should be stopped for that job definition. + // The ID of the node at which the edge ends. // - // JobRunIds is a required field - JobRunIds []*string `min:"1" type:"list" required:"true"` + // Target is a required field + Target *string `min:"1" type:"string" required:"true"` + + // The target of the edge. + TargetParameter *string `type:"string"` } // String returns the string representation -func (s BatchStopJobRunInput) String() string { +func (s CodeGenEdge) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchStopJobRunInput) GoString() string { +func (s CodeGenEdge) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchStopJobRunInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchStopJobRunInput"} - if s.JobName == nil { - invalidParams.Add(request.NewErrParamRequired("JobName")) +func (s *CodeGenEdge) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CodeGenEdge"} + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) } - if s.JobName != nil && len(*s.JobName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + if s.Source != nil && len(*s.Source) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Source", 1)) } - if s.JobRunIds == nil { - invalidParams.Add(request.NewErrParamRequired("JobRunIds")) + if s.Target == nil { + invalidParams.Add(request.NewErrParamRequired("Target")) } - if s.JobRunIds != nil && len(s.JobRunIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobRunIds", 1)) + if s.Target != nil && len(*s.Target) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Target", 1)) } if invalidParams.Len() > 0 { @@ -9393,123 +11258,149 @@ func (s *BatchStopJobRunInput) Validate() error { return nil } -// SetJobName sets the JobName field's value. -func (s *BatchStopJobRunInput) SetJobName(v string) *BatchStopJobRunInput { - s.JobName = &v +// SetSource sets the Source field's value. +func (s *CodeGenEdge) SetSource(v string) *CodeGenEdge { + s.Source = &v return s } -// SetJobRunIds sets the JobRunIds field's value. -func (s *BatchStopJobRunInput) SetJobRunIds(v []*string) *BatchStopJobRunInput { - s.JobRunIds = v +// SetTarget sets the Target field's value. +func (s *CodeGenEdge) SetTarget(v string) *CodeGenEdge { + s.Target = &v return s } -type BatchStopJobRunOutput struct { +// SetTargetParameter sets the TargetParameter field's value. +func (s *CodeGenEdge) SetTargetParameter(v string) *CodeGenEdge { + s.TargetParameter = &v + return s +} + +// Represents a node in a directed acyclic graph (DAG) +type CodeGenNode struct { _ struct{} `type:"structure"` - // A list of the errors that were encountered in tryng to stop JobRuns, including - // the JobRunId for which each error was encountered and details about the error. - Errors []*BatchStopJobRunError `type:"list"` + // Properties of the node, in the form of name-value pairs. + // + // Args is a required field + Args []*CodeGenNodeArg `type:"list" required:"true"` - // A list of the JobRuns that were successfully submitted for stopping. - SuccessfulSubmissions []*BatchStopJobRunSuccessfulSubmission `type:"list"` + // A node identifier that is unique within the node's graph. + // + // Id is a required field + Id *string `min:"1" type:"string" required:"true"` + + // The line number of the node. + LineNumber *int64 `type:"integer"` + + // The type of node this is. + // + // NodeType is a required field + NodeType *string `type:"string" required:"true"` } // String returns the string representation -func (s BatchStopJobRunOutput) String() string { +func (s CodeGenNode) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchStopJobRunOutput) GoString() string { +func (s CodeGenNode) GoString() string { return s.String() } -// SetErrors sets the Errors field's value. -func (s *BatchStopJobRunOutput) SetErrors(v []*BatchStopJobRunError) *BatchStopJobRunOutput { - s.Errors = v - return s -} - -// SetSuccessfulSubmissions sets the SuccessfulSubmissions field's value. -func (s *BatchStopJobRunOutput) SetSuccessfulSubmissions(v []*BatchStopJobRunSuccessfulSubmission) *BatchStopJobRunOutput { - s.SuccessfulSubmissions = v - return s -} - -// Records a successful request to stop a specified JobRun. -type BatchStopJobRunSuccessfulSubmission struct { - _ struct{} `type:"structure"` - - // The name of the job definition used in the job run that was stopped. - JobName *string `min:"1" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *CodeGenNode) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CodeGenNode"} + if s.Args == nil { + invalidParams.Add(request.NewErrParamRequired("Args")) + } + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.NodeType == nil { + invalidParams.Add(request.NewErrParamRequired("NodeType")) + } + if s.Args != nil { + for i, v := range s.Args { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Args", i), err.(request.ErrInvalidParams)) + } + } + } - // The JobRunId of the job run that was stopped. - JobRunId *string `min:"1" type:"string"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// String returns the string representation -func (s BatchStopJobRunSuccessfulSubmission) String() string { - return awsutil.Prettify(s) +// SetArgs sets the Args field's value. +func (s *CodeGenNode) SetArgs(v []*CodeGenNodeArg) *CodeGenNode { + s.Args = v + return s } -// GoString returns the string representation -func (s BatchStopJobRunSuccessfulSubmission) GoString() string { - return s.String() +// SetId sets the Id field's value. +func (s *CodeGenNode) SetId(v string) *CodeGenNode { + s.Id = &v + return s } -// SetJobName sets the JobName field's value. -func (s *BatchStopJobRunSuccessfulSubmission) SetJobName(v string) *BatchStopJobRunSuccessfulSubmission { - s.JobName = &v +// SetLineNumber sets the LineNumber field's value. +func (s *CodeGenNode) SetLineNumber(v int64) *CodeGenNode { + s.LineNumber = &v return s } -// SetJobRunId sets the JobRunId field's value. -func (s *BatchStopJobRunSuccessfulSubmission) SetJobRunId(v string) *BatchStopJobRunSuccessfulSubmission { - s.JobRunId = &v +// SetNodeType sets the NodeType field's value. +func (s *CodeGenNode) SetNodeType(v string) *CodeGenNode { + s.NodeType = &v return s } -// Specifies a table definition in the Data Catalog. -type CatalogEntry struct { +// An argument or property of a node. +type CodeGenNodeArg struct { _ struct{} `type:"structure"` - // The database in which the table metadata resides. + // The name of the argument or property. // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` + // Name is a required field + Name *string `type:"string" required:"true"` - // The name of the table in question. + // True if the value is used as a parameter. + Param *bool `type:"boolean"` + + // The value of the argument or property. // - // TableName is a required field - TableName *string `min:"1" type:"string" required:"true"` + // Value is a required field + Value *string `type:"string" required:"true"` } // String returns the string representation -func (s CatalogEntry) String() string { +func (s CodeGenNodeArg) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CatalogEntry) GoString() string { +func (s CodeGenNodeArg) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CatalogEntry) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CatalogEntry"} - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) +func (s *CodeGenNodeArg) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CodeGenNodeArg"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.TableName != nil && len(*s.TableName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) } if invalidParams.Len() > 0 { @@ -9518,267 +11409,332 @@ func (s *CatalogEntry) Validate() error { return nil } -// SetDatabaseName sets the DatabaseName field's value. -func (s *CatalogEntry) SetDatabaseName(v string) *CatalogEntry { - s.DatabaseName = &v +// SetName sets the Name field's value. +func (s *CodeGenNodeArg) SetName(v string) *CodeGenNodeArg { + s.Name = &v return s } -// SetTableName sets the TableName field's value. -func (s *CatalogEntry) SetTableName(v string) *CatalogEntry { - s.TableName = &v +// SetParam sets the Param field's value. +func (s *CodeGenNodeArg) SetParam(v bool) *CodeGenNodeArg { + s.Param = &v return s } -// A structure containing migration status information. -type CatalogImportStatus struct { +// SetValue sets the Value field's value. +func (s *CodeGenNodeArg) SetValue(v string) *CodeGenNodeArg { + s.Value = &v + return s +} + +// A column in a Table. +type Column struct { _ struct{} `type:"structure"` - // True if the migration has completed, or False otherwise. - ImportCompleted *bool `type:"boolean"` + // Free-form text comment. + Comment *string `type:"string"` - // The time that the migration was started. - ImportTime *time.Time `type:"timestamp"` + // The name of the Column. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // The name of the person who initiated the migration. - ImportedBy *string `min:"1" type:"string"` + // The datatype of data in the Column. + Type *string `type:"string"` } // String returns the string representation -func (s CatalogImportStatus) String() string { +func (s Column) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s CatalogImportStatus) GoString() string { - return s.String() +// GoString returns the string representation +func (s Column) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Column) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Column"} + 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 } -// SetImportCompleted sets the ImportCompleted field's value. -func (s *CatalogImportStatus) SetImportCompleted(v bool) *CatalogImportStatus { - s.ImportCompleted = &v +// SetComment sets the Comment field's value. +func (s *Column) SetComment(v string) *Column { + s.Comment = &v return s } -// SetImportTime sets the ImportTime field's value. -func (s *CatalogImportStatus) SetImportTime(v time.Time) *CatalogImportStatus { - s.ImportTime = &v +// SetName sets the Name field's value. +func (s *Column) SetName(v string) *Column { + s.Name = &v return s } -// SetImportedBy sets the ImportedBy field's value. -func (s *CatalogImportStatus) SetImportedBy(v string) *CatalogImportStatus { - s.ImportedBy = &v +// SetType sets the Type field's value. +func (s *Column) SetType(v string) *Column { + s.Type = &v return s } -// Classifiers are triggered during a crawl task. A classifier checks whether -// a given file is in a format it can handle, and if it is, the classifier creates -// a schema in the form of a StructType object that matches that data format. -// -// You can use the standard classifiers that AWS Glue supplies, or you can write -// your own classifiers to best categorize your data sources and specify the -// appropriate schemas to use for them. A classifier can be a grok classifier, -// an XML classifier, or a JSON classifier, as specified in one of the fields -// in the Classifier object. -type Classifier struct { +// Defines a condition under which a trigger fires. +type Condition struct { _ struct{} `type:"structure"` - // A GrokClassifier object. - GrokClassifier *GrokClassifier `type:"structure"` + // The name of the Job to whose JobRuns this condition applies and on which + // this trigger waits. + JobName *string `min:"1" type:"string"` - // A JsonClassifier object. - JsonClassifier *JsonClassifier `type:"structure"` + // A logical operator. + LogicalOperator *string `type:"string" enum:"LogicalOperator"` - // An XMLClassifier object. - XMLClassifier *XMLClassifier `type:"structure"` + // The condition state. Currently, the values supported are SUCCEEDED, STOPPED, + // TIMEOUT and FAILED. + State *string `type:"string" enum:"JobRunState"` } // String returns the string representation -func (s Classifier) String() string { +func (s Condition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Classifier) GoString() string { +func (s Condition) GoString() string { return s.String() } -// SetGrokClassifier sets the GrokClassifier field's value. -func (s *Classifier) SetGrokClassifier(v *GrokClassifier) *Classifier { - s.GrokClassifier = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *Condition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Condition"} + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobName sets the JobName field's value. +func (s *Condition) SetJobName(v string) *Condition { + s.JobName = &v return s } -// SetJsonClassifier sets the JsonClassifier field's value. -func (s *Classifier) SetJsonClassifier(v *JsonClassifier) *Classifier { - s.JsonClassifier = v +// SetLogicalOperator sets the LogicalOperator field's value. +func (s *Condition) SetLogicalOperator(v string) *Condition { + s.LogicalOperator = &v return s } -// SetXMLClassifier sets the XMLClassifier field's value. -func (s *Classifier) SetXMLClassifier(v *XMLClassifier) *Classifier { - s.XMLClassifier = v +// SetState sets the State field's value. +func (s *Condition) SetState(v string) *Condition { + s.State = &v return s } -// Specifies how CloudWatch data should be encrypted. -type CloudWatchEncryption struct { +// Defines a connection to a data source. +type Connection struct { _ struct{} `type:"structure"` - // The encryption mode to use for CloudWatch data. - CloudWatchEncryptionMode *string `type:"string" enum:"CloudWatchEncryptionMode"` + // These key-value pairs define parameters for the connection: + // + // * HOST - The host URI: either the fully qualified domain name (FQDN) or + // the IPv4 address of the database host. + // + // * PORT - The port number, between 1024 and 65535, of the port on which + // the database host is listening for database connections. + // + // * USER_NAME - The name under which to log in to the database. The value + // string for USER_NAME is "USERNAME". + // + // * PASSWORD - A password, if one is used, for the user name. + // + // * ENCRYPTED_PASSWORD - When you enable connection password protection + // by setting ConnectionPasswordEncryption in the Data Catalog encryption + // settings, this field stores the encrypted password. + // + // * JDBC_DRIVER_JAR_URI - The Amazon S3 path of the JAR file that contains + // the JDBC driver to use. + // + // * JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use. + // + // * JDBC_ENGINE - The name of the JDBC engine to use. + // + // * JDBC_ENGINE_VERSION - The version of the JDBC engine to use. + // + // * CONFIG_FILES - (Reserved for future use). + // + // * INSTANCE_ID - The instance ID to use. + // + // * JDBC_CONNECTION_URL - The URL for the JDBC connection. + // + // * JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether + // Secure Sockets Layer (SSL) with hostname matching will be enforced for + // the JDBC connection on the client. The default is false. + ConnectionProperties map[string]*string `type:"map"` - // The AWS ARN of the KMS key to be used to encrypt the data. - KmsKeyArn *string `type:"string"` + // The type of the connection. Currently, only JDBC is supported; SFTP is not + // supported. + ConnectionType *string `type:"string" enum:"ConnectionType"` + + // The time that this connection definition was created. + CreationTime *time.Time `type:"timestamp"` + + // The description of the connection. + Description *string `type:"string"` + + // The user, group, or role that last updated this connection definition. + LastUpdatedBy *string `min:"1" type:"string"` + + // The last time that this connection definition was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A list of criteria that can be used in selecting this connection. + MatchCriteria []*string `type:"list"` + + // The name of the connection definition. + Name *string `min:"1" type:"string"` + + // A map of physical connection requirements, such as virtual private cloud + // (VPC) and SecurityGroup, that are needed to make this connection successfully. + PhysicalConnectionRequirements *PhysicalConnectionRequirements `type:"structure"` } // String returns the string representation -func (s CloudWatchEncryption) String() string { +func (s Connection) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CloudWatchEncryption) GoString() string { +func (s Connection) GoString() string { return s.String() } -// SetCloudWatchEncryptionMode sets the CloudWatchEncryptionMode field's value. -func (s *CloudWatchEncryption) SetCloudWatchEncryptionMode(v string) *CloudWatchEncryption { - s.CloudWatchEncryptionMode = &v +// SetConnectionProperties sets the ConnectionProperties field's value. +func (s *Connection) SetConnectionProperties(v map[string]*string) *Connection { + s.ConnectionProperties = v return s } -// SetKmsKeyArn sets the KmsKeyArn field's value. -func (s *CloudWatchEncryption) SetKmsKeyArn(v string) *CloudWatchEncryption { - s.KmsKeyArn = &v +// SetConnectionType sets the ConnectionType field's value. +func (s *Connection) SetConnectionType(v string) *Connection { + s.ConnectionType = &v return s } -// Represents a directional edge in a directed acyclic graph (DAG). -type CodeGenEdge struct { - _ struct{} `type:"structure"` - - // The ID of the node at which the edge starts. - // - // Source is a required field - Source *string `min:"1" type:"string" required:"true"` - - // The ID of the node at which the edge ends. - // - // Target is a required field - Target *string `min:"1" type:"string" required:"true"` - - // The target of the edge. - TargetParameter *string `type:"string"` +// SetCreationTime sets the CreationTime field's value. +func (s *Connection) SetCreationTime(v time.Time) *Connection { + s.CreationTime = &v + return s } -// String returns the string representation -func (s CodeGenEdge) String() string { - return awsutil.Prettify(s) +// SetDescription sets the Description field's value. +func (s *Connection) SetDescription(v string) *Connection { + s.Description = &v + return s } -// GoString returns the string representation -func (s CodeGenEdge) GoString() string { - return s.String() +// SetLastUpdatedBy sets the LastUpdatedBy field's value. +func (s *Connection) SetLastUpdatedBy(v string) *Connection { + s.LastUpdatedBy = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CodeGenEdge) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CodeGenEdge"} - if s.Source == nil { - invalidParams.Add(request.NewErrParamRequired("Source")) - } - if s.Source != nil && len(*s.Source) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Source", 1)) - } - 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 +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Connection) SetLastUpdatedTime(v time.Time) *Connection { + s.LastUpdatedTime = &v + return s } -// SetSource sets the Source field's value. -func (s *CodeGenEdge) SetSource(v string) *CodeGenEdge { - s.Source = &v +// SetMatchCriteria sets the MatchCriteria field's value. +func (s *Connection) SetMatchCriteria(v []*string) *Connection { + s.MatchCriteria = v return s } -// SetTarget sets the Target field's value. -func (s *CodeGenEdge) SetTarget(v string) *CodeGenEdge { - s.Target = &v +// SetName sets the Name field's value. +func (s *Connection) SetName(v string) *Connection { + s.Name = &v return s } -// SetTargetParameter sets the TargetParameter field's value. -func (s *CodeGenEdge) SetTargetParameter(v string) *CodeGenEdge { - s.TargetParameter = &v +// SetPhysicalConnectionRequirements sets the PhysicalConnectionRequirements field's value. +func (s *Connection) SetPhysicalConnectionRequirements(v *PhysicalConnectionRequirements) *Connection { + s.PhysicalConnectionRequirements = v return s } -// Represents a node in a directed acyclic graph (DAG) -type CodeGenNode struct { +// A structure that is used to specify a connection to create or update. +type ConnectionInput struct { _ struct{} `type:"structure"` - // Properties of the node, in the form of name-value pairs. + // These key-value pairs define parameters for the connection. // - // Args is a required field - Args []*CodeGenNodeArg `type:"list" required:"true"` + // ConnectionProperties is a required field + ConnectionProperties map[string]*string `type:"map" required:"true"` + + // The type of the connection. Currently, only JDBC is supported; SFTP is not + // supported. + // + // ConnectionType is a required field + ConnectionType *string `type:"string" required:"true" enum:"ConnectionType"` - // A node identifier that is unique within the node's graph. - // - // Id is a required field - Id *string `min:"1" type:"string" required:"true"` + // The description of the connection. + Description *string `type:"string"` - // The line number of the node. - LineNumber *int64 `type:"integer"` + // A list of criteria that can be used in selecting this connection. + MatchCriteria []*string `type:"list"` - // The type of node this is. + // The name of the connection. // - // NodeType is a required field - NodeType *string `type:"string" required:"true"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A map of physical connection requirements, such as virtual private cloud + // (VPC) and SecurityGroup, that are needed to successfully make this connection. + PhysicalConnectionRequirements *PhysicalConnectionRequirements `type:"structure"` } // String returns the string representation -func (s CodeGenNode) String() string { +func (s ConnectionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CodeGenNode) GoString() string { +func (s ConnectionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CodeGenNode) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CodeGenNode"} - if s.Args == nil { - invalidParams.Add(request.NewErrParamRequired("Args")) +func (s *ConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConnectionInput"} + if s.ConnectionProperties == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionProperties")) } - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) + if s.ConnectionType == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionType")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.NodeType == nil { - invalidParams.Add(request.NewErrParamRequired("NodeType")) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.Args != nil { - for i, v := range s.Args { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Args", i), err.(request.ErrInvalidParams)) - } + if s.PhysicalConnectionRequirements != nil { + if err := s.PhysicalConnectionRequirements.Validate(); err != nil { + invalidParams.AddNested("PhysicalConnectionRequirements", err.(request.ErrInvalidParams)) } } @@ -9788,66 +11744,94 @@ func (s *CodeGenNode) Validate() error { return nil } -// SetArgs sets the Args field's value. -func (s *CodeGenNode) SetArgs(v []*CodeGenNodeArg) *CodeGenNode { - s.Args = v +// SetConnectionProperties sets the ConnectionProperties field's value. +func (s *ConnectionInput) SetConnectionProperties(v map[string]*string) *ConnectionInput { + s.ConnectionProperties = v return s } -// SetId sets the Id field's value. -func (s *CodeGenNode) SetId(v string) *CodeGenNode { - s.Id = &v +// SetConnectionType sets the ConnectionType field's value. +func (s *ConnectionInput) SetConnectionType(v string) *ConnectionInput { + s.ConnectionType = &v return s } -// SetLineNumber sets the LineNumber field's value. -func (s *CodeGenNode) SetLineNumber(v int64) *CodeGenNode { - s.LineNumber = &v +// SetDescription sets the Description field's value. +func (s *ConnectionInput) SetDescription(v string) *ConnectionInput { + s.Description = &v return s } -// SetNodeType sets the NodeType field's value. -func (s *CodeGenNode) SetNodeType(v string) *CodeGenNode { - s.NodeType = &v +// SetMatchCriteria sets the MatchCriteria field's value. +func (s *ConnectionInput) SetMatchCriteria(v []*string) *ConnectionInput { + s.MatchCriteria = v return s } -// An argument or property of a node. -type CodeGenNodeArg struct { +// SetName sets the Name field's value. +func (s *ConnectionInput) SetName(v string) *ConnectionInput { + s.Name = &v + return s +} + +// SetPhysicalConnectionRequirements sets the PhysicalConnectionRequirements field's value. +func (s *ConnectionInput) SetPhysicalConnectionRequirements(v *PhysicalConnectionRequirements) *ConnectionInput { + s.PhysicalConnectionRequirements = v + return s +} + +// The data structure used by the Data Catalog to encrypt the password as part +// of CreateConnection or UpdateConnection and store it in the ENCRYPTED_PASSWORD +// field in the connection properties. You can enable catalog encryption or +// only password encryption. +// +// When a CreationConnection request arrives containing a password, the Data +// Catalog first encrypts the password using your AWS KMS key. It then encrypts +// the whole connection object again if catalog encryption is also enabled. +// +// This encryption requires that you set AWS KMS key permissions to enable or +// restrict access on the password key according to your security requirements. +// For example, you might want only admin users to have decrypt permission on +// the password key. +type ConnectionPasswordEncryption struct { _ struct{} `type:"structure"` - // The name of the argument or property. + // An AWS KMS key that is used to encrypt the connection password. // - // Name is a required field - Name *string `type:"string" required:"true"` - - // True if the value is used as a parameter. - Param *bool `type:"boolean"` + // If connection password protection is enabled, the caller of CreateConnection + // and UpdateConnection needs at least kms:Encrypt permission on the specified + // AWS KMS key, to encrypt passwords before storing them in the Data Catalog. + // + // You can set the decrypt permission to enable or restrict access on the password + // key according to your security requirements. + AwsKmsKeyId *string `min:"1" type:"string"` - // The value of the argument or property. + // When the ReturnConnectionPasswordEncrypted flag is set to "true", passwords + // remain encrypted in the responses of GetConnection and GetConnections. This + // encryption takes effect independently from catalog encryption. // - // Value is a required field - Value *string `type:"string" required:"true"` + // ReturnConnectionPasswordEncrypted is a required field + ReturnConnectionPasswordEncrypted *bool `type:"boolean" required:"true"` } // String returns the string representation -func (s CodeGenNodeArg) String() string { +func (s ConnectionPasswordEncryption) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CodeGenNodeArg) GoString() string { +func (s ConnectionPasswordEncryption) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CodeGenNodeArg) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CodeGenNodeArg"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *ConnectionPasswordEncryption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConnectionPasswordEncryption"} + if s.AwsKmsKeyId != nil && len(*s.AwsKmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AwsKmsKeyId", 1)) } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) + if s.ReturnConnectionPasswordEncrypted == nil { + invalidParams.Add(request.NewErrParamRequired("ReturnConnectionPasswordEncrypted")) } if invalidParams.Len() > 0 { @@ -9856,332 +11840,386 @@ func (s *CodeGenNodeArg) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *CodeGenNodeArg) SetName(v string) *CodeGenNodeArg { - s.Name = &v +// SetAwsKmsKeyId sets the AwsKmsKeyId field's value. +func (s *ConnectionPasswordEncryption) SetAwsKmsKeyId(v string) *ConnectionPasswordEncryption { + s.AwsKmsKeyId = &v return s } -// SetParam sets the Param field's value. -func (s *CodeGenNodeArg) SetParam(v bool) *CodeGenNodeArg { - s.Param = &v +// SetReturnConnectionPasswordEncrypted sets the ReturnConnectionPasswordEncrypted field's value. +func (s *ConnectionPasswordEncryption) SetReturnConnectionPasswordEncrypted(v bool) *ConnectionPasswordEncryption { + s.ReturnConnectionPasswordEncrypted = &v return s } -// SetValue sets the Value field's value. -func (s *CodeGenNodeArg) SetValue(v string) *CodeGenNodeArg { - s.Value = &v +// Specifies the connections used by a job. +type ConnectionsList struct { + _ struct{} `type:"structure"` + + // A list of connections used by the job. + Connections []*string `type:"list"` +} + +// String returns the string representation +func (s ConnectionsList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConnectionsList) GoString() string { + return s.String() +} + +// SetConnections sets the Connections field's value. +func (s *ConnectionsList) SetConnections(v []*string) *ConnectionsList { + s.Connections = v return s } -// A column in a Table. -type Column struct { +// Specifies a crawler program that examines a data source and uses classifiers +// to try to determine its schema. If successful, the crawler records metadata +// concerning the data source in the AWS Glue Data Catalog. +type Crawler struct { _ struct{} `type:"structure"` - // Free-form text comment. - Comment *string `type:"string"` + // A list of custom classifiers associated with the crawler. + Classifiers []*string `type:"list"` - // The name of the Column. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // Crawler configuration information. This versioned JSON string allows users + // to specify aspects of a crawler's behavior. For more information, see Configuring + // a Crawler (http://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html). + Configuration *string `type:"string"` - // The datatype of data in the Column. - Type *string `type:"string"` + // If the crawler is running, contains the total time elapsed since the last + // crawl began. + CrawlElapsedTime *int64 `type:"long"` + + // The name of the SecurityConfiguration structure to be used by this Crawler. + CrawlerSecurityConfiguration *string `type:"string"` + + // The time when the crawler was created. + CreationTime *time.Time `type:"timestamp"` + + // The database where metadata is written by this crawler. + DatabaseName *string `type:"string"` + + // A description of the crawler. + Description *string `type:"string"` + + // The status of the last crawl, and potentially error information if an error + // occurred. + LastCrawl *LastCrawlInfo `type:"structure"` + + // The time the crawler was last updated. + LastUpdated *time.Time `type:"timestamp"` + + // The crawler name. + Name *string `min:"1" type:"string"` + + // The IAM role (or ARN of an IAM role) used to access customer resources, such + // as data in Amazon S3. + Role *string `type:"string"` + + // For scheduled crawlers, the schedule when the crawler runs. + Schedule *Schedule `type:"structure"` + + // Sets the behavior when the crawler finds a changed or deleted object. + SchemaChangePolicy *SchemaChangePolicy `type:"structure"` + + // Indicates whether the crawler is running, or whether a run is pending. + State *string `type:"string" enum:"CrawlerState"` + + // The prefix added to the names of tables that are created. + TablePrefix *string `type:"string"` + + // A collection of targets to crawl. + Targets *CrawlerTargets `type:"structure"` + + // The version of the crawler. + Version *int64 `type:"long"` +} + +// String returns the string representation +func (s Crawler) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Crawler) GoString() string { + return s.String() +} + +// SetClassifiers sets the Classifiers field's value. +func (s *Crawler) SetClassifiers(v []*string) *Crawler { + s.Classifiers = v + return s +} + +// SetConfiguration sets the Configuration field's value. +func (s *Crawler) SetConfiguration(v string) *Crawler { + s.Configuration = &v + return s } -// String returns the string representation -func (s Column) String() string { - return awsutil.Prettify(s) +// SetCrawlElapsedTime sets the CrawlElapsedTime field's value. +func (s *Crawler) SetCrawlElapsedTime(v int64) *Crawler { + s.CrawlElapsedTime = &v + return s } -// GoString returns the string representation -func (s Column) GoString() string { - return s.String() +// SetCrawlerSecurityConfiguration sets the CrawlerSecurityConfiguration field's value. +func (s *Crawler) SetCrawlerSecurityConfiguration(v string) *Crawler { + s.CrawlerSecurityConfiguration = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Column) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Column"} - 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 +// SetCreationTime sets the CreationTime field's value. +func (s *Crawler) SetCreationTime(v time.Time) *Crawler { + s.CreationTime = &v + return s } -// SetComment sets the Comment field's value. -func (s *Column) SetComment(v string) *Column { - s.Comment = &v +// SetDatabaseName sets the DatabaseName field's value. +func (s *Crawler) SetDatabaseName(v string) *Crawler { + s.DatabaseName = &v return s } -// SetName sets the Name field's value. -func (s *Column) SetName(v string) *Column { - s.Name = &v +// SetDescription sets the Description field's value. +func (s *Crawler) SetDescription(v string) *Crawler { + s.Description = &v return s } -// SetType sets the Type field's value. -func (s *Column) SetType(v string) *Column { - s.Type = &v +// SetLastCrawl sets the LastCrawl field's value. +func (s *Crawler) SetLastCrawl(v *LastCrawlInfo) *Crawler { + s.LastCrawl = v return s } -// Defines a condition under which a trigger fires. -type Condition struct { - _ struct{} `type:"structure"` - - // The name of the Job to whose JobRuns this condition applies and on which - // this trigger waits. - JobName *string `min:"1" type:"string"` - - // A logical operator. - LogicalOperator *string `type:"string" enum:"LogicalOperator"` +// SetLastUpdated sets the LastUpdated field's value. +func (s *Crawler) SetLastUpdated(v time.Time) *Crawler { + s.LastUpdated = &v + return s +} - // The condition state. Currently, the values supported are SUCCEEDED, STOPPED, - // TIMEOUT and FAILED. - State *string `type:"string" enum:"JobRunState"` +// SetName sets the Name field's value. +func (s *Crawler) SetName(v string) *Crawler { + s.Name = &v + return s } -// String returns the string representation -func (s Condition) String() string { - return awsutil.Prettify(s) +// SetRole sets the Role field's value. +func (s *Crawler) SetRole(v string) *Crawler { + s.Role = &v + return s } -// GoString returns the string representation -func (s Condition) GoString() string { - return s.String() +// SetSchedule sets the Schedule field's value. +func (s *Crawler) SetSchedule(v *Schedule) *Crawler { + s.Schedule = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Condition) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Condition"} - if s.JobName != nil && len(*s.JobName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) - } +// SetSchemaChangePolicy sets the SchemaChangePolicy field's value. +func (s *Crawler) SetSchemaChangePolicy(v *SchemaChangePolicy) *Crawler { + s.SchemaChangePolicy = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetState sets the State field's value. +func (s *Crawler) SetState(v string) *Crawler { + s.State = &v + return s } -// SetJobName sets the JobName field's value. -func (s *Condition) SetJobName(v string) *Condition { - s.JobName = &v +// SetTablePrefix sets the TablePrefix field's value. +func (s *Crawler) SetTablePrefix(v string) *Crawler { + s.TablePrefix = &v return s } -// SetLogicalOperator sets the LogicalOperator field's value. -func (s *Condition) SetLogicalOperator(v string) *Condition { - s.LogicalOperator = &v +// SetTargets sets the Targets field's value. +func (s *Crawler) SetTargets(v *CrawlerTargets) *Crawler { + s.Targets = v return s } -// SetState sets the State field's value. -func (s *Condition) SetState(v string) *Condition { - s.State = &v +// SetVersion sets the Version field's value. +func (s *Crawler) SetVersion(v int64) *Crawler { + s.Version = &v return s } -// Defines a connection to a data source. -type Connection struct { +// Metrics for a specified crawler. +type CrawlerMetrics struct { _ struct{} `type:"structure"` - // These key-value pairs define parameters for the connection: - // - // * HOST - The host URI: either the fully qualified domain name (FQDN) or - // the IPv4 address of the database host. - // - // * PORT - The port number, between 1024 and 65535, of the port on which - // the database host is listening for database connections. - // - // * USER_NAME - The name under which to log in to the database. The value - // string for USER_NAME is "USERNAME". - // - // * PASSWORD - A password, if one is used, for the user name. - // - // * ENCRYPTED_PASSWORD - When you enable connection password protection - // by setting ConnectionPasswordEncryption in the Data Catalog encryption - // settings, this field stores the key you designate to encrypt the password. - // - // * JDBC_DRIVER_JAR_URI - The S3 path of the a jar file that contains the - // JDBC driver to use. - // - // * JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use. - // - // * JDBC_ENGINE - The name of the JDBC engine to use. - // - // * JDBC_ENGINE_VERSION - The version of the JDBC engine to use. - // - // * CONFIG_FILES - (Reserved for future use). - // - // * INSTANCE_ID - The instance ID to use. - // - // * JDBC_CONNECTION_URL - The URL for the JDBC connection. - // - // * JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether - // SSL with hostname matching will be enforced for the JDBC connection on - // the client. The default is false. - ConnectionProperties map[string]*string `type:"map"` - - // The type of the connection. Currently, only JDBC is supported; SFTP is not - // supported. - ConnectionType *string `type:"string" enum:"ConnectionType"` + // The name of the crawler. + CrawlerName *string `min:"1" type:"string"` - // The time this connection definition was created. - CreationTime *time.Time `type:"timestamp"` + // The duration of the crawler's most recent run, in seconds. + LastRuntimeSeconds *float64 `type:"double"` - // Description of the connection. - Description *string `type:"string"` + // The median duration of this crawler's runs, in seconds. + MedianRuntimeSeconds *float64 `type:"double"` - // The user, group or role that last updated this connection definition. - LastUpdatedBy *string `min:"1" type:"string"` + // True if the crawler is still estimating how long it will take to complete + // this run. + StillEstimating *bool `type:"boolean"` - // The last time this connection definition was updated. - LastUpdatedTime *time.Time `type:"timestamp"` + // The number of tables created by this crawler. + TablesCreated *int64 `type:"integer"` - // A list of criteria that can be used in selecting this connection. - MatchCriteria []*string `type:"list"` + // The number of tables deleted by this crawler. + TablesDeleted *int64 `type:"integer"` - // The name of the connection definition. - Name *string `min:"1" type:"string"` + // The number of tables updated by this crawler. + TablesUpdated *int64 `type:"integer"` - // A map of physical connection requirements, such as VPC and SecurityGroup, - // needed for making this connection successfully. - PhysicalConnectionRequirements *PhysicalConnectionRequirements `type:"structure"` + // The estimated time left to complete a running crawl. + TimeLeftSeconds *float64 `type:"double"` } // String returns the string representation -func (s Connection) String() string { +func (s CrawlerMetrics) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Connection) GoString() string { +func (s CrawlerMetrics) GoString() string { return s.String() } -// SetConnectionProperties sets the ConnectionProperties field's value. -func (s *Connection) SetConnectionProperties(v map[string]*string) *Connection { - s.ConnectionProperties = v +// SetCrawlerName sets the CrawlerName field's value. +func (s *CrawlerMetrics) SetCrawlerName(v string) *CrawlerMetrics { + s.CrawlerName = &v return s } -// SetConnectionType sets the ConnectionType field's value. -func (s *Connection) SetConnectionType(v string) *Connection { - s.ConnectionType = &v +// SetLastRuntimeSeconds sets the LastRuntimeSeconds field's value. +func (s *CrawlerMetrics) SetLastRuntimeSeconds(v float64) *CrawlerMetrics { + s.LastRuntimeSeconds = &v return s } -// SetCreationTime sets the CreationTime field's value. -func (s *Connection) SetCreationTime(v time.Time) *Connection { - s.CreationTime = &v +// SetMedianRuntimeSeconds sets the MedianRuntimeSeconds field's value. +func (s *CrawlerMetrics) SetMedianRuntimeSeconds(v float64) *CrawlerMetrics { + s.MedianRuntimeSeconds = &v return s } -// SetDescription sets the Description field's value. -func (s *Connection) SetDescription(v string) *Connection { - s.Description = &v +// SetStillEstimating sets the StillEstimating field's value. +func (s *CrawlerMetrics) SetStillEstimating(v bool) *CrawlerMetrics { + s.StillEstimating = &v return s } -// SetLastUpdatedBy sets the LastUpdatedBy field's value. -func (s *Connection) SetLastUpdatedBy(v string) *Connection { - s.LastUpdatedBy = &v +// SetTablesCreated sets the TablesCreated field's value. +func (s *CrawlerMetrics) SetTablesCreated(v int64) *CrawlerMetrics { + s.TablesCreated = &v + return s +} + +// SetTablesDeleted sets the TablesDeleted field's value. +func (s *CrawlerMetrics) SetTablesDeleted(v int64) *CrawlerMetrics { + s.TablesDeleted = &v + return s +} + +// SetTablesUpdated sets the TablesUpdated field's value. +func (s *CrawlerMetrics) SetTablesUpdated(v int64) *CrawlerMetrics { + s.TablesUpdated = &v + return s +} + +// SetTimeLeftSeconds sets the TimeLeftSeconds field's value. +func (s *CrawlerMetrics) SetTimeLeftSeconds(v float64) *CrawlerMetrics { + s.TimeLeftSeconds = &v return s } -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *Connection) SetLastUpdatedTime(v time.Time) *Connection { - s.LastUpdatedTime = &v - return s +// Specifies data stores to crawl. +type CrawlerTargets struct { + _ struct{} `type:"structure"` + + // Specifies DynamoDB targets. + DynamoDBTargets []*DynamoDBTarget `type:"list"` + + // Specifies JDBC targets. + JdbcTargets []*JdbcTarget `type:"list"` + + // Specifies Amazon S3 targets. + S3Targets []*S3Target `type:"list"` +} + +// String returns the string representation +func (s CrawlerTargets) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CrawlerTargets) GoString() string { + return s.String() } -// SetMatchCriteria sets the MatchCriteria field's value. -func (s *Connection) SetMatchCriteria(v []*string) *Connection { - s.MatchCriteria = v +// SetDynamoDBTargets sets the DynamoDBTargets field's value. +func (s *CrawlerTargets) SetDynamoDBTargets(v []*DynamoDBTarget) *CrawlerTargets { + s.DynamoDBTargets = v return s } -// SetName sets the Name field's value. -func (s *Connection) SetName(v string) *Connection { - s.Name = &v +// SetJdbcTargets sets the JdbcTargets field's value. +func (s *CrawlerTargets) SetJdbcTargets(v []*JdbcTarget) *CrawlerTargets { + s.JdbcTargets = v return s } -// SetPhysicalConnectionRequirements sets the PhysicalConnectionRequirements field's value. -func (s *Connection) SetPhysicalConnectionRequirements(v *PhysicalConnectionRequirements) *Connection { - s.PhysicalConnectionRequirements = v +// SetS3Targets sets the S3Targets field's value. +func (s *CrawlerTargets) SetS3Targets(v []*S3Target) *CrawlerTargets { + s.S3Targets = v return s } -// A structure used to specify a connection to create or update. -type ConnectionInput struct { +type CreateClassifierInput struct { _ struct{} `type:"structure"` - // These key-value pairs define parameters for the connection. - // - // ConnectionProperties is a required field - ConnectionProperties map[string]*string `type:"map" required:"true"` - - // The type of the connection. Currently, only JDBC is supported; SFTP is not - // supported. - // - // ConnectionType is a required field - ConnectionType *string `type:"string" required:"true" enum:"ConnectionType"` - - // Description of the connection. - Description *string `type:"string"` - - // A list of criteria that can be used in selecting this connection. - MatchCriteria []*string `type:"list"` + // A GrokClassifier object specifying the classifier to create. + GrokClassifier *CreateGrokClassifierRequest `type:"structure"` - // The name of the connection. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // A JsonClassifier object specifying the classifier to create. + JsonClassifier *CreateJsonClassifierRequest `type:"structure"` - // A map of physical connection requirements, such as VPC and SecurityGroup, - // needed for making this connection successfully. - PhysicalConnectionRequirements *PhysicalConnectionRequirements `type:"structure"` + // An XMLClassifier object specifying the classifier to create. + XMLClassifier *CreateXMLClassifierRequest `type:"structure"` } // String returns the string representation -func (s ConnectionInput) String() string { +func (s CreateClassifierInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ConnectionInput) GoString() string { +func (s CreateClassifierInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ConnectionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ConnectionInput"} - if s.ConnectionProperties == nil { - invalidParams.Add(request.NewErrParamRequired("ConnectionProperties")) - } - if s.ConnectionType == nil { - invalidParams.Add(request.NewErrParamRequired("ConnectionType")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *CreateClassifierInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateClassifierInput"} + if s.GrokClassifier != nil { + if err := s.GrokClassifier.Validate(); err != nil { + invalidParams.AddNested("GrokClassifier", err.(request.ErrInvalidParams)) + } } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.JsonClassifier != nil { + if err := s.JsonClassifier.Validate(); err != nil { + invalidParams.AddNested("JsonClassifier", err.(request.ErrInvalidParams)) + } } - if s.PhysicalConnectionRequirements != nil { - if err := s.PhysicalConnectionRequirements.Validate(); err != nil { - invalidParams.AddNested("PhysicalConnectionRequirements", err.(request.ErrInvalidParams)) + if s.XMLClassifier != nil { + if err := s.XMLClassifier.Validate(); err != nil { + invalidParams.AddNested("XMLClassifier", err.(request.ErrInvalidParams)) } } @@ -10191,94 +12229,74 @@ func (s *ConnectionInput) Validate() error { return nil } -// SetConnectionProperties sets the ConnectionProperties field's value. -func (s *ConnectionInput) SetConnectionProperties(v map[string]*string) *ConnectionInput { - s.ConnectionProperties = v +// SetGrokClassifier sets the GrokClassifier field's value. +func (s *CreateClassifierInput) SetGrokClassifier(v *CreateGrokClassifierRequest) *CreateClassifierInput { + s.GrokClassifier = v return s } -// SetConnectionType sets the ConnectionType field's value. -func (s *ConnectionInput) SetConnectionType(v string) *ConnectionInput { - s.ConnectionType = &v +// SetJsonClassifier sets the JsonClassifier field's value. +func (s *CreateClassifierInput) SetJsonClassifier(v *CreateJsonClassifierRequest) *CreateClassifierInput { + s.JsonClassifier = v return s } -// SetDescription sets the Description field's value. -func (s *ConnectionInput) SetDescription(v string) *ConnectionInput { - s.Description = &v +// SetXMLClassifier sets the XMLClassifier field's value. +func (s *CreateClassifierInput) SetXMLClassifier(v *CreateXMLClassifierRequest) *CreateClassifierInput { + s.XMLClassifier = v return s } -// SetMatchCriteria sets the MatchCriteria field's value. -func (s *ConnectionInput) SetMatchCriteria(v []*string) *ConnectionInput { - s.MatchCriteria = v - return s +type CreateClassifierOutput struct { + _ struct{} `type:"structure"` } -// SetName sets the Name field's value. -func (s *ConnectionInput) SetName(v string) *ConnectionInput { - s.Name = &v - return s +// String returns the string representation +func (s CreateClassifierOutput) String() string { + return awsutil.Prettify(s) } -// SetPhysicalConnectionRequirements sets the PhysicalConnectionRequirements field's value. -func (s *ConnectionInput) SetPhysicalConnectionRequirements(v *PhysicalConnectionRequirements) *ConnectionInput { - s.PhysicalConnectionRequirements = v - return s +// GoString returns the string representation +func (s CreateClassifierOutput) GoString() string { + return s.String() } -// The data structure used by the Data Catalog to encrypt the password as part -// of CreateConnection or UpdateConnection and store it in the ENCRYPTED_PASSWORD -// field in the connection properties. You can enable catalog encryption or -// only password encryption. -// -// When a CreationConnection request arrives containing a password, the Data -// Catalog first encrypts the password using your KMS key, and then encrypts -// the whole connection object again if catalog encryption is also enabled. -// -// This encryption requires that you set KMS key permissions to enable or restrict -// access on the password key according to your security requirements. For example, -// you may want only admin users to have decrypt permission on the password -// key. -type ConnectionPasswordEncryption struct { +type CreateConnectionInput struct { _ struct{} `type:"structure"` - // A KMS key used to protect access to the JDBC source. - // - // All users in your account should be granted the kms:encrypt permission to - // encrypt passwords before storing them in the Data Catalog (through the AWS - // Glue CreateConnection operation). - // - // The decrypt permission should be granted only to KMS key admins and IAM roles - // designated for AWS Glue crawlers. - AwsKmsKeyId *string `min:"1" type:"string"` + // The ID of the Data Catalog in which to create the connection. If none is + // provided, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` - // When the ReturnConnectionPasswordEncrypted flag is set to "true", passwords - // remain encrypted in the responses of GetConnection and GetConnections. This - // encryption takes effect independently from catalog encryption. + // A ConnectionInput object defining the connection to create. // - // ReturnConnectionPasswordEncrypted is a required field - ReturnConnectionPasswordEncrypted *bool `type:"boolean" required:"true"` + // ConnectionInput is a required field + ConnectionInput *ConnectionInput `type:"structure" required:"true"` } // String returns the string representation -func (s ConnectionPasswordEncryption) String() string { +func (s CreateConnectionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ConnectionPasswordEncryption) GoString() string { +func (s CreateConnectionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ConnectionPasswordEncryption) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ConnectionPasswordEncryption"} - if s.AwsKmsKeyId != nil && len(*s.AwsKmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AwsKmsKeyId", 1)) +func (s *CreateConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConnectionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.ReturnConnectionPasswordEncrypted == nil { - invalidParams.Add(request.NewErrParamRequired("ReturnConnectionPasswordEncrypted")) + if s.ConnectionInput == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionInput")) + } + if s.ConnectionInput != nil { + if err := s.ConnectionInput.Validate(); err != nil { + invalidParams.AddNested("ConnectionInput", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -10287,49 +12305,38 @@ func (s *ConnectionPasswordEncryption) Validate() error { return nil } -// SetAwsKmsKeyId sets the AwsKmsKeyId field's value. -func (s *ConnectionPasswordEncryption) SetAwsKmsKeyId(v string) *ConnectionPasswordEncryption { - s.AwsKmsKeyId = &v +// SetCatalogId sets the CatalogId field's value. +func (s *CreateConnectionInput) SetCatalogId(v string) *CreateConnectionInput { + s.CatalogId = &v return s } -// SetReturnConnectionPasswordEncrypted sets the ReturnConnectionPasswordEncrypted field's value. -func (s *ConnectionPasswordEncryption) SetReturnConnectionPasswordEncrypted(v bool) *ConnectionPasswordEncryption { - s.ReturnConnectionPasswordEncrypted = &v +// SetConnectionInput sets the ConnectionInput field's value. +func (s *CreateConnectionInput) SetConnectionInput(v *ConnectionInput) *CreateConnectionInput { + s.ConnectionInput = v return s } -// Specifies the connections used by a job. -type ConnectionsList struct { +type CreateConnectionOutput struct { _ struct{} `type:"structure"` - - // A list of connections used by the job. - Connections []*string `type:"list"` } // String returns the string representation -func (s ConnectionsList) String() string { +func (s CreateConnectionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ConnectionsList) GoString() string { +func (s CreateConnectionOutput) GoString() string { return s.String() } -// SetConnections sets the Connections field's value. -func (s *ConnectionsList) SetConnections(v []*string) *ConnectionsList { - s.Connections = v - return s -} - -// Specifies a crawler program that examines a data source and uses classifiers -// to try to determine its schema. If successful, the crawler records metadata -// concerning the data source in the AWS Glue Data Catalog. -type Crawler struct { +type CreateCrawlerInput struct { _ struct{} `type:"structure"` - // A list of custom classifiers associated with the crawler. + // A list of custom classifiers that the user has registered. By default, all + // built-in classifiers are included in a crawl, but these custom classifiers + // always override the default classifiers for a given classification. Classifiers []*string `type:"list"` // Crawler configuration information. This versioned JSON string allows users @@ -10337,413 +12344,600 @@ type Crawler struct { // a Crawler (http://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html). Configuration *string `type:"string"` - // If the crawler is running, contains the total time elapsed since the last - // crawl began. - CrawlElapsedTime *int64 `type:"long"` - // The name of the SecurityConfiguration structure to be used by this Crawler. CrawlerSecurityConfiguration *string `type:"string"` - // The time when the crawler was created. - CreationTime *time.Time `type:"timestamp"` - - // The database where metadata is written by this crawler. - DatabaseName *string `type:"string"` + // The AWS Glue database where results are written, such as: arn:aws:daylight:us-east-1::database/sometable/*. + // + // DatabaseName is a required field + DatabaseName *string `type:"string" required:"true"` - // A description of the crawler. + // A description of the new crawler. Description *string `type:"string"` - // The status of the last crawl, and potentially error information if an error - // occurred. - LastCrawl *LastCrawlInfo `type:"structure"` - - // The time the crawler was last updated. - LastUpdated *time.Time `type:"timestamp"` - - // The crawler name. - Name *string `min:"1" type:"string"` - - // The IAM role (or ARN of an IAM role) used to access customer resources, such - // as data in Amazon S3. - Role *string `type:"string"` + // Name of the new crawler. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // For scheduled crawlers, the schedule when the crawler runs. - Schedule *Schedule `type:"structure"` + // The IAM role (or ARN of an IAM role) used by the new crawler to access customer + // resources. + // + // Role is a required field + Role *string `type:"string" required:"true"` - // Sets the behavior when the crawler finds a changed or deleted object. - SchemaChangePolicy *SchemaChangePolicy `type:"structure"` + // A cron expression used to specify the schedule (see Time-Based Schedules + // for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). + // For example, to run something every day at 12:15 UTC, you would specify: + // cron(15 12 * * ? *). + Schedule *string `type:"string"` - // Indicates whether the crawler is running, or whether a run is pending. - State *string `type:"string" enum:"CrawlerState"` + // Policy for the crawler's update and deletion behavior. + SchemaChangePolicy *SchemaChangePolicy `type:"structure"` - // The prefix added to the names of tables that are created. + // The table prefix used for catalog tables that are created. TablePrefix *string `type:"string"` - // A collection of targets to crawl. - Targets *CrawlerTargets `type:"structure"` + // The tags to use with this crawler request. You may use tags to limit access + // to the crawler. For more information about tags in AWS Glue, see AWS Tags + // in AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) + // in the developer guide. + Tags map[string]*string `type:"map"` - // The version of the crawler. - Version *int64 `type:"long"` + // A list of collection of targets to crawl. + // + // Targets is a required field + Targets *CrawlerTargets `type:"structure" required:"true"` } // String returns the string representation -func (s Crawler) String() string { +func (s CreateCrawlerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Crawler) GoString() string { +func (s CreateCrawlerInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCrawlerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCrawlerInput"} + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + 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.Role == nil { + invalidParams.Add(request.NewErrParamRequired("Role")) + } + if s.Targets == nil { + invalidParams.Add(request.NewErrParamRequired("Targets")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetClassifiers sets the Classifiers field's value. -func (s *Crawler) SetClassifiers(v []*string) *Crawler { +func (s *CreateCrawlerInput) SetClassifiers(v []*string) *CreateCrawlerInput { s.Classifiers = v return s } // SetConfiguration sets the Configuration field's value. -func (s *Crawler) SetConfiguration(v string) *Crawler { +func (s *CreateCrawlerInput) SetConfiguration(v string) *CreateCrawlerInput { s.Configuration = &v return s } -// SetCrawlElapsedTime sets the CrawlElapsedTime field's value. -func (s *Crawler) SetCrawlElapsedTime(v int64) *Crawler { - s.CrawlElapsedTime = &v - return s -} - // SetCrawlerSecurityConfiguration sets the CrawlerSecurityConfiguration field's value. -func (s *Crawler) SetCrawlerSecurityConfiguration(v string) *Crawler { +func (s *CreateCrawlerInput) SetCrawlerSecurityConfiguration(v string) *CreateCrawlerInput { s.CrawlerSecurityConfiguration = &v return s } -// SetCreationTime sets the CreationTime field's value. -func (s *Crawler) SetCreationTime(v time.Time) *Crawler { - s.CreationTime = &v - return s -} - // SetDatabaseName sets the DatabaseName field's value. -func (s *Crawler) SetDatabaseName(v string) *Crawler { +func (s *CreateCrawlerInput) SetDatabaseName(v string) *CreateCrawlerInput { s.DatabaseName = &v return s } // SetDescription sets the Description field's value. -func (s *Crawler) SetDescription(v string) *Crawler { +func (s *CreateCrawlerInput) SetDescription(v string) *CreateCrawlerInput { s.Description = &v return s } -// SetLastCrawl sets the LastCrawl field's value. -func (s *Crawler) SetLastCrawl(v *LastCrawlInfo) *Crawler { - s.LastCrawl = v - return s -} - -// SetLastUpdated sets the LastUpdated field's value. -func (s *Crawler) SetLastUpdated(v time.Time) *Crawler { - s.LastUpdated = &v - return s -} - // SetName sets the Name field's value. -func (s *Crawler) SetName(v string) *Crawler { +func (s *CreateCrawlerInput) SetName(v string) *CreateCrawlerInput { s.Name = &v return s } // SetRole sets the Role field's value. -func (s *Crawler) SetRole(v string) *Crawler { +func (s *CreateCrawlerInput) SetRole(v string) *CreateCrawlerInput { s.Role = &v return s } // SetSchedule sets the Schedule field's value. -func (s *Crawler) SetSchedule(v *Schedule) *Crawler { - s.Schedule = v +func (s *CreateCrawlerInput) SetSchedule(v string) *CreateCrawlerInput { + s.Schedule = &v return s } // SetSchemaChangePolicy sets the SchemaChangePolicy field's value. -func (s *Crawler) SetSchemaChangePolicy(v *SchemaChangePolicy) *Crawler { +func (s *CreateCrawlerInput) SetSchemaChangePolicy(v *SchemaChangePolicy) *CreateCrawlerInput { s.SchemaChangePolicy = v return s } -// SetState sets the State field's value. -func (s *Crawler) SetState(v string) *Crawler { - s.State = &v +// SetTablePrefix sets the TablePrefix field's value. +func (s *CreateCrawlerInput) SetTablePrefix(v string) *CreateCrawlerInput { + s.TablePrefix = &v return s } -// SetTablePrefix sets the TablePrefix field's value. -func (s *Crawler) SetTablePrefix(v string) *Crawler { - s.TablePrefix = &v +// SetTags sets the Tags field's value. +func (s *CreateCrawlerInput) SetTags(v map[string]*string) *CreateCrawlerInput { + s.Tags = v return s } // SetTargets sets the Targets field's value. -func (s *Crawler) SetTargets(v *CrawlerTargets) *Crawler { +func (s *CreateCrawlerInput) SetTargets(v *CrawlerTargets) *CreateCrawlerInput { s.Targets = v return s } -// SetVersion sets the Version field's value. -func (s *Crawler) SetVersion(v int64) *Crawler { - s.Version = &v +type CreateCrawlerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateCrawlerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCrawlerOutput) GoString() string { + return s.String() +} + +type CreateDatabaseInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which to create the database. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // A DatabaseInput object defining the metadata database to create in the catalog. + // + // DatabaseInput is a required field + DatabaseInput *DatabaseInput `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateDatabaseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDatabaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDatabaseInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseInput == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseInput")) + } + if s.DatabaseInput != nil { + if err := s.DatabaseInput.Validate(); err != nil { + invalidParams.AddNested("DatabaseInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *CreateDatabaseInput) SetCatalogId(v string) *CreateDatabaseInput { + s.CatalogId = &v return s } -// Metrics for a specified crawler. -type CrawlerMetrics struct { +// SetDatabaseInput sets the DatabaseInput field's value. +func (s *CreateDatabaseInput) SetDatabaseInput(v *DatabaseInput) *CreateDatabaseInput { + s.DatabaseInput = v + return s +} + +type CreateDatabaseOutput struct { _ struct{} `type:"structure"` +} - // The name of the crawler. - CrawlerName *string `min:"1" type:"string"` +// String returns the string representation +func (s CreateDatabaseOutput) String() string { + return awsutil.Prettify(s) +} - // The duration of the crawler's most recent run, in seconds. - LastRuntimeSeconds *float64 `type:"double"` +// GoString returns the string representation +func (s CreateDatabaseOutput) GoString() string { + return s.String() +} - // The median duration of this crawler's runs, in seconds. - MedianRuntimeSeconds *float64 `type:"double"` +type CreateDevEndpointInput struct { + _ struct{} `type:"structure"` - // True if the crawler is still estimating how long it will take to complete - // this run. - StillEstimating *bool `type:"boolean"` + // The name to be assigned to the new DevEndpoint. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` - // The number of tables created by this crawler. - TablesCreated *int64 `type:"integer"` + // Path to one or more Java Jars in an S3 bucket that should be loaded in your + // DevEndpoint. + ExtraJarsS3Path *string `type:"string"` - // The number of tables deleted by this crawler. - TablesDeleted *int64 `type:"integer"` + // Path(s) to one or more Python libraries in an S3 bucket that should be loaded + // in your DevEndpoint. Multiple values must be complete paths separated by + // a comma. + // + // Please note that only pure Python libraries can currently be used on a DevEndpoint. + // Libraries that rely on C extensions, such as the pandas (http://pandas.pydata.org/) + // Python data analysis library, are not yet supported. + ExtraPythonLibsS3Path *string `type:"string"` + + // The number of AWS Glue Data Processing Units (DPUs) to allocate to this DevEndpoint. + NumberOfNodes *int64 `type:"integer"` + + // The public key to be used by this DevEndpoint for authentication. This attribute + // is provided for backward compatibility, as the recommended attribute to use + // is public keys. + PublicKey *string `type:"string"` + + // A list of public keys to be used by the DevEndpoints for authentication. + // The use of this attribute is preferred over a single public key because the + // public keys allow you to have a different private key per client. + // + // If you previously created an endpoint with a public key, you must remove + // that key to be able to set a list of public keys: call the UpdateDevEndpoint + // API with the public key content in the deletePublicKeys attribute, and the + // list of new keys in the addPublicKeys attribute. + PublicKeys []*string `type:"list"` + + // The IAM role for the DevEndpoint. + // + // RoleArn is a required field + RoleArn *string `type:"string" required:"true"` + + // The name of the SecurityConfiguration structure to be used with this DevEndpoint. + SecurityConfiguration *string `min:"1" type:"string"` + + // Security group IDs for the security groups to be used by the new DevEndpoint. + SecurityGroupIds []*string `type:"list"` + + // The subnet ID for the new DevEndpoint to use. + SubnetId *string `type:"string"` + + // The tags to use with this DevEndpoint. You may use tags to limit access to + // the DevEndpoint. For more information about tags in AWS Glue, see AWS Tags + // in AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) + // in the developer guide. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation +func (s CreateDevEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDevEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDevEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDevEndpointInput"} + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.SecurityConfiguration != nil && len(*s.SecurityConfiguration) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityConfiguration", 1)) + } - // The number of tables updated by this crawler. - TablesUpdated *int64 `type:"integer"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The estimated time left to complete a running crawl. - TimeLeftSeconds *float64 `type:"double"` +// SetEndpointName sets the EndpointName field's value. +func (s *CreateDevEndpointInput) SetEndpointName(v string) *CreateDevEndpointInput { + s.EndpointName = &v + return s } -// String returns the string representation -func (s CrawlerMetrics) String() string { - return awsutil.Prettify(s) +// SetExtraJarsS3Path sets the ExtraJarsS3Path field's value. +func (s *CreateDevEndpointInput) SetExtraJarsS3Path(v string) *CreateDevEndpointInput { + s.ExtraJarsS3Path = &v + return s } -// GoString returns the string representation -func (s CrawlerMetrics) GoString() string { - return s.String() +// SetExtraPythonLibsS3Path sets the ExtraPythonLibsS3Path field's value. +func (s *CreateDevEndpointInput) SetExtraPythonLibsS3Path(v string) *CreateDevEndpointInput { + s.ExtraPythonLibsS3Path = &v + return s } -// SetCrawlerName sets the CrawlerName field's value. -func (s *CrawlerMetrics) SetCrawlerName(v string) *CrawlerMetrics { - s.CrawlerName = &v +// SetNumberOfNodes sets the NumberOfNodes field's value. +func (s *CreateDevEndpointInput) SetNumberOfNodes(v int64) *CreateDevEndpointInput { + s.NumberOfNodes = &v return s } -// SetLastRuntimeSeconds sets the LastRuntimeSeconds field's value. -func (s *CrawlerMetrics) SetLastRuntimeSeconds(v float64) *CrawlerMetrics { - s.LastRuntimeSeconds = &v +// SetPublicKey sets the PublicKey field's value. +func (s *CreateDevEndpointInput) SetPublicKey(v string) *CreateDevEndpointInput { + s.PublicKey = &v return s } -// SetMedianRuntimeSeconds sets the MedianRuntimeSeconds field's value. -func (s *CrawlerMetrics) SetMedianRuntimeSeconds(v float64) *CrawlerMetrics { - s.MedianRuntimeSeconds = &v +// SetPublicKeys sets the PublicKeys field's value. +func (s *CreateDevEndpointInput) SetPublicKeys(v []*string) *CreateDevEndpointInput { + s.PublicKeys = v return s } -// SetStillEstimating sets the StillEstimating field's value. -func (s *CrawlerMetrics) SetStillEstimating(v bool) *CrawlerMetrics { - s.StillEstimating = &v +// SetRoleArn sets the RoleArn field's value. +func (s *CreateDevEndpointInput) SetRoleArn(v string) *CreateDevEndpointInput { + s.RoleArn = &v return s } -// SetTablesCreated sets the TablesCreated field's value. -func (s *CrawlerMetrics) SetTablesCreated(v int64) *CrawlerMetrics { - s.TablesCreated = &v +// SetSecurityConfiguration sets the SecurityConfiguration field's value. +func (s *CreateDevEndpointInput) SetSecurityConfiguration(v string) *CreateDevEndpointInput { + s.SecurityConfiguration = &v return s } -// SetTablesDeleted sets the TablesDeleted field's value. -func (s *CrawlerMetrics) SetTablesDeleted(v int64) *CrawlerMetrics { - s.TablesDeleted = &v +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateDevEndpointInput) SetSecurityGroupIds(v []*string) *CreateDevEndpointInput { + s.SecurityGroupIds = v return s } -// SetTablesUpdated sets the TablesUpdated field's value. -func (s *CrawlerMetrics) SetTablesUpdated(v int64) *CrawlerMetrics { - s.TablesUpdated = &v +// SetSubnetId sets the SubnetId field's value. +func (s *CreateDevEndpointInput) SetSubnetId(v string) *CreateDevEndpointInput { + s.SubnetId = &v return s } -// SetTimeLeftSeconds sets the TimeLeftSeconds field's value. -func (s *CrawlerMetrics) SetTimeLeftSeconds(v float64) *CrawlerMetrics { - s.TimeLeftSeconds = &v +// SetTags sets the Tags field's value. +func (s *CreateDevEndpointInput) SetTags(v map[string]*string) *CreateDevEndpointInput { + s.Tags = v return s } -// Specifies data stores to crawl. -type CrawlerTargets struct { +type CreateDevEndpointOutput struct { _ struct{} `type:"structure"` - // Specifies DynamoDB targets. - DynamoDBTargets []*DynamoDBTarget `type:"list"` + // The AWS availability zone where this DevEndpoint is located. + AvailabilityZone *string `type:"string"` - // Specifies JDBC targets. - JdbcTargets []*JdbcTarget `type:"list"` + // The point in time at which this DevEndpoint was created. + CreatedTimestamp *time.Time `type:"timestamp"` - // Specifies Amazon S3 targets. - S3Targets []*S3Target `type:"list"` + // The name assigned to the new DevEndpoint. + EndpointName *string `type:"string"` + + // Path to one or more Java Jars in an S3 bucket that will be loaded in your + // DevEndpoint. + ExtraJarsS3Path *string `type:"string"` + + // Path(s) to one or more Python libraries in an S3 bucket that will be loaded + // in your DevEndpoint. + ExtraPythonLibsS3Path *string `type:"string"` + + // The reason for a current failure in this DevEndpoint. + FailureReason *string `type:"string"` + + // The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint. + NumberOfNodes *int64 `type:"integer"` + + // The AWS ARN of the role assigned to the new DevEndpoint. + RoleArn *string `type:"string"` + + // The name of the SecurityConfiguration structure being used with this DevEndpoint. + SecurityConfiguration *string `min:"1" type:"string"` + + // The security groups assigned to the new DevEndpoint. + SecurityGroupIds []*string `type:"list"` + + // The current status of the new DevEndpoint. + Status *string `type:"string"` + + // The subnet ID assigned to the new DevEndpoint. + SubnetId *string `type:"string"` + + // The ID of the VPC used by this DevEndpoint. + VpcId *string `type:"string"` + + // The address of the YARN endpoint used by this DevEndpoint. + YarnEndpointAddress *string `type:"string"` + + // The Apache Zeppelin port for the remote Apache Spark interpreter. + ZeppelinRemoteSparkInterpreterPort *int64 `type:"integer"` } // String returns the string representation -func (s CrawlerTargets) String() string { +func (s CreateDevEndpointOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CrawlerTargets) GoString() string { +func (s CreateDevEndpointOutput) GoString() string { return s.String() } -// SetDynamoDBTargets sets the DynamoDBTargets field's value. -func (s *CrawlerTargets) SetDynamoDBTargets(v []*DynamoDBTarget) *CrawlerTargets { - s.DynamoDBTargets = v +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateDevEndpointOutput) SetAvailabilityZone(v string) *CreateDevEndpointOutput { + s.AvailabilityZone = &v return s } -// SetJdbcTargets sets the JdbcTargets field's value. -func (s *CrawlerTargets) SetJdbcTargets(v []*JdbcTarget) *CrawlerTargets { - s.JdbcTargets = v +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *CreateDevEndpointOutput) SetCreatedTimestamp(v time.Time) *CreateDevEndpointOutput { + s.CreatedTimestamp = &v return s } -// SetS3Targets sets the S3Targets field's value. -func (s *CrawlerTargets) SetS3Targets(v []*S3Target) *CrawlerTargets { - s.S3Targets = v +// SetEndpointName sets the EndpointName field's value. +func (s *CreateDevEndpointOutput) SetEndpointName(v string) *CreateDevEndpointOutput { + s.EndpointName = &v return s } -type CreateClassifierInput struct { - _ struct{} `type:"structure"` - - // A GrokClassifier object specifying the classifier to create. - GrokClassifier *CreateGrokClassifierRequest `type:"structure"` - - // A JsonClassifier object specifying the classifier to create. - JsonClassifier *CreateJsonClassifierRequest `type:"structure"` +// SetExtraJarsS3Path sets the ExtraJarsS3Path field's value. +func (s *CreateDevEndpointOutput) SetExtraJarsS3Path(v string) *CreateDevEndpointOutput { + s.ExtraJarsS3Path = &v + return s +} - // An XMLClassifier object specifying the classifier to create. - XMLClassifier *CreateXMLClassifierRequest `type:"structure"` +// SetExtraPythonLibsS3Path sets the ExtraPythonLibsS3Path field's value. +func (s *CreateDevEndpointOutput) SetExtraPythonLibsS3Path(v string) *CreateDevEndpointOutput { + s.ExtraPythonLibsS3Path = &v + return s } -// String returns the string representation -func (s CreateClassifierInput) String() string { - return awsutil.Prettify(s) +// SetFailureReason sets the FailureReason field's value. +func (s *CreateDevEndpointOutput) SetFailureReason(v string) *CreateDevEndpointOutput { + s.FailureReason = &v + return s } -// GoString returns the string representation -func (s CreateClassifierInput) GoString() string { - return s.String() +// SetNumberOfNodes sets the NumberOfNodes field's value. +func (s *CreateDevEndpointOutput) SetNumberOfNodes(v int64) *CreateDevEndpointOutput { + s.NumberOfNodes = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateClassifierInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateClassifierInput"} - if s.GrokClassifier != nil { - if err := s.GrokClassifier.Validate(); err != nil { - invalidParams.AddNested("GrokClassifier", err.(request.ErrInvalidParams)) - } - } - if s.JsonClassifier != nil { - if err := s.JsonClassifier.Validate(); err != nil { - invalidParams.AddNested("JsonClassifier", err.(request.ErrInvalidParams)) - } - } - if s.XMLClassifier != nil { - if err := s.XMLClassifier.Validate(); err != nil { - invalidParams.AddNested("XMLClassifier", err.(request.ErrInvalidParams)) - } - } +// SetRoleArn sets the RoleArn field's value. +func (s *CreateDevEndpointOutput) SetRoleArn(v string) *CreateDevEndpointOutput { + s.RoleArn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSecurityConfiguration sets the SecurityConfiguration field's value. +func (s *CreateDevEndpointOutput) SetSecurityConfiguration(v string) *CreateDevEndpointOutput { + s.SecurityConfiguration = &v + return s } -// SetGrokClassifier sets the GrokClassifier field's value. -func (s *CreateClassifierInput) SetGrokClassifier(v *CreateGrokClassifierRequest) *CreateClassifierInput { - s.GrokClassifier = v +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateDevEndpointOutput) SetSecurityGroupIds(v []*string) *CreateDevEndpointOutput { + s.SecurityGroupIds = v return s } -// SetJsonClassifier sets the JsonClassifier field's value. -func (s *CreateClassifierInput) SetJsonClassifier(v *CreateJsonClassifierRequest) *CreateClassifierInput { - s.JsonClassifier = v +// SetStatus sets the Status field's value. +func (s *CreateDevEndpointOutput) SetStatus(v string) *CreateDevEndpointOutput { + s.Status = &v return s } -// SetXMLClassifier sets the XMLClassifier field's value. -func (s *CreateClassifierInput) SetXMLClassifier(v *CreateXMLClassifierRequest) *CreateClassifierInput { - s.XMLClassifier = v +// SetSubnetId sets the SubnetId field's value. +func (s *CreateDevEndpointOutput) SetSubnetId(v string) *CreateDevEndpointOutput { + s.SubnetId = &v return s } -type CreateClassifierOutput struct { - _ struct{} `type:"structure"` +// SetVpcId sets the VpcId field's value. +func (s *CreateDevEndpointOutput) SetVpcId(v string) *CreateDevEndpointOutput { + s.VpcId = &v + return s } -// String returns the string representation -func (s CreateClassifierOutput) String() string { - return awsutil.Prettify(s) +// SetYarnEndpointAddress sets the YarnEndpointAddress field's value. +func (s *CreateDevEndpointOutput) SetYarnEndpointAddress(v string) *CreateDevEndpointOutput { + s.YarnEndpointAddress = &v + return s } -// GoString returns the string representation -func (s CreateClassifierOutput) GoString() string { - return s.String() +// SetZeppelinRemoteSparkInterpreterPort sets the ZeppelinRemoteSparkInterpreterPort field's value. +func (s *CreateDevEndpointOutput) SetZeppelinRemoteSparkInterpreterPort(v int64) *CreateDevEndpointOutput { + s.ZeppelinRemoteSparkInterpreterPort = &v + return s } -type CreateConnectionInput struct { +// Specifies a grok classifier for CreateClassifier to create. +type CreateGrokClassifierRequest struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog in which to create the connection. If none is - // supplied, the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` + // An identifier of the data format that the classifier matches, such as Twitter, + // JSON, Omniture logs, Amazon CloudWatch Logs, and so on. + // + // Classification is a required field + Classification *string `type:"string" required:"true"` - // A ConnectionInput object defining the connection to create. + // Optional custom grok patterns used by this classifier. + CustomPatterns *string `type:"string"` + + // The grok pattern used by this classifier. // - // ConnectionInput is a required field - ConnectionInput *ConnectionInput `type:"structure" required:"true"` + // GrokPattern is a required field + GrokPattern *string `min:"1" type:"string" required:"true"` + + // The name of the new classifier. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateConnectionInput) String() string { +func (s CreateGrokClassifierRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateConnectionInput) GoString() string { +func (s CreateGrokClassifierRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateConnectionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateConnectionInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) +func (s *CreateGrokClassifierRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGrokClassifierRequest"} + if s.Classification == nil { + invalidParams.Add(request.NewErrParamRequired("Classification")) } - if s.ConnectionInput == nil { - invalidParams.Add(request.NewErrParamRequired("ConnectionInput")) + if s.GrokPattern == nil { + invalidParams.Add(request.NewErrParamRequired("GrokPattern")) } - if s.ConnectionInput != nil { - if err := s.ConnectionInput.Validate(); err != nil { - invalidParams.AddNested("ConnectionInput", err.(request.ErrInvalidParams)) - } + if s.GrokPattern != nil && len(*s.GrokPattern) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GrokPattern", 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 { @@ -10752,100 +12946,137 @@ func (s *CreateConnectionInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *CreateConnectionInput) SetCatalogId(v string) *CreateConnectionInput { - s.CatalogId = &v +// SetClassification sets the Classification field's value. +func (s *CreateGrokClassifierRequest) SetClassification(v string) *CreateGrokClassifierRequest { + s.Classification = &v return s } -// SetConnectionInput sets the ConnectionInput field's value. -func (s *CreateConnectionInput) SetConnectionInput(v *ConnectionInput) *CreateConnectionInput { - s.ConnectionInput = v +// SetCustomPatterns sets the CustomPatterns field's value. +func (s *CreateGrokClassifierRequest) SetCustomPatterns(v string) *CreateGrokClassifierRequest { + s.CustomPatterns = &v return s } -type CreateConnectionOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s CreateConnectionOutput) String() string { - return awsutil.Prettify(s) +// SetGrokPattern sets the GrokPattern field's value. +func (s *CreateGrokClassifierRequest) SetGrokPattern(v string) *CreateGrokClassifierRequest { + s.GrokPattern = &v + return s } -// GoString returns the string representation -func (s CreateConnectionOutput) GoString() string { - return s.String() +// SetName sets the Name field's value. +func (s *CreateGrokClassifierRequest) SetName(v string) *CreateGrokClassifierRequest { + s.Name = &v + return s } -type CreateCrawlerInput struct { +type CreateJobInput struct { _ struct{} `type:"structure"` - // A list of custom classifiers that the user has registered. By default, all - // built-in classifiers are included in a crawl, but these custom classifiers - // always override the default classifiers for a given classification. - Classifiers []*string `type:"list"` + // This parameter is deprecated. Use MaxCapacity instead. + // + // The number of AWS Glue data processing units (DPUs) to allocate to this Job. + // From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative + // measure of processing power that consists of 4 vCPUs of compute capacity + // and 16 GB of memory. For more information, see the AWS Glue pricing page + // (https://aws.amazon.com/glue/pricing/). + // + // Deprecated: This property is deprecated, use MaxCapacity instead. + AllocatedCapacity *int64 `deprecated:"true" type:"integer"` - // Crawler configuration information. This versioned JSON string allows users - // to specify aspects of a crawler's behavior. For more information, see Configuring - // a Crawler (http://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html). - Configuration *string `type:"string"` + // The JobCommand that executes this job. + // + // Command is a required field + Command *JobCommand `type:"structure" required:"true"` - // The name of the SecurityConfiguration structure to be used by this Crawler. - CrawlerSecurityConfiguration *string `type:"string"` + // The connections used for this job. + Connections *ConnectionsList `type:"structure"` - // The AWS Glue database where results are written, such as: arn:aws:daylight:us-east-1::database/sometable/*. + // The default arguments for this job. // - // DatabaseName is a required field - DatabaseName *string `type:"string" required:"true"` + // You can specify arguments here that your own job-execution script consumes, + // as well as arguments that AWS Glue itself consumes. + // + // For information about how to specify and consume your own Job arguments, + // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) + // topic in the developer guide. + // + // For information about the key-value pairs that AWS Glue consumes to set up + // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) + // topic in the developer guide. + DefaultArguments map[string]*string `type:"map"` - // A description of the new crawler. + // Description of the job being defined. Description *string `type:"string"` - // Name of the new crawler. + // An ExecutionProperty specifying the maximum number of concurrent runs allowed + // for this job. + ExecutionProperty *ExecutionProperty `type:"structure"` + + // This field is reserved for future use. + LogUri *string `type:"string"` + + // The number of AWS Glue data processing units (DPUs) that can be allocated + // when this job runs. A DPU is a relative measure of processing power that + // consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, + // see the AWS Glue pricing page (https://aws.amazon.com/glue/pricing/). + // + // The value that can be allocated for MaxCapacity depends on whether you are + // running a python shell job, or an Apache Spark ETL job: + // + // * When you specify a python shell job (JobCommand.Name="pythonshell"), + // you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. + // + // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl"), + // you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job + // type cannot have a fractional DPU allocation. + MaxCapacity *float64 `type:"double"` + + // The maximum number of times to retry this job if it fails. + MaxRetries *int64 `type:"integer"` + + // The name you assign to this job definition. It must be unique in your account. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The IAM role (or ARN of an IAM role) used by the new crawler to access customer - // resources. + // Specifies configuration properties of a job notification. + NotificationProperty *NotificationProperty `type:"structure"` + + // The name or ARN of the IAM role associated with this job. // // Role is a required field Role *string `type:"string" required:"true"` - // A cron expression used to specify the schedule (see Time-Based Schedules - // for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). - // For example, to run something every day at 12:15 UTC, you would specify: - // cron(15 12 * * ? *). - Schedule *string `type:"string"` - - // Policy for the crawler's update and deletion behavior. - SchemaChangePolicy *SchemaChangePolicy `type:"structure"` + // The name of the SecurityConfiguration structure to be used with this job. + SecurityConfiguration *string `min:"1" type:"string"` - // The table prefix used for catalog tables that are created. - TablePrefix *string `type:"string"` + // The tags to use with this job. You may use tags to limit access to the job. + // For more information about tags in AWS Glue, see AWS Tags in AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) + // in the developer guide. + Tags map[string]*string `type:"map"` - // A list of collection of targets to crawl. - // - // Targets is a required field - Targets *CrawlerTargets `type:"structure" required:"true"` + // The job timeout in minutes. This is the maximum time that a job run can consume + // resources before it is terminated and enters TIMEOUT status. The default + // is 2,880 minutes (48 hours). + Timeout *int64 `min:"1" type:"integer"` } // String returns the string representation -func (s CreateCrawlerInput) String() string { +func (s CreateJobInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateCrawlerInput) GoString() string { +func (s CreateJobInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateCrawlerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateCrawlerInput"} - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) +func (s *CreateJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"} + if s.Command == nil { + invalidParams.Add(request.NewErrParamRequired("Command")) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) @@ -10856,8 +13087,16 @@ func (s *CreateCrawlerInput) Validate() error { if s.Role == nil { invalidParams.Add(request.NewErrParamRequired("Role")) } - if s.Targets == nil { - invalidParams.Add(request.NewErrParamRequired("Targets")) + if s.SecurityConfiguration != nil && len(*s.SecurityConfiguration) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityConfiguration", 1)) + } + if s.Timeout != nil && *s.Timeout < 1 { + invalidParams.Add(request.NewErrParamMinValue("Timeout", 1)) + } + if s.NotificationProperty != nil { + if err := s.NotificationProperty.Validate(); err != nil { + invalidParams.AddNested("NotificationProperty", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -10866,122 +13105,157 @@ func (s *CreateCrawlerInput) Validate() error { return nil } -// SetClassifiers sets the Classifiers field's value. -func (s *CreateCrawlerInput) SetClassifiers(v []*string) *CreateCrawlerInput { - s.Classifiers = v +// SetAllocatedCapacity sets the AllocatedCapacity field's value. +func (s *CreateJobInput) SetAllocatedCapacity(v int64) *CreateJobInput { + s.AllocatedCapacity = &v return s } -// SetConfiguration sets the Configuration field's value. -func (s *CreateCrawlerInput) SetConfiguration(v string) *CreateCrawlerInput { - s.Configuration = &v +// SetCommand sets the Command field's value. +func (s *CreateJobInput) SetCommand(v *JobCommand) *CreateJobInput { + s.Command = v return s } -// SetCrawlerSecurityConfiguration sets the CrawlerSecurityConfiguration field's value. -func (s *CreateCrawlerInput) SetCrawlerSecurityConfiguration(v string) *CreateCrawlerInput { - s.CrawlerSecurityConfiguration = &v +// SetConnections sets the Connections field's value. +func (s *CreateJobInput) SetConnections(v *ConnectionsList) *CreateJobInput { + s.Connections = v return s } -// SetDatabaseName sets the DatabaseName field's value. -func (s *CreateCrawlerInput) SetDatabaseName(v string) *CreateCrawlerInput { - s.DatabaseName = &v +// SetDefaultArguments sets the DefaultArguments field's value. +func (s *CreateJobInput) SetDefaultArguments(v map[string]*string) *CreateJobInput { + s.DefaultArguments = v return s } // SetDescription sets the Description field's value. -func (s *CreateCrawlerInput) SetDescription(v string) *CreateCrawlerInput { +func (s *CreateJobInput) SetDescription(v string) *CreateJobInput { s.Description = &v return s } +// SetExecutionProperty sets the ExecutionProperty field's value. +func (s *CreateJobInput) SetExecutionProperty(v *ExecutionProperty) *CreateJobInput { + s.ExecutionProperty = v + return s +} + +// SetLogUri sets the LogUri field's value. +func (s *CreateJobInput) SetLogUri(v string) *CreateJobInput { + s.LogUri = &v + return s +} + +// SetMaxCapacity sets the MaxCapacity field's value. +func (s *CreateJobInput) SetMaxCapacity(v float64) *CreateJobInput { + s.MaxCapacity = &v + return s +} + +// SetMaxRetries sets the MaxRetries field's value. +func (s *CreateJobInput) SetMaxRetries(v int64) *CreateJobInput { + s.MaxRetries = &v + return s +} + // SetName sets the Name field's value. -func (s *CreateCrawlerInput) SetName(v string) *CreateCrawlerInput { +func (s *CreateJobInput) SetName(v string) *CreateJobInput { s.Name = &v return s } -// SetRole sets the Role field's value. -func (s *CreateCrawlerInput) SetRole(v string) *CreateCrawlerInput { - s.Role = &v +// SetNotificationProperty sets the NotificationProperty field's value. +func (s *CreateJobInput) SetNotificationProperty(v *NotificationProperty) *CreateJobInput { + s.NotificationProperty = v return s } -// SetSchedule sets the Schedule field's value. -func (s *CreateCrawlerInput) SetSchedule(v string) *CreateCrawlerInput { - s.Schedule = &v +// SetRole sets the Role field's value. +func (s *CreateJobInput) SetRole(v string) *CreateJobInput { + s.Role = &v return s } - -// SetSchemaChangePolicy sets the SchemaChangePolicy field's value. -func (s *CreateCrawlerInput) SetSchemaChangePolicy(v *SchemaChangePolicy) *CreateCrawlerInput { - s.SchemaChangePolicy = v + +// SetSecurityConfiguration sets the SecurityConfiguration field's value. +func (s *CreateJobInput) SetSecurityConfiguration(v string) *CreateJobInput { + s.SecurityConfiguration = &v return s } -// SetTablePrefix sets the TablePrefix field's value. -func (s *CreateCrawlerInput) SetTablePrefix(v string) *CreateCrawlerInput { - s.TablePrefix = &v +// SetTags sets the Tags field's value. +func (s *CreateJobInput) SetTags(v map[string]*string) *CreateJobInput { + s.Tags = v return s } -// SetTargets sets the Targets field's value. -func (s *CreateCrawlerInput) SetTargets(v *CrawlerTargets) *CreateCrawlerInput { - s.Targets = v +// SetTimeout sets the Timeout field's value. +func (s *CreateJobInput) SetTimeout(v int64) *CreateJobInput { + s.Timeout = &v return s } -type CreateCrawlerOutput struct { +type CreateJobOutput struct { _ struct{} `type:"structure"` + + // The unique name that was provided for this job definition. + Name *string `min:"1" type:"string"` } // String returns the string representation -func (s CreateCrawlerOutput) String() string { +func (s CreateJobOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateCrawlerOutput) GoString() string { +func (s CreateJobOutput) GoString() string { return s.String() } -type CreateDatabaseInput struct { +// SetName sets the Name field's value. +func (s *CreateJobOutput) SetName(v string) *CreateJobOutput { + s.Name = &v + return s +} + +// Specifies a JSON classifier for CreateClassifier to create. +type CreateJsonClassifierRequest struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog in which to create the database. If none is supplied, - // the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` + // A JsonPath string defining the JSON data for the classifier to classify. + // AWS Glue supports a subset of JsonPath, as described in Writing JsonPath + // Custom Classifiers (https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json). + // + // JsonPath is a required field + JsonPath *string `type:"string" required:"true"` - // A DatabaseInput object defining the metadata database to create in the catalog. + // The name of the classifier. // - // DatabaseInput is a required field - DatabaseInput *DatabaseInput `type:"structure" required:"true"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateDatabaseInput) String() string { +func (s CreateJsonClassifierRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDatabaseInput) GoString() string { +func (s CreateJsonClassifierRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDatabaseInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDatabaseInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) +func (s *CreateJsonClassifierRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateJsonClassifierRequest"} + if s.JsonPath == nil { + invalidParams.Add(request.NewErrParamRequired("JsonPath")) } - if s.DatabaseInput == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseInput")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.DatabaseInput != nil { - if err := s.DatabaseInput.Validate(); err != nil { - invalidParams.AddNested("DatabaseInput", err.(request.ErrInvalidParams)) - } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { @@ -10990,107 +13264,76 @@ func (s *CreateDatabaseInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *CreateDatabaseInput) SetCatalogId(v string) *CreateDatabaseInput { - s.CatalogId = &v +// SetJsonPath sets the JsonPath field's value. +func (s *CreateJsonClassifierRequest) SetJsonPath(v string) *CreateJsonClassifierRequest { + s.JsonPath = &v return s } -// SetDatabaseInput sets the DatabaseInput field's value. -func (s *CreateDatabaseInput) SetDatabaseInput(v *DatabaseInput) *CreateDatabaseInput { - s.DatabaseInput = v +// SetName sets the Name field's value. +func (s *CreateJsonClassifierRequest) SetName(v string) *CreateJsonClassifierRequest { + s.Name = &v return s } -type CreateDatabaseOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s CreateDatabaseOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateDatabaseOutput) GoString() string { - return s.String() -} - -type CreateDevEndpointInput struct { +type CreatePartitionInput struct { _ struct{} `type:"structure"` - // The name to be assigned to the new DevEndpoint. - // - // EndpointName is a required field - EndpointName *string `type:"string" required:"true"` - - // Path to one or more Java Jars in an S3 bucket that should be loaded in your - // DevEndpoint. - ExtraJarsS3Path *string `type:"string"` + // The ID of the catalog in which the partion is to be created. Currently, this + // should be the AWS account ID. + CatalogId *string `min:"1" type:"string"` - // Path(s) to one or more Python libraries in an S3 bucket that should be loaded - // in your DevEndpoint. Multiple values must be complete paths separated by - // a comma. + // The name of the metadata database in which the partition is to be created. // - // Please note that only pure Python libraries can currently be used on a DevEndpoint. - // Libraries that rely on C extensions, such as the pandas (http://pandas.pydata.org/) - // Python data analysis library, are not yet supported. - ExtraPythonLibsS3Path *string `type:"string"` - - // The number of AWS Glue Data Processing Units (DPUs) to allocate to this DevEndpoint. - NumberOfNodes *int64 `type:"integer"` - - // The public key to be used by this DevEndpoint for authentication. This attribute - // is provided for backward compatibility, as the recommended attribute to use - // is public keys. - PublicKey *string `type:"string"` + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` - // A list of public keys to be used by the DevEndpoints for authentication. - // The use of this attribute is preferred over a single public key because the - // public keys allow you to have a different private key per client. + // A PartitionInput structure defining the partition to be created. // - // If you previously created an endpoint with a public key, you must remove - // that key to be able to set a list of public keys: call the UpdateDevEndpoint - // API with the public key content in the deletePublicKeys attribute, and the - // list of new keys in the addPublicKeys attribute. - PublicKeys []*string `type:"list"` + // PartitionInput is a required field + PartitionInput *PartitionInput `type:"structure" required:"true"` - // The IAM role for the DevEndpoint. + // The name of the metadata table in which the partition is to be created. // - // RoleArn is a required field - RoleArn *string `type:"string" required:"true"` - - // The name of the SecurityConfiguration structure to be used with this DevEndpoint. - SecurityConfiguration *string `min:"1" type:"string"` - - // Security group IDs for the security groups to be used by the new DevEndpoint. - SecurityGroupIds []*string `type:"list"` - - // The subnet ID for the new DevEndpoint to use. - SubnetId *string `type:"string"` + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateDevEndpointInput) String() string { +func (s CreatePartitionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDevEndpointInput) GoString() string { +func (s CreatePartitionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDevEndpointInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDevEndpointInput"} - if s.EndpointName == nil { - invalidParams.Add(request.NewErrParamRequired("EndpointName")) +func (s *CreatePartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } - if s.SecurityConfiguration != nil && len(*s.SecurityConfiguration) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SecurityConfiguration", 1)) + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionInput == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionInput")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.PartitionInput != nil { + if err := s.PartitionInput.Validate(); err != nil { + invalidParams.AddNested("PartitionInput", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -11099,268 +13342,282 @@ func (s *CreateDevEndpointInput) Validate() error { return nil } -// SetEndpointName sets the EndpointName field's value. -func (s *CreateDevEndpointInput) SetEndpointName(v string) *CreateDevEndpointInput { - s.EndpointName = &v +// SetCatalogId sets the CatalogId field's value. +func (s *CreatePartitionInput) SetCatalogId(v string) *CreatePartitionInput { + s.CatalogId = &v return s } -// SetExtraJarsS3Path sets the ExtraJarsS3Path field's value. -func (s *CreateDevEndpointInput) SetExtraJarsS3Path(v string) *CreateDevEndpointInput { - s.ExtraJarsS3Path = &v +// SetDatabaseName sets the DatabaseName field's value. +func (s *CreatePartitionInput) SetDatabaseName(v string) *CreatePartitionInput { + s.DatabaseName = &v return s } -// SetExtraPythonLibsS3Path sets the ExtraPythonLibsS3Path field's value. -func (s *CreateDevEndpointInput) SetExtraPythonLibsS3Path(v string) *CreateDevEndpointInput { - s.ExtraPythonLibsS3Path = &v +// SetPartitionInput sets the PartitionInput field's value. +func (s *CreatePartitionInput) SetPartitionInput(v *PartitionInput) *CreatePartitionInput { + s.PartitionInput = v return s } -// SetNumberOfNodes sets the NumberOfNodes field's value. -func (s *CreateDevEndpointInput) SetNumberOfNodes(v int64) *CreateDevEndpointInput { - s.NumberOfNodes = &v +// SetTableName sets the TableName field's value. +func (s *CreatePartitionInput) SetTableName(v string) *CreatePartitionInput { + s.TableName = &v return s } -// SetPublicKey sets the PublicKey field's value. -func (s *CreateDevEndpointInput) SetPublicKey(v string) *CreateDevEndpointInput { - s.PublicKey = &v - return s +type CreatePartitionOutput struct { + _ struct{} `type:"structure"` } -// SetPublicKeys sets the PublicKeys field's value. -func (s *CreateDevEndpointInput) SetPublicKeys(v []*string) *CreateDevEndpointInput { - s.PublicKeys = v - return s +// String returns the string representation +func (s CreatePartitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePartitionOutput) GoString() string { + return s.String() +} + +type CreateScriptInput struct { + _ struct{} `type:"structure"` + + // A list of the edges in the DAG. + DagEdges []*CodeGenEdge `type:"list"` + + // A list of the nodes in the DAG. + DagNodes []*CodeGenNode `type:"list"` + + // The programming language of the resulting code from the DAG. + Language *string `type:"string" enum:"Language"` } -// SetRoleArn sets the RoleArn field's value. -func (s *CreateDevEndpointInput) SetRoleArn(v string) *CreateDevEndpointInput { - s.RoleArn = &v - return s +// String returns the string representation +func (s CreateScriptInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateScriptInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateScriptInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateScriptInput"} + if s.DagEdges != nil { + for i, v := range s.DagEdges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DagEdges", i), err.(request.ErrInvalidParams)) + } + } + } + if s.DagNodes != nil { + for i, v := range s.DagNodes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DagNodes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetSecurityConfiguration sets the SecurityConfiguration field's value. -func (s *CreateDevEndpointInput) SetSecurityConfiguration(v string) *CreateDevEndpointInput { - s.SecurityConfiguration = &v +// SetDagEdges sets the DagEdges field's value. +func (s *CreateScriptInput) SetDagEdges(v []*CodeGenEdge) *CreateScriptInput { + s.DagEdges = v return s } -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *CreateDevEndpointInput) SetSecurityGroupIds(v []*string) *CreateDevEndpointInput { - s.SecurityGroupIds = v +// SetDagNodes sets the DagNodes field's value. +func (s *CreateScriptInput) SetDagNodes(v []*CodeGenNode) *CreateScriptInput { + s.DagNodes = v return s } -// SetSubnetId sets the SubnetId field's value. -func (s *CreateDevEndpointInput) SetSubnetId(v string) *CreateDevEndpointInput { - s.SubnetId = &v +// SetLanguage sets the Language field's value. +func (s *CreateScriptInput) SetLanguage(v string) *CreateScriptInput { + s.Language = &v return s } -type CreateDevEndpointOutput struct { +type CreateScriptOutput struct { _ struct{} `type:"structure"` - // The AWS availability zone where this DevEndpoint is located. - AvailabilityZone *string `type:"string"` - - // The point in time at which this DevEndpoint was created. - CreatedTimestamp *time.Time `type:"timestamp"` - - // The name assigned to the new DevEndpoint. - EndpointName *string `type:"string"` - - // Path to one or more Java Jars in an S3 bucket that will be loaded in your - // DevEndpoint. - ExtraJarsS3Path *string `type:"string"` - - // Path(s) to one or more Python libraries in an S3 bucket that will be loaded - // in your DevEndpoint. - ExtraPythonLibsS3Path *string `type:"string"` - - // The reason for a current failure in this DevEndpoint. - FailureReason *string `type:"string"` - - // The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint. - NumberOfNodes *int64 `type:"integer"` - - // The AWS ARN of the role assigned to the new DevEndpoint. - RoleArn *string `type:"string"` - - // The name of the SecurityConfiguration structure being used with this DevEndpoint. - SecurityConfiguration *string `min:"1" type:"string"` - - // The security groups assigned to the new DevEndpoint. - SecurityGroupIds []*string `type:"list"` - - // The current status of the new DevEndpoint. - Status *string `type:"string"` - - // The subnet ID assigned to the new DevEndpoint. - SubnetId *string `type:"string"` - - // The ID of the VPC used by this DevEndpoint. - VpcId *string `type:"string"` - - // The address of the YARN endpoint used by this DevEndpoint. - YarnEndpointAddress *string `type:"string"` + // The Python script generated from the DAG. + PythonScript *string `type:"string"` - // The Apache Zeppelin port for the remote Apache Spark interpreter. - ZeppelinRemoteSparkInterpreterPort *int64 `type:"integer"` + // The Scala code generated from the DAG. + ScalaCode *string `type:"string"` } // String returns the string representation -func (s CreateDevEndpointOutput) String() string { +func (s CreateScriptOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDevEndpointOutput) GoString() string { +func (s CreateScriptOutput) GoString() string { return s.String() } -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *CreateDevEndpointOutput) SetAvailabilityZone(v string) *CreateDevEndpointOutput { - s.AvailabilityZone = &v +// SetPythonScript sets the PythonScript field's value. +func (s *CreateScriptOutput) SetPythonScript(v string) *CreateScriptOutput { + s.PythonScript = &v return s } -// SetCreatedTimestamp sets the CreatedTimestamp field's value. -func (s *CreateDevEndpointOutput) SetCreatedTimestamp(v time.Time) *CreateDevEndpointOutput { - s.CreatedTimestamp = &v +// SetScalaCode sets the ScalaCode field's value. +func (s *CreateScriptOutput) SetScalaCode(v string) *CreateScriptOutput { + s.ScalaCode = &v return s } -// SetEndpointName sets the EndpointName field's value. -func (s *CreateDevEndpointOutput) SetEndpointName(v string) *CreateDevEndpointOutput { - s.EndpointName = &v - return s -} +type CreateSecurityConfigurationInput struct { + _ struct{} `type:"structure"` -// SetExtraJarsS3Path sets the ExtraJarsS3Path field's value. -func (s *CreateDevEndpointOutput) SetExtraJarsS3Path(v string) *CreateDevEndpointOutput { - s.ExtraJarsS3Path = &v - return s -} + // The encryption configuration for the new security configuration. + // + // EncryptionConfiguration is a required field + EncryptionConfiguration *EncryptionConfiguration `type:"structure" required:"true"` -// SetExtraPythonLibsS3Path sets the ExtraPythonLibsS3Path field's value. -func (s *CreateDevEndpointOutput) SetExtraPythonLibsS3Path(v string) *CreateDevEndpointOutput { - s.ExtraPythonLibsS3Path = &v - return s + // The name for the new security configuration. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` } -// SetFailureReason sets the FailureReason field's value. -func (s *CreateDevEndpointOutput) SetFailureReason(v string) *CreateDevEndpointOutput { - s.FailureReason = &v - return s +// String returns the string representation +func (s CreateSecurityConfigurationInput) String() string { + return awsutil.Prettify(s) } -// SetNumberOfNodes sets the NumberOfNodes field's value. -func (s *CreateDevEndpointOutput) SetNumberOfNodes(v int64) *CreateDevEndpointOutput { - s.NumberOfNodes = &v - return s +// GoString returns the string representation +func (s CreateSecurityConfigurationInput) GoString() string { + return s.String() } -// SetRoleArn sets the RoleArn field's value. -func (s *CreateDevEndpointOutput) SetRoleArn(v string) *CreateDevEndpointOutput { - s.RoleArn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSecurityConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSecurityConfigurationInput"} + if s.EncryptionConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("EncryptionConfiguration")) + } + 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 } -// SetSecurityConfiguration sets the SecurityConfiguration field's value. -func (s *CreateDevEndpointOutput) SetSecurityConfiguration(v string) *CreateDevEndpointOutput { - s.SecurityConfiguration = &v +// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. +func (s *CreateSecurityConfigurationInput) SetEncryptionConfiguration(v *EncryptionConfiguration) *CreateSecurityConfigurationInput { + s.EncryptionConfiguration = v return s } -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *CreateDevEndpointOutput) SetSecurityGroupIds(v []*string) *CreateDevEndpointOutput { - s.SecurityGroupIds = v +// SetName sets the Name field's value. +func (s *CreateSecurityConfigurationInput) SetName(v string) *CreateSecurityConfigurationInput { + s.Name = &v return s } -// SetStatus sets the Status field's value. -func (s *CreateDevEndpointOutput) SetStatus(v string) *CreateDevEndpointOutput { - s.Status = &v - return s +type CreateSecurityConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The time at which the new security configuration was created. + CreatedTimestamp *time.Time `type:"timestamp"` + + // The name assigned to the new security configuration. + Name *string `min:"1" type:"string"` } -// SetSubnetId sets the SubnetId field's value. -func (s *CreateDevEndpointOutput) SetSubnetId(v string) *CreateDevEndpointOutput { - s.SubnetId = &v - return s +// String returns the string representation +func (s CreateSecurityConfigurationOutput) String() string { + return awsutil.Prettify(s) } -// SetVpcId sets the VpcId field's value. -func (s *CreateDevEndpointOutput) SetVpcId(v string) *CreateDevEndpointOutput { - s.VpcId = &v - return s +// GoString returns the string representation +func (s CreateSecurityConfigurationOutput) GoString() string { + return s.String() } -// SetYarnEndpointAddress sets the YarnEndpointAddress field's value. -func (s *CreateDevEndpointOutput) SetYarnEndpointAddress(v string) *CreateDevEndpointOutput { - s.YarnEndpointAddress = &v +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *CreateSecurityConfigurationOutput) SetCreatedTimestamp(v time.Time) *CreateSecurityConfigurationOutput { + s.CreatedTimestamp = &v return s } -// SetZeppelinRemoteSparkInterpreterPort sets the ZeppelinRemoteSparkInterpreterPort field's value. -func (s *CreateDevEndpointOutput) SetZeppelinRemoteSparkInterpreterPort(v int64) *CreateDevEndpointOutput { - s.ZeppelinRemoteSparkInterpreterPort = &v +// SetName sets the Name field's value. +func (s *CreateSecurityConfigurationOutput) SetName(v string) *CreateSecurityConfigurationOutput { + s.Name = &v return s } -// Specifies a grok classifier for CreateClassifier to create. -type CreateGrokClassifierRequest struct { +type CreateTableInput struct { _ struct{} `type:"structure"` - // An identifier of the data format that the classifier matches, such as Twitter, - // JSON, Omniture logs, Amazon CloudWatch Logs, and so on. - // - // Classification is a required field - Classification *string `type:"string" required:"true"` - - // Optional custom grok patterns used by this classifier. - CustomPatterns *string `type:"string"` + // The ID of the Data Catalog in which to create the Table. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` - // The grok pattern used by this classifier. + // The catalog database in which to create the new table. For Hive compatibility, + // this name is entirely lowercase. // - // GrokPattern is a required field - GrokPattern *string `min:"1" type:"string" required:"true"` + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` - // The name of the new classifier. + // The TableInput object that defines the metadata table to create in the catalog. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // TableInput is a required field + TableInput *TableInput `type:"structure" required:"true"` } // String returns the string representation -func (s CreateGrokClassifierRequest) String() string { +func (s CreateTableInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateGrokClassifierRequest) GoString() string { +func (s CreateTableInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateGrokClassifierRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateGrokClassifierRequest"} - if s.Classification == nil { - invalidParams.Add(request.NewErrParamRequired("Classification")) +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTableInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.GrokPattern == nil { - invalidParams.Add(request.NewErrParamRequired("GrokPattern")) + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } - if s.GrokPattern != nil && len(*s.GrokPattern) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GrokPattern", 1)) + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) + if s.TableInput == nil { + invalidParams.Add(request.NewErrParamRequired("TableInput")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.TableInput != nil { + if err := s.TableInput.Validate(); err != nil { + invalidParams.AddNested("TableInput", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -11369,112 +13626,98 @@ func (s *CreateGrokClassifierRequest) Validate() error { return nil } -// SetClassification sets the Classification field's value. -func (s *CreateGrokClassifierRequest) SetClassification(v string) *CreateGrokClassifierRequest { - s.Classification = &v - return s -} - -// SetCustomPatterns sets the CustomPatterns field's value. -func (s *CreateGrokClassifierRequest) SetCustomPatterns(v string) *CreateGrokClassifierRequest { - s.CustomPatterns = &v +// SetCatalogId sets the CatalogId field's value. +func (s *CreateTableInput) SetCatalogId(v string) *CreateTableInput { + s.CatalogId = &v return s } -// SetGrokPattern sets the GrokPattern field's value. -func (s *CreateGrokClassifierRequest) SetGrokPattern(v string) *CreateGrokClassifierRequest { - s.GrokPattern = &v +// SetDatabaseName sets the DatabaseName field's value. +func (s *CreateTableInput) SetDatabaseName(v string) *CreateTableInput { + s.DatabaseName = &v return s } -// SetName sets the Name field's value. -func (s *CreateGrokClassifierRequest) SetName(v string) *CreateGrokClassifierRequest { - s.Name = &v +// SetTableInput sets the TableInput field's value. +func (s *CreateTableInput) SetTableInput(v *TableInput) *CreateTableInput { + s.TableInput = v return s } -type CreateJobInput struct { +type CreateTableOutput struct { _ struct{} `type:"structure"` +} - // The number of AWS Glue data processing units (DPUs) to allocate to this Job. - // From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative - // measure of processing power that consists of 4 vCPUs of compute capacity - // and 16 GB of memory. For more information, see the AWS Glue pricing page - // (https://aws.amazon.com/glue/pricing/). - AllocatedCapacity *int64 `type:"integer"` +// String returns the string representation +func (s CreateTableOutput) String() string { + return awsutil.Prettify(s) +} - // The JobCommand that executes this job. - // - // Command is a required field - Command *JobCommand `type:"structure" required:"true"` +// GoString returns the string representation +func (s CreateTableOutput) GoString() string { + return s.String() +} - // The connections used for this job. - Connections *ConnectionsList `type:"structure"` +type CreateTriggerInput struct { + _ struct{} `type:"structure"` - // The default arguments for this job. - // - // You can specify arguments here that your own job-execution script consumes, - // as well as arguments that AWS Glue itself consumes. - // - // For information about how to specify and consume your own Job arguments, - // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) - // topic in the developer guide. + // The actions initiated by this trigger when it fires. // - // For information about the key-value pairs that AWS Glue consumes to set up - // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) - // topic in the developer guide. - DefaultArguments map[string]*string `type:"map"` + // Actions is a required field + Actions []*Action `type:"list" required:"true"` - // Description of the job being defined. + // A description of the new trigger. Description *string `type:"string"` - // An ExecutionProperty specifying the maximum number of concurrent runs allowed - // for this job. - ExecutionProperty *ExecutionProperty `type:"structure"` - - // This field is reserved for future use. - LogUri *string `type:"string"` - - // The maximum number of times to retry this job if it fails. - MaxRetries *int64 `type:"integer"` - - // The name you assign to this job definition. It must be unique in your account. + // The name of the trigger. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // Specifies configuration properties of a job notification. - NotificationProperty *NotificationProperty `type:"structure"` + // A predicate to specify when the new trigger should fire. + // + // This field is required when the trigger type is CONDITIONAL. + Predicate *Predicate `type:"structure"` - // The name or ARN of the IAM role associated with this job. + // A cron expression used to specify the schedule (see Time-Based Schedules + // for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). + // For example, to run something every day at 12:15 UTC, you would specify: + // cron(15 12 * * ? *). // - // Role is a required field - Role *string `type:"string" required:"true"` + // This field is required when the trigger type is SCHEDULED. + Schedule *string `type:"string"` - // The name of the SecurityConfiguration structure to be used with this job. - SecurityConfiguration *string `min:"1" type:"string"` + // Set to true to start SCHEDULED and CONDITIONAL triggers when created. True + // not supported for ON_DEMAND triggers. + StartOnCreation *bool `type:"boolean"` - // The job timeout in minutes. This is the maximum time that a job run can consume - // resources before it is terminated and enters TIMEOUT status. The default - // is 2,880 minutes (48 hours). - Timeout *int64 `min:"1" type:"integer"` + // The tags to use with this trigger. You may use tags to limit access to the + // trigger. For more information about tags in AWS Glue, see AWS Tags in AWS + // Glue (http://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) in the + // developer guide. + Tags map[string]*string `type:"map"` + + // The type of the new trigger. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"TriggerType"` } // String returns the string representation -func (s CreateJobInput) String() string { +func (s CreateTriggerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateJobInput) GoString() string { +func (s CreateTriggerInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"} - if s.Command == nil { - invalidParams.Add(request.NewErrParamRequired("Command")) +func (s *CreateTriggerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTriggerInput"} + if s.Actions == nil { + invalidParams.Add(request.NewErrParamRequired("Actions")) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) @@ -11482,18 +13725,22 @@ func (s *CreateJobInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.Role == nil { - invalidParams.Add(request.NewErrParamRequired("Role")) - } - if s.SecurityConfiguration != nil && len(*s.SecurityConfiguration) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SecurityConfiguration", 1)) + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) } - if s.Timeout != nil && *s.Timeout < 1 { - invalidParams.Add(request.NewErrParamMinValue("Timeout", 1)) + if s.Actions != nil { + for i, v := range s.Actions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) + } + } } - if s.NotificationProperty != nil { - if err := s.NotificationProperty.Validate(); err != nil { - invalidParams.AddNested("NotificationProperty", err.(request.ErrInvalidParams)) + if s.Predicate != nil { + if err := s.Predicate.Validate(); err != nil { + invalidParams.AddNested("Predicate", err.(request.ErrInvalidParams)) } } @@ -11503,139 +13750,201 @@ func (s *CreateJobInput) Validate() error { return nil } -// SetAllocatedCapacity sets the AllocatedCapacity field's value. -func (s *CreateJobInput) SetAllocatedCapacity(v int64) *CreateJobInput { - s.AllocatedCapacity = &v +// SetActions sets the Actions field's value. +func (s *CreateTriggerInput) SetActions(v []*Action) *CreateTriggerInput { + s.Actions = v return s } -// SetCommand sets the Command field's value. -func (s *CreateJobInput) SetCommand(v *JobCommand) *CreateJobInput { - s.Command = v +// SetDescription sets the Description field's value. +func (s *CreateTriggerInput) SetDescription(v string) *CreateTriggerInput { + s.Description = &v return s } -// SetConnections sets the Connections field's value. -func (s *CreateJobInput) SetConnections(v *ConnectionsList) *CreateJobInput { - s.Connections = v +// SetName sets the Name field's value. +func (s *CreateTriggerInput) SetName(v string) *CreateTriggerInput { + s.Name = &v return s } -// SetDefaultArguments sets the DefaultArguments field's value. -func (s *CreateJobInput) SetDefaultArguments(v map[string]*string) *CreateJobInput { - s.DefaultArguments = v +// SetPredicate sets the Predicate field's value. +func (s *CreateTriggerInput) SetPredicate(v *Predicate) *CreateTriggerInput { + s.Predicate = v return s } -// SetDescription sets the Description field's value. -func (s *CreateJobInput) SetDescription(v string) *CreateJobInput { - s.Description = &v +// SetSchedule sets the Schedule field's value. +func (s *CreateTriggerInput) SetSchedule(v string) *CreateTriggerInput { + s.Schedule = &v return s } -// SetExecutionProperty sets the ExecutionProperty field's value. -func (s *CreateJobInput) SetExecutionProperty(v *ExecutionProperty) *CreateJobInput { - s.ExecutionProperty = v +// SetStartOnCreation sets the StartOnCreation field's value. +func (s *CreateTriggerInput) SetStartOnCreation(v bool) *CreateTriggerInput { + s.StartOnCreation = &v return s } -// SetLogUri sets the LogUri field's value. -func (s *CreateJobInput) SetLogUri(v string) *CreateJobInput { - s.LogUri = &v +// SetTags sets the Tags field's value. +func (s *CreateTriggerInput) SetTags(v map[string]*string) *CreateTriggerInput { + s.Tags = v return s } -// SetMaxRetries sets the MaxRetries field's value. -func (s *CreateJobInput) SetMaxRetries(v int64) *CreateJobInput { - s.MaxRetries = &v +// SetType sets the Type field's value. +func (s *CreateTriggerInput) SetType(v string) *CreateTriggerInput { + s.Type = &v return s } +type CreateTriggerOutput struct { + _ struct{} `type:"structure"` + + // The name of the trigger. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateTriggerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTriggerOutput) GoString() string { + return s.String() +} + // SetName sets the Name field's value. -func (s *CreateJobInput) SetName(v string) *CreateJobInput { +func (s *CreateTriggerOutput) SetName(v string) *CreateTriggerOutput { s.Name = &v return s } -// SetNotificationProperty sets the NotificationProperty field's value. -func (s *CreateJobInput) SetNotificationProperty(v *NotificationProperty) *CreateJobInput { - s.NotificationProperty = v - return s +type CreateUserDefinedFunctionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which to create the function. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database in which to create the function. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A FunctionInput object that defines the function to create in the Data Catalog. + // + // FunctionInput is a required field + FunctionInput *UserDefinedFunctionInput `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateUserDefinedFunctionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateUserDefinedFunctionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateUserDefinedFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateUserDefinedFunctionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.FunctionInput == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionInput")) + } + if s.FunctionInput != nil { + if err := s.FunctionInput.Validate(); err != nil { + invalidParams.AddNested("FunctionInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetRole sets the Role field's value. -func (s *CreateJobInput) SetRole(v string) *CreateJobInput { - s.Role = &v +// SetCatalogId sets the CatalogId field's value. +func (s *CreateUserDefinedFunctionInput) SetCatalogId(v string) *CreateUserDefinedFunctionInput { + s.CatalogId = &v return s } -// SetSecurityConfiguration sets the SecurityConfiguration field's value. -func (s *CreateJobInput) SetSecurityConfiguration(v string) *CreateJobInput { - s.SecurityConfiguration = &v +// SetDatabaseName sets the DatabaseName field's value. +func (s *CreateUserDefinedFunctionInput) SetDatabaseName(v string) *CreateUserDefinedFunctionInput { + s.DatabaseName = &v return s } -// SetTimeout sets the Timeout field's value. -func (s *CreateJobInput) SetTimeout(v int64) *CreateJobInput { - s.Timeout = &v +// SetFunctionInput sets the FunctionInput field's value. +func (s *CreateUserDefinedFunctionInput) SetFunctionInput(v *UserDefinedFunctionInput) *CreateUserDefinedFunctionInput { + s.FunctionInput = v return s } -type CreateJobOutput struct { +type CreateUserDefinedFunctionOutput struct { _ struct{} `type:"structure"` - - // The unique name that was provided for this job definition. - Name *string `min:"1" type:"string"` } // String returns the string representation -func (s CreateJobOutput) String() string { +func (s CreateUserDefinedFunctionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateJobOutput) GoString() string { +func (s CreateUserDefinedFunctionOutput) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *CreateJobOutput) SetName(v string) *CreateJobOutput { - s.Name = &v - return s -} - -// Specifies a JSON classifier for CreateClassifier to create. -type CreateJsonClassifierRequest struct { +// Specifies an XML classifier for CreateClassifier to create. +type CreateXMLClassifierRequest struct { _ struct{} `type:"structure"` - // A JsonPath string defining the JSON data for the classifier to classify. - // AWS Glue supports a subset of JsonPath, as described in Writing JsonPath - // Custom Classifiers (https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json). + // An identifier of the data format that the classifier matches. // - // JsonPath is a required field - JsonPath *string `type:"string" required:"true"` + // Classification is a required field + Classification *string `type:"string" required:"true"` // The name of the classifier. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` + + // The XML tag designating the element that contains each record in an XML document + // being parsed. Note that this cannot identify a self-closing element (closed + // by />). An empty row element that contains only attributes can be parsed + // as long as it ends with a closing tag (for example, + // is okay, but is not). + RowTag *string `type:"string"` } // String returns the string representation -func (s CreateJsonClassifierRequest) String() string { +func (s CreateXMLClassifierRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateJsonClassifierRequest) GoString() string { +func (s CreateXMLClassifierRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateJsonClassifierRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateJsonClassifierRequest"} - if s.JsonPath == nil { - invalidParams.Add(request.NewErrParamRequired("JsonPath")) +func (s *CreateXMLClassifierRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateXMLClassifierRequest"} + if s.Classification == nil { + invalidParams.Add(request.NewErrParamRequired("Classification")) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) @@ -11650,75 +13959,59 @@ func (s *CreateJsonClassifierRequest) Validate() error { return nil } -// SetJsonPath sets the JsonPath field's value. -func (s *CreateJsonClassifierRequest) SetJsonPath(v string) *CreateJsonClassifierRequest { - s.JsonPath = &v +// SetClassification sets the Classification field's value. +func (s *CreateXMLClassifierRequest) SetClassification(v string) *CreateXMLClassifierRequest { + s.Classification = &v return s } // SetName sets the Name field's value. -func (s *CreateJsonClassifierRequest) SetName(v string) *CreateJsonClassifierRequest { +func (s *CreateXMLClassifierRequest) SetName(v string) *CreateXMLClassifierRequest { s.Name = &v return s } -type CreatePartitionInput struct { - _ struct{} `type:"structure"` - - // The ID of the catalog in which the partion is to be created. Currently, this - // should be the AWS account ID. - CatalogId *string `min:"1" type:"string"` +// SetRowTag sets the RowTag field's value. +func (s *CreateXMLClassifierRequest) SetRowTag(v string) *CreateXMLClassifierRequest { + s.RowTag = &v + return s +} - // The name of the metadata database in which the partition is to be created. - // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` +// Contains configuration information for maintaining Data Catalog security. +type DataCatalogEncryptionSettings struct { + _ struct{} `type:"structure"` - // A PartitionInput structure defining the partition to be created. - // - // PartitionInput is a required field - PartitionInput *PartitionInput `type:"structure" required:"true"` + // When connection password protection is enabled, the Data Catalog uses a customer-provided + // key to encrypt the password as part of CreateConnection or UpdateConnection + // and store it in the ENCRYPTED_PASSWORD field in the connection properties. + // You can enable catalog encryption or only password encryption. + ConnectionPasswordEncryption *ConnectionPasswordEncryption `type:"structure"` - // The name of the metadata table in which the partition is to be created. - // - // TableName is a required field - TableName *string `min:"1" type:"string" required:"true"` + // Specifies the encryption-at-rest configuration for the Data Catalog. + EncryptionAtRest *EncryptionAtRest `type:"structure"` } // String returns the string representation -func (s CreatePartitionInput) String() string { +func (s DataCatalogEncryptionSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreatePartitionInput) GoString() string { +func (s DataCatalogEncryptionSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreatePartitionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreatePartitionInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.PartitionInput == nil { - invalidParams.Add(request.NewErrParamRequired("PartitionInput")) - } - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) - } - if s.TableName != nil && len(*s.TableName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) +func (s *DataCatalogEncryptionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataCatalogEncryptionSettings"} + if s.ConnectionPasswordEncryption != nil { + if err := s.ConnectionPasswordEncryption.Validate(); err != nil { + invalidParams.AddNested("ConnectionPasswordEncryption", err.(request.ErrInvalidParams)) + } } - if s.PartitionInput != nil { - if err := s.PartitionInput.Validate(); err != nil { - invalidParams.AddNested("PartitionInput", err.(request.ErrInvalidParams)) + if s.EncryptionAtRest != nil { + if err := s.EncryptionAtRest.Validate(); err != nil { + invalidParams.AddNested("EncryptionAtRest", err.(request.ErrInvalidParams)) } } @@ -11728,89 +14021,123 @@ func (s *CreatePartitionInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *CreatePartitionInput) SetCatalogId(v string) *CreatePartitionInput { - s.CatalogId = &v +// SetConnectionPasswordEncryption sets the ConnectionPasswordEncryption field's value. +func (s *DataCatalogEncryptionSettings) SetConnectionPasswordEncryption(v *ConnectionPasswordEncryption) *DataCatalogEncryptionSettings { + s.ConnectionPasswordEncryption = v return s } -// SetDatabaseName sets the DatabaseName field's value. -func (s *CreatePartitionInput) SetDatabaseName(v string) *CreatePartitionInput { - s.DatabaseName = &v +// SetEncryptionAtRest sets the EncryptionAtRest field's value. +func (s *DataCatalogEncryptionSettings) SetEncryptionAtRest(v *EncryptionAtRest) *DataCatalogEncryptionSettings { + s.EncryptionAtRest = v return s } -// SetPartitionInput sets the PartitionInput field's value. -func (s *CreatePartitionInput) SetPartitionInput(v *PartitionInput) *CreatePartitionInput { - s.PartitionInput = v - return s -} +// The Database object represents a logical grouping of tables that may reside +// in a Hive metastore or an RDBMS. +type Database struct { + _ struct{} `type:"structure"` -// SetTableName sets the TableName field's value. -func (s *CreatePartitionInput) SetTableName(v string) *CreatePartitionInput { - s.TableName = &v - return s -} + // The time at which the metadata database was created in the catalog. + CreateTime *time.Time `type:"timestamp"` -type CreatePartitionOutput struct { - _ struct{} `type:"structure"` + // Description of the database. + Description *string `type:"string"` + + // The location of the database (for example, an HDFS path). + LocationUri *string `min:"1" type:"string"` + + // Name of the database. For Hive compatibility, this is folded to lowercase + // when it is stored. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // These key-value pairs define parameters and properties of the database. + Parameters map[string]*string `type:"map"` } // String returns the string representation -func (s CreatePartitionOutput) String() string { +func (s Database) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreatePartitionOutput) GoString() string { +func (s Database) GoString() string { return s.String() } -type CreateScriptInput struct { +// SetCreateTime sets the CreateTime field's value. +func (s *Database) SetCreateTime(v time.Time) *Database { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Database) SetDescription(v string) *Database { + s.Description = &v + return s +} + +// SetLocationUri sets the LocationUri field's value. +func (s *Database) SetLocationUri(v string) *Database { + s.LocationUri = &v + return s +} + +// SetName sets the Name field's value. +func (s *Database) SetName(v string) *Database { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *Database) SetParameters(v map[string]*string) *Database { + s.Parameters = v + return s +} + +// The structure used to create or update a database. +type DatabaseInput struct { _ struct{} `type:"structure"` - // A list of the edges in the DAG. - DagEdges []*CodeGenEdge `type:"list"` + // Description of the database + Description *string `type:"string"` + + // The location of the database (for example, an HDFS path). + LocationUri *string `min:"1" type:"string"` - // A list of the nodes in the DAG. - DagNodes []*CodeGenNode `type:"list"` + // Name of the database. For Hive compatibility, this is folded to lowercase + // when it is stored. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // The programming language of the resulting code from the DAG. - Language *string `type:"string" enum:"Language"` + // Thes key-value pairs define parameters and properties of the database. + Parameters map[string]*string `type:"map"` } // String returns the string representation -func (s CreateScriptInput) String() string { +func (s DatabaseInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateScriptInput) GoString() string { +func (s DatabaseInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateScriptInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateScriptInput"} - if s.DagEdges != nil { - for i, v := range s.DagEdges { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DagEdges", i), err.(request.ErrInvalidParams)) - } - } +func (s *DatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DatabaseInput"} + if s.LocationUri != nil && len(*s.LocationUri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LocationUri", 1)) } - if s.DagNodes != nil { - for i, v := range s.DagNodes { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DagNodes", i), err.(request.ErrInvalidParams)) - } - } + 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 { @@ -11819,86 +14146,52 @@ func (s *CreateScriptInput) Validate() error { return nil } -// SetDagEdges sets the DagEdges field's value. -func (s *CreateScriptInput) SetDagEdges(v []*CodeGenEdge) *CreateScriptInput { - s.DagEdges = v - return s -} - -// SetDagNodes sets the DagNodes field's value. -func (s *CreateScriptInput) SetDagNodes(v []*CodeGenNode) *CreateScriptInput { - s.DagNodes = v +// SetDescription sets the Description field's value. +func (s *DatabaseInput) SetDescription(v string) *DatabaseInput { + s.Description = &v return s } -// SetLanguage sets the Language field's value. -func (s *CreateScriptInput) SetLanguage(v string) *CreateScriptInput { - s.Language = &v +// SetLocationUri sets the LocationUri field's value. +func (s *DatabaseInput) SetLocationUri(v string) *DatabaseInput { + s.LocationUri = &v return s } -type CreateScriptOutput struct { - _ struct{} `type:"structure"` - - // The Python script generated from the DAG. - PythonScript *string `type:"string"` - - // The Scala code generated from the DAG. - ScalaCode *string `type:"string"` -} - -// String returns the string representation -func (s CreateScriptOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateScriptOutput) GoString() string { - return s.String() -} - -// SetPythonScript sets the PythonScript field's value. -func (s *CreateScriptOutput) SetPythonScript(v string) *CreateScriptOutput { - s.PythonScript = &v +// SetName sets the Name field's value. +func (s *DatabaseInput) SetName(v string) *DatabaseInput { + s.Name = &v return s } -// SetScalaCode sets the ScalaCode field's value. -func (s *CreateScriptOutput) SetScalaCode(v string) *CreateScriptOutput { - s.ScalaCode = &v +// SetParameters sets the Parameters field's value. +func (s *DatabaseInput) SetParameters(v map[string]*string) *DatabaseInput { + s.Parameters = v return s } -type CreateSecurityConfigurationInput struct { +type DeleteClassifierInput struct { _ struct{} `type:"structure"` - // The encryption configuration for the new security configuration. - // - // EncryptionConfiguration is a required field - EncryptionConfiguration *EncryptionConfiguration `type:"structure" required:"true"` - - // The name for the new security configuration. + // Name of the classifier to remove. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateSecurityConfigurationInput) String() string { +func (s DeleteClassifierInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateSecurityConfigurationInput) GoString() string { +func (s DeleteClassifierInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateSecurityConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateSecurityConfigurationInput"} - if s.EncryptionConfiguration == nil { - invalidParams.Add(request.NewErrParamRequired("EncryptionConfiguration")) - } +func (s *DeleteClassifierInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteClassifierInput"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -11912,98 +14205,60 @@ func (s *CreateSecurityConfigurationInput) Validate() error { return nil } -// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. -func (s *CreateSecurityConfigurationInput) SetEncryptionConfiguration(v *EncryptionConfiguration) *CreateSecurityConfigurationInput { - s.EncryptionConfiguration = v - return s -} - // SetName sets the Name field's value. -func (s *CreateSecurityConfigurationInput) SetName(v string) *CreateSecurityConfigurationInput { +func (s *DeleteClassifierInput) SetName(v string) *DeleteClassifierInput { s.Name = &v return s } -type CreateSecurityConfigurationOutput struct { +type DeleteClassifierOutput struct { _ struct{} `type:"structure"` - - // The time at which the new security configuration was created. - CreatedTimestamp *time.Time `type:"timestamp"` - - // The name assigned to the new security configuration. - Name *string `min:"1" type:"string"` } // String returns the string representation -func (s CreateSecurityConfigurationOutput) String() string { +func (s DeleteClassifierOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateSecurityConfigurationOutput) GoString() string { +func (s DeleteClassifierOutput) GoString() string { return s.String() } -// SetCreatedTimestamp sets the CreatedTimestamp field's value. -func (s *CreateSecurityConfigurationOutput) SetCreatedTimestamp(v time.Time) *CreateSecurityConfigurationOutput { - s.CreatedTimestamp = &v - return s -} - -// SetName sets the Name field's value. -func (s *CreateSecurityConfigurationOutput) SetName(v string) *CreateSecurityConfigurationOutput { - s.Name = &v - return s -} - -type CreateTableInput struct { +type DeleteConnectionInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog in which to create the Table. If none is supplied, + // The ID of the Data Catalog in which the connection resides. If none is provided, // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The catalog database in which to create the new table. For Hive compatibility, - // this name is entirely lowercase. - // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` - - // The TableInput object that defines the metadata table to create in the catalog. + // The name of the connection to delete. // - // TableInput is a required field - TableInput *TableInput `type:"structure" required:"true"` + // ConnectionName is a required field + ConnectionName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateTableInput) String() string { +func (s DeleteConnectionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTableInput) GoString() string { +func (s DeleteConnectionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateTableInput"} +func (s *DeleteConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConnectionInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.TableInput == nil { - invalidParams.Add(request.NewErrParamRequired("TableInput")) + if s.ConnectionName == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionName")) } - if s.TableInput != nil { - if err := s.TableInput.Validate(); err != nil { - invalidParams.AddNested("TableInput", err.(request.ErrInvalidParams)) - } + if s.ConnectionName != nil && len(*s.ConnectionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConnectionName", 1)) } if invalidParams.Len() > 0 { @@ -12013,91 +14268,115 @@ func (s *CreateTableInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *CreateTableInput) SetCatalogId(v string) *CreateTableInput { +func (s *DeleteConnectionInput) SetCatalogId(v string) *DeleteConnectionInput { s.CatalogId = &v return s } -// SetDatabaseName sets the DatabaseName field's value. -func (s *CreateTableInput) SetDatabaseName(v string) *CreateTableInput { - s.DatabaseName = &v - return s -} - -// SetTableInput sets the TableInput field's value. -func (s *CreateTableInput) SetTableInput(v *TableInput) *CreateTableInput { - s.TableInput = v +// SetConnectionName sets the ConnectionName field's value. +func (s *DeleteConnectionInput) SetConnectionName(v string) *DeleteConnectionInput { + s.ConnectionName = &v return s } -type CreateTableOutput struct { +type DeleteConnectionOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s CreateTableOutput) String() string { +func (s DeleteConnectionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTableOutput) GoString() string { +func (s DeleteConnectionOutput) GoString() string { return s.String() } -type CreateTriggerInput struct { +type DeleteCrawlerInput struct { _ struct{} `type:"structure"` - // The actions initiated by this trigger when it fires. - // - // Actions is a required field - Actions []*Action `type:"list" required:"true"` - - // A description of the new trigger. - Description *string `type:"string"` - - // The name of the trigger. + // Name of the crawler to remove. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteCrawlerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCrawlerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCrawlerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCrawlerInput"} + 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 *DeleteCrawlerInput) SetName(v string) *DeleteCrawlerInput { + s.Name = &v + return s +} + +type DeleteCrawlerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteCrawlerOutput) String() string { + return awsutil.Prettify(s) +} - // A predicate to specify when the new trigger should fire. - // - // This field is required when the trigger type is CONDITIONAL. - Predicate *Predicate `type:"structure"` +// GoString returns the string representation +func (s DeleteCrawlerOutput) GoString() string { + return s.String() +} - // A cron expression used to specify the schedule (see Time-Based Schedules - // for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). - // For example, to run something every day at 12:15 UTC, you would specify: - // cron(15 12 * * ? *). - // - // This field is required when the trigger type is SCHEDULED. - Schedule *string `type:"string"` +type DeleteDatabaseInput struct { + _ struct{} `type:"structure"` - // Set to true to start SCHEDULED and CONDITIONAL triggers when created. True - // not supported for ON_DEMAND triggers. - StartOnCreation *bool `type:"boolean"` + // The ID of the Data Catalog in which the database resides. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` - // The type of the new trigger. + // The name of the Database to delete. For Hive compatibility, this must be + // all lowercase. // - // Type is a required field - Type *string `type:"string" required:"true" enum:"TriggerType"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateTriggerInput) String() string { +func (s DeleteDatabaseInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTriggerInput) GoString() string { +func (s DeleteDatabaseInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateTriggerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateTriggerInput"} - if s.Actions == nil { - invalidParams.Add(request.NewErrParamRequired("Actions")) +func (s *DeleteDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDatabaseInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) @@ -12105,24 +14384,6 @@ func (s *CreateTriggerInput) Validate() error { 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.Actions != nil { - for i, v := range s.Actions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Predicate != nil { - if err := s.Predicate.Validate(); err != nil { - invalidParams.AddNested("Predicate", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -12130,118 +14391,56 @@ func (s *CreateTriggerInput) Validate() error { return nil } -// SetActions sets the Actions field's value. -func (s *CreateTriggerInput) SetActions(v []*Action) *CreateTriggerInput { - s.Actions = v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateTriggerInput) SetDescription(v string) *CreateTriggerInput { - s.Description = &v +// SetCatalogId sets the CatalogId field's value. +func (s *DeleteDatabaseInput) SetCatalogId(v string) *DeleteDatabaseInput { + s.CatalogId = &v return s } // SetName sets the Name field's value. -func (s *CreateTriggerInput) SetName(v string) *CreateTriggerInput { +func (s *DeleteDatabaseInput) SetName(v string) *DeleteDatabaseInput { s.Name = &v return s } -// SetPredicate sets the Predicate field's value. -func (s *CreateTriggerInput) SetPredicate(v *Predicate) *CreateTriggerInput { - s.Predicate = v - return s -} - -// SetSchedule sets the Schedule field's value. -func (s *CreateTriggerInput) SetSchedule(v string) *CreateTriggerInput { - s.Schedule = &v - return s -} - -// SetStartOnCreation sets the StartOnCreation field's value. -func (s *CreateTriggerInput) SetStartOnCreation(v bool) *CreateTriggerInput { - s.StartOnCreation = &v - return s -} - -// SetType sets the Type field's value. -func (s *CreateTriggerInput) SetType(v string) *CreateTriggerInput { - s.Type = &v - return s -} - -type CreateTriggerOutput struct { +type DeleteDatabaseOutput struct { _ struct{} `type:"structure"` - - // The name of the trigger. - Name *string `min:"1" type:"string"` } // String returns the string representation -func (s CreateTriggerOutput) String() string { +func (s DeleteDatabaseOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTriggerOutput) GoString() string { +func (s DeleteDatabaseOutput) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *CreateTriggerOutput) SetName(v string) *CreateTriggerOutput { - s.Name = &v - return s -} - -type CreateUserDefinedFunctionInput struct { +type DeleteDevEndpointInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog in which to create the function. If none is supplied, - // the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` - - // The name of the catalog database in which to create the function. - // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` - - // A FunctionInput object that defines the function to create in the Data Catalog. + // The name of the DevEndpoint. // - // FunctionInput is a required field - FunctionInput *UserDefinedFunctionInput `type:"structure" required:"true"` + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` } // String returns the string representation -func (s CreateUserDefinedFunctionInput) String() string { +func (s DeleteDevEndpointInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateUserDefinedFunctionInput) GoString() string { +func (s DeleteDevEndpointInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateUserDefinedFunctionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateUserDefinedFunctionInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.FunctionInput == nil { - invalidParams.Add(request.NewErrParamRequired("FunctionInput")) - } - if s.FunctionInput != nil { - if err := s.FunctionInput.Validate(); err != nil { - invalidParams.AddNested("FunctionInput", err.(request.ErrInvalidParams)) - } +func (s *DeleteDevEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDevEndpointInput"} + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) } if invalidParams.Len() > 0 { @@ -12250,81 +14449,53 @@ func (s *CreateUserDefinedFunctionInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *CreateUserDefinedFunctionInput) SetCatalogId(v string) *CreateUserDefinedFunctionInput { - s.CatalogId = &v - return s -} - -// SetDatabaseName sets the DatabaseName field's value. -func (s *CreateUserDefinedFunctionInput) SetDatabaseName(v string) *CreateUserDefinedFunctionInput { - s.DatabaseName = &v - return s -} - -// SetFunctionInput sets the FunctionInput field's value. -func (s *CreateUserDefinedFunctionInput) SetFunctionInput(v *UserDefinedFunctionInput) *CreateUserDefinedFunctionInput { - s.FunctionInput = v +// SetEndpointName sets the EndpointName field's value. +func (s *DeleteDevEndpointInput) SetEndpointName(v string) *DeleteDevEndpointInput { + s.EndpointName = &v return s } -type CreateUserDefinedFunctionOutput struct { +type DeleteDevEndpointOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s CreateUserDefinedFunctionOutput) String() string { +func (s DeleteDevEndpointOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateUserDefinedFunctionOutput) GoString() string { +func (s DeleteDevEndpointOutput) GoString() string { return s.String() } -// Specifies an XML classifier for CreateClassifier to create. -type CreateXMLClassifierRequest struct { +type DeleteJobInput struct { _ struct{} `type:"structure"` - // An identifier of the data format that the classifier matches. - // - // Classification is a required field - Classification *string `type:"string" required:"true"` - - // The name of the classifier. + // The name of the job definition to delete. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` - - // The XML tag designating the element that contains each record in an XML document - // being parsed. Note that this cannot identify a self-closing element (closed - // by />). An empty row element that contains only attributes can be parsed - // as long as it ends with a closing tag (for example, - // is okay, but is not). - RowTag *string `type:"string"` + // JobName is a required field + JobName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateXMLClassifierRequest) String() string { +func (s DeleteJobInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateXMLClassifierRequest) GoString() string { +func (s DeleteJobInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateXMLClassifierRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateXMLClassifierRequest"} - if s.Classification == nil { - invalidParams.Add(request.NewErrParamRequired("Classification")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *DeleteJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteJobInput"} + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) } if invalidParams.Len() > 0 { @@ -12333,60 +14504,88 @@ func (s *CreateXMLClassifierRequest) Validate() error { return nil } -// SetClassification sets the Classification field's value. -func (s *CreateXMLClassifierRequest) SetClassification(v string) *CreateXMLClassifierRequest { - s.Classification = &v +// SetJobName sets the JobName field's value. +func (s *DeleteJobInput) SetJobName(v string) *DeleteJobInput { + s.JobName = &v return s } -// SetName sets the Name field's value. -func (s *CreateXMLClassifierRequest) SetName(v string) *CreateXMLClassifierRequest { - s.Name = &v - return s +type DeleteJobOutput struct { + _ struct{} `type:"structure"` + + // The name of the job definition that was deleted. + JobName *string `min:"1" type:"string"` } -// SetRowTag sets the RowTag field's value. -func (s *CreateXMLClassifierRequest) SetRowTag(v string) *CreateXMLClassifierRequest { - s.RowTag = &v +// String returns the string representation +func (s DeleteJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteJobOutput) GoString() string { + return s.String() +} + +// SetJobName sets the JobName field's value. +func (s *DeleteJobOutput) SetJobName(v string) *DeleteJobOutput { + s.JobName = &v return s } -// Contains configuration information for maintaining Data Catalog security. -type DataCatalogEncryptionSettings struct { +type DeletePartitionInput struct { _ struct{} `type:"structure"` - // When password protection is enabled, the Data Catalog uses a customer-provided - // key to encrypt the password as part of CreateConnection or UpdateConnection - // and store it in the ENCRYPTED_PASSWORD field in the connection properties. - // You can enable catalog encryption or only password encryption. - ConnectionPasswordEncryption *ConnectionPasswordEncryption `type:"structure"` + // The ID of the Data Catalog where the partition to be deleted resides. If + // none is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` - // Specifies encryption-at-rest configuration for the Data Catalog. - EncryptionAtRest *EncryptionAtRest `type:"structure"` + // The name of the catalog database in which the table in question resides. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The values that define the partition. + // + // PartitionValues is a required field + PartitionValues []*string `type:"list" required:"true"` + + // The name of the table where the partition to be deleted is located. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DataCatalogEncryptionSettings) String() string { +func (s DeletePartitionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataCatalogEncryptionSettings) GoString() string { +func (s DeletePartitionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DataCatalogEncryptionSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DataCatalogEncryptionSettings"} - if s.ConnectionPasswordEncryption != nil { - if err := s.ConnectionPasswordEncryption.Validate(); err != nil { - invalidParams.AddNested("ConnectionPasswordEncryption", err.(request.ErrInvalidParams)) - } +func (s *DeletePartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.EncryptionAtRest != nil { - if err := s.EncryptionAtRest.Validate(); err != nil { - invalidParams.AddNested("EncryptionAtRest", err.(request.ErrInvalidParams)) - } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionValues == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionValues")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -12395,118 +14594,116 @@ func (s *DataCatalogEncryptionSettings) Validate() error { return nil } -// SetConnectionPasswordEncryption sets the ConnectionPasswordEncryption field's value. -func (s *DataCatalogEncryptionSettings) SetConnectionPasswordEncryption(v *ConnectionPasswordEncryption) *DataCatalogEncryptionSettings { - s.ConnectionPasswordEncryption = v +// SetCatalogId sets the CatalogId field's value. +func (s *DeletePartitionInput) SetCatalogId(v string) *DeletePartitionInput { + s.CatalogId = &v return s } -// SetEncryptionAtRest sets the EncryptionAtRest field's value. -func (s *DataCatalogEncryptionSettings) SetEncryptionAtRest(v *EncryptionAtRest) *DataCatalogEncryptionSettings { - s.EncryptionAtRest = v +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeletePartitionInput) SetDatabaseName(v string) *DeletePartitionInput { + s.DatabaseName = &v return s } -// The Database object represents a logical grouping of tables that may reside -// in a Hive metastore or an RDBMS. -type Database struct { - _ struct{} `type:"structure"` +// SetPartitionValues sets the PartitionValues field's value. +func (s *DeletePartitionInput) SetPartitionValues(v []*string) *DeletePartitionInput { + s.PartitionValues = v + return s +} - // The time at which the metadata database was created in the catalog. - CreateTime *time.Time `type:"timestamp"` +// SetTableName sets the TableName field's value. +func (s *DeletePartitionInput) SetTableName(v string) *DeletePartitionInput { + s.TableName = &v + return s +} - // Description of the database. - Description *string `type:"string"` +type DeletePartitionOutput struct { + _ struct{} `type:"structure"` +} - // The location of the database (for example, an HDFS path). - LocationUri *string `min:"1" type:"string"` +// String returns the string representation +func (s DeletePartitionOutput) String() string { + return awsutil.Prettify(s) +} - // Name of the database. For Hive compatibility, this is folded to lowercase - // when it is stored. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` +// GoString returns the string representation +func (s DeletePartitionOutput) GoString() string { + return s.String() +} - // These key-value pairs define parameters and properties of the database. - Parameters map[string]*string `type:"map"` +type DeleteResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // The hash value returned when this policy was set. + PolicyHashCondition *string `min:"1" type:"string"` } // String returns the string representation -func (s Database) String() string { +func (s DeleteResourcePolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Database) GoString() string { +func (s DeleteResourcePolicyInput) GoString() string { return s.String() } -// SetCreateTime sets the CreateTime field's value. -func (s *Database) SetCreateTime(v time.Time) *Database { - s.CreateTime = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"} + if s.PolicyHashCondition != nil && len(*s.PolicyHashCondition) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PolicyHashCondition", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDescription sets the Description field's value. -func (s *Database) SetDescription(v string) *Database { - s.Description = &v +// SetPolicyHashCondition sets the PolicyHashCondition field's value. +func (s *DeleteResourcePolicyInput) SetPolicyHashCondition(v string) *DeleteResourcePolicyInput { + s.PolicyHashCondition = &v return s } -// SetLocationUri sets the LocationUri field's value. -func (s *Database) SetLocationUri(v string) *Database { - s.LocationUri = &v - return s +type DeleteResourcePolicyOutput struct { + _ struct{} `type:"structure"` } -// SetName sets the Name field's value. -func (s *Database) SetName(v string) *Database { - s.Name = &v - return s +// String returns the string representation +func (s DeleteResourcePolicyOutput) String() string { + return awsutil.Prettify(s) } -// SetParameters sets the Parameters field's value. -func (s *Database) SetParameters(v map[string]*string) *Database { - s.Parameters = v - return s +// GoString returns the string representation +func (s DeleteResourcePolicyOutput) GoString() string { + return s.String() } -// The structure used to create or update a database. -type DatabaseInput struct { +type DeleteSecurityConfigurationInput struct { _ struct{} `type:"structure"` - // Description of the database - Description *string `type:"string"` - - // The location of the database (for example, an HDFS path). - LocationUri *string `min:"1" type:"string"` - - // Name of the database. For Hive compatibility, this is folded to lowercase - // when it is stored. + // The name of the security configuration to delete. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - - // Thes key-value pairs define parameters and properties of the database. - Parameters map[string]*string `type:"map"` } // String returns the string representation -func (s DatabaseInput) String() string { +func (s DeleteSecurityConfigurationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DatabaseInput) GoString() string { +func (s DeleteSecurityConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DatabaseInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DatabaseInput"} - if s.LocationUri != nil && len(*s.LocationUri) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LocationUri", 1)) - } +func (s *DeleteSecurityConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSecurityConfigurationInput"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -12520,52 +14717,68 @@ func (s *DatabaseInput) Validate() error { return nil } -// SetDescription sets the Description field's value. -func (s *DatabaseInput) SetDescription(v string) *DatabaseInput { - s.Description = &v +// SetName sets the Name field's value. +func (s *DeleteSecurityConfigurationInput) SetName(v string) *DeleteSecurityConfigurationInput { + s.Name = &v return s } -// SetLocationUri sets the LocationUri field's value. -func (s *DatabaseInput) SetLocationUri(v string) *DatabaseInput { - s.LocationUri = &v - return s +type DeleteSecurityConfigurationOutput struct { + _ struct{} `type:"structure"` } -// SetName sets the Name field's value. -func (s *DatabaseInput) SetName(v string) *DatabaseInput { - s.Name = &v - return s +// String returns the string representation +func (s DeleteSecurityConfigurationOutput) String() string { + return awsutil.Prettify(s) } -// SetParameters sets the Parameters field's value. -func (s *DatabaseInput) SetParameters(v map[string]*string) *DatabaseInput { - s.Parameters = v - return s +// GoString returns the string representation +func (s DeleteSecurityConfigurationOutput) GoString() string { + return s.String() } -type DeleteClassifierInput struct { +type DeleteTableInput struct { _ struct{} `type:"structure"` - // Name of the classifier to remove. + // The ID of the Data Catalog where the table resides. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database in which the table resides. For Hive compatibility, + // this name is entirely lowercase. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the table to be deleted. For Hive compatibility, this name is + // entirely lowercase. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteClassifierInput) String() string { +func (s DeleteTableInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteClassifierInput) GoString() string { +func (s DeleteTableInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteClassifierInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteClassifierInput"} +func (s *DeleteTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTableInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -12579,60 +14792,96 @@ func (s *DeleteClassifierInput) Validate() error { return nil } +// SetCatalogId sets the CatalogId field's value. +func (s *DeleteTableInput) SetCatalogId(v string) *DeleteTableInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeleteTableInput) SetDatabaseName(v string) *DeleteTableInput { + s.DatabaseName = &v + return s +} + // SetName sets the Name field's value. -func (s *DeleteClassifierInput) SetName(v string) *DeleteClassifierInput { +func (s *DeleteTableInput) SetName(v string) *DeleteTableInput { s.Name = &v return s } -type DeleteClassifierOutput struct { +type DeleteTableOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s DeleteClassifierOutput) String() string { +func (s DeleteTableOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteClassifierOutput) GoString() string { +func (s DeleteTableOutput) GoString() string { return s.String() } -type DeleteConnectionInput struct { +type DeleteTableVersionInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog in which the connection resides. If none is supplied, + // The ID of the Data Catalog where the tables reside. If none is supplied, // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the connection to delete. + // The database in the catalog in which the table resides. For Hive compatibility, + // this name is entirely lowercase. // - // ConnectionName is a required field - ConnectionName *string `min:"1" type:"string" required:"true"` + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the table. For Hive compatibility, this name is entirely lowercase. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` + + // The ID of the table version to be deleted. A VersionID is a string representation + // of an integer. Each version is incremented by 1. + // + // VersionId is a required field + VersionId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteConnectionInput) String() string { +func (s DeleteTableVersionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteConnectionInput) GoString() string { +func (s DeleteTableVersionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteConnectionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteConnectionInput"} +func (s *DeleteTableVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTableVersionInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.ConnectionName == nil { - invalidParams.Add(request.NewErrParamRequired("ConnectionName")) + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } - if s.ConnectionName != nil && len(*s.ConnectionName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ConnectionName", 1)) + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.VersionId == nil { + invalidParams.Add(request.NewErrParamRequired("VersionId")) + } + if s.VersionId != nil && len(*s.VersionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionId", 1)) } if invalidParams.Len() > 0 { @@ -12642,53 +14891,65 @@ func (s *DeleteConnectionInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *DeleteConnectionInput) SetCatalogId(v string) *DeleteConnectionInput { +func (s *DeleteTableVersionInput) SetCatalogId(v string) *DeleteTableVersionInput { s.CatalogId = &v return s } -// SetConnectionName sets the ConnectionName field's value. -func (s *DeleteConnectionInput) SetConnectionName(v string) *DeleteConnectionInput { - s.ConnectionName = &v +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeleteTableVersionInput) SetDatabaseName(v string) *DeleteTableVersionInput { + s.DatabaseName = &v return s } -type DeleteConnectionOutput struct { +// SetTableName sets the TableName field's value. +func (s *DeleteTableVersionInput) SetTableName(v string) *DeleteTableVersionInput { + s.TableName = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *DeleteTableVersionInput) SetVersionId(v string) *DeleteTableVersionInput { + s.VersionId = &v + return s +} + +type DeleteTableVersionOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s DeleteConnectionOutput) String() string { +func (s DeleteTableVersionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteConnectionOutput) GoString() string { +func (s DeleteTableVersionOutput) GoString() string { return s.String() } -type DeleteCrawlerInput struct { +type DeleteTriggerInput struct { _ struct{} `type:"structure"` - // Name of the crawler to remove. + // The name of the trigger to delete. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteCrawlerInput) String() string { +func (s DeleteTriggerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteCrawlerInput) GoString() string { +func (s DeleteTriggerInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteCrawlerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteCrawlerInput"} +func (s *DeleteTriggerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTriggerInput"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -12703,60 +14964,79 @@ func (s *DeleteCrawlerInput) Validate() error { } // SetName sets the Name field's value. -func (s *DeleteCrawlerInput) SetName(v string) *DeleteCrawlerInput { +func (s *DeleteTriggerInput) SetName(v string) *DeleteTriggerInput { s.Name = &v return s } -type DeleteCrawlerOutput struct { +type DeleteTriggerOutput struct { _ struct{} `type:"structure"` + + // The name of the trigger that was deleted. + Name *string `min:"1" type:"string"` } // String returns the string representation -func (s DeleteCrawlerOutput) String() string { +func (s DeleteTriggerOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteCrawlerOutput) GoString() string { +func (s DeleteTriggerOutput) GoString() string { return s.String() } -type DeleteDatabaseInput struct { +// SetName sets the Name field's value. +func (s *DeleteTriggerOutput) SetName(v string) *DeleteTriggerOutput { + s.Name = &v + return s +} + +type DeleteUserDefinedFunctionInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog in which the database resides. If none is supplied, - // the AWS account ID is used by default. + // The ID of the Data Catalog where the function to be deleted is located. If + // none is supplied, the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the Database to delete. For Hive compatibility, this must be - // all lowercase. + // The name of the catalog database where the function is located. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the function definition to be deleted. + // + // FunctionName is a required field + FunctionName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteDatabaseInput) String() string { +func (s DeleteUserDefinedFunctionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDatabaseInput) GoString() string { +func (s DeleteUserDefinedFunctionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDatabaseInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDatabaseInput"} +func (s *DeleteUserDefinedFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUserDefinedFunctionInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) } if invalidParams.Len() > 0 { @@ -12766,323 +15046,361 @@ func (s *DeleteDatabaseInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *DeleteDatabaseInput) SetCatalogId(v string) *DeleteDatabaseInput { +func (s *DeleteUserDefinedFunctionInput) SetCatalogId(v string) *DeleteUserDefinedFunctionInput { s.CatalogId = &v return s } -// SetName sets the Name field's value. -func (s *DeleteDatabaseInput) SetName(v string) *DeleteDatabaseInput { - s.Name = &v +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeleteUserDefinedFunctionInput) SetDatabaseName(v string) *DeleteUserDefinedFunctionInput { + s.DatabaseName = &v return s } -type DeleteDatabaseOutput struct { +// SetFunctionName sets the FunctionName field's value. +func (s *DeleteUserDefinedFunctionInput) SetFunctionName(v string) *DeleteUserDefinedFunctionInput { + s.FunctionName = &v + return s +} + +type DeleteUserDefinedFunctionOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s DeleteDatabaseOutput) String() string { +func (s DeleteUserDefinedFunctionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDatabaseOutput) GoString() string { +func (s DeleteUserDefinedFunctionOutput) GoString() string { return s.String() } -type DeleteDevEndpointInput struct { +// A development endpoint where a developer can remotely debug ETL scripts. +type DevEndpoint struct { _ struct{} `type:"structure"` + // The AWS availability zone where this DevEndpoint is located. + AvailabilityZone *string `type:"string"` + + // The point in time at which this DevEndpoint was created. + CreatedTimestamp *time.Time `type:"timestamp"` + // The name of the DevEndpoint. + EndpointName *string `type:"string"` + + // Path to one or more Java Jars in an S3 bucket that should be loaded in your + // DevEndpoint. // - // EndpointName is a required field - EndpointName *string `type:"string" required:"true"` -} + // Please note that only pure Java/Scala libraries can currently be used on + // a DevEndpoint. + ExtraJarsS3Path *string `type:"string"` -// String returns the string representation -func (s DeleteDevEndpointInput) String() string { - return awsutil.Prettify(s) -} + // Path(s) to one or more Python libraries in an S3 bucket that should be loaded + // in your DevEndpoint. Multiple values must be complete paths separated by + // a comma. + // + // Please note that only pure Python libraries can currently be used on a DevEndpoint. + // Libraries that rely on C extensions, such as the pandas (http://pandas.pydata.org/) + // Python data analysis library, are not yet supported. + ExtraPythonLibsS3Path *string `type:"string"` -// GoString returns the string representation -func (s DeleteDevEndpointInput) GoString() string { - return s.String() -} + // The reason for a current failure in this DevEndpoint. + FailureReason *string `type:"string"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDevEndpointInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDevEndpointInput"} - if s.EndpointName == nil { - invalidParams.Add(request.NewErrParamRequired("EndpointName")) - } + // The point in time at which this DevEndpoint was last modified. + LastModifiedTimestamp *time.Time `type:"timestamp"` + + // The status of the last update. + LastUpdateStatus *string `type:"string"` + + // The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint. + NumberOfNodes *int64 `type:"integer"` + + // A private IP address to access the DevEndpoint within a VPC, if the DevEndpoint + // is created within one. The PrivateAddress field is present only when you + // create the DevEndpoint within your virtual private cloud (VPC). + PrivateAddress *string `type:"string"` + + // The public IP address used by this DevEndpoint. The PublicAddress field is + // present only when you create a non-VPC (virtual private cloud) DevEndpoint. + PublicAddress *string `type:"string"` + + // The public key to be used by this DevEndpoint for authentication. This attribute + // is provided for backward compatibility, as the recommended attribute to use + // is public keys. + PublicKey *string `type:"string"` + + // A list of public keys to be used by the DevEndpoints for authentication. + // The use of this attribute is preferred over a single public key because the + // public keys allow you to have a different private key per client. + // + // If you previously created an endpoint with a public key, you must remove + // that key to be able to set a list of public keys: call the UpdateDevEndpoint + // API with the public key content in the deletePublicKeys attribute, and the + // list of new keys in the addPublicKeys attribute. + PublicKeys []*string `type:"list"` + + // The AWS ARN of the IAM role used in this DevEndpoint. + RoleArn *string `type:"string"` + + // The name of the SecurityConfiguration structure to be used with this DevEndpoint. + SecurityConfiguration *string `min:"1" type:"string"` + + // A list of security group identifiers used in this DevEndpoint. + SecurityGroupIds []*string `type:"list"` + + // The current status of this DevEndpoint. + Status *string `type:"string"` + + // The subnet ID for this DevEndpoint. + SubnetId *string `type:"string"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // The ID of the virtual private cloud (VPC) used by this DevEndpoint. + VpcId *string `type:"string"` -// SetEndpointName sets the EndpointName field's value. -func (s *DeleteDevEndpointInput) SetEndpointName(v string) *DeleteDevEndpointInput { - s.EndpointName = &v - return s -} + // The YARN endpoint address used by this DevEndpoint. + YarnEndpointAddress *string `type:"string"` -type DeleteDevEndpointOutput struct { - _ struct{} `type:"structure"` + // The Apache Zeppelin port for the remote Apache Spark interpreter. + ZeppelinRemoteSparkInterpreterPort *int64 `type:"integer"` } // String returns the string representation -func (s DeleteDevEndpointOutput) String() string { +func (s DevEndpoint) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDevEndpointOutput) GoString() string { +func (s DevEndpoint) GoString() string { return s.String() } -type DeleteJobInput struct { - _ struct{} `type:"structure"` - - // The name of the job definition to delete. - // - // JobName is a required field - JobName *string `min:"1" type:"string" required:"true"` +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *DevEndpoint) SetAvailabilityZone(v string) *DevEndpoint { + s.AvailabilityZone = &v + return s } -// String returns the string representation -func (s DeleteJobInput) String() string { - return awsutil.Prettify(s) +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *DevEndpoint) SetCreatedTimestamp(v time.Time) *DevEndpoint { + s.CreatedTimestamp = &v + return s } -// GoString returns the string representation -func (s DeleteJobInput) GoString() string { - return s.String() +// SetEndpointName sets the EndpointName field's value. +func (s *DevEndpoint) SetEndpointName(v string) *DevEndpoint { + s.EndpointName = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteJobInput"} - if s.JobName == nil { - invalidParams.Add(request.NewErrParamRequired("JobName")) - } - if s.JobName != nil && len(*s.JobName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetExtraJarsS3Path sets the ExtraJarsS3Path field's value. +func (s *DevEndpoint) SetExtraJarsS3Path(v string) *DevEndpoint { + s.ExtraJarsS3Path = &v + return s } -// SetJobName sets the JobName field's value. -func (s *DeleteJobInput) SetJobName(v string) *DeleteJobInput { - s.JobName = &v +// SetExtraPythonLibsS3Path sets the ExtraPythonLibsS3Path field's value. +func (s *DevEndpoint) SetExtraPythonLibsS3Path(v string) *DevEndpoint { + s.ExtraPythonLibsS3Path = &v return s } -type DeleteJobOutput struct { - _ struct{} `type:"structure"` - - // The name of the job definition that was deleted. - JobName *string `min:"1" type:"string"` +// SetFailureReason sets the FailureReason field's value. +func (s *DevEndpoint) SetFailureReason(v string) *DevEndpoint { + s.FailureReason = &v + return s } -// String returns the string representation -func (s DeleteJobOutput) String() string { - return awsutil.Prettify(s) +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *DevEndpoint) SetLastModifiedTimestamp(v time.Time) *DevEndpoint { + s.LastModifiedTimestamp = &v + return s } -// GoString returns the string representation -func (s DeleteJobOutput) GoString() string { - return s.String() +// SetLastUpdateStatus sets the LastUpdateStatus field's value. +func (s *DevEndpoint) SetLastUpdateStatus(v string) *DevEndpoint { + s.LastUpdateStatus = &v + return s } -// SetJobName sets the JobName field's value. -func (s *DeleteJobOutput) SetJobName(v string) *DeleteJobOutput { - s.JobName = &v +// SetNumberOfNodes sets the NumberOfNodes field's value. +func (s *DevEndpoint) SetNumberOfNodes(v int64) *DevEndpoint { + s.NumberOfNodes = &v return s } -type DeletePartitionInput struct { - _ struct{} `type:"structure"` - - // The ID of the Data Catalog where the partition to be deleted resides. If - // none is supplied, the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` - - // The name of the catalog database in which the table in question resides. - // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` - - // The values that define the partition. - // - // PartitionValues is a required field - PartitionValues []*string `type:"list" required:"true"` - - // The name of the table where the partition to be deleted is located. - // - // TableName is a required field - TableName *string `min:"1" type:"string" required:"true"` +// SetPrivateAddress sets the PrivateAddress field's value. +func (s *DevEndpoint) SetPrivateAddress(v string) *DevEndpoint { + s.PrivateAddress = &v + return s } -// String returns the string representation -func (s DeletePartitionInput) String() string { - return awsutil.Prettify(s) +// SetPublicAddress sets the PublicAddress field's value. +func (s *DevEndpoint) SetPublicAddress(v string) *DevEndpoint { + s.PublicAddress = &v + return s } -// GoString returns the string representation -func (s DeletePartitionInput) GoString() string { - return s.String() +// SetPublicKey sets the PublicKey field's value. +func (s *DevEndpoint) SetPublicKey(v string) *DevEndpoint { + s.PublicKey = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeletePartitionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeletePartitionInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.PartitionValues == nil { - invalidParams.Add(request.NewErrParamRequired("PartitionValues")) - } - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) - } - if s.TableName != nil && len(*s.TableName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) - } +// SetPublicKeys sets the PublicKeys field's value. +func (s *DevEndpoint) SetPublicKeys(v []*string) *DevEndpoint { + s.PublicKeys = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRoleArn sets the RoleArn field's value. +func (s *DevEndpoint) SetRoleArn(v string) *DevEndpoint { + s.RoleArn = &v + return s } -// SetCatalogId sets the CatalogId field's value. -func (s *DeletePartitionInput) SetCatalogId(v string) *DeletePartitionInput { - s.CatalogId = &v +// SetSecurityConfiguration sets the SecurityConfiguration field's value. +func (s *DevEndpoint) SetSecurityConfiguration(v string) *DevEndpoint { + s.SecurityConfiguration = &v return s } -// SetDatabaseName sets the DatabaseName field's value. -func (s *DeletePartitionInput) SetDatabaseName(v string) *DeletePartitionInput { - s.DatabaseName = &v +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *DevEndpoint) SetSecurityGroupIds(v []*string) *DevEndpoint { + s.SecurityGroupIds = v return s } -// SetPartitionValues sets the PartitionValues field's value. -func (s *DeletePartitionInput) SetPartitionValues(v []*string) *DeletePartitionInput { - s.PartitionValues = v +// SetStatus sets the Status field's value. +func (s *DevEndpoint) SetStatus(v string) *DevEndpoint { + s.Status = &v return s } -// SetTableName sets the TableName field's value. -func (s *DeletePartitionInput) SetTableName(v string) *DeletePartitionInput { - s.TableName = &v +// SetSubnetId sets the SubnetId field's value. +func (s *DevEndpoint) SetSubnetId(v string) *DevEndpoint { + s.SubnetId = &v return s } -type DeletePartitionOutput struct { - _ struct{} `type:"structure"` +// SetVpcId sets the VpcId field's value. +func (s *DevEndpoint) SetVpcId(v string) *DevEndpoint { + s.VpcId = &v + return s } -// String returns the string representation -func (s DeletePartitionOutput) String() string { - return awsutil.Prettify(s) +// SetYarnEndpointAddress sets the YarnEndpointAddress field's value. +func (s *DevEndpoint) SetYarnEndpointAddress(v string) *DevEndpoint { + s.YarnEndpointAddress = &v + return s } -// GoString returns the string representation -func (s DeletePartitionOutput) GoString() string { - return s.String() +// SetZeppelinRemoteSparkInterpreterPort sets the ZeppelinRemoteSparkInterpreterPort field's value. +func (s *DevEndpoint) SetZeppelinRemoteSparkInterpreterPort(v int64) *DevEndpoint { + s.ZeppelinRemoteSparkInterpreterPort = &v + return s } -type DeleteResourcePolicyInput struct { +// Custom libraries to be loaded into a DevEndpoint. +type DevEndpointCustomLibraries struct { _ struct{} `type:"structure"` - // The hash value returned when this policy was set. - PolicyHashCondition *string `min:"1" type:"string"` + // Path to one or more Java Jars in an S3 bucket that should be loaded in your + // DevEndpoint. + // + // Please note that only pure Java/Scala libraries can currently be used on + // a DevEndpoint. + ExtraJarsS3Path *string `type:"string"` + + // Path(s) to one or more Python libraries in an S3 bucket that should be loaded + // in your DevEndpoint. Multiple values must be complete paths separated by + // a comma. + // + // Please note that only pure Python libraries can currently be used on a DevEndpoint. + // Libraries that rely on C extensions, such as the pandas (http://pandas.pydata.org/) + // Python data analysis library, are not yet supported. + ExtraPythonLibsS3Path *string `type:"string"` } // String returns the string representation -func (s DeleteResourcePolicyInput) String() string { +func (s DevEndpointCustomLibraries) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteResourcePolicyInput) GoString() string { +func (s DevEndpointCustomLibraries) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteResourcePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"} - if s.PolicyHashCondition != nil && len(*s.PolicyHashCondition) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PolicyHashCondition", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetExtraJarsS3Path sets the ExtraJarsS3Path field's value. +func (s *DevEndpointCustomLibraries) SetExtraJarsS3Path(v string) *DevEndpointCustomLibraries { + s.ExtraJarsS3Path = &v + return s } -// SetPolicyHashCondition sets the PolicyHashCondition field's value. -func (s *DeleteResourcePolicyInput) SetPolicyHashCondition(v string) *DeleteResourcePolicyInput { - s.PolicyHashCondition = &v +// SetExtraPythonLibsS3Path sets the ExtraPythonLibsS3Path field's value. +func (s *DevEndpointCustomLibraries) SetExtraPythonLibsS3Path(v string) *DevEndpointCustomLibraries { + s.ExtraPythonLibsS3Path = &v return s } -type DeleteResourcePolicyOutput struct { +// Specifies a DynamoDB table to crawl. +type DynamoDBTarget struct { _ struct{} `type:"structure"` + + // The name of the DynamoDB table to crawl. + Path *string `type:"string"` } // String returns the string representation -func (s DeleteResourcePolicyOutput) String() string { +func (s DynamoDBTarget) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteResourcePolicyOutput) GoString() string { +func (s DynamoDBTarget) GoString() string { return s.String() } -type DeleteSecurityConfigurationInput struct { +// SetPath sets the Path field's value. +func (s *DynamoDBTarget) SetPath(v string) *DynamoDBTarget { + s.Path = &v + return s +} + +// Specifies the encryption-at-rest configuration for the Data Catalog. +type EncryptionAtRest struct { _ struct{} `type:"structure"` - // The name of the security configuration to delete. + // The encryption-at-rest mode for encrypting Data Catalog data. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // CatalogEncryptionMode is a required field + CatalogEncryptionMode *string `type:"string" required:"true" enum:"CatalogEncryptionMode"` + + // The ID of the AWS KMS key to use for encryption at rest. + SseAwsKmsKeyId *string `min:"1" type:"string"` } // String returns the string representation -func (s DeleteSecurityConfigurationInput) String() string { +func (s EncryptionAtRest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteSecurityConfigurationInput) GoString() string { +func (s EncryptionAtRest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteSecurityConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteSecurityConfigurationInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *EncryptionAtRest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionAtRest"} + if s.CatalogEncryptionMode == nil { + invalidParams.Add(request.NewErrParamRequired("CatalogEncryptionMode")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.SseAwsKmsKeyId != nil && len(*s.SseAwsKmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SseAwsKmsKeyId", 1)) } if invalidParams.Len() > 0 { @@ -13091,239 +15409,201 @@ func (s *DeleteSecurityConfigurationInput) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *DeleteSecurityConfigurationInput) SetName(v string) *DeleteSecurityConfigurationInput { - s.Name = &v +// SetCatalogEncryptionMode sets the CatalogEncryptionMode field's value. +func (s *EncryptionAtRest) SetCatalogEncryptionMode(v string) *EncryptionAtRest { + s.CatalogEncryptionMode = &v return s } -type DeleteSecurityConfigurationOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeleteSecurityConfigurationOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteSecurityConfigurationOutput) GoString() string { - return s.String() +// SetSseAwsKmsKeyId sets the SseAwsKmsKeyId field's value. +func (s *EncryptionAtRest) SetSseAwsKmsKeyId(v string) *EncryptionAtRest { + s.SseAwsKmsKeyId = &v + return s } -type DeleteTableInput struct { +// Specifies an encryption configuration. +type EncryptionConfiguration struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog where the table resides. If none is supplied, - // the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` + // The encryption configuration for CloudWatch. + CloudWatchEncryption *CloudWatchEncryption `type:"structure"` - // The name of the catalog database in which the table resides. For Hive compatibility, - // this name is entirely lowercase. - // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` + // The encryption configuration for Job Bookmarks. + JobBookmarksEncryption *JobBookmarksEncryption `type:"structure"` - // The name of the table to be deleted. For Hive compatibility, this name is - // entirely lowercase. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // The encryption configuration for S3 data. + S3Encryption []*S3Encryption `type:"list"` } // String returns the string representation -func (s DeleteTableInput) String() string { +func (s EncryptionConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTableInput) GoString() string { +func (s EncryptionConfiguration) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteTableInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.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 -} - -// SetCatalogId sets the CatalogId field's value. -func (s *DeleteTableInput) SetCatalogId(v string) *DeleteTableInput { - s.CatalogId = &v +// SetCloudWatchEncryption sets the CloudWatchEncryption field's value. +func (s *EncryptionConfiguration) SetCloudWatchEncryption(v *CloudWatchEncryption) *EncryptionConfiguration { + s.CloudWatchEncryption = v return s } -// SetDatabaseName sets the DatabaseName field's value. -func (s *DeleteTableInput) SetDatabaseName(v string) *DeleteTableInput { - s.DatabaseName = &v +// SetJobBookmarksEncryption sets the JobBookmarksEncryption field's value. +func (s *EncryptionConfiguration) SetJobBookmarksEncryption(v *JobBookmarksEncryption) *EncryptionConfiguration { + s.JobBookmarksEncryption = v return s } -// SetName sets the Name field's value. -func (s *DeleteTableInput) SetName(v string) *DeleteTableInput { - s.Name = &v +// SetS3Encryption sets the S3Encryption field's value. +func (s *EncryptionConfiguration) SetS3Encryption(v []*S3Encryption) *EncryptionConfiguration { + s.S3Encryption = v return s } -type DeleteTableOutput struct { +// Contains details about an error. +type ErrorDetail struct { _ struct{} `type:"structure"` + + // The code associated with this error. + ErrorCode *string `min:"1" type:"string"` + + // A message describing the error. + ErrorMessage *string `type:"string"` } // String returns the string representation -func (s DeleteTableOutput) String() string { +func (s ErrorDetail) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTableOutput) GoString() string { +func (s ErrorDetail) GoString() string { return s.String() } -type DeleteTableVersionInput struct { - _ struct{} `type:"structure"` - - // The ID of the Data Catalog where the tables reside. If none is supplied, - // the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` +// SetErrorCode sets the ErrorCode field's value. +func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail { + s.ErrorCode = &v + return s +} - // The database in the catalog in which the table resides. For Hive compatibility, - // this name is entirely lowercase. - // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` +// SetErrorMessage sets the ErrorMessage field's value. +func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail { + s.ErrorMessage = &v + return s +} - // The name of the table. For Hive compatibility, this name is entirely lowercase. - // - // TableName is a required field - TableName *string `min:"1" type:"string" required:"true"` +// An execution property of a job. +type ExecutionProperty struct { + _ struct{} `type:"structure"` - // The ID of the table version to be deleted. A VersionID is a string representation - // of an integer. Each version is incremented by 1. - // - // VersionId is a required field - VersionId *string `min:"1" type:"string" required:"true"` + // The maximum number of concurrent runs allowed for the job. The default is + // 1. An error is returned when this threshold is reached. The maximum value + // you can specify is controlled by a service limit. + MaxConcurrentRuns *int64 `type:"integer"` } // String returns the string representation -func (s DeleteTableVersionInput) String() string { +func (s ExecutionProperty) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTableVersionInput) GoString() string { +func (s ExecutionProperty) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteTableVersionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteTableVersionInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) - } - if s.TableName != nil && len(*s.TableName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) - } - if s.VersionId == nil { - invalidParams.Add(request.NewErrParamRequired("VersionId")) - } - if s.VersionId != nil && len(*s.VersionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VersionId", 1)) - } +// SetMaxConcurrentRuns sets the MaxConcurrentRuns field's value. +func (s *ExecutionProperty) SetMaxConcurrentRuns(v int64) *ExecutionProperty { + s.MaxConcurrentRuns = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +type GetCatalogImportStatusInput struct { + _ struct{} `type:"structure"` + + // The ID of the catalog to migrate. Currently, this should be the AWS account + // ID. + CatalogId *string `min:"1" type:"string"` } -// SetCatalogId sets the CatalogId field's value. -func (s *DeleteTableVersionInput) SetCatalogId(v string) *DeleteTableVersionInput { - s.CatalogId = &v - return s +// String returns the string representation +func (s GetCatalogImportStatusInput) String() string { + return awsutil.Prettify(s) } -// SetDatabaseName sets the DatabaseName field's value. -func (s *DeleteTableVersionInput) SetDatabaseName(v string) *DeleteTableVersionInput { - s.DatabaseName = &v - return s +// GoString returns the string representation +func (s GetCatalogImportStatusInput) GoString() string { + return s.String() } -// SetTableName sets the TableName field's value. -func (s *DeleteTableVersionInput) SetTableName(v string) *DeleteTableVersionInput { - s.TableName = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCatalogImportStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCatalogImportStatusInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetVersionId sets the VersionId field's value. -func (s *DeleteTableVersionInput) SetVersionId(v string) *DeleteTableVersionInput { - s.VersionId = &v +// SetCatalogId sets the CatalogId field's value. +func (s *GetCatalogImportStatusInput) SetCatalogId(v string) *GetCatalogImportStatusInput { + s.CatalogId = &v return s } -type DeleteTableVersionOutput struct { +type GetCatalogImportStatusOutput struct { _ struct{} `type:"structure"` + + // The status of the specified catalog migration. + ImportStatus *CatalogImportStatus `type:"structure"` } // String returns the string representation -func (s DeleteTableVersionOutput) String() string { +func (s GetCatalogImportStatusOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTableVersionOutput) GoString() string { +func (s GetCatalogImportStatusOutput) GoString() string { return s.String() } -type DeleteTriggerInput struct { +// SetImportStatus sets the ImportStatus field's value. +func (s *GetCatalogImportStatusOutput) SetImportStatus(v *CatalogImportStatus) *GetCatalogImportStatusOutput { + s.ImportStatus = v + return s +} + +type GetClassifierInput struct { _ struct{} `type:"structure"` - // The name of the trigger to delete. + // Name of the classifier to retrieve. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteTriggerInput) String() string { +func (s GetClassifierInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTriggerInput) GoString() string { +func (s GetClassifierInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteTriggerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteTriggerInput"} +func (s *GetClassifierInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetClassifierInput"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -13338,79 +15618,59 @@ func (s *DeleteTriggerInput) Validate() error { } // SetName sets the Name field's value. -func (s *DeleteTriggerInput) SetName(v string) *DeleteTriggerInput { +func (s *GetClassifierInput) SetName(v string) *GetClassifierInput { s.Name = &v return s } -type DeleteTriggerOutput struct { +type GetClassifierOutput struct { _ struct{} `type:"structure"` - // The name of the trigger that was deleted. - Name *string `min:"1" type:"string"` + // The requested classifier. + Classifier *Classifier `type:"structure"` } // String returns the string representation -func (s DeleteTriggerOutput) String() string { +func (s GetClassifierOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTriggerOutput) GoString() string { +func (s GetClassifierOutput) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *DeleteTriggerOutput) SetName(v string) *DeleteTriggerOutput { - s.Name = &v +// SetClassifier sets the Classifier field's value. +func (s *GetClassifierOutput) SetClassifier(v *Classifier) *GetClassifierOutput { + s.Classifier = v return s } -type DeleteUserDefinedFunctionInput struct { +type GetClassifiersInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog where the function to be deleted is located. If - // none is supplied, the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` - - // The name of the catalog database where the function is located. - // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` + // Size of the list to return (optional). + MaxResults *int64 `min:"1" type:"integer"` - // The name of the function definition to be deleted. - // - // FunctionName is a required field - FunctionName *string `min:"1" type:"string" required:"true"` + // An optional continuation token. + NextToken *string `type:"string"` } // String returns the string representation -func (s DeleteUserDefinedFunctionInput) String() string { +func (s GetClassifiersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserDefinedFunctionInput) GoString() string { +func (s GetClassifiersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteUserDefinedFunctionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteUserDefinedFunctionInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.FunctionName == nil { - invalidParams.Add(request.NewErrParamRequired("FunctionName")) - } - if s.FunctionName != nil && len(*s.FunctionName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) +func (s *GetClassifiersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetClassifiersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -13419,362 +15679,358 @@ func (s *DeleteUserDefinedFunctionInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *DeleteUserDefinedFunctionInput) SetCatalogId(v string) *DeleteUserDefinedFunctionInput { - s.CatalogId = &v - return s -} - -// SetDatabaseName sets the DatabaseName field's value. -func (s *DeleteUserDefinedFunctionInput) SetDatabaseName(v string) *DeleteUserDefinedFunctionInput { - s.DatabaseName = &v +// SetMaxResults sets the MaxResults field's value. +func (s *GetClassifiersInput) SetMaxResults(v int64) *GetClassifiersInput { + s.MaxResults = &v return s } -// SetFunctionName sets the FunctionName field's value. -func (s *DeleteUserDefinedFunctionInput) SetFunctionName(v string) *DeleteUserDefinedFunctionInput { - s.FunctionName = &v +// SetNextToken sets the NextToken field's value. +func (s *GetClassifiersInput) SetNextToken(v string) *GetClassifiersInput { + s.NextToken = &v return s } -type DeleteUserDefinedFunctionOutput struct { +type GetClassifiersOutput struct { _ struct{} `type:"structure"` + + // The requested list of classifier objects. + Classifiers []*Classifier `type:"list"` + + // A continuation token. + NextToken *string `type:"string"` } // String returns the string representation -func (s DeleteUserDefinedFunctionOutput) String() string { +func (s GetClassifiersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserDefinedFunctionOutput) GoString() string { +func (s GetClassifiersOutput) GoString() string { return s.String() } -// A development endpoint where a developer can remotely debug ETL scripts. -type DevEndpoint struct { - _ struct{} `type:"structure"` +// SetClassifiers sets the Classifiers field's value. +func (s *GetClassifiersOutput) SetClassifiers(v []*Classifier) *GetClassifiersOutput { + s.Classifiers = v + return s +} - // The AWS availability zone where this DevEndpoint is located. - AvailabilityZone *string `type:"string"` +// SetNextToken sets the NextToken field's value. +func (s *GetClassifiersOutput) SetNextToken(v string) *GetClassifiersOutput { + s.NextToken = &v + return s +} - // The point in time at which this DevEndpoint was created. - CreatedTimestamp *time.Time `type:"timestamp"` +type GetConnectionInput struct { + _ struct{} `type:"structure"` - // The name of the DevEndpoint. - EndpointName *string `type:"string"` + // The ID of the Data Catalog in which the connection resides. If none is provided, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` - // Path to one or more Java Jars in an S3 bucket that should be loaded in your - // DevEndpoint. - // - // Please note that only pure Java/Scala libraries can currently be used on - // a DevEndpoint. - ExtraJarsS3Path *string `type:"string"` + // Allows you to retrieve the connection metadata without returning the password. + // For instance, the AWS Glue console uses this flag to retrieve the connection, + // and does not display the password. Set this parameter when the caller might + // not have permission to use the AWS KMS key to decrypt the password, but does + // have permission to access the rest of the connection properties. + HidePassword *bool `type:"boolean"` - // Path(s) to one or more Python libraries in an S3 bucket that should be loaded - // in your DevEndpoint. Multiple values must be complete paths separated by - // a comma. + // The name of the connection definition to retrieve. // - // Please note that only pure Python libraries can currently be used on a DevEndpoint. - // Libraries that rely on C extensions, such as the pandas (http://pandas.pydata.org/) - // Python data analysis library, are not yet supported. - ExtraPythonLibsS3Path *string `type:"string"` - - // The reason for a current failure in this DevEndpoint. - FailureReason *string `type:"string"` - - // The point in time at which this DevEndpoint was last modified. - LastModifiedTimestamp *time.Time `type:"timestamp"` - - // The status of the last update. - LastUpdateStatus *string `type:"string"` - - // The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint. - NumberOfNodes *int64 `type:"integer"` - - // A private IP address to access the DevEndpoint within a VPC, if the DevEndpoint - // is created within one. The PrivateAddress field is present only when you - // create the DevEndpoint within your virtual private cloud (VPC). - PrivateAddress *string `type:"string"` - - // The public IP address used by this DevEndpoint. The PublicAddress field is - // present only when you create a non-VPC (virtual private cloud) DevEndpoint. - PublicAddress *string `type:"string"` - - // The public key to be used by this DevEndpoint for authentication. This attribute - // is provided for backward compatibility, as the recommended attribute to use - // is public keys. - PublicKey *string `type:"string"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} - // A list of public keys to be used by the DevEndpoints for authentication. - // The use of this attribute is preferred over a single public key because the - // public keys allow you to have a different private key per client. - // - // If you previously created an endpoint with a public key, you must remove - // that key to be able to set a list of public keys: call the UpdateDevEndpoint - // API with the public key content in the deletePublicKeys attribute, and the - // list of new keys in the addPublicKeys attribute. - PublicKeys []*string `type:"list"` +// String returns the string representation +func (s GetConnectionInput) String() string { + return awsutil.Prettify(s) +} - // The AWS ARN of the IAM role used in this DevEndpoint. - RoleArn *string `type:"string"` +// GoString returns the string representation +func (s GetConnectionInput) GoString() string { + return s.String() +} - // The name of the SecurityConfiguration structure to be used with this DevEndpoint. - SecurityConfiguration *string `min:"1" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConnectionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } - // A list of security group identifiers used in this DevEndpoint. - SecurityGroupIds []*string `type:"list"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The current status of this DevEndpoint. - Status *string `type:"string"` +// SetCatalogId sets the CatalogId field's value. +func (s *GetConnectionInput) SetCatalogId(v string) *GetConnectionInput { + s.CatalogId = &v + return s +} - // The subnet ID for this DevEndpoint. - SubnetId *string `type:"string"` +// SetHidePassword sets the HidePassword field's value. +func (s *GetConnectionInput) SetHidePassword(v bool) *GetConnectionInput { + s.HidePassword = &v + return s +} - // The ID of the virtual private cloud (VPC) used by this DevEndpoint. - VpcId *string `type:"string"` +// SetName sets the Name field's value. +func (s *GetConnectionInput) SetName(v string) *GetConnectionInput { + s.Name = &v + return s +} - // The YARN endpoint address used by this DevEndpoint. - YarnEndpointAddress *string `type:"string"` +type GetConnectionOutput struct { + _ struct{} `type:"structure"` - // The Apache Zeppelin port for the remote Apache Spark interpreter. - ZeppelinRemoteSparkInterpreterPort *int64 `type:"integer"` + // The requested connection definition. + Connection *Connection `type:"structure"` } // String returns the string representation -func (s DevEndpoint) String() string { +func (s GetConnectionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DevEndpoint) GoString() string { +func (s GetConnectionOutput) GoString() string { return s.String() } -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *DevEndpoint) SetAvailabilityZone(v string) *DevEndpoint { - s.AvailabilityZone = &v +// SetConnection sets the Connection field's value. +func (s *GetConnectionOutput) SetConnection(v *Connection) *GetConnectionOutput { + s.Connection = v return s } -// SetCreatedTimestamp sets the CreatedTimestamp field's value. -func (s *DevEndpoint) SetCreatedTimestamp(v time.Time) *DevEndpoint { - s.CreatedTimestamp = &v - return s -} +// Filters the connection definitions that are returned by the GetConnections +// API operation. +type GetConnectionsFilter struct { + _ struct{} `type:"structure"` -// SetEndpointName sets the EndpointName field's value. -func (s *DevEndpoint) SetEndpointName(v string) *DevEndpoint { - s.EndpointName = &v - return s -} + // The type of connections to return. Currently, only JDBC is supported; SFTP + // is not supported. + ConnectionType *string `type:"string" enum:"ConnectionType"` -// SetExtraJarsS3Path sets the ExtraJarsS3Path field's value. -func (s *DevEndpoint) SetExtraJarsS3Path(v string) *DevEndpoint { - s.ExtraJarsS3Path = &v - return s + // A criteria string that must match the criteria recorded in the connection + // definition for that connection definition to be returned. + MatchCriteria []*string `type:"list"` } -// SetExtraPythonLibsS3Path sets the ExtraPythonLibsS3Path field's value. -func (s *DevEndpoint) SetExtraPythonLibsS3Path(v string) *DevEndpoint { - s.ExtraPythonLibsS3Path = &v - return s +// String returns the string representation +func (s GetConnectionsFilter) String() string { + return awsutil.Prettify(s) } -// SetFailureReason sets the FailureReason field's value. -func (s *DevEndpoint) SetFailureReason(v string) *DevEndpoint { - s.FailureReason = &v - return s +// GoString returns the string representation +func (s GetConnectionsFilter) GoString() string { + return s.String() } -// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. -func (s *DevEndpoint) SetLastModifiedTimestamp(v time.Time) *DevEndpoint { - s.LastModifiedTimestamp = &v +// SetConnectionType sets the ConnectionType field's value. +func (s *GetConnectionsFilter) SetConnectionType(v string) *GetConnectionsFilter { + s.ConnectionType = &v return s } -// SetLastUpdateStatus sets the LastUpdateStatus field's value. -func (s *DevEndpoint) SetLastUpdateStatus(v string) *DevEndpoint { - s.LastUpdateStatus = &v +// SetMatchCriteria sets the MatchCriteria field's value. +func (s *GetConnectionsFilter) SetMatchCriteria(v []*string) *GetConnectionsFilter { + s.MatchCriteria = v return s } -// SetNumberOfNodes sets the NumberOfNodes field's value. -func (s *DevEndpoint) SetNumberOfNodes(v int64) *DevEndpoint { - s.NumberOfNodes = &v - return s -} +type GetConnectionsInput struct { + _ struct{} `type:"structure"` -// SetPrivateAddress sets the PrivateAddress field's value. -func (s *DevEndpoint) SetPrivateAddress(v string) *DevEndpoint { - s.PrivateAddress = &v - return s -} + // The ID of the Data Catalog in which the connections reside. If none is provided, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` -// SetPublicAddress sets the PublicAddress field's value. -func (s *DevEndpoint) SetPublicAddress(v string) *DevEndpoint { - s.PublicAddress = &v - return s -} + // A filter that controls which connections will be returned. + Filter *GetConnectionsFilter `type:"structure"` -// SetPublicKey sets the PublicKey field's value. -func (s *DevEndpoint) SetPublicKey(v string) *DevEndpoint { - s.PublicKey = &v - return s -} + // Allows you to retrieve the connection metadata without returning the password. + // For instance, the AWS Glue console uses this flag to retrieve the connection, + // and does not display the password. Set this parameter when the caller might + // not have permission to use the AWS KMS key to decrypt the password, but does + // have permission to access the rest of the connection properties. + HidePassword *bool `type:"boolean"` -// SetPublicKeys sets the PublicKeys field's value. -func (s *DevEndpoint) SetPublicKeys(v []*string) *DevEndpoint { - s.PublicKeys = v - return s + // The maximum number of connections to return in one response. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` } -// SetRoleArn sets the RoleArn field's value. -func (s *DevEndpoint) SetRoleArn(v string) *DevEndpoint { - s.RoleArn = &v - return s +// String returns the string representation +func (s GetConnectionsInput) String() string { + return awsutil.Prettify(s) } -// SetSecurityConfiguration sets the SecurityConfiguration field's value. -func (s *DevEndpoint) SetSecurityConfiguration(v string) *DevEndpoint { - s.SecurityConfiguration = &v - return s +// GoString returns the string representation +func (s GetConnectionsInput) GoString() string { + return s.String() } -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *DevEndpoint) SetSecurityGroupIds(v []*string) *DevEndpoint { - s.SecurityGroupIds = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConnectionsInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStatus sets the Status field's value. -func (s *DevEndpoint) SetStatus(v string) *DevEndpoint { - s.Status = &v +// SetCatalogId sets the CatalogId field's value. +func (s *GetConnectionsInput) SetCatalogId(v string) *GetConnectionsInput { + s.CatalogId = &v return s } -// SetSubnetId sets the SubnetId field's value. -func (s *DevEndpoint) SetSubnetId(v string) *DevEndpoint { - s.SubnetId = &v +// SetFilter sets the Filter field's value. +func (s *GetConnectionsInput) SetFilter(v *GetConnectionsFilter) *GetConnectionsInput { + s.Filter = v return s } -// SetVpcId sets the VpcId field's value. -func (s *DevEndpoint) SetVpcId(v string) *DevEndpoint { - s.VpcId = &v +// SetHidePassword sets the HidePassword field's value. +func (s *GetConnectionsInput) SetHidePassword(v bool) *GetConnectionsInput { + s.HidePassword = &v return s } -// SetYarnEndpointAddress sets the YarnEndpointAddress field's value. -func (s *DevEndpoint) SetYarnEndpointAddress(v string) *DevEndpoint { - s.YarnEndpointAddress = &v +// SetMaxResults sets the MaxResults field's value. +func (s *GetConnectionsInput) SetMaxResults(v int64) *GetConnectionsInput { + s.MaxResults = &v return s } -// SetZeppelinRemoteSparkInterpreterPort sets the ZeppelinRemoteSparkInterpreterPort field's value. -func (s *DevEndpoint) SetZeppelinRemoteSparkInterpreterPort(v int64) *DevEndpoint { - s.ZeppelinRemoteSparkInterpreterPort = &v +// SetNextToken sets the NextToken field's value. +func (s *GetConnectionsInput) SetNextToken(v string) *GetConnectionsInput { + s.NextToken = &v return s } -// Custom libraries to be loaded into a DevEndpoint. -type DevEndpointCustomLibraries struct { +type GetConnectionsOutput struct { _ struct{} `type:"structure"` - // Path to one or more Java Jars in an S3 bucket that should be loaded in your - // DevEndpoint. - // - // Please note that only pure Java/Scala libraries can currently be used on - // a DevEndpoint. - ExtraJarsS3Path *string `type:"string"` + // A list of requested connection definitions. + ConnectionList []*Connection `type:"list"` - // Path(s) to one or more Python libraries in an S3 bucket that should be loaded - // in your DevEndpoint. Multiple values must be complete paths separated by - // a comma. - // - // Please note that only pure Python libraries can currently be used on a DevEndpoint. - // Libraries that rely on C extensions, such as the pandas (http://pandas.pydata.org/) - // Python data analysis library, are not yet supported. - ExtraPythonLibsS3Path *string `type:"string"` + // A continuation token, if the list of connections returned does not include + // the last of the filtered connections. + NextToken *string `type:"string"` } // String returns the string representation -func (s DevEndpointCustomLibraries) String() string { +func (s GetConnectionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DevEndpointCustomLibraries) GoString() string { +func (s GetConnectionsOutput) GoString() string { return s.String() } -// SetExtraJarsS3Path sets the ExtraJarsS3Path field's value. -func (s *DevEndpointCustomLibraries) SetExtraJarsS3Path(v string) *DevEndpointCustomLibraries { - s.ExtraJarsS3Path = &v +// SetConnectionList sets the ConnectionList field's value. +func (s *GetConnectionsOutput) SetConnectionList(v []*Connection) *GetConnectionsOutput { + s.ConnectionList = v return s } -// SetExtraPythonLibsS3Path sets the ExtraPythonLibsS3Path field's value. -func (s *DevEndpointCustomLibraries) SetExtraPythonLibsS3Path(v string) *DevEndpointCustomLibraries { - s.ExtraPythonLibsS3Path = &v +// SetNextToken sets the NextToken field's value. +func (s *GetConnectionsOutput) SetNextToken(v string) *GetConnectionsOutput { + s.NextToken = &v return s } -// Specifies a DynamoDB table to crawl. -type DynamoDBTarget struct { +type GetCrawlerInput struct { _ struct{} `type:"structure"` - // The name of the DynamoDB table to crawl. - Path *string `type:"string"` + // Name of the crawler to retrieve metadata for. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DynamoDBTarget) String() string { +func (s GetCrawlerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DynamoDBTarget) GoString() string { +func (s GetCrawlerInput) GoString() string { return s.String() } -// SetPath sets the Path field's value. -func (s *DynamoDBTarget) SetPath(v string) *DynamoDBTarget { - s.Path = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCrawlerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCrawlerInput"} + 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 *GetCrawlerInput) SetName(v string) *GetCrawlerInput { + s.Name = &v return s } -// Specifies encryption-at-rest configuration for the Data Catalog. -type EncryptionAtRest struct { +type GetCrawlerMetricsInput struct { _ struct{} `type:"structure"` - // The encryption-at-rest mode for encrypting Data Catalog data. - // - // CatalogEncryptionMode is a required field - CatalogEncryptionMode *string `type:"string" required:"true" enum:"CatalogEncryptionMode"` + // A list of the names of crawlers about which to retrieve metrics. + CrawlerNameList []*string `type:"list"` - // The ID of the AWS KMS key to use for encryption at rest. - SseAwsKmsKeyId *string `min:"1" type:"string"` + // The maximum size of a list to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` } // String returns the string representation -func (s EncryptionAtRest) String() string { +func (s GetCrawlerMetricsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EncryptionAtRest) GoString() string { +func (s GetCrawlerMetricsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EncryptionAtRest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EncryptionAtRest"} - if s.CatalogEncryptionMode == nil { - invalidParams.Add(request.NewErrParamRequired("CatalogEncryptionMode")) - } - if s.SseAwsKmsKeyId != nil && len(*s.SseAwsKmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SseAwsKmsKeyId", 1)) +func (s *GetCrawlerMetricsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCrawlerMetricsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -13783,140 +16039,179 @@ func (s *EncryptionAtRest) Validate() error { return nil } -// SetCatalogEncryptionMode sets the CatalogEncryptionMode field's value. -func (s *EncryptionAtRest) SetCatalogEncryptionMode(v string) *EncryptionAtRest { - s.CatalogEncryptionMode = &v +// SetCrawlerNameList sets the CrawlerNameList field's value. +func (s *GetCrawlerMetricsInput) SetCrawlerNameList(v []*string) *GetCrawlerMetricsInput { + s.CrawlerNameList = v return s } -// SetSseAwsKmsKeyId sets the SseAwsKmsKeyId field's value. -func (s *EncryptionAtRest) SetSseAwsKmsKeyId(v string) *EncryptionAtRest { - s.SseAwsKmsKeyId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *GetCrawlerMetricsInput) SetMaxResults(v int64) *GetCrawlerMetricsInput { + s.MaxResults = &v return s } -// Specifies an encryption configuration. -type EncryptionConfiguration struct { - _ struct{} `type:"structure"` +// SetNextToken sets the NextToken field's value. +func (s *GetCrawlerMetricsInput) SetNextToken(v string) *GetCrawlerMetricsInput { + s.NextToken = &v + return s +} - // The encryption configuration for CloudWatch. - CloudWatchEncryption *CloudWatchEncryption `type:"structure"` +type GetCrawlerMetricsOutput struct { + _ struct{} `type:"structure"` - // The encryption configuration for Job Bookmarks. - JobBookmarksEncryption *JobBookmarksEncryption `type:"structure"` + // A list of metrics for the specified crawler. + CrawlerMetricsList []*CrawlerMetrics `type:"list"` - // The encryption configuration for S3 data. - S3Encryption []*S3Encryption `type:"list"` + // A continuation token, if the returned list does not contain the last metric + // available. + NextToken *string `type:"string"` } // String returns the string representation -func (s EncryptionConfiguration) String() string { +func (s GetCrawlerMetricsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EncryptionConfiguration) GoString() string { +func (s GetCrawlerMetricsOutput) GoString() string { return s.String() } -// SetCloudWatchEncryption sets the CloudWatchEncryption field's value. -func (s *EncryptionConfiguration) SetCloudWatchEncryption(v *CloudWatchEncryption) *EncryptionConfiguration { - s.CloudWatchEncryption = v +// SetCrawlerMetricsList sets the CrawlerMetricsList field's value. +func (s *GetCrawlerMetricsOutput) SetCrawlerMetricsList(v []*CrawlerMetrics) *GetCrawlerMetricsOutput { + s.CrawlerMetricsList = v return s } -// SetJobBookmarksEncryption sets the JobBookmarksEncryption field's value. -func (s *EncryptionConfiguration) SetJobBookmarksEncryption(v *JobBookmarksEncryption) *EncryptionConfiguration { - s.JobBookmarksEncryption = v +// SetNextToken sets the NextToken field's value. +func (s *GetCrawlerMetricsOutput) SetNextToken(v string) *GetCrawlerMetricsOutput { + s.NextToken = &v return s } -// SetS3Encryption sets the S3Encryption field's value. -func (s *EncryptionConfiguration) SetS3Encryption(v []*S3Encryption) *EncryptionConfiguration { - s.S3Encryption = v +type GetCrawlerOutput struct { + _ struct{} `type:"structure"` + + // The metadata for the specified crawler. + Crawler *Crawler `type:"structure"` +} + +// String returns the string representation +func (s GetCrawlerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCrawlerOutput) GoString() string { + return s.String() +} + +// SetCrawler sets the Crawler field's value. +func (s *GetCrawlerOutput) SetCrawler(v *Crawler) *GetCrawlerOutput { + s.Crawler = v return s } -// Contains details about an error. -type ErrorDetail struct { +type GetCrawlersInput struct { _ struct{} `type:"structure"` - // The code associated with this error. - ErrorCode *string `min:"1" type:"string"` + // The number of crawlers to return on each call. + MaxResults *int64 `min:"1" type:"integer"` - // A message describing the error. - ErrorMessage *string `type:"string"` + // A continuation token, if this is a continuation request. + NextToken *string `type:"string"` } // String returns the string representation -func (s ErrorDetail) String() string { +func (s GetCrawlersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ErrorDetail) GoString() string { +func (s GetCrawlersInput) GoString() string { return s.String() } -// SetErrorCode sets the ErrorCode field's value. -func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail { - s.ErrorCode = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCrawlersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCrawlersInput"} + 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 *GetCrawlersInput) SetMaxResults(v int64) *GetCrawlersInput { + s.MaxResults = &v return s } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail { - s.ErrorMessage = &v +// SetNextToken sets the NextToken field's value. +func (s *GetCrawlersInput) SetNextToken(v string) *GetCrawlersInput { + s.NextToken = &v return s } -// An execution property of a job. -type ExecutionProperty struct { +type GetCrawlersOutput struct { _ struct{} `type:"structure"` - // The maximum number of concurrent runs allowed for the job. The default is - // 1. An error is returned when this threshold is reached. The maximum value - // you can specify is controlled by a service limit. - MaxConcurrentRuns *int64 `type:"integer"` + // A list of crawler metadata. + Crawlers []*Crawler `type:"list"` + + // A continuation token, if the returned list has not reached the end of those + // defined in this customer account. + NextToken *string `type:"string"` } // String returns the string representation -func (s ExecutionProperty) String() string { +func (s GetCrawlersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExecutionProperty) GoString() string { +func (s GetCrawlersOutput) GoString() string { return s.String() } -// SetMaxConcurrentRuns sets the MaxConcurrentRuns field's value. -func (s *ExecutionProperty) SetMaxConcurrentRuns(v int64) *ExecutionProperty { - s.MaxConcurrentRuns = &v +// SetCrawlers sets the Crawlers field's value. +func (s *GetCrawlersOutput) SetCrawlers(v []*Crawler) *GetCrawlersOutput { + s.Crawlers = v return s } -type GetCatalogImportStatusInput struct { +// SetNextToken sets the NextToken field's value. +func (s *GetCrawlersOutput) SetNextToken(v string) *GetCrawlersOutput { + s.NextToken = &v + return s +} + +type GetDataCatalogEncryptionSettingsInput struct { _ struct{} `type:"structure"` - // The ID of the catalog to migrate. Currently, this should be the AWS account - // ID. + // The ID of the Data Catalog for which to retrieve the security configuration. + // If none is provided, the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` } // String returns the string representation -func (s GetCatalogImportStatusInput) String() string { +func (s GetDataCatalogEncryptionSettingsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCatalogImportStatusInput) GoString() string { +func (s GetDataCatalogEncryptionSettingsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCatalogImportStatusInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCatalogImportStatusInput"} +func (s *GetDataCatalogEncryptionSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDataCatalogEncryptionSettingsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } @@ -13928,56 +16223,64 @@ func (s *GetCatalogImportStatusInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *GetCatalogImportStatusInput) SetCatalogId(v string) *GetCatalogImportStatusInput { +func (s *GetDataCatalogEncryptionSettingsInput) SetCatalogId(v string) *GetDataCatalogEncryptionSettingsInput { s.CatalogId = &v return s } -type GetCatalogImportStatusOutput struct { +type GetDataCatalogEncryptionSettingsOutput struct { _ struct{} `type:"structure"` - // The status of the specified catalog migration. - ImportStatus *CatalogImportStatus `type:"structure"` + // The requested security configuration. + DataCatalogEncryptionSettings *DataCatalogEncryptionSettings `type:"structure"` } // String returns the string representation -func (s GetCatalogImportStatusOutput) String() string { +func (s GetDataCatalogEncryptionSettingsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCatalogImportStatusOutput) GoString() string { +func (s GetDataCatalogEncryptionSettingsOutput) GoString() string { return s.String() } -// SetImportStatus sets the ImportStatus field's value. -func (s *GetCatalogImportStatusOutput) SetImportStatus(v *CatalogImportStatus) *GetCatalogImportStatusOutput { - s.ImportStatus = v +// SetDataCatalogEncryptionSettings sets the DataCatalogEncryptionSettings field's value. +func (s *GetDataCatalogEncryptionSettingsOutput) SetDataCatalogEncryptionSettings(v *DataCatalogEncryptionSettings) *GetDataCatalogEncryptionSettingsOutput { + s.DataCatalogEncryptionSettings = v return s } -type GetClassifierInput struct { +type GetDatabaseInput struct { _ struct{} `type:"structure"` - // Name of the classifier to retrieve. + // The ID of the Data Catalog in which the database resides. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the database to retrieve. For Hive compatibility, this should + // be all lowercase. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetClassifierInput) String() string { +func (s GetDatabaseInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetClassifierInput) GoString() string { +func (s GetDatabaseInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetClassifierInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetClassifierInput"} +func (s *GetDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDatabaseInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -13991,58 +16294,71 @@ func (s *GetClassifierInput) Validate() error { return nil } +// SetCatalogId sets the CatalogId field's value. +func (s *GetDatabaseInput) SetCatalogId(v string) *GetDatabaseInput { + s.CatalogId = &v + return s +} + // SetName sets the Name field's value. -func (s *GetClassifierInput) SetName(v string) *GetClassifierInput { +func (s *GetDatabaseInput) SetName(v string) *GetDatabaseInput { s.Name = &v return s } -type GetClassifierOutput struct { +type GetDatabaseOutput struct { _ struct{} `type:"structure"` - // The requested classifier. - Classifier *Classifier `type:"structure"` + // The definition of the specified database in the catalog. + Database *Database `type:"structure"` } // String returns the string representation -func (s GetClassifierOutput) String() string { +func (s GetDatabaseOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetClassifierOutput) GoString() string { +func (s GetDatabaseOutput) GoString() string { return s.String() } -// SetClassifier sets the Classifier field's value. -func (s *GetClassifierOutput) SetClassifier(v *Classifier) *GetClassifierOutput { - s.Classifier = v +// SetDatabase sets the Database field's value. +func (s *GetDatabaseOutput) SetDatabase(v *Database) *GetDatabaseOutput { + s.Database = v return s } -type GetClassifiersInput struct { +type GetDatabasesInput struct { _ struct{} `type:"structure"` - // Size of the list to return (optional). + // The ID of the Data Catalog from which to retrieve Databases. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The maximum number of databases to return in one response. MaxResults *int64 `min:"1" type:"integer"` - // An optional continuation token. + // A continuation token, if this is a continuation call. NextToken *string `type:"string"` } // String returns the string representation -func (s GetClassifiersInput) String() string { +func (s GetDatabasesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetClassifiersInput) GoString() string { +func (s GetDatabasesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetClassifiersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetClassifiersInput"} +func (s *GetDatabasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDatabasesInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -14053,195 +16369,179 @@ func (s *GetClassifiersInput) Validate() error { return nil } +// SetCatalogId sets the CatalogId field's value. +func (s *GetDatabasesInput) SetCatalogId(v string) *GetDatabasesInput { + s.CatalogId = &v + return s +} + // SetMaxResults sets the MaxResults field's value. -func (s *GetClassifiersInput) SetMaxResults(v int64) *GetClassifiersInput { +func (s *GetDatabasesInput) SetMaxResults(v int64) *GetDatabasesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *GetClassifiersInput) SetNextToken(v string) *GetClassifiersInput { +func (s *GetDatabasesInput) SetNextToken(v string) *GetDatabasesInput { s.NextToken = &v return s } -type GetClassifiersOutput struct { +type GetDatabasesOutput struct { _ struct{} `type:"structure"` - // The requested list of classifier objects. - Classifiers []*Classifier `type:"list"` + // A list of Database objects from the specified catalog. + // + // DatabaseList is a required field + DatabaseList []*Database `type:"list" required:"true"` - // A continuation token. + // A continuation token for paginating the returned list of tokens, returned + // if the current segment of the list is not the last. NextToken *string `type:"string"` } // String returns the string representation -func (s GetClassifiersOutput) String() string { +func (s GetDatabasesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetClassifiersOutput) GoString() string { +func (s GetDatabasesOutput) GoString() string { return s.String() } -// SetClassifiers sets the Classifiers field's value. -func (s *GetClassifiersOutput) SetClassifiers(v []*Classifier) *GetClassifiersOutput { - s.Classifiers = v +// SetDatabaseList sets the DatabaseList field's value. +func (s *GetDatabasesOutput) SetDatabaseList(v []*Database) *GetDatabasesOutput { + s.DatabaseList = v return s } // SetNextToken sets the NextToken field's value. -func (s *GetClassifiersOutput) SetNextToken(v string) *GetClassifiersOutput { +func (s *GetDatabasesOutput) SetNextToken(v string) *GetDatabasesOutput { s.NextToken = &v return s } -type GetConnectionInput struct { +type GetDataflowGraphInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog in which the connection resides. If none is supplied, - // the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` - - // Allow you to retrieve the connection metadata without displaying the password. - // For instance, the AWS Glue console uses this flag to retrieve connections, - // since the console does not display passwords. Set this parameter where the - // caller may not have permission to use the KMS key to decrypt the password, - // but does have permission to access the rest of the connection metadata (that - // is, the other connection properties). - HidePassword *bool `type:"boolean"` - - // The name of the connection definition to retrieve. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // The Python script to transform. + PythonScript *string `type:"string"` } // String returns the string representation -func (s GetConnectionInput) String() string { +func (s GetDataflowGraphInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetConnectionInput) GoString() string { +func (s GetDataflowGraphInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetConnectionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetConnectionInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } +// SetPythonScript sets the PythonScript field's value. +func (s *GetDataflowGraphInput) SetPythonScript(v string) *GetDataflowGraphInput { + s.PythonScript = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +type GetDataflowGraphOutput struct { + _ struct{} `type:"structure"` + + // A list of the edges in the resulting DAG. + DagEdges []*CodeGenEdge `type:"list"` + + // A list of the nodes in the resulting DAG. + DagNodes []*CodeGenNode `type:"list"` } -// SetCatalogId sets the CatalogId field's value. -func (s *GetConnectionInput) SetCatalogId(v string) *GetConnectionInput { - s.CatalogId = &v - return s +// String returns the string representation +func (s GetDataflowGraphOutput) String() string { + return awsutil.Prettify(s) } -// SetHidePassword sets the HidePassword field's value. -func (s *GetConnectionInput) SetHidePassword(v bool) *GetConnectionInput { - s.HidePassword = &v +// GoString returns the string representation +func (s GetDataflowGraphOutput) GoString() string { + return s.String() +} + +// SetDagEdges sets the DagEdges field's value. +func (s *GetDataflowGraphOutput) SetDagEdges(v []*CodeGenEdge) *GetDataflowGraphOutput { + s.DagEdges = v return s } -// SetName sets the Name field's value. -func (s *GetConnectionInput) SetName(v string) *GetConnectionInput { - s.Name = &v +// SetDagNodes sets the DagNodes field's value. +func (s *GetDataflowGraphOutput) SetDagNodes(v []*CodeGenNode) *GetDataflowGraphOutput { + s.DagNodes = v return s } -type GetConnectionOutput struct { +type GetDevEndpointInput struct { _ struct{} `type:"structure"` - // The requested connection definition. - Connection *Connection `type:"structure"` + // Name of the DevEndpoint for which to retrieve information. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` } // String returns the string representation -func (s GetConnectionOutput) String() string { +func (s GetDevEndpointInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetConnectionOutput) GoString() string { +func (s GetDevEndpointInput) GoString() string { return s.String() } -// SetConnection sets the Connection field's value. -func (s *GetConnectionOutput) SetConnection(v *Connection) *GetConnectionOutput { - s.Connection = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDevEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDevEndpointInput"} + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointName sets the EndpointName field's value. +func (s *GetDevEndpointInput) SetEndpointName(v string) *GetDevEndpointInput { + s.EndpointName = &v return s } -// Filters the connection definitions returned by the GetConnections API. -type GetConnectionsFilter struct { +type GetDevEndpointOutput struct { _ struct{} `type:"structure"` - // The type of connections to return. Currently, only JDBC is supported; SFTP - // is not supported. - ConnectionType *string `type:"string" enum:"ConnectionType"` - - // A criteria string that must match the criteria recorded in the connection - // definition for that connection definition to be returned. - MatchCriteria []*string `type:"list"` + // A DevEndpoint definition. + DevEndpoint *DevEndpoint `type:"structure"` } // String returns the string representation -func (s GetConnectionsFilter) String() string { +func (s GetDevEndpointOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetConnectionsFilter) GoString() string { +func (s GetDevEndpointOutput) GoString() string { return s.String() } -// SetConnectionType sets the ConnectionType field's value. -func (s *GetConnectionsFilter) SetConnectionType(v string) *GetConnectionsFilter { - s.ConnectionType = &v - return s -} - -// SetMatchCriteria sets the MatchCriteria field's value. -func (s *GetConnectionsFilter) SetMatchCriteria(v []*string) *GetConnectionsFilter { - s.MatchCriteria = v +// SetDevEndpoint sets the DevEndpoint field's value. +func (s *GetDevEndpointOutput) SetDevEndpoint(v *DevEndpoint) *GetDevEndpointOutput { + s.DevEndpoint = v return s } -type GetConnectionsInput struct { +type GetDevEndpointsInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog in which the connections reside. If none is supplied, - // the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` - - // A filter that controls which connections will be returned. - Filter *GetConnectionsFilter `type:"structure"` - - // Allow you to retrieve the connection metadata without displaying the password. - // For instance, the AWS Glue console uses this flag to retrieve connections, - // since the console does not display passwords. Set this parameter where the - // caller may not have permission to use the KMS key to decrypt the password, - // but does have permission to access the rest of the connection metadata (that - // is, the other connection properties). - HidePassword *bool `type:"boolean"` - - // The maximum number of connections to return in one response. + // The maximum size of information to return. MaxResults *int64 `min:"1" type:"integer"` // A continuation token, if this is a continuation call. @@ -14249,21 +16549,18 @@ type GetConnectionsInput struct { } // String returns the string representation -func (s GetConnectionsInput) String() string { +func (s GetDevEndpointsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetConnectionsInput) GoString() string { +func (s GetDevEndpointsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetConnectionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetConnectionsInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } +func (s *GetDevEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDevEndpointsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -14274,96 +16571,155 @@ func (s *GetConnectionsInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *GetConnectionsInput) SetCatalogId(v string) *GetConnectionsInput { - s.CatalogId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *GetDevEndpointsInput) SetMaxResults(v int64) *GetDevEndpointsInput { + s.MaxResults = &v return s } -// SetFilter sets the Filter field's value. -func (s *GetConnectionsInput) SetFilter(v *GetConnectionsFilter) *GetConnectionsInput { - s.Filter = v +// SetNextToken sets the NextToken field's value. +func (s *GetDevEndpointsInput) SetNextToken(v string) *GetDevEndpointsInput { + s.NextToken = &v return s } -// SetHidePassword sets the HidePassword field's value. -func (s *GetConnectionsInput) SetHidePassword(v bool) *GetConnectionsInput { - s.HidePassword = &v - return s +type GetDevEndpointsOutput struct { + _ struct{} `type:"structure"` + + // A list of DevEndpoint definitions. + DevEndpoints []*DevEndpoint `type:"list"` + + // A continuation token, if not all DevEndpoint definitions have yet been returned. + NextToken *string `type:"string"` } -// SetMaxResults sets the MaxResults field's value. -func (s *GetConnectionsInput) SetMaxResults(v int64) *GetConnectionsInput { - s.MaxResults = &v +// String returns the string representation +func (s GetDevEndpointsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDevEndpointsOutput) GoString() string { + return s.String() +} + +// SetDevEndpoints sets the DevEndpoints field's value. +func (s *GetDevEndpointsOutput) SetDevEndpoints(v []*DevEndpoint) *GetDevEndpointsOutput { + s.DevEndpoints = v return s } // SetNextToken sets the NextToken field's value. -func (s *GetConnectionsInput) SetNextToken(v string) *GetConnectionsInput { +func (s *GetDevEndpointsOutput) SetNextToken(v string) *GetDevEndpointsOutput { s.NextToken = &v return s } -type GetConnectionsOutput struct { +type GetJobInput struct { + _ struct{} `type:"structure"` + + // The name of the job definition to retrieve. + // + // JobName is a required field + JobName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJobInput"} + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) + } + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobName sets the JobName field's value. +func (s *GetJobInput) SetJobName(v string) *GetJobInput { + s.JobName = &v + return s +} + +type GetJobOutput struct { _ struct{} `type:"structure"` - // A list of requested connection definitions. - ConnectionList []*Connection `type:"list"` - - // A continuation token, if the list of connections returned does not include - // the last of the filtered connections. - NextToken *string `type:"string"` + // The requested job definition. + Job *Job `type:"structure"` } // String returns the string representation -func (s GetConnectionsOutput) String() string { +func (s GetJobOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetConnectionsOutput) GoString() string { +func (s GetJobOutput) GoString() string { return s.String() } -// SetConnectionList sets the ConnectionList field's value. -func (s *GetConnectionsOutput) SetConnectionList(v []*Connection) *GetConnectionsOutput { - s.ConnectionList = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *GetConnectionsOutput) SetNextToken(v string) *GetConnectionsOutput { - s.NextToken = &v +// SetJob sets the Job field's value. +func (s *GetJobOutput) SetJob(v *Job) *GetJobOutput { + s.Job = v return s } -type GetCrawlerInput struct { +type GetJobRunInput struct { _ struct{} `type:"structure"` - // Name of the crawler to retrieve metadata for. + // Name of the job definition being run. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // JobName is a required field + JobName *string `min:"1" type:"string" required:"true"` + + // True if a list of predecessor runs should be returned. + PredecessorsIncluded *bool `type:"boolean"` + + // The ID of the job run. + // + // RunId is a required field + RunId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetCrawlerInput) String() string { +func (s GetJobRunInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCrawlerInput) GoString() string { +func (s GetJobRunInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCrawlerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCrawlerInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *GetJobRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJobRunInput"} + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + if s.RunId == nil { + invalidParams.Add(request.NewErrParamRequired("RunId")) + } + if s.RunId != nil && len(*s.RunId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RunId", 1)) } if invalidParams.Len() > 0 { @@ -14372,19 +16728,56 @@ func (s *GetCrawlerInput) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *GetCrawlerInput) SetName(v string) *GetCrawlerInput { - s.Name = &v +// SetJobName sets the JobName field's value. +func (s *GetJobRunInput) SetJobName(v string) *GetJobRunInput { + s.JobName = &v return s } -type GetCrawlerMetricsInput struct { +// SetPredecessorsIncluded sets the PredecessorsIncluded field's value. +func (s *GetJobRunInput) SetPredecessorsIncluded(v bool) *GetJobRunInput { + s.PredecessorsIncluded = &v + return s +} + +// SetRunId sets the RunId field's value. +func (s *GetJobRunInput) SetRunId(v string) *GetJobRunInput { + s.RunId = &v + return s +} + +type GetJobRunOutput struct { _ struct{} `type:"structure"` - // A list of the names of crawlers about which to retrieve metrics. - CrawlerNameList []*string `type:"list"` + // The requested job-run metadata. + JobRun *JobRun `type:"structure"` +} - // The maximum size of a list to return. +// String returns the string representation +func (s GetJobRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobRunOutput) GoString() string { + return s.String() +} + +// SetJobRun sets the JobRun field's value. +func (s *GetJobRunOutput) SetJobRun(v *JobRun) *GetJobRunOutput { + s.JobRun = v + return s +} + +type GetJobRunsInput struct { + _ struct{} `type:"structure"` + + // The name of the job definition for which to retrieve all job runs. + // + // JobName is a required field + JobName *string `min:"1" type:"string" required:"true"` + + // The maximum size of the response. MaxResults *int64 `min:"1" type:"integer"` // A continuation token, if this is a continuation call. @@ -14392,18 +16785,24 @@ type GetCrawlerMetricsInput struct { } // String returns the string representation -func (s GetCrawlerMetricsInput) String() string { +func (s GetJobRunsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCrawlerMetricsInput) GoString() string { +func (s GetJobRunsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCrawlerMetricsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCrawlerMetricsInput"} +func (s *GetJobRunsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJobRunsInput"} + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) + } + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -14414,103 +16813,79 @@ func (s *GetCrawlerMetricsInput) Validate() error { return nil } -// SetCrawlerNameList sets the CrawlerNameList field's value. -func (s *GetCrawlerMetricsInput) SetCrawlerNameList(v []*string) *GetCrawlerMetricsInput { - s.CrawlerNameList = v +// SetJobName sets the JobName field's value. +func (s *GetJobRunsInput) SetJobName(v string) *GetJobRunsInput { + s.JobName = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *GetCrawlerMetricsInput) SetMaxResults(v int64) *GetCrawlerMetricsInput { +func (s *GetJobRunsInput) SetMaxResults(v int64) *GetJobRunsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *GetCrawlerMetricsInput) SetNextToken(v string) *GetCrawlerMetricsInput { +func (s *GetJobRunsInput) SetNextToken(v string) *GetJobRunsInput { s.NextToken = &v return s } -type GetCrawlerMetricsOutput struct { +type GetJobRunsOutput struct { _ struct{} `type:"structure"` - // A list of metrics for the specified crawler. - CrawlerMetricsList []*CrawlerMetrics `type:"list"` + // A list of job-run metatdata objects. + JobRuns []*JobRun `type:"list"` - // A continuation token, if the returned list does not contain the last metric - // available. + // A continuation token, if not all reequested job runs have been returned. NextToken *string `type:"string"` } // String returns the string representation -func (s GetCrawlerMetricsOutput) String() string { +func (s GetJobRunsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCrawlerMetricsOutput) GoString() string { +func (s GetJobRunsOutput) GoString() string { return s.String() } -// SetCrawlerMetricsList sets the CrawlerMetricsList field's value. -func (s *GetCrawlerMetricsOutput) SetCrawlerMetricsList(v []*CrawlerMetrics) *GetCrawlerMetricsOutput { - s.CrawlerMetricsList = v +// SetJobRuns sets the JobRuns field's value. +func (s *GetJobRunsOutput) SetJobRuns(v []*JobRun) *GetJobRunsOutput { + s.JobRuns = v return s } // SetNextToken sets the NextToken field's value. -func (s *GetCrawlerMetricsOutput) SetNextToken(v string) *GetCrawlerMetricsOutput { +func (s *GetJobRunsOutput) SetNextToken(v string) *GetJobRunsOutput { s.NextToken = &v return s } -type GetCrawlerOutput struct { - _ struct{} `type:"structure"` - - // The metadata for the specified crawler. - Crawler *Crawler `type:"structure"` -} - -// String returns the string representation -func (s GetCrawlerOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetCrawlerOutput) GoString() string { - return s.String() -} - -// SetCrawler sets the Crawler field's value. -func (s *GetCrawlerOutput) SetCrawler(v *Crawler) *GetCrawlerOutput { - s.Crawler = v - return s -} - -type GetCrawlersInput struct { +type GetJobsInput struct { _ struct{} `type:"structure"` - // The number of crawlers to return on each call. + // The maximum size of the response. MaxResults *int64 `min:"1" type:"integer"` - // A continuation token, if this is a continuation request. + // A continuation token, if this is a continuation call. NextToken *string `type:"string"` } // String returns the string representation -func (s GetCrawlersInput) String() string { +func (s GetJobsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCrawlersInput) GoString() string { +func (s GetJobsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCrawlersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCrawlersInput"} +func (s *GetJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJobsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -14522,73 +16897,99 @@ func (s *GetCrawlersInput) Validate() error { } // SetMaxResults sets the MaxResults field's value. -func (s *GetCrawlersInput) SetMaxResults(v int64) *GetCrawlersInput { +func (s *GetJobsInput) SetMaxResults(v int64) *GetJobsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *GetCrawlersInput) SetNextToken(v string) *GetCrawlersInput { +func (s *GetJobsInput) SetNextToken(v string) *GetJobsInput { s.NextToken = &v return s } -type GetCrawlersOutput struct { +type GetJobsOutput struct { _ struct{} `type:"structure"` - // A list of crawler metadata. - Crawlers []*Crawler `type:"list"` + // A list of job definitions. + Jobs []*Job `type:"list"` - // A continuation token, if the returned list has not reached the end of those - // defined in this customer account. + // A continuation token, if not all job definitions have yet been returned. NextToken *string `type:"string"` } // String returns the string representation -func (s GetCrawlersOutput) String() string { +func (s GetJobsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCrawlersOutput) GoString() string { +func (s GetJobsOutput) GoString() string { return s.String() } -// SetCrawlers sets the Crawlers field's value. -func (s *GetCrawlersOutput) SetCrawlers(v []*Crawler) *GetCrawlersOutput { - s.Crawlers = v +// SetJobs sets the Jobs field's value. +func (s *GetJobsOutput) SetJobs(v []*Job) *GetJobsOutput { + s.Jobs = v return s } // SetNextToken sets the NextToken field's value. -func (s *GetCrawlersOutput) SetNextToken(v string) *GetCrawlersOutput { +func (s *GetJobsOutput) SetNextToken(v string) *GetJobsOutput { s.NextToken = &v return s } -type GetDataCatalogEncryptionSettingsInput struct { +type GetMappingInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog for which to retrieve the security configuration. - // If none is supplied, the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` + // Parameters for the mapping. + Location *Location `type:"structure"` + + // A list of target tables. + Sinks []*CatalogEntry `type:"list"` + + // Specifies the source table. + // + // Source is a required field + Source *CatalogEntry `type:"structure" required:"true"` } // String returns the string representation -func (s GetDataCatalogEncryptionSettingsInput) String() string { +func (s GetMappingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDataCatalogEncryptionSettingsInput) GoString() string { +func (s GetMappingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDataCatalogEncryptionSettingsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDataCatalogEncryptionSettingsInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) +func (s *GetMappingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMappingInput"} + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.Location != nil { + if err := s.Location.Validate(); err != nil { + invalidParams.AddNested("Location", err.(request.ErrInvalidParams)) + } + } + if s.Sinks != nil { + for i, v := range s.Sinks { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sinks", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Source != nil { + if err := s.Source.Validate(); err != nil { + invalidParams.AddNested("Source", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -14597,70 +16998,102 @@ func (s *GetDataCatalogEncryptionSettingsInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *GetDataCatalogEncryptionSettingsInput) SetCatalogId(v string) *GetDataCatalogEncryptionSettingsInput { - s.CatalogId = &v +// SetLocation sets the Location field's value. +func (s *GetMappingInput) SetLocation(v *Location) *GetMappingInput { + s.Location = v return s } -type GetDataCatalogEncryptionSettingsOutput struct { +// SetSinks sets the Sinks field's value. +func (s *GetMappingInput) SetSinks(v []*CatalogEntry) *GetMappingInput { + s.Sinks = v + return s +} + +// SetSource sets the Source field's value. +func (s *GetMappingInput) SetSource(v *CatalogEntry) *GetMappingInput { + s.Source = v + return s +} + +type GetMappingOutput struct { _ struct{} `type:"structure"` - // The requested security configuration. - DataCatalogEncryptionSettings *DataCatalogEncryptionSettings `type:"structure"` + // A list of mappings to the specified targets. + // + // Mapping is a required field + Mapping []*MappingEntry `type:"list" required:"true"` } // String returns the string representation -func (s GetDataCatalogEncryptionSettingsOutput) String() string { +func (s GetMappingOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDataCatalogEncryptionSettingsOutput) GoString() string { +func (s GetMappingOutput) GoString() string { return s.String() } -// SetDataCatalogEncryptionSettings sets the DataCatalogEncryptionSettings field's value. -func (s *GetDataCatalogEncryptionSettingsOutput) SetDataCatalogEncryptionSettings(v *DataCatalogEncryptionSettings) *GetDataCatalogEncryptionSettingsOutput { - s.DataCatalogEncryptionSettings = v +// SetMapping sets the Mapping field's value. +func (s *GetMappingOutput) SetMapping(v []*MappingEntry) *GetMappingOutput { + s.Mapping = v return s } -type GetDatabaseInput struct { +type GetPartitionInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog in which the database resides. If none is supplied, - // the AWS account ID is used by default. + // The ID of the Data Catalog where the partition in question resides. If none + // is supplied, the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the database to retrieve. For Hive compatibility, this should - // be all lowercase. + // The name of the catalog database where the partition resides. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The values that define the partition. + // + // PartitionValues is a required field + PartitionValues []*string `type:"list" required:"true"` + + // The name of the partition's table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetDatabaseInput) String() string { +func (s GetPartitionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDatabaseInput) GoString() string { +func (s GetPartitionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDatabaseInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDatabaseInput"} +func (s *GetPartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPartitionInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionValues == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionValues")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -14670,73 +17103,188 @@ func (s *GetDatabaseInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *GetDatabaseInput) SetCatalogId(v string) *GetDatabaseInput { +func (s *GetPartitionInput) SetCatalogId(v string) *GetPartitionInput { s.CatalogId = &v return s } -// SetName sets the Name field's value. -func (s *GetDatabaseInput) SetName(v string) *GetDatabaseInput { - s.Name = &v +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetPartitionInput) SetDatabaseName(v string) *GetPartitionInput { + s.DatabaseName = &v return s } -type GetDatabaseOutput struct { +// SetPartitionValues sets the PartitionValues field's value. +func (s *GetPartitionInput) SetPartitionValues(v []*string) *GetPartitionInput { + s.PartitionValues = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GetPartitionInput) SetTableName(v string) *GetPartitionInput { + s.TableName = &v + return s +} + +type GetPartitionOutput struct { _ struct{} `type:"structure"` - // The definition of the specified database in the catalog. - Database *Database `type:"structure"` + // The requested information, in the form of a Partition object. + Partition *Partition `type:"structure"` } // String returns the string representation -func (s GetDatabaseOutput) String() string { +func (s GetPartitionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDatabaseOutput) GoString() string { +func (s GetPartitionOutput) GoString() string { return s.String() } -// SetDatabase sets the Database field's value. -func (s *GetDatabaseOutput) SetDatabase(v *Database) *GetDatabaseOutput { - s.Database = v +// SetPartition sets the Partition field's value. +func (s *GetPartitionOutput) SetPartition(v *Partition) *GetPartitionOutput { + s.Partition = v return s } -type GetDatabasesInput struct { +type GetPartitionsInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog from which to retrieve Databases. If none is supplied, - // the AWS account ID is used by default. + // The ID of the Data Catalog where the partitions in question reside. If none + // is supplied, the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The maximum number of databases to return in one response. + // The name of the catalog database where the partitions reside. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // An expression filtering the partitions to be returned. + // + // The expression uses SQL syntax similar to the SQL WHERE filter clause. The + // SQL statement parser JSQLParser (http://jsqlparser.sourceforge.net/home.php) + // parses the expression. + // + // Operators: The following are the operators that you can use in the Expression + // API call: + // + // =Checks if the values of the two operands are equal or not; if yes, then + // the condition becomes true. + // + // Example: Assume 'variable a' holds 10 and 'variable b' holds 20. + // + // (a = b) is not true. + // + // < >Checks if the values of two operands are equal or not; if the values are + // not equal, then the condition becomes true. + // + // Example: (a < > b) is true. + // + // >Checks if the value of the left operand is greater than the value of the + // right operand; if yes, then the condition becomes true. + // + // Example: (a > b) is not true. + // + // =Checks if the value of the left operand is greater than or equal to the + // value of the right operand; if yes, then the condition becomes true. + // + // Example: (a >= b) is not true. + // + // <=Checks if the value of the left operand is less than or equal to the value + // of the right operand; if yes, then the condition becomes true. + // + // Example: (a <= b) is true. + // + // AND, OR, IN, BETWEEN, LIKE, NOT, IS NULLLogical operators. + // + // Supported Partition Key Types: The following are the the supported partition + // keys. + // + // * string + // + // * date + // + // * timestamp + // + // * int + // + // * bigint + // + // * long + // + // * tinyint + // + // * smallint + // + // * decimal + // + // If an invalid type is encountered, an exception is thrown. + // + // The following list shows the valid operators on each type. When you define + // a crawler, the partitionKey type is created as a STRING, to be compatible + // with the catalog partitions. + // + // Sample API Call: + Expression *string `type:"string"` + + // The maximum number of partitions to return in a single response. MaxResults *int64 `min:"1" type:"integer"` - // A continuation token, if this is a continuation call. + // A continuation token, if this is not the first call to retrieve these partitions. NextToken *string `type:"string"` + + // The segment of the table's partitions to scan in this request. + Segment *Segment `type:"structure"` + + // The name of the partitions' table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetDatabasesInput) String() string { +func (s GetPartitionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDatabasesInput) GoString() string { +func (s GetPartitionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDatabasesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDatabasesInput"} +func (s *GetPartitionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPartitionsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.Segment != nil { + if err := s.Segment.Validate(); err != nil { + invalidParams.AddNested("Segment", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -14745,199 +17293,141 @@ func (s *GetDatabasesInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *GetDatabasesInput) SetCatalogId(v string) *GetDatabasesInput { +func (s *GetPartitionsInput) SetCatalogId(v string) *GetPartitionsInput { s.CatalogId = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *GetDatabasesInput) SetMaxResults(v int64) *GetDatabasesInput { - s.MaxResults = &v +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetPartitionsInput) SetDatabaseName(v string) *GetPartitionsInput { + s.DatabaseName = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *GetDatabasesInput) SetNextToken(v string) *GetDatabasesInput { - s.NextToken = &v +// SetExpression sets the Expression field's value. +func (s *GetPartitionsInput) SetExpression(v string) *GetPartitionsInput { + s.Expression = &v return s } -type GetDatabasesOutput struct { - _ struct{} `type:"structure"` - - // A list of Database objects from the specified catalog. - // - // DatabaseList is a required field - DatabaseList []*Database `type:"list" required:"true"` - - // A continuation token for paginating the returned list of tokens, returned - // if the current segment of the list is not the last. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s GetDatabasesOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetDatabasesOutput) GoString() string { - return s.String() -} - -// SetDatabaseList sets the DatabaseList field's value. -func (s *GetDatabasesOutput) SetDatabaseList(v []*Database) *GetDatabasesOutput { - s.DatabaseList = v +// SetMaxResults sets the MaxResults field's value. +func (s *GetPartitionsInput) SetMaxResults(v int64) *GetPartitionsInput { + s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *GetDatabasesOutput) SetNextToken(v string) *GetDatabasesOutput { +func (s *GetPartitionsInput) SetNextToken(v string) *GetPartitionsInput { s.NextToken = &v return s } -type GetDataflowGraphInput struct { - _ struct{} `type:"structure"` - - // The Python script to transform. - PythonScript *string `type:"string"` -} - -// String returns the string representation -func (s GetDataflowGraphInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetDataflowGraphInput) GoString() string { - return s.String() +// SetSegment sets the Segment field's value. +func (s *GetPartitionsInput) SetSegment(v *Segment) *GetPartitionsInput { + s.Segment = v + return s } -// SetPythonScript sets the PythonScript field's value. -func (s *GetDataflowGraphInput) SetPythonScript(v string) *GetDataflowGraphInput { - s.PythonScript = &v +// SetTableName sets the TableName field's value. +func (s *GetPartitionsInput) SetTableName(v string) *GetPartitionsInput { + s.TableName = &v return s } -type GetDataflowGraphOutput struct { +type GetPartitionsOutput struct { _ struct{} `type:"structure"` - // A list of the edges in the resulting DAG. - DagEdges []*CodeGenEdge `type:"list"` + // A continuation token, if the returned list of partitions does not does not + // include the last one. + NextToken *string `type:"string"` - // A list of the nodes in the resulting DAG. - DagNodes []*CodeGenNode `type:"list"` + // A list of requested partitions. + Partitions []*Partition `type:"list"` } // String returns the string representation -func (s GetDataflowGraphOutput) String() string { +func (s GetPartitionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDataflowGraphOutput) GoString() string { +func (s GetPartitionsOutput) GoString() string { return s.String() } -// SetDagEdges sets the DagEdges field's value. -func (s *GetDataflowGraphOutput) SetDagEdges(v []*CodeGenEdge) *GetDataflowGraphOutput { - s.DagEdges = v - return s -} - -// SetDagNodes sets the DagNodes field's value. -func (s *GetDataflowGraphOutput) SetDagNodes(v []*CodeGenNode) *GetDataflowGraphOutput { - s.DagNodes = v +// SetNextToken sets the NextToken field's value. +func (s *GetPartitionsOutput) SetNextToken(v string) *GetPartitionsOutput { + s.NextToken = &v return s } -type GetDevEndpointInput struct { - _ struct{} `type:"structure"` - - // Name of the DevEndpoint for which to retrieve information. - // - // EndpointName is a required field - EndpointName *string `type:"string" required:"true"` -} - -// String returns the string representation -func (s GetDevEndpointInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetDevEndpointInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetDevEndpointInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDevEndpointInput"} - if s.EndpointName == nil { - invalidParams.Add(request.NewErrParamRequired("EndpointName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetEndpointName sets the EndpointName field's value. -func (s *GetDevEndpointInput) SetEndpointName(v string) *GetDevEndpointInput { - s.EndpointName = &v +// SetPartitions sets the Partitions field's value. +func (s *GetPartitionsOutput) SetPartitions(v []*Partition) *GetPartitionsOutput { + s.Partitions = v return s } -type GetDevEndpointOutput struct { +type GetPlanInput struct { _ struct{} `type:"structure"` - // A DevEndpoint definition. - DevEndpoint *DevEndpoint `type:"structure"` -} - -// String returns the string representation -func (s GetDevEndpointOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetDevEndpointOutput) GoString() string { - return s.String() -} + // The programming language of the code to perform the mapping. + Language *string `type:"string" enum:"Language"` -// SetDevEndpoint sets the DevEndpoint field's value. -func (s *GetDevEndpointOutput) SetDevEndpoint(v *DevEndpoint) *GetDevEndpointOutput { - s.DevEndpoint = v - return s -} + // Parameters for the mapping. + Location *Location `type:"structure"` -type GetDevEndpointsInput struct { - _ struct{} `type:"structure"` + // The list of mappings from a source table to target tables. + // + // Mapping is a required field + Mapping []*MappingEntry `type:"list" required:"true"` - // The maximum size of information to return. - MaxResults *int64 `min:"1" type:"integer"` + // The target tables. + Sinks []*CatalogEntry `type:"list"` - // A continuation token, if this is a continuation call. - NextToken *string `type:"string"` + // The source table. + // + // Source is a required field + Source *CatalogEntry `type:"structure" required:"true"` } // String returns the string representation -func (s GetDevEndpointsInput) String() string { +func (s GetPlanInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDevEndpointsInput) GoString() string { +func (s GetPlanInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDevEndpointsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDevEndpointsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *GetPlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPlanInput"} + if s.Mapping == nil { + invalidParams.Add(request.NewErrParamRequired("Mapping")) + } + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.Location != nil { + if err := s.Location.Validate(); err != nil { + invalidParams.AddNested("Location", err.(request.ErrInvalidParams)) + } + } + if s.Sinks != nil { + for i, v := range s.Sinks { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sinks", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Source != nil { + if err := s.Source.Validate(); err != nil { + invalidParams.AddNested("Source", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -14946,240 +17436,159 @@ func (s *GetDevEndpointsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *GetDevEndpointsInput) SetMaxResults(v int64) *GetDevEndpointsInput { - s.MaxResults = &v +// SetLanguage sets the Language field's value. +func (s *GetPlanInput) SetLanguage(v string) *GetPlanInput { + s.Language = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *GetDevEndpointsInput) SetNextToken(v string) *GetDevEndpointsInput { - s.NextToken = &v +// SetLocation sets the Location field's value. +func (s *GetPlanInput) SetLocation(v *Location) *GetPlanInput { + s.Location = v return s } -type GetDevEndpointsOutput struct { - _ struct{} `type:"structure"` - - // A list of DevEndpoint definitions. - DevEndpoints []*DevEndpoint `type:"list"` - - // A continuation token, if not all DevEndpoint definitions have yet been returned. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s GetDevEndpointsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetDevEndpointsOutput) GoString() string { - return s.String() +// SetMapping sets the Mapping field's value. +func (s *GetPlanInput) SetMapping(v []*MappingEntry) *GetPlanInput { + s.Mapping = v + return s } -// SetDevEndpoints sets the DevEndpoints field's value. -func (s *GetDevEndpointsOutput) SetDevEndpoints(v []*DevEndpoint) *GetDevEndpointsOutput { - s.DevEndpoints = v +// SetSinks sets the Sinks field's value. +func (s *GetPlanInput) SetSinks(v []*CatalogEntry) *GetPlanInput { + s.Sinks = v return s } -// SetNextToken sets the NextToken field's value. -func (s *GetDevEndpointsOutput) SetNextToken(v string) *GetDevEndpointsOutput { - s.NextToken = &v +// SetSource sets the Source field's value. +func (s *GetPlanInput) SetSource(v *CatalogEntry) *GetPlanInput { + s.Source = v return s } -type GetJobInput struct { +type GetPlanOutput struct { _ struct{} `type:"structure"` - // The name of the job definition to retrieve. - // - // JobName is a required field - JobName *string `min:"1" type:"string" required:"true"` + // A Python script to perform the mapping. + PythonScript *string `type:"string"` + + // Scala code to perform the mapping. + ScalaCode *string `type:"string"` } // String returns the string representation -func (s GetJobInput) String() string { +func (s GetPlanOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetJobInput) GoString() string { +func (s GetPlanOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetJobInput"} - if s.JobName == nil { - invalidParams.Add(request.NewErrParamRequired("JobName")) - } - if s.JobName != nil && len(*s.JobName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetPythonScript sets the PythonScript field's value. +func (s *GetPlanOutput) SetPythonScript(v string) *GetPlanOutput { + s.PythonScript = &v + return s } -// SetJobName sets the JobName field's value. -func (s *GetJobInput) SetJobName(v string) *GetJobInput { - s.JobName = &v +// SetScalaCode sets the ScalaCode field's value. +func (s *GetPlanOutput) SetScalaCode(v string) *GetPlanOutput { + s.ScalaCode = &v return s } -type GetJobOutput struct { +type GetResourcePolicyInput struct { _ struct{} `type:"structure"` - - // The requested job definition. - Job *Job `type:"structure"` } // String returns the string representation -func (s GetJobOutput) String() string { +func (s GetResourcePolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetJobOutput) GoString() string { +func (s GetResourcePolicyInput) GoString() string { return s.String() } -// SetJob sets the Job field's value. -func (s *GetJobOutput) SetJob(v *Job) *GetJobOutput { - s.Job = v - return s -} - -type GetJobRunInput struct { +type GetResourcePolicyOutput struct { _ struct{} `type:"structure"` - // Name of the job definition being run. - // - // JobName is a required field - JobName *string `min:"1" type:"string" required:"true"` + // The date and time at which the policy was created. + CreateTime *time.Time `type:"timestamp"` - // True if a list of predecessor runs should be returned. - PredecessorsIncluded *bool `type:"boolean"` + // Contains the hash value associated with this policy. + PolicyHash *string `min:"1" type:"string"` - // The ID of the job run. - // - // RunId is a required field - RunId *string `min:"1" type:"string" required:"true"` + // Contains the requested policy document, in JSON format. + PolicyInJson *string `min:"2" type:"string"` + + // The date and time at which the policy was last updated. + UpdateTime *time.Time `type:"timestamp"` } // String returns the string representation -func (s GetJobRunInput) String() string { +func (s GetResourcePolicyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetJobRunInput) GoString() string { +func (s GetResourcePolicyOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetJobRunInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetJobRunInput"} - if s.JobName == nil { - invalidParams.Add(request.NewErrParamRequired("JobName")) - } - if s.JobName != nil && len(*s.JobName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) - } - if s.RunId == nil { - invalidParams.Add(request.NewErrParamRequired("RunId")) - } - if s.RunId != nil && len(*s.RunId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RunId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetJobName sets the JobName field's value. -func (s *GetJobRunInput) SetJobName(v string) *GetJobRunInput { - s.JobName = &v +// SetCreateTime sets the CreateTime field's value. +func (s *GetResourcePolicyOutput) SetCreateTime(v time.Time) *GetResourcePolicyOutput { + s.CreateTime = &v return s } -// SetPredecessorsIncluded sets the PredecessorsIncluded field's value. -func (s *GetJobRunInput) SetPredecessorsIncluded(v bool) *GetJobRunInput { - s.PredecessorsIncluded = &v +// SetPolicyHash sets the PolicyHash field's value. +func (s *GetResourcePolicyOutput) SetPolicyHash(v string) *GetResourcePolicyOutput { + s.PolicyHash = &v return s } -// SetRunId sets the RunId field's value. -func (s *GetJobRunInput) SetRunId(v string) *GetJobRunInput { - s.RunId = &v +// SetPolicyInJson sets the PolicyInJson field's value. +func (s *GetResourcePolicyOutput) SetPolicyInJson(v string) *GetResourcePolicyOutput { + s.PolicyInJson = &v return s } -type GetJobRunOutput struct { - _ struct{} `type:"structure"` - - // The requested job-run metadata. - JobRun *JobRun `type:"structure"` -} - -// String returns the string representation -func (s GetJobRunOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetJobRunOutput) GoString() string { - return s.String() -} - -// SetJobRun sets the JobRun field's value. -func (s *GetJobRunOutput) SetJobRun(v *JobRun) *GetJobRunOutput { - s.JobRun = v +// SetUpdateTime sets the UpdateTime field's value. +func (s *GetResourcePolicyOutput) SetUpdateTime(v time.Time) *GetResourcePolicyOutput { + s.UpdateTime = &v return s } -type GetJobRunsInput struct { +type GetSecurityConfigurationInput struct { _ struct{} `type:"structure"` - // The name of the job definition for which to retrieve all job runs. + // The name of the security configuration to retrieve. // - // JobName is a required field - JobName *string `min:"1" type:"string" required:"true"` - - // The maximum size of the response. - MaxResults *int64 `min:"1" type:"integer"` - - // A continuation token, if this is a continuation call. - NextToken *string `type:"string"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetJobRunsInput) String() string { +func (s GetSecurityConfigurationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetJobRunsInput) GoString() string { +func (s GetSecurityConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetJobRunsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetJobRunsInput"} - if s.JobName == nil { - invalidParams.Add(request.NewErrParamRequired("JobName")) - } - if s.JobName != nil && len(*s.JobName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) +func (s *GetSecurityConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSecurityConfigurationInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { @@ -15188,60 +17597,39 @@ func (s *GetJobRunsInput) Validate() error { return nil } -// SetJobName sets the JobName field's value. -func (s *GetJobRunsInput) SetJobName(v string) *GetJobRunsInput { - s.JobName = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *GetJobRunsInput) SetMaxResults(v int64) *GetJobRunsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *GetJobRunsInput) SetNextToken(v string) *GetJobRunsInput { - s.NextToken = &v +// SetName sets the Name field's value. +func (s *GetSecurityConfigurationInput) SetName(v string) *GetSecurityConfigurationInput { + s.Name = &v return s } -type GetJobRunsOutput struct { +type GetSecurityConfigurationOutput struct { _ struct{} `type:"structure"` - // A list of job-run metatdata objects. - JobRuns []*JobRun `type:"list"` - - // A continuation token, if not all reequested job runs have been returned. - NextToken *string `type:"string"` + // The requested security configuration + SecurityConfiguration *SecurityConfiguration `type:"structure"` } // String returns the string representation -func (s GetJobRunsOutput) String() string { +func (s GetSecurityConfigurationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetJobRunsOutput) GoString() string { +func (s GetSecurityConfigurationOutput) GoString() string { return s.String() } -// SetJobRuns sets the JobRuns field's value. -func (s *GetJobRunsOutput) SetJobRuns(v []*JobRun) *GetJobRunsOutput { - s.JobRuns = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *GetJobRunsOutput) SetNextToken(v string) *GetJobRunsOutput { - s.NextToken = &v +// SetSecurityConfiguration sets the SecurityConfiguration field's value. +func (s *GetSecurityConfigurationOutput) SetSecurityConfiguration(v *SecurityConfiguration) *GetSecurityConfigurationOutput { + s.SecurityConfiguration = v return s } -type GetJobsInput struct { +type GetSecurityConfigurationsInput struct { _ struct{} `type:"structure"` - // The maximum size of the response. + // The maximum number of results to return. MaxResults *int64 `min:"1" type:"integer"` // A continuation token, if this is a continuation call. @@ -15249,18 +17637,18 @@ type GetJobsInput struct { } // String returns the string representation -func (s GetJobsInput) String() string { +func (s GetSecurityConfigurationsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetJobsInput) GoString() string { +func (s GetSecurityConfigurationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetJobsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetJobsInput"} +func (s *GetSecurityConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSecurityConfigurationsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -15272,99 +17660,96 @@ func (s *GetJobsInput) Validate() error { } // SetMaxResults sets the MaxResults field's value. -func (s *GetJobsInput) SetMaxResults(v int64) *GetJobsInput { +func (s *GetSecurityConfigurationsInput) SetMaxResults(v int64) *GetSecurityConfigurationsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *GetJobsInput) SetNextToken(v string) *GetJobsInput { +func (s *GetSecurityConfigurationsInput) SetNextToken(v string) *GetSecurityConfigurationsInput { s.NextToken = &v return s } -type GetJobsOutput struct { +type GetSecurityConfigurationsOutput struct { _ struct{} `type:"structure"` - // A list of job definitions. - Jobs []*Job `type:"list"` - - // A continuation token, if not all job definitions have yet been returned. + // A continuation token, if there are more security configurations to return. NextToken *string `type:"string"` + + // A list of security configurations. + SecurityConfigurations []*SecurityConfiguration `type:"list"` } // String returns the string representation -func (s GetJobsOutput) String() string { +func (s GetSecurityConfigurationsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetJobsOutput) GoString() string { +func (s GetSecurityConfigurationsOutput) GoString() string { return s.String() } -// SetJobs sets the Jobs field's value. -func (s *GetJobsOutput) SetJobs(v []*Job) *GetJobsOutput { - s.Jobs = v +// SetNextToken sets the NextToken field's value. +func (s *GetSecurityConfigurationsOutput) SetNextToken(v string) *GetSecurityConfigurationsOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *GetJobsOutput) SetNextToken(v string) *GetJobsOutput { - s.NextToken = &v +// SetSecurityConfigurations sets the SecurityConfigurations field's value. +func (s *GetSecurityConfigurationsOutput) SetSecurityConfigurations(v []*SecurityConfiguration) *GetSecurityConfigurationsOutput { + s.SecurityConfigurations = v return s } -type GetMappingInput struct { +type GetTableInput struct { _ struct{} `type:"structure"` - // Parameters for the mapping. - Location *Location `type:"structure"` + // The ID of the Data Catalog where the table resides. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` - // A list of target tables. - Sinks []*CatalogEntry `type:"list"` + // The name of the database in the catalog in which the table resides. For Hive + // compatibility, this name is entirely lowercase. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` - // Specifies the source table. + // The name of the table for which to retrieve the definition. For Hive compatibility, + // this name is entirely lowercase. // - // Source is a required field - Source *CatalogEntry `type:"structure" required:"true"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetMappingInput) String() string { +func (s GetTableInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetMappingInput) GoString() string { +func (s GetTableInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetMappingInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetMappingInput"} - if s.Source == nil { - invalidParams.Add(request.NewErrParamRequired("Source")) +func (s *GetTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTableInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.Location != nil { - if err := s.Location.Validate(); err != nil { - invalidParams.AddNested("Location", err.(request.ErrInvalidParams)) - } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } - if s.Sinks != nil { - for i, v := range s.Sinks { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sinks", i), err.(request.ErrInvalidParams)) - } - } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } - if s.Source != nil { - if err := s.Source.Validate(); err != nil { - invalidParams.AddNested("Source", err.(request.ErrInvalidParams)) - } + 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 { @@ -15373,85 +17758,83 @@ func (s *GetMappingInput) Validate() error { return nil } -// SetLocation sets the Location field's value. -func (s *GetMappingInput) SetLocation(v *Location) *GetMappingInput { - s.Location = v +// SetCatalogId sets the CatalogId field's value. +func (s *GetTableInput) SetCatalogId(v string) *GetTableInput { + s.CatalogId = &v return s } -// SetSinks sets the Sinks field's value. -func (s *GetMappingInput) SetSinks(v []*CatalogEntry) *GetMappingInput { - s.Sinks = v +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetTableInput) SetDatabaseName(v string) *GetTableInput { + s.DatabaseName = &v return s } -// SetSource sets the Source field's value. -func (s *GetMappingInput) SetSource(v *CatalogEntry) *GetMappingInput { - s.Source = v +// SetName sets the Name field's value. +func (s *GetTableInput) SetName(v string) *GetTableInput { + s.Name = &v return s } -type GetMappingOutput struct { +type GetTableOutput struct { _ struct{} `type:"structure"` - // A list of mappings to the specified targets. - // - // Mapping is a required field - Mapping []*MappingEntry `type:"list" required:"true"` + // The Table object that defines the specified table. + Table *Table `type:"structure"` } // String returns the string representation -func (s GetMappingOutput) String() string { +func (s GetTableOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetMappingOutput) GoString() string { +func (s GetTableOutput) GoString() string { return s.String() } -// SetMapping sets the Mapping field's value. -func (s *GetMappingOutput) SetMapping(v []*MappingEntry) *GetMappingOutput { - s.Mapping = v +// SetTable sets the Table field's value. +func (s *GetTableOutput) SetTable(v *Table) *GetTableOutput { + s.Table = v return s } -type GetPartitionInput struct { +type GetTableVersionInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog where the partition in question resides. If none - // is supplied, the AWS account ID is used by default. + // The ID of the Data Catalog where the tables reside. If none is supplied, + // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the catalog database where the partition resides. + // The database in the catalog in which the table resides. For Hive compatibility, + // this name is entirely lowercase. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` - // The values that define the partition. - // - // PartitionValues is a required field - PartitionValues []*string `type:"list" required:"true"` - - // The name of the partition's table. + // The name of the table. For Hive compatibility, this name is entirely lowercase. // // TableName is a required field TableName *string `min:"1" type:"string" required:"true"` + + // The ID value of the table version to be retrieved. A VersionID is a string + // representation of an integer. Each version is incremented by 1. + VersionId *string `min:"1" type:"string"` } // String returns the string representation -func (s GetPartitionInput) String() string { +func (s GetTableVersionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPartitionInput) GoString() string { +func (s GetTableVersionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetPartitionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetPartitionInput"} +func (s *GetTableVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTableVersionInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } @@ -15461,15 +17844,15 @@ func (s *GetPartitionInput) Validate() error { if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } - if s.PartitionValues == nil { - invalidParams.Add(request.NewErrParamRequired("PartitionValues")) - } if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } if s.TableName != nil && len(*s.TableName) < 1 { invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } + if s.VersionId != nil && len(*s.VersionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -15478,165 +17861,90 @@ func (s *GetPartitionInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *GetPartitionInput) SetCatalogId(v string) *GetPartitionInput { +func (s *GetTableVersionInput) SetCatalogId(v string) *GetTableVersionInput { s.CatalogId = &v return s } // SetDatabaseName sets the DatabaseName field's value. -func (s *GetPartitionInput) SetDatabaseName(v string) *GetPartitionInput { +func (s *GetTableVersionInput) SetDatabaseName(v string) *GetTableVersionInput { s.DatabaseName = &v return s } -// SetPartitionValues sets the PartitionValues field's value. -func (s *GetPartitionInput) SetPartitionValues(v []*string) *GetPartitionInput { - s.PartitionValues = v - return s -} - // SetTableName sets the TableName field's value. -func (s *GetPartitionInput) SetTableName(v string) *GetPartitionInput { - s.TableName = &v - return s -} - -type GetPartitionOutput struct { - _ struct{} `type:"structure"` - - // The requested information, in the form of a Partition object. - Partition *Partition `type:"structure"` -} - -// String returns the string representation -func (s GetPartitionOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetPartitionOutput) GoString() string { - return s.String() -} - -// SetPartition sets the Partition field's value. -func (s *GetPartitionOutput) SetPartition(v *Partition) *GetPartitionOutput { - s.Partition = v - return s -} - -type GetPartitionsInput struct { - _ struct{} `type:"structure"` - - // The ID of the Data Catalog where the partitions in question reside. If none - // is supplied, the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` - - // The name of the catalog database where the partitions reside. - // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` - - // An expression filtering the partitions to be returned. - // - // The expression uses SQL syntax similar to the SQL WHERE filter clause. The - // SQL statement parser JSQLParser (http://jsqlparser.sourceforge.net/home.php) - // parses the expression. - // - // Operators: The following are the operators that you can use in the Expression - // API call: - // - // =Checks if the values of the two operands are equal or not; if yes, then - // the condition becomes true. - // - // Example: Assume 'variable a' holds 10 and 'variable b' holds 20. - // - // (a = b) is not true. - // - // < >Checks if the values of two operands are equal or not; if the values are - // not equal, then the condition becomes true. - // - // Example: (a < > b) is true. - // - // >Checks if the value of the left operand is greater than the value of the - // right operand; if yes, then the condition becomes true. - // - // Example: (a > b) is not true. - // - // =Checks if the value of the left operand is greater than or equal to the - // value of the right operand; if yes, then the condition becomes true. - // - // Example: (a >= b) is not true. - // - // <=Checks if the value of the left operand is less than or equal to the value - // of the right operand; if yes, then the condition becomes true. - // - // Example: (a <= b) is true. - // - // AND, OR, IN, BETWEEN, LIKE, NOT, IS NULLLogical operators. - // - // Supported Partition Key Types: The following are the the supported partition - // keys. - // - // * string - // - // * date - // - // * timestamp - // - // * int - // - // * bigint - // - // * long - // - // * tinyint - // - // * smallint - // - // * decimal - // - // If an invalid type is encountered, an exception is thrown. - // - // The following list shows the valid operators on each type. When you define - // a crawler, the partitionKey type is created as a STRING, to be compatible - // with the catalog partitions. +func (s *GetTableVersionInput) SetTableName(v string) *GetTableVersionInput { + s.TableName = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *GetTableVersionInput) SetVersionId(v string) *GetTableVersionInput { + s.VersionId = &v + return s +} + +type GetTableVersionOutput struct { + _ struct{} `type:"structure"` + + // The requested table version. + TableVersion *TableVersion `type:"structure"` +} + +// String returns the string representation +func (s GetTableVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTableVersionOutput) GoString() string { + return s.String() +} + +// SetTableVersion sets the TableVersion field's value. +func (s *GetTableVersionOutput) SetTableVersion(v *TableVersion) *GetTableVersionOutput { + s.TableVersion = v + return s +} + +type GetTableVersionsInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the tables reside. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The database in the catalog in which the table resides. For Hive compatibility, + // this name is entirely lowercase. // - // Sample API Call: - Expression *string `type:"string"` + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` - // The maximum number of partitions to return in a single response. + // The maximum number of table versions to return in one response. MaxResults *int64 `min:"1" type:"integer"` - // A continuation token, if this is not the first call to retrieve these partitions. + // A continuation token, if this is not the first call. NextToken *string `type:"string"` - // The segment of the table's partitions to scan in this request. - Segment *Segment `type:"structure"` - - // The name of the partitions' table. + // The name of the table. For Hive compatibility, this name is entirely lowercase. // // TableName is a required field TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetPartitionsInput) String() string { +func (s GetTableVersionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPartitionsInput) GoString() string { +func (s GetTableVersionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetPartitionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetPartitionsInput"} +func (s *GetTableVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTableVersionsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } @@ -15655,11 +17963,6 @@ func (s *GetPartitionsInput) Validate() error { if s.TableName != nil && len(*s.TableName) < 1 { invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } - if s.Segment != nil { - if err := s.Segment.Validate(); err != nil { - invalidParams.AddNested("Segment", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -15668,141 +17971,116 @@ func (s *GetPartitionsInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *GetPartitionsInput) SetCatalogId(v string) *GetPartitionsInput { +func (s *GetTableVersionsInput) SetCatalogId(v string) *GetTableVersionsInput { s.CatalogId = &v return s } // SetDatabaseName sets the DatabaseName field's value. -func (s *GetPartitionsInput) SetDatabaseName(v string) *GetPartitionsInput { +func (s *GetTableVersionsInput) SetDatabaseName(v string) *GetTableVersionsInput { s.DatabaseName = &v return s } -// SetExpression sets the Expression field's value. -func (s *GetPartitionsInput) SetExpression(v string) *GetPartitionsInput { - s.Expression = &v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *GetPartitionsInput) SetMaxResults(v int64) *GetPartitionsInput { +func (s *GetTableVersionsInput) SetMaxResults(v int64) *GetTableVersionsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *GetPartitionsInput) SetNextToken(v string) *GetPartitionsInput { +func (s *GetTableVersionsInput) SetNextToken(v string) *GetTableVersionsInput { s.NextToken = &v return s } -// SetSegment sets the Segment field's value. -func (s *GetPartitionsInput) SetSegment(v *Segment) *GetPartitionsInput { - s.Segment = v - return s -} - // SetTableName sets the TableName field's value. -func (s *GetPartitionsInput) SetTableName(v string) *GetPartitionsInput { +func (s *GetTableVersionsInput) SetTableName(v string) *GetTableVersionsInput { s.TableName = &v return s } -type GetPartitionsOutput struct { +type GetTableVersionsOutput struct { _ struct{} `type:"structure"` - // A continuation token, if the returned list of partitions does not does not - // include the last one. + // A continuation token, if the list of available versions does not include + // the last one. NextToken *string `type:"string"` - // A list of requested partitions. - Partitions []*Partition `type:"list"` + // A list of strings identifying available versions of the specified table. + TableVersions []*TableVersion `type:"list"` } // String returns the string representation -func (s GetPartitionsOutput) String() string { +func (s GetTableVersionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPartitionsOutput) GoString() string { +func (s GetTableVersionsOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *GetPartitionsOutput) SetNextToken(v string) *GetPartitionsOutput { +func (s *GetTableVersionsOutput) SetNextToken(v string) *GetTableVersionsOutput { s.NextToken = &v return s } -// SetPartitions sets the Partitions field's value. -func (s *GetPartitionsOutput) SetPartitions(v []*Partition) *GetPartitionsOutput { - s.Partitions = v +// SetTableVersions sets the TableVersions field's value. +func (s *GetTableVersionsOutput) SetTableVersions(v []*TableVersion) *GetTableVersionsOutput { + s.TableVersions = v return s } -type GetPlanInput struct { +type GetTablesInput struct { _ struct{} `type:"structure"` - // The programming language of the code to perform the mapping. - Language *string `type:"string" enum:"Language"` - - // Parameters for the mapping. - Location *Location `type:"structure"` + // The ID of the Data Catalog where the tables reside. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` - // The list of mappings from a source table to target tables. + // The database in the catalog whose tables to list. For Hive compatibility, + // this name is entirely lowercase. // - // Mapping is a required field - Mapping []*MappingEntry `type:"list" required:"true"` + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` - // The target tables. - Sinks []*CatalogEntry `type:"list"` + // A regular expression pattern. If present, only those tables whose names match + // the pattern are returned. + Expression *string `type:"string"` - // The source table. - // - // Source is a required field - Source *CatalogEntry `type:"structure" required:"true"` + // The maximum number of tables to return in a single response. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, included if this is a continuation call. + NextToken *string `type:"string"` } // String returns the string representation -func (s GetPlanInput) String() string { +func (s GetTablesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPlanInput) GoString() string { +func (s GetTablesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetPlanInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetPlanInput"} - if s.Mapping == nil { - invalidParams.Add(request.NewErrParamRequired("Mapping")) - } - if s.Source == nil { - invalidParams.Add(request.NewErrParamRequired("Source")) +func (s *GetTablesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTablesInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.Location != nil { - if err := s.Location.Validate(); err != nil { - invalidParams.AddNested("Location", err.(request.ErrInvalidParams)) - } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } - if s.Sinks != nil { - for i, v := range s.Sinks { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sinks", i), err.(request.ErrInvalidParams)) - } - } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } - if s.Source != nil { - if err := s.Source.Validate(); err != nil { - invalidParams.AddNested("Source", err.(request.ErrInvalidParams)) - } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -15811,159 +18089,95 @@ func (s *GetPlanInput) Validate() error { return nil } -// SetLanguage sets the Language field's value. -func (s *GetPlanInput) SetLanguage(v string) *GetPlanInput { - s.Language = &v - return s -} - -// SetLocation sets the Location field's value. -func (s *GetPlanInput) SetLocation(v *Location) *GetPlanInput { - s.Location = v - return s -} - -// SetMapping sets the Mapping field's value. -func (s *GetPlanInput) SetMapping(v []*MappingEntry) *GetPlanInput { - s.Mapping = v - return s -} - -// SetSinks sets the Sinks field's value. -func (s *GetPlanInput) SetSinks(v []*CatalogEntry) *GetPlanInput { - s.Sinks = v +// SetCatalogId sets the CatalogId field's value. +func (s *GetTablesInput) SetCatalogId(v string) *GetTablesInput { + s.CatalogId = &v return s } -// SetSource sets the Source field's value. -func (s *GetPlanInput) SetSource(v *CatalogEntry) *GetPlanInput { - s.Source = v +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetTablesInput) SetDatabaseName(v string) *GetTablesInput { + s.DatabaseName = &v return s } -type GetPlanOutput struct { - _ struct{} `type:"structure"` - - // A Python script to perform the mapping. - PythonScript *string `type:"string"` - - // Scala code to perform the mapping. - ScalaCode *string `type:"string"` -} - -// String returns the string representation -func (s GetPlanOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetPlanOutput) GoString() string { - return s.String() -} - -// SetPythonScript sets the PythonScript field's value. -func (s *GetPlanOutput) SetPythonScript(v string) *GetPlanOutput { - s.PythonScript = &v +// SetExpression sets the Expression field's value. +func (s *GetTablesInput) SetExpression(v string) *GetTablesInput { + s.Expression = &v return s } -// SetScalaCode sets the ScalaCode field's value. -func (s *GetPlanOutput) SetScalaCode(v string) *GetPlanOutput { - s.ScalaCode = &v +// SetMaxResults sets the MaxResults field's value. +func (s *GetTablesInput) SetMaxResults(v int64) *GetTablesInput { + s.MaxResults = &v return s } -type GetResourcePolicyInput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s GetResourcePolicyInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetResourcePolicyInput) GoString() string { - return s.String() +// SetNextToken sets the NextToken field's value. +func (s *GetTablesInput) SetNextToken(v string) *GetTablesInput { + s.NextToken = &v + return s } -type GetResourcePolicyOutput struct { +type GetTablesOutput struct { _ struct{} `type:"structure"` - // The date and time at which the policy was created. - CreateTime *time.Time `type:"timestamp"` - - // Contains the hash value associated with this policy. - PolicyHash *string `min:"1" type:"string"` - - // Contains the requested policy document, in JSON format. - PolicyInJson *string `min:"2" type:"string"` + // A continuation token, present if the current list segment is not the last. + NextToken *string `type:"string"` - // The date and time at which the policy was last updated. - UpdateTime *time.Time `type:"timestamp"` + // A list of the requested Table objects. + TableList []*Table `type:"list"` } // String returns the string representation -func (s GetResourcePolicyOutput) String() string { +func (s GetTablesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResourcePolicyOutput) GoString() string { +func (s GetTablesOutput) GoString() string { return s.String() } -// SetCreateTime sets the CreateTime field's value. -func (s *GetResourcePolicyOutput) SetCreateTime(v time.Time) *GetResourcePolicyOutput { - s.CreateTime = &v - return s -} - -// SetPolicyHash sets the PolicyHash field's value. -func (s *GetResourcePolicyOutput) SetPolicyHash(v string) *GetResourcePolicyOutput { - s.PolicyHash = &v - return s -} - -// SetPolicyInJson sets the PolicyInJson field's value. -func (s *GetResourcePolicyOutput) SetPolicyInJson(v string) *GetResourcePolicyOutput { - s.PolicyInJson = &v +// SetNextToken sets the NextToken field's value. +func (s *GetTablesOutput) SetNextToken(v string) *GetTablesOutput { + s.NextToken = &v return s } -// SetUpdateTime sets the UpdateTime field's value. -func (s *GetResourcePolicyOutput) SetUpdateTime(v time.Time) *GetResourcePolicyOutput { - s.UpdateTime = &v +// SetTableList sets the TableList field's value. +func (s *GetTablesOutput) SetTableList(v []*Table) *GetTablesOutput { + s.TableList = v return s } -type GetSecurityConfigurationInput struct { +type GetTagsInput struct { _ struct{} `type:"structure"` - // The name of the security configuration to retrieve. + // The Amazon ARN of the resource for which to retrieve tags. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetSecurityConfigurationInput) String() string { +func (s GetTagsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSecurityConfigurationInput) GoString() string { +func (s GetTagsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSecurityConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSecurityConfigurationInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *GetTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTagsInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if invalidParams.Len() > 0 { @@ -15972,60 +18186,62 @@ func (s *GetSecurityConfigurationInput) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *GetSecurityConfigurationInput) SetName(v string) *GetSecurityConfigurationInput { - s.Name = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *GetTagsInput) SetResourceArn(v string) *GetTagsInput { + s.ResourceArn = &v return s } -type GetSecurityConfigurationOutput struct { +type GetTagsOutput struct { _ struct{} `type:"structure"` - // The requested security configuration - SecurityConfiguration *SecurityConfiguration `type:"structure"` + // The requested tags. + Tags map[string]*string `type:"map"` } // String returns the string representation -func (s GetSecurityConfigurationOutput) String() string { +func (s GetTagsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSecurityConfigurationOutput) GoString() string { +func (s GetTagsOutput) GoString() string { return s.String() } -// SetSecurityConfiguration sets the SecurityConfiguration field's value. -func (s *GetSecurityConfigurationOutput) SetSecurityConfiguration(v *SecurityConfiguration) *GetSecurityConfigurationOutput { - s.SecurityConfiguration = v +// SetTags sets the Tags field's value. +func (s *GetTagsOutput) SetTags(v map[string]*string) *GetTagsOutput { + s.Tags = v return s } -type GetSecurityConfigurationsInput struct { +type GetTriggerInput struct { _ struct{} `type:"structure"` - // The maximum number of results to return. - MaxResults *int64 `min:"1" type:"integer"` - - // A continuation token, if this is a continuation call. - NextToken *string `type:"string"` + // The name of the trigger to retrieve. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetSecurityConfigurationsInput) String() string { +func (s GetTriggerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSecurityConfigurationsInput) GoString() string { +func (s GetTriggerInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSecurityConfigurationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSecurityConfigurationsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *GetTriggerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTriggerInput"} + 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 { @@ -16034,97 +18250,68 @@ func (s *GetSecurityConfigurationsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *GetSecurityConfigurationsInput) SetMaxResults(v int64) *GetSecurityConfigurationsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *GetSecurityConfigurationsInput) SetNextToken(v string) *GetSecurityConfigurationsInput { - s.NextToken = &v +// SetName sets the Name field's value. +func (s *GetTriggerInput) SetName(v string) *GetTriggerInput { + s.Name = &v return s } -type GetSecurityConfigurationsOutput struct { +type GetTriggerOutput struct { _ struct{} `type:"structure"` - // A continuation token, if there are more security configurations to return. - NextToken *string `type:"string"` - - // A list of security configurations. - SecurityConfigurations []*SecurityConfiguration `type:"list"` + // The requested trigger definition. + Trigger *Trigger `type:"structure"` } // String returns the string representation -func (s GetSecurityConfigurationsOutput) String() string { +func (s GetTriggerOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSecurityConfigurationsOutput) GoString() string { +func (s GetTriggerOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *GetSecurityConfigurationsOutput) SetNextToken(v string) *GetSecurityConfigurationsOutput { - s.NextToken = &v - return s -} - -// SetSecurityConfigurations sets the SecurityConfigurations field's value. -func (s *GetSecurityConfigurationsOutput) SetSecurityConfigurations(v []*SecurityConfiguration) *GetSecurityConfigurationsOutput { - s.SecurityConfigurations = v +// SetTrigger sets the Trigger field's value. +func (s *GetTriggerOutput) SetTrigger(v *Trigger) *GetTriggerOutput { + s.Trigger = v return s } -type GetTableInput struct { +type GetTriggersInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog where the table resides. If none is supplied, - // the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` + // The name of the job for which to retrieve triggers. The trigger that can + // start this job will be returned, and if there is no such trigger, all triggers + // will be returned. + DependentJobName *string `min:"1" type:"string"` - // The name of the database in the catalog in which the table resides. For Hive - // compatibility, this name is entirely lowercase. - // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` + // The maximum size of the response. + MaxResults *int64 `min:"1" type:"integer"` - // The name of the table for which to retrieve the definition. For Hive compatibility, - // this name is entirely lowercase. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` } // String returns the string representation -func (s GetTableInput) String() string { +func (s GetTriggersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTableInput) GoString() string { +func (s GetTriggersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetTableInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *GetTriggersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTriggersInput"} + if s.DependentJobName != nil && len(*s.DependentJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DependentJobName", 1)) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -16133,100 +18320,101 @@ func (s *GetTableInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *GetTableInput) SetCatalogId(v string) *GetTableInput { - s.CatalogId = &v +// SetDependentJobName sets the DependentJobName field's value. +func (s *GetTriggersInput) SetDependentJobName(v string) *GetTriggersInput { + s.DependentJobName = &v return s } -// SetDatabaseName sets the DatabaseName field's value. -func (s *GetTableInput) SetDatabaseName(v string) *GetTableInput { - s.DatabaseName = &v +// SetMaxResults sets the MaxResults field's value. +func (s *GetTriggersInput) SetMaxResults(v int64) *GetTriggersInput { + s.MaxResults = &v return s } -// SetName sets the Name field's value. -func (s *GetTableInput) SetName(v string) *GetTableInput { - s.Name = &v +// SetNextToken sets the NextToken field's value. +func (s *GetTriggersInput) SetNextToken(v string) *GetTriggersInput { + s.NextToken = &v return s } -type GetTableOutput struct { +type GetTriggersOutput struct { _ struct{} `type:"structure"` - // The Table object that defines the specified table. - Table *Table `type:"structure"` + // A continuation token, if not all the requested triggers have yet been returned. + NextToken *string `type:"string"` + + // A list of triggers for the specified job. + Triggers []*Trigger `type:"list"` } // String returns the string representation -func (s GetTableOutput) String() string { +func (s GetTriggersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTableOutput) GoString() string { +func (s GetTriggersOutput) GoString() string { return s.String() } -// SetTable sets the Table field's value. -func (s *GetTableOutput) SetTable(v *Table) *GetTableOutput { - s.Table = v +// SetNextToken sets the NextToken field's value. +func (s *GetTriggersOutput) SetNextToken(v string) *GetTriggersOutput { + s.NextToken = &v return s } -type GetTableVersionInput struct { +// SetTriggers sets the Triggers field's value. +func (s *GetTriggersOutput) SetTriggers(v []*Trigger) *GetTriggersOutput { + s.Triggers = v + return s +} + +type GetUserDefinedFunctionInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog where the tables reside. If none is supplied, - // the AWS account ID is used by default. + // The ID of the Data Catalog where the function to be retrieved is located. + // If none is supplied, the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The database in the catalog in which the table resides. For Hive compatibility, - // this name is entirely lowercase. + // The name of the catalog database where the function is located. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` - // The name of the table. For Hive compatibility, this name is entirely lowercase. + // The name of the function. // - // TableName is a required field - TableName *string `min:"1" type:"string" required:"true"` - - // The ID value of the table version to be retrieved. A VersionID is a string - // representation of an integer. Each version is incremented by 1. - VersionId *string `min:"1" type:"string"` + // FunctionName is a required field + FunctionName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetTableVersionInput) String() string { +func (s GetUserDefinedFunctionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTableVersionInput) GoString() string { +func (s GetUserDefinedFunctionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetTableVersionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetTableVersionInput"} +func (s *GetUserDefinedFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUserDefinedFunctionInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if s.DatabaseName == nil { invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } - if s.TableName != nil && len(*s.TableName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) } - if s.VersionId != nil && len(*s.VersionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VersionId", 1)) + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) } if invalidParams.Len() > 0 { @@ -16236,90 +18424,84 @@ func (s *GetTableVersionInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *GetTableVersionInput) SetCatalogId(v string) *GetTableVersionInput { +func (s *GetUserDefinedFunctionInput) SetCatalogId(v string) *GetUserDefinedFunctionInput { s.CatalogId = &v return s } // SetDatabaseName sets the DatabaseName field's value. -func (s *GetTableVersionInput) SetDatabaseName(v string) *GetTableVersionInput { +func (s *GetUserDefinedFunctionInput) SetDatabaseName(v string) *GetUserDefinedFunctionInput { s.DatabaseName = &v return s } -// SetTableName sets the TableName field's value. -func (s *GetTableVersionInput) SetTableName(v string) *GetTableVersionInput { - s.TableName = &v - return s -} - -// SetVersionId sets the VersionId field's value. -func (s *GetTableVersionInput) SetVersionId(v string) *GetTableVersionInput { - s.VersionId = &v +// SetFunctionName sets the FunctionName field's value. +func (s *GetUserDefinedFunctionInput) SetFunctionName(v string) *GetUserDefinedFunctionInput { + s.FunctionName = &v return s } -type GetTableVersionOutput struct { +type GetUserDefinedFunctionOutput struct { _ struct{} `type:"structure"` - // The requested table version. - TableVersion *TableVersion `type:"structure"` + // The requested function definition. + UserDefinedFunction *UserDefinedFunction `type:"structure"` } // String returns the string representation -func (s GetTableVersionOutput) String() string { +func (s GetUserDefinedFunctionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTableVersionOutput) GoString() string { +func (s GetUserDefinedFunctionOutput) GoString() string { return s.String() } -// SetTableVersion sets the TableVersion field's value. -func (s *GetTableVersionOutput) SetTableVersion(v *TableVersion) *GetTableVersionOutput { - s.TableVersion = v +// SetUserDefinedFunction sets the UserDefinedFunction field's value. +func (s *GetUserDefinedFunctionOutput) SetUserDefinedFunction(v *UserDefinedFunction) *GetUserDefinedFunctionOutput { + s.UserDefinedFunction = v return s } -type GetTableVersionsInput struct { +type GetUserDefinedFunctionsInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog where the tables reside. If none is supplied, - // the AWS account ID is used by default. + // The ID of the Data Catalog where the functions to be retrieved are located. + // If none is supplied, the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The database in the catalog in which the table resides. For Hive compatibility, - // this name is entirely lowercase. + // The name of the catalog database where the functions are located. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` - // The maximum number of table versions to return in one response. + // The maximum number of functions to return in one response. MaxResults *int64 `min:"1" type:"integer"` - // A continuation token, if this is not the first call. + // A continuation token, if this is a continuation call. NextToken *string `type:"string"` - // The name of the table. For Hive compatibility, this name is entirely lowercase. + // An optional function-name pattern string that filters the function definitions + // returned. // - // TableName is a required field - TableName *string `min:"1" type:"string" required:"true"` + // Pattern is a required field + Pattern *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetTableVersionsInput) String() string { +func (s GetUserDefinedFunctionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTableVersionsInput) GoString() string { +func (s GetUserDefinedFunctionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetTableVersionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetTableVersionsInput"} +func (s *GetUserDefinedFunctionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUserDefinedFunctionsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } @@ -16332,11 +18514,11 @@ func (s *GetTableVersionsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) + if s.Pattern == nil { + invalidParams.Add(request.NewErrParamRequired("Pattern")) } - if s.TableName != nil && len(*s.TableName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + if s.Pattern != nil && len(*s.Pattern) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Pattern", 1)) } if invalidParams.Len() > 0 { @@ -16346,213 +18528,178 @@ func (s *GetTableVersionsInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *GetTableVersionsInput) SetCatalogId(v string) *GetTableVersionsInput { +func (s *GetUserDefinedFunctionsInput) SetCatalogId(v string) *GetUserDefinedFunctionsInput { s.CatalogId = &v return s } // SetDatabaseName sets the DatabaseName field's value. -func (s *GetTableVersionsInput) SetDatabaseName(v string) *GetTableVersionsInput { +func (s *GetUserDefinedFunctionsInput) SetDatabaseName(v string) *GetUserDefinedFunctionsInput { s.DatabaseName = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *GetTableVersionsInput) SetMaxResults(v int64) *GetTableVersionsInput { +func (s *GetUserDefinedFunctionsInput) SetMaxResults(v int64) *GetUserDefinedFunctionsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *GetTableVersionsInput) SetNextToken(v string) *GetTableVersionsInput { +func (s *GetUserDefinedFunctionsInput) SetNextToken(v string) *GetUserDefinedFunctionsInput { s.NextToken = &v return s } -// SetTableName sets the TableName field's value. -func (s *GetTableVersionsInput) SetTableName(v string) *GetTableVersionsInput { - s.TableName = &v +// SetPattern sets the Pattern field's value. +func (s *GetUserDefinedFunctionsInput) SetPattern(v string) *GetUserDefinedFunctionsInput { + s.Pattern = &v return s } -type GetTableVersionsOutput struct { +type GetUserDefinedFunctionsOutput struct { _ struct{} `type:"structure"` - // A continuation token, if the list of available versions does not include - // the last one. + // A continuation token, if the list of functions returned does not include + // the last requested function. NextToken *string `type:"string"` - // A list of strings identifying available versions of the specified table. - TableVersions []*TableVersion `type:"list"` + // A list of requested function definitions. + UserDefinedFunctions []*UserDefinedFunction `type:"list"` } // String returns the string representation -func (s GetTableVersionsOutput) String() string { +func (s GetUserDefinedFunctionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTableVersionsOutput) GoString() string { +func (s GetUserDefinedFunctionsOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *GetTableVersionsOutput) SetNextToken(v string) *GetTableVersionsOutput { +func (s *GetUserDefinedFunctionsOutput) SetNextToken(v string) *GetUserDefinedFunctionsOutput { s.NextToken = &v return s } -// SetTableVersions sets the TableVersions field's value. -func (s *GetTableVersionsOutput) SetTableVersions(v []*TableVersion) *GetTableVersionsOutput { - s.TableVersions = v +// SetUserDefinedFunctions sets the UserDefinedFunctions field's value. +func (s *GetUserDefinedFunctionsOutput) SetUserDefinedFunctions(v []*UserDefinedFunction) *GetUserDefinedFunctionsOutput { + s.UserDefinedFunctions = v return s } -type GetTablesInput struct { +// A classifier that uses grok patterns. +type GrokClassifier struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog where the tables reside. If none is supplied, - // the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` + // An identifier of the data format that the classifier matches, such as Twitter, + // JSON, Omniture logs, and so on. + // + // Classification is a required field + Classification *string `type:"string" required:"true"` - // The database in the catalog whose tables to list. For Hive compatibility, - // this name is entirely lowercase. + // The time this classifier was registered. + CreationTime *time.Time `type:"timestamp"` + + // Optional custom grok patterns defined by this classifier. For more information, + // see custom patterns in Writing Custom Classifers (http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html). + CustomPatterns *string `type:"string"` + + // The grok pattern applied to a data store by this classifier. For more information, + // see built-in patterns in Writing Custom Classifers (http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html). // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` + // GrokPattern is a required field + GrokPattern *string `min:"1" type:"string" required:"true"` - // A regular expression pattern. If present, only those tables whose names match - // the pattern are returned. - Expression *string `type:"string"` + // The time this classifier was last updated. + LastUpdated *time.Time `type:"timestamp"` - // The maximum number of tables to return in a single response. - MaxResults *int64 `min:"1" type:"integer"` + // The name of the classifier. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // A continuation token, included if this is a continuation call. - NextToken *string `type:"string"` + // The version of this classifier. + Version *int64 `type:"long"` } // String returns the string representation -func (s GetTablesInput) String() string { +func (s GrokClassifier) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTablesInput) GoString() string { +func (s GrokClassifier) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetTablesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetTablesInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetCatalogId sets the CatalogId field's value. -func (s *GetTablesInput) SetCatalogId(v string) *GetTablesInput { - s.CatalogId = &v +// SetClassification sets the Classification field's value. +func (s *GrokClassifier) SetClassification(v string) *GrokClassifier { + s.Classification = &v return s } -// SetDatabaseName sets the DatabaseName field's value. -func (s *GetTablesInput) SetDatabaseName(v string) *GetTablesInput { - s.DatabaseName = &v +// SetCreationTime sets the CreationTime field's value. +func (s *GrokClassifier) SetCreationTime(v time.Time) *GrokClassifier { + s.CreationTime = &v return s } -// SetExpression sets the Expression field's value. -func (s *GetTablesInput) SetExpression(v string) *GetTablesInput { - s.Expression = &v +// SetCustomPatterns sets the CustomPatterns field's value. +func (s *GrokClassifier) SetCustomPatterns(v string) *GrokClassifier { + s.CustomPatterns = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *GetTablesInput) SetMaxResults(v int64) *GetTablesInput { - s.MaxResults = &v +// SetGrokPattern sets the GrokPattern field's value. +func (s *GrokClassifier) SetGrokPattern(v string) *GrokClassifier { + s.GrokPattern = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *GetTablesInput) SetNextToken(v string) *GetTablesInput { - s.NextToken = &v +// SetLastUpdated sets the LastUpdated field's value. +func (s *GrokClassifier) SetLastUpdated(v time.Time) *GrokClassifier { + s.LastUpdated = &v return s } -type GetTablesOutput struct { - _ struct{} `type:"structure"` - - // A continuation token, present if the current list segment is not the last. - NextToken *string `type:"string"` - - // A list of the requested Table objects. - TableList []*Table `type:"list"` -} - -// String returns the string representation -func (s GetTablesOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetTablesOutput) GoString() string { - return s.String() -} - -// SetNextToken sets the NextToken field's value. -func (s *GetTablesOutput) SetNextToken(v string) *GetTablesOutput { - s.NextToken = &v +// SetName sets the Name field's value. +func (s *GrokClassifier) SetName(v string) *GrokClassifier { + s.Name = &v return s } -// SetTableList sets the TableList field's value. -func (s *GetTablesOutput) SetTableList(v []*Table) *GetTablesOutput { - s.TableList = v +// SetVersion sets the Version field's value. +func (s *GrokClassifier) SetVersion(v int64) *GrokClassifier { + s.Version = &v return s } -type GetTriggerInput struct { +type ImportCatalogToGlueInput struct { _ struct{} `type:"structure"` - // The name of the trigger to retrieve. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // The ID of the catalog to import. Currently, this should be the AWS account + // ID. + CatalogId *string `min:"1" type:"string"` } // String returns the string representation -func (s GetTriggerInput) String() string { +func (s ImportCatalogToGlueInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTriggerInput) GoString() string { +func (s ImportCatalogToGlueInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetTriggerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetTriggerInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) +func (s *ImportCatalogToGlueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportCatalogToGlueInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if invalidParams.Len() > 0 { @@ -16561,548 +18708,641 @@ func (s *GetTriggerInput) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *GetTriggerInput) SetName(v string) *GetTriggerInput { - s.Name = &v +// SetCatalogId sets the CatalogId field's value. +func (s *ImportCatalogToGlueInput) SetCatalogId(v string) *ImportCatalogToGlueInput { + s.CatalogId = &v return s } -type GetTriggerOutput struct { +type ImportCatalogToGlueOutput struct { _ struct{} `type:"structure"` - - // The requested trigger definition. - Trigger *Trigger `type:"structure"` } // String returns the string representation -func (s GetTriggerOutput) String() string { +func (s ImportCatalogToGlueOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTriggerOutput) GoString() string { +func (s ImportCatalogToGlueOutput) GoString() string { return s.String() } -// SetTrigger sets the Trigger field's value. -func (s *GetTriggerOutput) SetTrigger(v *Trigger) *GetTriggerOutput { - s.Trigger = v - return s -} - -type GetTriggersInput struct { +// Specifies a JDBC data store to crawl. +type JdbcTarget struct { _ struct{} `type:"structure"` - // The name of the job for which to retrieve triggers. The trigger that can - // start this job will be returned, and if there is no such trigger, all triggers - // will be returned. - DependentJobName *string `min:"1" type:"string"` + // The name of the connection to use to connect to the JDBC target. + ConnectionName *string `type:"string"` - // The maximum size of the response. - MaxResults *int64 `min:"1" type:"integer"` + // A list of glob patterns used to exclude from the crawl. For more information, + // see Catalog Tables with a Crawler (http://docs.aws.amazon.com/glue/latest/dg/add-crawler.html). + Exclusions []*string `type:"list"` - // A continuation token, if this is a continuation call. - NextToken *string `type:"string"` + // The path of the JDBC target. + Path *string `type:"string"` } // String returns the string representation -func (s GetTriggersInput) String() string { +func (s JdbcTarget) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTriggersInput) GoString() string { +func (s JdbcTarget) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetTriggersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetTriggersInput"} - if s.DependentJobName != nil && len(*s.DependentJobName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DependentJobName", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDependentJobName sets the DependentJobName field's value. -func (s *GetTriggersInput) SetDependentJobName(v string) *GetTriggersInput { - s.DependentJobName = &v +// SetConnectionName sets the ConnectionName field's value. +func (s *JdbcTarget) SetConnectionName(v string) *JdbcTarget { + s.ConnectionName = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *GetTriggersInput) SetMaxResults(v int64) *GetTriggersInput { - s.MaxResults = &v +// SetExclusions sets the Exclusions field's value. +func (s *JdbcTarget) SetExclusions(v []*string) *JdbcTarget { + s.Exclusions = v return s } -// SetNextToken sets the NextToken field's value. -func (s *GetTriggersInput) SetNextToken(v string) *GetTriggersInput { - s.NextToken = &v +// SetPath sets the Path field's value. +func (s *JdbcTarget) SetPath(v string) *JdbcTarget { + s.Path = &v return s } -type GetTriggersOutput struct { +// Specifies a job definition. +type Job struct { _ struct{} `type:"structure"` - // A continuation token, if not all the requested triggers have yet been returned. - NextToken *string `type:"string"` + // This field is deprecated, use MaxCapacity instead. + // + // The number of AWS Glue data processing units (DPUs) allocated to runs of + // this job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is + // a relative measure of processing power that consists of 4 vCPUs of compute + // capacity and 16 GB of memory. For more information, see the AWS Glue pricing + // page (https://aws.amazon.com/glue/pricing/). + // + // Deprecated: This property is deprecated, use MaxCapacity instead. + AllocatedCapacity *int64 `deprecated:"true" type:"integer"` - // A list of triggers for the specified job. - Triggers []*Trigger `type:"list"` + // The JobCommand that executes this job. + Command *JobCommand `type:"structure"` + + // The connections used for this job. + Connections *ConnectionsList `type:"structure"` + + // The time and date that this job definition was created. + CreatedOn *time.Time `type:"timestamp"` + + // The default arguments for this job, specified as name-value pairs. + // + // You can specify arguments here that your own job-execution script consumes, + // as well as arguments that AWS Glue itself consumes. + // + // For information about how to specify and consume your own Job arguments, + // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) + // topic in the developer guide. + // + // For information about the key-value pairs that AWS Glue consumes to set up + // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) + // topic in the developer guide. + DefaultArguments map[string]*string `type:"map"` + + // Description of the job being defined. + Description *string `type:"string"` + + // An ExecutionProperty specifying the maximum number of concurrent runs allowed + // for this job. + ExecutionProperty *ExecutionProperty `type:"structure"` + + // The last point in time when this job definition was modified. + LastModifiedOn *time.Time `type:"timestamp"` + + // This field is reserved for future use. + LogUri *string `type:"string"` + + // The number of AWS Glue data processing units (DPUs) that can be allocated + // when this job runs. A DPU is a relative measure of processing power that + // consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, + // see the AWS Glue pricing page (https://aws.amazon.com/glue/pricing/). + // + // The value that can be allocated for MaxCapacity depends on whether you are + // running a python shell job, or an Apache Spark ETL job: + // + // * When you specify a python shell job (JobCommand.Name="pythonshell"), + // you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. + // + // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl"), + // you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job + // type cannot have a fractional DPU allocation. + MaxCapacity *float64 `type:"double"` + + // The maximum number of times to retry this job after a JobRun fails. + MaxRetries *int64 `type:"integer"` + + // The name you assign to this job definition. + Name *string `min:"1" type:"string"` + + // Specifies configuration properties of a job notification. + NotificationProperty *NotificationProperty `type:"structure"` + + // The name or ARN of the IAM role associated with this job. + Role *string `type:"string"` + + // The name of the SecurityConfiguration structure to be used with this job. + SecurityConfiguration *string `min:"1" type:"string"` + + // The job timeout in minutes. This is the maximum time that a job run can consume + // resources before it is terminated and enters TIMEOUT status. The default + // is 2,880 minutes (48 hours). + Timeout *int64 `min:"1" type:"integer"` } // String returns the string representation -func (s GetTriggersOutput) String() string { +func (s Job) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetTriggersOutput) GoString() string { +func (s Job) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *GetTriggersOutput) SetNextToken(v string) *GetTriggersOutput { - s.NextToken = &v +// SetAllocatedCapacity sets the AllocatedCapacity field's value. +func (s *Job) SetAllocatedCapacity(v int64) *Job { + s.AllocatedCapacity = &v return s } -// SetTriggers sets the Triggers field's value. -func (s *GetTriggersOutput) SetTriggers(v []*Trigger) *GetTriggersOutput { - s.Triggers = v +// SetCommand sets the Command field's value. +func (s *Job) SetCommand(v *JobCommand) *Job { + s.Command = v return s } -type GetUserDefinedFunctionInput struct { - _ struct{} `type:"structure"` - - // The ID of the Data Catalog where the function to be retrieved is located. - // If none is supplied, the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` +// SetConnections sets the Connections field's value. +func (s *Job) SetConnections(v *ConnectionsList) *Job { + s.Connections = v + return s +} - // The name of the catalog database where the function is located. - // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` +// SetCreatedOn sets the CreatedOn field's value. +func (s *Job) SetCreatedOn(v time.Time) *Job { + s.CreatedOn = &v + return s +} - // The name of the function. - // - // FunctionName is a required field - FunctionName *string `min:"1" type:"string" required:"true"` +// SetDefaultArguments sets the DefaultArguments field's value. +func (s *Job) SetDefaultArguments(v map[string]*string) *Job { + s.DefaultArguments = v + return s } -// String returns the string representation -func (s GetUserDefinedFunctionInput) String() string { - return awsutil.Prettify(s) +// SetDescription sets the Description field's value. +func (s *Job) SetDescription(v string) *Job { + s.Description = &v + return s } -// GoString returns the string representation -func (s GetUserDefinedFunctionInput) GoString() string { - return s.String() +// SetExecutionProperty sets the ExecutionProperty field's value. +func (s *Job) SetExecutionProperty(v *ExecutionProperty) *Job { + s.ExecutionProperty = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetUserDefinedFunctionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetUserDefinedFunctionInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.FunctionName == nil { - invalidParams.Add(request.NewErrParamRequired("FunctionName")) - } - if s.FunctionName != nil && len(*s.FunctionName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) - } +// SetLastModifiedOn sets the LastModifiedOn field's value. +func (s *Job) SetLastModifiedOn(v time.Time) *Job { + s.LastModifiedOn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetLogUri sets the LogUri field's value. +func (s *Job) SetLogUri(v string) *Job { + s.LogUri = &v + return s } -// SetCatalogId sets the CatalogId field's value. -func (s *GetUserDefinedFunctionInput) SetCatalogId(v string) *GetUserDefinedFunctionInput { - s.CatalogId = &v +// SetMaxCapacity sets the MaxCapacity field's value. +func (s *Job) SetMaxCapacity(v float64) *Job { + s.MaxCapacity = &v return s } -// SetDatabaseName sets the DatabaseName field's value. -func (s *GetUserDefinedFunctionInput) SetDatabaseName(v string) *GetUserDefinedFunctionInput { - s.DatabaseName = &v +// SetMaxRetries sets the MaxRetries field's value. +func (s *Job) SetMaxRetries(v int64) *Job { + s.MaxRetries = &v return s } -// SetFunctionName sets the FunctionName field's value. -func (s *GetUserDefinedFunctionInput) SetFunctionName(v string) *GetUserDefinedFunctionInput { - s.FunctionName = &v +// SetName sets the Name field's value. +func (s *Job) SetName(v string) *Job { + s.Name = &v return s } -type GetUserDefinedFunctionOutput struct { - _ struct{} `type:"structure"` - - // The requested function definition. - UserDefinedFunction *UserDefinedFunction `type:"structure"` +// SetNotificationProperty sets the NotificationProperty field's value. +func (s *Job) SetNotificationProperty(v *NotificationProperty) *Job { + s.NotificationProperty = v + return s } -// String returns the string representation -func (s GetUserDefinedFunctionOutput) String() string { - return awsutil.Prettify(s) +// SetRole sets the Role field's value. +func (s *Job) SetRole(v string) *Job { + s.Role = &v + return s } -// GoString returns the string representation -func (s GetUserDefinedFunctionOutput) GoString() string { - return s.String() +// SetSecurityConfiguration sets the SecurityConfiguration field's value. +func (s *Job) SetSecurityConfiguration(v string) *Job { + s.SecurityConfiguration = &v + return s } -// SetUserDefinedFunction sets the UserDefinedFunction field's value. -func (s *GetUserDefinedFunctionOutput) SetUserDefinedFunction(v *UserDefinedFunction) *GetUserDefinedFunctionOutput { - s.UserDefinedFunction = v +// SetTimeout sets the Timeout field's value. +func (s *Job) SetTimeout(v int64) *Job { + s.Timeout = &v return s } -type GetUserDefinedFunctionsInput struct { +// Defines a point which a job can resume processing. +type JobBookmarkEntry struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog where the functions to be retrieved are located. - // If none is supplied, the AWS account ID is used by default. - CatalogId *string `min:"1" type:"string"` + // The attempt ID number. + Attempt *int64 `type:"integer"` - // The name of the catalog database where the functions are located. - // - // DatabaseName is a required field - DatabaseName *string `min:"1" type:"string" required:"true"` + // The bookmark itself. + JobBookmark *string `type:"string"` - // The maximum number of functions to return in one response. - MaxResults *int64 `min:"1" type:"integer"` + // Name of the job in question. + JobName *string `type:"string"` - // A continuation token, if this is a continuation call. - NextToken *string `type:"string"` + // The run ID number. + Run *int64 `type:"integer"` - // An optional function-name pattern string that filters the function definitions - // returned. - // - // Pattern is a required field - Pattern *string `min:"1" type:"string" required:"true"` + // Version of the job. + Version *int64 `type:"integer"` } // String returns the string representation -func (s GetUserDefinedFunctionsInput) String() string { +func (s JobBookmarkEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetUserDefinedFunctionsInput) GoString() string { +func (s JobBookmarkEntry) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetUserDefinedFunctionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetUserDefinedFunctionsInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.Pattern == nil { - invalidParams.Add(request.NewErrParamRequired("Pattern")) - } - if s.Pattern != nil && len(*s.Pattern) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Pattern", 1)) - } +// SetAttempt sets the Attempt field's value. +func (s *JobBookmarkEntry) SetAttempt(v int64) *JobBookmarkEntry { + s.Attempt = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetJobBookmark sets the JobBookmark field's value. +func (s *JobBookmarkEntry) SetJobBookmark(v string) *JobBookmarkEntry { + s.JobBookmark = &v + return s } -// SetCatalogId sets the CatalogId field's value. -func (s *GetUserDefinedFunctionsInput) SetCatalogId(v string) *GetUserDefinedFunctionsInput { - s.CatalogId = &v +// SetJobName sets the JobName field's value. +func (s *JobBookmarkEntry) SetJobName(v string) *JobBookmarkEntry { + s.JobName = &v return s } -// SetDatabaseName sets the DatabaseName field's value. -func (s *GetUserDefinedFunctionsInput) SetDatabaseName(v string) *GetUserDefinedFunctionsInput { - s.DatabaseName = &v +// SetRun sets the Run field's value. +func (s *JobBookmarkEntry) SetRun(v int64) *JobBookmarkEntry { + s.Run = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *GetUserDefinedFunctionsInput) SetMaxResults(v int64) *GetUserDefinedFunctionsInput { - s.MaxResults = &v +// SetVersion sets the Version field's value. +func (s *JobBookmarkEntry) SetVersion(v int64) *JobBookmarkEntry { + s.Version = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *GetUserDefinedFunctionsInput) SetNextToken(v string) *GetUserDefinedFunctionsInput { - s.NextToken = &v +// Specifies how Job bookmark data should be encrypted. +type JobBookmarksEncryption struct { + _ struct{} `type:"structure"` + + // The encryption mode to use for Job bookmarks data. + JobBookmarksEncryptionMode *string `type:"string" enum:"JobBookmarksEncryptionMode"` + + // The AWS ARN of the KMS key to be used to encrypt the data. + KmsKeyArn *string `type:"string"` +} + +// String returns the string representation +func (s JobBookmarksEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JobBookmarksEncryption) GoString() string { + return s.String() +} + +// SetJobBookmarksEncryptionMode sets the JobBookmarksEncryptionMode field's value. +func (s *JobBookmarksEncryption) SetJobBookmarksEncryptionMode(v string) *JobBookmarksEncryption { + s.JobBookmarksEncryptionMode = &v return s } -// SetPattern sets the Pattern field's value. -func (s *GetUserDefinedFunctionsInput) SetPattern(v string) *GetUserDefinedFunctionsInput { - s.Pattern = &v +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *JobBookmarksEncryption) SetKmsKeyArn(v string) *JobBookmarksEncryption { + s.KmsKeyArn = &v return s } -type GetUserDefinedFunctionsOutput struct { +// Specifies code executed when a job is run. +type JobCommand struct { _ struct{} `type:"structure"` - // A continuation token, if the list of functions returned does not include - // the last requested function. - NextToken *string `type:"string"` + // The name of the job command: this must be glueetl, for an Apache Spark ETL + // job, or pythonshell, for a Python shell job. + Name *string `type:"string"` - // A list of requested function definitions. - UserDefinedFunctions []*UserDefinedFunction `type:"list"` + // Specifies the S3 path to a script that executes a job (required). + ScriptLocation *string `type:"string"` } // String returns the string representation -func (s GetUserDefinedFunctionsOutput) String() string { +func (s JobCommand) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetUserDefinedFunctionsOutput) GoString() string { +func (s JobCommand) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *GetUserDefinedFunctionsOutput) SetNextToken(v string) *GetUserDefinedFunctionsOutput { - s.NextToken = &v +// SetName sets the Name field's value. +func (s *JobCommand) SetName(v string) *JobCommand { + s.Name = &v return s } -// SetUserDefinedFunctions sets the UserDefinedFunctions field's value. -func (s *GetUserDefinedFunctionsOutput) SetUserDefinedFunctions(v []*UserDefinedFunction) *GetUserDefinedFunctionsOutput { - s.UserDefinedFunctions = v +// SetScriptLocation sets the ScriptLocation field's value. +func (s *JobCommand) SetScriptLocation(v string) *JobCommand { + s.ScriptLocation = &v return s } -// A classifier that uses grok patterns. -type GrokClassifier struct { +// Contains information about a job run. +type JobRun struct { _ struct{} `type:"structure"` - // An identifier of the data format that the classifier matches, such as Twitter, - // JSON, Omniture logs, and so on. + // This field is deprecated, use MaxCapacity instead. // - // Classification is a required field - Classification *string `type:"string" required:"true"` + // The number of AWS Glue data processing units (DPUs) allocated to this JobRun. + // From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative + // measure of processing power that consists of 4 vCPUs of compute capacity + // and 16 GB of memory. For more information, see the AWS Glue pricing page + // (https://aws.amazon.com/glue/pricing/). + // + // Deprecated: This property is deprecated, use MaxCapacity instead. + AllocatedCapacity *int64 `deprecated:"true" type:"integer"` - // The time this classifier was registered. - CreationTime *time.Time `type:"timestamp"` + // The job arguments associated with this run. For this job run, they replace + // the default arguments set in the job definition itself. + // + // You can specify arguments here that your own job-execution script consumes, + // as well as arguments that AWS Glue itself consumes. + // + // For information about how to specify and consume your own job arguments, + // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) + // topic in the developer guide. + // + // For information about the key-value pairs that AWS Glue consumes to set up + // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) + // topic in the developer guide. + Arguments map[string]*string `type:"map"` - // Optional custom grok patterns defined by this classifier. For more information, - // see custom patterns in Writing Custom Classifers (http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html). - CustomPatterns *string `type:"string"` + // The number of the attempt to run this job. + Attempt *int64 `type:"integer"` + + // The date and time this job run completed. + CompletedOn *time.Time `type:"timestamp"` + + // An error message associated with this job run. + ErrorMessage *string `type:"string"` + + // The amount of time (in seconds) that the job run consumed resources. + ExecutionTime *int64 `type:"integer"` + + // The ID of this job run. + Id *string `min:"1" type:"string"` + + // The name of the job definition being used in this run. + JobName *string `min:"1" type:"string"` + + // The current state of the job run. + JobRunState *string `type:"string" enum:"JobRunState"` + + // The last time this job run was modified. + LastModifiedOn *time.Time `type:"timestamp"` + + // The name of the log group for secure logging, that can be server-side encrypted + // in CloudWatch using KMS. This name can be /aws-glue/jobs/, in which case + // the default encryption is NONE. If you add a role name and SecurityConfiguration + // name (in other words, /aws-glue/jobs-yourRoleName-yourSecurityConfigurationName/), + // then that security configuration will be used to encrypt the log group. + LogGroupName *string `type:"string"` + + // The number of AWS Glue data processing units (DPUs) that can be allocated + // when this job runs. A DPU is a relative measure of processing power that + // consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, + // see the AWS Glue pricing page (https://aws.amazon.com/glue/pricing/). + // + // The value that can be allocated for MaxCapacity depends on whether you are + // running a python shell job, or an Apache Spark ETL job: + // + // * When you specify a python shell job (JobCommand.Name="pythonshell"), + // you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. + // + // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl"), + // you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job + // type cannot have a fractional DPU allocation. + MaxCapacity *float64 `type:"double"` + + // Specifies configuration properties of a job run notification. + NotificationProperty *NotificationProperty `type:"structure"` + + // A list of predecessors to this job run. + PredecessorRuns []*Predecessor `type:"list"` + + // The ID of the previous run of this job. For example, the JobRunId specified + // in the StartJobRun action. + PreviousRunId *string `min:"1" type:"string"` - // The grok pattern applied to a data store by this classifier. For more information, - // see built-in patterns in Writing Custom Classifers (http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html). - // - // GrokPattern is a required field - GrokPattern *string `min:"1" type:"string" required:"true"` + // The name of the SecurityConfiguration structure to be used with this job + // run. + SecurityConfiguration *string `min:"1" type:"string"` - // The time this classifier was last updated. - LastUpdated *time.Time `type:"timestamp"` + // The date and time at which this job run was started. + StartedOn *time.Time `type:"timestamp"` - // The name of the classifier. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // The JobRun timeout in minutes. This is the maximum time that a job run can + // consume resources before it is terminated and enters TIMEOUT status. The + // default is 2,880 minutes (48 hours). This overrides the timeout value set + // in the parent job. + Timeout *int64 `min:"1" type:"integer"` - // The version of this classifier. - Version *int64 `type:"long"` + // The name of the trigger that started this job run. + TriggerName *string `min:"1" type:"string"` } // String returns the string representation -func (s GrokClassifier) String() string { +func (s JobRun) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrokClassifier) GoString() string { +func (s JobRun) GoString() string { return s.String() } -// SetClassification sets the Classification field's value. -func (s *GrokClassifier) SetClassification(v string) *GrokClassifier { - s.Classification = &v +// SetAllocatedCapacity sets the AllocatedCapacity field's value. +func (s *JobRun) SetAllocatedCapacity(v int64) *JobRun { + s.AllocatedCapacity = &v return s } -// SetCreationTime sets the CreationTime field's value. -func (s *GrokClassifier) SetCreationTime(v time.Time) *GrokClassifier { - s.CreationTime = &v +// SetArguments sets the Arguments field's value. +func (s *JobRun) SetArguments(v map[string]*string) *JobRun { + s.Arguments = v return s } -// SetCustomPatterns sets the CustomPatterns field's value. -func (s *GrokClassifier) SetCustomPatterns(v string) *GrokClassifier { - s.CustomPatterns = &v +// SetAttempt sets the Attempt field's value. +func (s *JobRun) SetAttempt(v int64) *JobRun { + s.Attempt = &v return s } -// SetGrokPattern sets the GrokPattern field's value. -func (s *GrokClassifier) SetGrokPattern(v string) *GrokClassifier { - s.GrokPattern = &v +// SetCompletedOn sets the CompletedOn field's value. +func (s *JobRun) SetCompletedOn(v time.Time) *JobRun { + s.CompletedOn = &v return s } -// SetLastUpdated sets the LastUpdated field's value. -func (s *GrokClassifier) SetLastUpdated(v time.Time) *GrokClassifier { - s.LastUpdated = &v +// SetErrorMessage sets the ErrorMessage field's value. +func (s *JobRun) SetErrorMessage(v string) *JobRun { + s.ErrorMessage = &v return s } -// SetName sets the Name field's value. -func (s *GrokClassifier) SetName(v string) *GrokClassifier { - s.Name = &v +// SetExecutionTime sets the ExecutionTime field's value. +func (s *JobRun) SetExecutionTime(v int64) *JobRun { + s.ExecutionTime = &v return s } -// SetVersion sets the Version field's value. -func (s *GrokClassifier) SetVersion(v int64) *GrokClassifier { - s.Version = &v +// SetId sets the Id field's value. +func (s *JobRun) SetId(v string) *JobRun { + s.Id = &v return s } -type ImportCatalogToGlueInput struct { - _ struct{} `type:"structure"` - - // The ID of the catalog to import. Currently, this should be the AWS account - // ID. - CatalogId *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s ImportCatalogToGlueInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ImportCatalogToGlueInput) GoString() string { - return s.String() +// SetJobName sets the JobName field's value. +func (s *JobRun) SetJobName(v string) *JobRun { + s.JobName = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ImportCatalogToGlueInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ImportCatalogToGlueInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetJobRunState sets the JobRunState field's value. +func (s *JobRun) SetJobRunState(v string) *JobRun { + s.JobRunState = &v + return s } -// SetCatalogId sets the CatalogId field's value. -func (s *ImportCatalogToGlueInput) SetCatalogId(v string) *ImportCatalogToGlueInput { - s.CatalogId = &v +// SetLastModifiedOn sets the LastModifiedOn field's value. +func (s *JobRun) SetLastModifiedOn(v time.Time) *JobRun { + s.LastModifiedOn = &v return s } -type ImportCatalogToGlueOutput struct { - _ struct{} `type:"structure"` +// SetLogGroupName sets the LogGroupName field's value. +func (s *JobRun) SetLogGroupName(v string) *JobRun { + s.LogGroupName = &v + return s } -// String returns the string representation -func (s ImportCatalogToGlueOutput) String() string { - return awsutil.Prettify(s) +// SetMaxCapacity sets the MaxCapacity field's value. +func (s *JobRun) SetMaxCapacity(v float64) *JobRun { + s.MaxCapacity = &v + return s } -// GoString returns the string representation -func (s ImportCatalogToGlueOutput) GoString() string { - return s.String() +// SetNotificationProperty sets the NotificationProperty field's value. +func (s *JobRun) SetNotificationProperty(v *NotificationProperty) *JobRun { + s.NotificationProperty = v + return s } -// Specifies a JDBC data store to crawl. -type JdbcTarget struct { - _ struct{} `type:"structure"` - - // The name of the connection to use to connect to the JDBC target. - ConnectionName *string `type:"string"` - - // A list of glob patterns used to exclude from the crawl. For more information, - // see Catalog Tables with a Crawler (http://docs.aws.amazon.com/glue/latest/dg/add-crawler.html). - Exclusions []*string `type:"list"` - - // The path of the JDBC target. - Path *string `type:"string"` +// SetPredecessorRuns sets the PredecessorRuns field's value. +func (s *JobRun) SetPredecessorRuns(v []*Predecessor) *JobRun { + s.PredecessorRuns = v + return s } -// String returns the string representation -func (s JdbcTarget) String() string { - return awsutil.Prettify(s) +// SetPreviousRunId sets the PreviousRunId field's value. +func (s *JobRun) SetPreviousRunId(v string) *JobRun { + s.PreviousRunId = &v + return s } -// GoString returns the string representation -func (s JdbcTarget) GoString() string { - return s.String() +// SetSecurityConfiguration sets the SecurityConfiguration field's value. +func (s *JobRun) SetSecurityConfiguration(v string) *JobRun { + s.SecurityConfiguration = &v + return s } -// SetConnectionName sets the ConnectionName field's value. -func (s *JdbcTarget) SetConnectionName(v string) *JdbcTarget { - s.ConnectionName = &v +// SetStartedOn sets the StartedOn field's value. +func (s *JobRun) SetStartedOn(v time.Time) *JobRun { + s.StartedOn = &v return s } -// SetExclusions sets the Exclusions field's value. -func (s *JdbcTarget) SetExclusions(v []*string) *JdbcTarget { - s.Exclusions = v +// SetTimeout sets the Timeout field's value. +func (s *JobRun) SetTimeout(v int64) *JobRun { + s.Timeout = &v return s } -// SetPath sets the Path field's value. -func (s *JdbcTarget) SetPath(v string) *JdbcTarget { - s.Path = &v +// SetTriggerName sets the TriggerName field's value. +func (s *JobRun) SetTriggerName(v string) *JobRun { + s.TriggerName = &v return s } -// Specifies a job definition. -type Job struct { +// Specifies information used to update an existing job definition. Note that +// the previous job definition will be completely overwritten by this information. +type JobUpdate struct { _ struct{} `type:"structure"` - // The number of AWS Glue data processing units (DPUs) allocated to runs of - // this job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is - // a relative measure of processing power that consists of 4 vCPUs of compute - // capacity and 16 GB of memory. For more information, see the AWS Glue pricing - // page (https://aws.amazon.com/glue/pricing/). - AllocatedCapacity *int64 `type:"integer"` + // This field is deprecated. Use MaxCapacity instead. + // + // The number of AWS Glue data processing units (DPUs) to allocate to this Job. + // From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative + // measure of processing power that consists of 4 vCPUs of compute capacity + // and 16 GB of memory. For more information, see the AWS Glue pricing page + // (https://aws.amazon.com/glue/pricing/). + // + // Deprecated: This property is deprecated, use MaxCapacity instead. + AllocatedCapacity *int64 `deprecated:"true" type:"integer"` - // The JobCommand that executes this job. + // The JobCommand that executes this job (required). Command *JobCommand `type:"structure"` // The connections used for this job. Connections *ConnectionsList `type:"structure"` - // The time and date that this job definition was created. - CreatedOn *time.Time `type:"timestamp"` - - // The default arguments for this job, specified as name-value pairs. + // The default arguments for this job. // // You can specify arguments here that your own job-execution script consumes, // as well as arguments that AWS Glue itself consumes. @@ -17123,22 +19363,32 @@ type Job struct { // for this job. ExecutionProperty *ExecutionProperty `type:"structure"` - // The last point in time when this job definition was modified. - LastModifiedOn *time.Time `type:"timestamp"` - // This field is reserved for future use. LogUri *string `type:"string"` - // The maximum number of times to retry this job after a JobRun fails. - MaxRetries *int64 `type:"integer"` + // The number of AWS Glue data processing units (DPUs) that can be allocated + // when this job runs. A DPU is a relative measure of processing power that + // consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, + // see the AWS Glue pricing page (https://aws.amazon.com/glue/pricing/). + // + // The value that can be allocated for MaxCapacity depends on whether you are + // running a python shell job, or an Apache Spark ETL job: + // + // * When you specify a python shell job (JobCommand.Name="pythonshell"), + // you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. + // + // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl"), + // you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job + // type cannot have a fractional DPU allocation. + MaxCapacity *float64 `type:"double"` - // The name you assign to this job definition. - Name *string `min:"1" type:"string"` + // The maximum number of times to retry this job if it fails. + MaxRetries *int64 `type:"integer"` // Specifies configuration properties of a job notification. NotificationProperty *NotificationProperty `type:"structure"` - // The name or ARN of the IAM role associated with this job. + // The name or ARN of the IAM role associated with this job (required). Role *string `type:"string"` // The name of the SecurityConfiguration structure to be used with this job. @@ -17151,516 +19401,365 @@ type Job struct { } // String returns the string representation -func (s Job) String() string { +func (s JobUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Job) GoString() string { +func (s JobUpdate) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *JobUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JobUpdate"} + if s.SecurityConfiguration != nil && len(*s.SecurityConfiguration) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityConfiguration", 1)) + } + if s.Timeout != nil && *s.Timeout < 1 { + invalidParams.Add(request.NewErrParamMinValue("Timeout", 1)) + } + if s.NotificationProperty != nil { + if err := s.NotificationProperty.Validate(); err != nil { + invalidParams.AddNested("NotificationProperty", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAllocatedCapacity sets the AllocatedCapacity field's value. -func (s *Job) SetAllocatedCapacity(v int64) *Job { +func (s *JobUpdate) SetAllocatedCapacity(v int64) *JobUpdate { s.AllocatedCapacity = &v return s } // SetCommand sets the Command field's value. -func (s *Job) SetCommand(v *JobCommand) *Job { +func (s *JobUpdate) SetCommand(v *JobCommand) *JobUpdate { s.Command = v return s } // SetConnections sets the Connections field's value. -func (s *Job) SetConnections(v *ConnectionsList) *Job { - s.Connections = v - return s -} - -// SetCreatedOn sets the CreatedOn field's value. -func (s *Job) SetCreatedOn(v time.Time) *Job { - s.CreatedOn = &v +func (s *JobUpdate) SetConnections(v *ConnectionsList) *JobUpdate { + s.Connections = v return s } // SetDefaultArguments sets the DefaultArguments field's value. -func (s *Job) SetDefaultArguments(v map[string]*string) *Job { +func (s *JobUpdate) SetDefaultArguments(v map[string]*string) *JobUpdate { s.DefaultArguments = v return s } // SetDescription sets the Description field's value. -func (s *Job) SetDescription(v string) *Job { +func (s *JobUpdate) SetDescription(v string) *JobUpdate { s.Description = &v return s } // SetExecutionProperty sets the ExecutionProperty field's value. -func (s *Job) SetExecutionProperty(v *ExecutionProperty) *Job { +func (s *JobUpdate) SetExecutionProperty(v *ExecutionProperty) *JobUpdate { s.ExecutionProperty = v return s } -// SetLastModifiedOn sets the LastModifiedOn field's value. -func (s *Job) SetLastModifiedOn(v time.Time) *Job { - s.LastModifiedOn = &v - return s -} - // SetLogUri sets the LogUri field's value. -func (s *Job) SetLogUri(v string) *Job { +func (s *JobUpdate) SetLogUri(v string) *JobUpdate { s.LogUri = &v return s } -// SetMaxRetries sets the MaxRetries field's value. -func (s *Job) SetMaxRetries(v int64) *Job { - s.MaxRetries = &v +// SetMaxCapacity sets the MaxCapacity field's value. +func (s *JobUpdate) SetMaxCapacity(v float64) *JobUpdate { + s.MaxCapacity = &v return s } -// SetName sets the Name field's value. -func (s *Job) SetName(v string) *Job { - s.Name = &v +// SetMaxRetries sets the MaxRetries field's value. +func (s *JobUpdate) SetMaxRetries(v int64) *JobUpdate { + s.MaxRetries = &v return s } // SetNotificationProperty sets the NotificationProperty field's value. -func (s *Job) SetNotificationProperty(v *NotificationProperty) *Job { +func (s *JobUpdate) SetNotificationProperty(v *NotificationProperty) *JobUpdate { s.NotificationProperty = v return s } // SetRole sets the Role field's value. -func (s *Job) SetRole(v string) *Job { +func (s *JobUpdate) SetRole(v string) *JobUpdate { s.Role = &v return s } // SetSecurityConfiguration sets the SecurityConfiguration field's value. -func (s *Job) SetSecurityConfiguration(v string) *Job { +func (s *JobUpdate) SetSecurityConfiguration(v string) *JobUpdate { s.SecurityConfiguration = &v return s } // SetTimeout sets the Timeout field's value. -func (s *Job) SetTimeout(v int64) *Job { +func (s *JobUpdate) SetTimeout(v int64) *JobUpdate { s.Timeout = &v return s } -// Defines a point which a job can resume processing. -type JobBookmarkEntry struct { +// A classifier for JSON content. +type JsonClassifier struct { _ struct{} `type:"structure"` - // The attempt ID number. - Attempt *int64 `type:"integer"` + // The time this classifier was registered. + CreationTime *time.Time `type:"timestamp"` - // The bookmark itself. - JobBookmark *string `type:"string"` + // A JsonPath string defining the JSON data for the classifier to classify. + // AWS Glue supports a subset of JsonPath, as described in Writing JsonPath + // Custom Classifiers (https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json). + // + // JsonPath is a required field + JsonPath *string `type:"string" required:"true"` - // Name of the job in question. - JobName *string `type:"string"` + // The time this classifier was last updated. + LastUpdated *time.Time `type:"timestamp"` - // The run ID number. - Run *int64 `type:"integer"` + // The name of the classifier. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // Version of the job. - Version *int64 `type:"integer"` + // The version of this classifier. + Version *int64 `type:"long"` } // String returns the string representation -func (s JobBookmarkEntry) String() string { +func (s JsonClassifier) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s JobBookmarkEntry) GoString() string { +func (s JsonClassifier) GoString() string { return s.String() } -// SetAttempt sets the Attempt field's value. -func (s *JobBookmarkEntry) SetAttempt(v int64) *JobBookmarkEntry { - s.Attempt = &v - return s -} - -// SetJobBookmark sets the JobBookmark field's value. -func (s *JobBookmarkEntry) SetJobBookmark(v string) *JobBookmarkEntry { - s.JobBookmark = &v - return s -} - -// SetJobName sets the JobName field's value. -func (s *JobBookmarkEntry) SetJobName(v string) *JobBookmarkEntry { - s.JobName = &v - return s -} - -// SetRun sets the Run field's value. -func (s *JobBookmarkEntry) SetRun(v int64) *JobBookmarkEntry { - s.Run = &v - return s -} - -// SetVersion sets the Version field's value. -func (s *JobBookmarkEntry) SetVersion(v int64) *JobBookmarkEntry { - s.Version = &v +// SetCreationTime sets the CreationTime field's value. +func (s *JsonClassifier) SetCreationTime(v time.Time) *JsonClassifier { + s.CreationTime = &v return s } -// Specifies how Job bookmark data should be encrypted. -type JobBookmarksEncryption struct { - _ struct{} `type:"structure"` - - // The encryption mode to use for Job bookmarks data. - JobBookmarksEncryptionMode *string `type:"string" enum:"JobBookmarksEncryptionMode"` - - // The AWS ARN of the KMS key to be used to encrypt the data. - KmsKeyArn *string `type:"string"` -} - -// String returns the string representation -func (s JobBookmarksEncryption) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s JobBookmarksEncryption) GoString() string { - return s.String() -} - -// SetJobBookmarksEncryptionMode sets the JobBookmarksEncryptionMode field's value. -func (s *JobBookmarksEncryption) SetJobBookmarksEncryptionMode(v string) *JobBookmarksEncryption { - s.JobBookmarksEncryptionMode = &v +// SetJsonPath sets the JsonPath field's value. +func (s *JsonClassifier) SetJsonPath(v string) *JsonClassifier { + s.JsonPath = &v return s } -// SetKmsKeyArn sets the KmsKeyArn field's value. -func (s *JobBookmarksEncryption) SetKmsKeyArn(v string) *JobBookmarksEncryption { - s.KmsKeyArn = &v +// SetLastUpdated sets the LastUpdated field's value. +func (s *JsonClassifier) SetLastUpdated(v time.Time) *JsonClassifier { + s.LastUpdated = &v return s } -// Specifies code executed when a job is run. -type JobCommand struct { - _ struct{} `type:"structure"` - - // The name of the job command: this must be glueetl. - Name *string `type:"string"` - - // Specifies the S3 path to a script that executes a job (required). - ScriptLocation *string `type:"string"` -} - -// String returns the string representation -func (s JobCommand) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s JobCommand) GoString() string { - return s.String() -} - // SetName sets the Name field's value. -func (s *JobCommand) SetName(v string) *JobCommand { +func (s *JsonClassifier) SetName(v string) *JsonClassifier { s.Name = &v return s } -// SetScriptLocation sets the ScriptLocation field's value. -func (s *JobCommand) SetScriptLocation(v string) *JobCommand { - s.ScriptLocation = &v +// SetVersion sets the Version field's value. +func (s *JsonClassifier) SetVersion(v int64) *JsonClassifier { + s.Version = &v return s } -// Contains information about a job run. -type JobRun struct { +// Status and error information about the most recent crawl. +type LastCrawlInfo struct { _ struct{} `type:"structure"` - // The number of AWS Glue data processing units (DPUs) allocated to this JobRun. - // From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative - // measure of processing power that consists of 4 vCPUs of compute capacity - // and 16 GB of memory. For more information, see the AWS Glue pricing page - // (https://aws.amazon.com/glue/pricing/). - AllocatedCapacity *int64 `type:"integer"` - - // The job arguments associated with this run. These override equivalent default - // arguments set for the job. - // - // You can specify arguments here that your own job-execution script consumes, - // as well as arguments that AWS Glue itself consumes. - // - // For information about how to specify and consume your own job arguments, - // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) - // topic in the developer guide. - // - // For information about the key-value pairs that AWS Glue consumes to set up - // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) - // topic in the developer guide. - Arguments map[string]*string `type:"map"` - - // The number of the attempt to run this job. - Attempt *int64 `type:"integer"` - - // The date and time this job run completed. - CompletedOn *time.Time `type:"timestamp"` - - // An error message associated with this job run. + // If an error occurred, the error information about the last crawl. ErrorMessage *string `type:"string"` - // The amount of time (in seconds) that the job run consumed resources. - ExecutionTime *int64 `type:"integer"` - - // The ID of this job run. - Id *string `min:"1" type:"string"` - - // The name of the job definition being used in this run. - JobName *string `min:"1" type:"string"` - - // The current state of the job run. - JobRunState *string `type:"string" enum:"JobRunState"` - - // The last time this job run was modified. - LastModifiedOn *time.Time `type:"timestamp"` - - // The name of the log group for secure logging, that can be server-side encrypted - // in CloudWatch using KMS. This name can be /aws-glue/jobs/, in which case - // the default encryption is NONE. If you add a role name and SecurityConfiguration - // name (in other words, /aws-glue/jobs-yourRoleName-yourSecurityConfigurationName/), - // then that security configuration will be used to encrypt the log group. - LogGroupName *string `type:"string"` - - // Specifies configuration properties of a job run notification. - NotificationProperty *NotificationProperty `type:"structure"` - - // A list of predecessors to this job run. - PredecessorRuns []*Predecessor `type:"list"` - - // The ID of the previous run of this job. For example, the JobRunId specified - // in the StartJobRun action. - PreviousRunId *string `min:"1" type:"string"` - - // The name of the SecurityConfiguration structure to be used with this job - // run. - SecurityConfiguration *string `min:"1" type:"string"` - - // The date and time at which this job run was started. - StartedOn *time.Time `type:"timestamp"` - - // The JobRun timeout in minutes. This is the maximum time that a job run can - // consume resources before it is terminated and enters TIMEOUT status. The - // default is 2,880 minutes (48 hours). This overrides the timeout value set - // in the parent job. - Timeout *int64 `min:"1" type:"integer"` - - // The name of the trigger that started this job run. - TriggerName *string `min:"1" type:"string"` -} + // The log group for the last crawl. + LogGroup *string `min:"1" type:"string"` -// String returns the string representation -func (s JobRun) String() string { - return awsutil.Prettify(s) -} + // The log stream for the last crawl. + LogStream *string `min:"1" type:"string"` -// GoString returns the string representation -func (s JobRun) GoString() string { - return s.String() -} + // The prefix for a message about this crawl. + MessagePrefix *string `min:"1" type:"string"` -// SetAllocatedCapacity sets the AllocatedCapacity field's value. -func (s *JobRun) SetAllocatedCapacity(v int64) *JobRun { - s.AllocatedCapacity = &v - return s -} + // The time at which the crawl started. + StartTime *time.Time `type:"timestamp"` -// SetArguments sets the Arguments field's value. -func (s *JobRun) SetArguments(v map[string]*string) *JobRun { - s.Arguments = v - return s + // Status of the last crawl. + Status *string `type:"string" enum:"LastCrawlStatus"` } -// SetAttempt sets the Attempt field's value. -func (s *JobRun) SetAttempt(v int64) *JobRun { - s.Attempt = &v - return s +// String returns the string representation +func (s LastCrawlInfo) String() string { + return awsutil.Prettify(s) } -// SetCompletedOn sets the CompletedOn field's value. -func (s *JobRun) SetCompletedOn(v time.Time) *JobRun { - s.CompletedOn = &v - return s +// GoString returns the string representation +func (s LastCrawlInfo) GoString() string { + return s.String() } // SetErrorMessage sets the ErrorMessage field's value. -func (s *JobRun) SetErrorMessage(v string) *JobRun { +func (s *LastCrawlInfo) SetErrorMessage(v string) *LastCrawlInfo { s.ErrorMessage = &v return s } -// SetExecutionTime sets the ExecutionTime field's value. -func (s *JobRun) SetExecutionTime(v int64) *JobRun { - s.ExecutionTime = &v +// SetLogGroup sets the LogGroup field's value. +func (s *LastCrawlInfo) SetLogGroup(v string) *LastCrawlInfo { + s.LogGroup = &v return s } -// SetId sets the Id field's value. -func (s *JobRun) SetId(v string) *JobRun { - s.Id = &v +// SetLogStream sets the LogStream field's value. +func (s *LastCrawlInfo) SetLogStream(v string) *LastCrawlInfo { + s.LogStream = &v return s } -// SetJobName sets the JobName field's value. -func (s *JobRun) SetJobName(v string) *JobRun { - s.JobName = &v +// SetMessagePrefix sets the MessagePrefix field's value. +func (s *LastCrawlInfo) SetMessagePrefix(v string) *LastCrawlInfo { + s.MessagePrefix = &v return s } -// SetJobRunState sets the JobRunState field's value. -func (s *JobRun) SetJobRunState(v string) *JobRun { - s.JobRunState = &v +// SetStartTime sets the StartTime field's value. +func (s *LastCrawlInfo) SetStartTime(v time.Time) *LastCrawlInfo { + s.StartTime = &v return s } -// SetLastModifiedOn sets the LastModifiedOn field's value. -func (s *JobRun) SetLastModifiedOn(v time.Time) *JobRun { - s.LastModifiedOn = &v +// SetStatus sets the Status field's value. +func (s *LastCrawlInfo) SetStatus(v string) *LastCrawlInfo { + s.Status = &v return s } -// SetLogGroupName sets the LogGroupName field's value. -func (s *JobRun) SetLogGroupName(v string) *JobRun { - s.LogGroupName = &v - return s -} +type ListCrawlersInput struct { + _ struct{} `type:"structure"` -// SetNotificationProperty sets the NotificationProperty field's value. -func (s *JobRun) SetNotificationProperty(v *NotificationProperty) *JobRun { - s.NotificationProperty = v - return s + // The maximum size of a list to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation request. + NextToken *string `type:"string"` + + // Specifies to return only these tagged resources. + Tags map[string]*string `type:"map"` } -// SetPredecessorRuns sets the PredecessorRuns field's value. -func (s *JobRun) SetPredecessorRuns(v []*Predecessor) *JobRun { - s.PredecessorRuns = v - return s +// String returns the string representation +func (s ListCrawlersInput) String() string { + return awsutil.Prettify(s) } -// SetPreviousRunId sets the PreviousRunId field's value. -func (s *JobRun) SetPreviousRunId(v string) *JobRun { - s.PreviousRunId = &v - return s +// GoString returns the string representation +func (s ListCrawlersInput) GoString() string { + return s.String() } -// SetSecurityConfiguration sets the SecurityConfiguration field's value. -func (s *JobRun) SetSecurityConfiguration(v string) *JobRun { - s.SecurityConfiguration = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCrawlersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCrawlersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStartedOn sets the StartedOn field's value. -func (s *JobRun) SetStartedOn(v time.Time) *JobRun { - s.StartedOn = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListCrawlersInput) SetMaxResults(v int64) *ListCrawlersInput { + s.MaxResults = &v return s } -// SetTimeout sets the Timeout field's value. -func (s *JobRun) SetTimeout(v int64) *JobRun { - s.Timeout = &v +// SetNextToken sets the NextToken field's value. +func (s *ListCrawlersInput) SetNextToken(v string) *ListCrawlersInput { + s.NextToken = &v return s } -// SetTriggerName sets the TriggerName field's value. -func (s *JobRun) SetTriggerName(v string) *JobRun { - s.TriggerName = &v +// SetTags sets the Tags field's value. +func (s *ListCrawlersInput) SetTags(v map[string]*string) *ListCrawlersInput { + s.Tags = v return s } -// Specifies information used to update an existing job definition. Note that -// the previous job definition will be completely overwritten by this information. -type JobUpdate struct { +type ListCrawlersOutput struct { _ struct{} `type:"structure"` - // The number of AWS Glue data processing units (DPUs) to allocate to this Job. - // From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative - // measure of processing power that consists of 4 vCPUs of compute capacity - // and 16 GB of memory. For more information, see the AWS Glue pricing page - // (https://aws.amazon.com/glue/pricing/). - AllocatedCapacity *int64 `type:"integer"` - - // The JobCommand that executes this job (required). - Command *JobCommand `type:"structure"` - - // The connections used for this job. - Connections *ConnectionsList `type:"structure"` + // The names of all crawlers in the account, or the crawlers with the specified + // tags. + CrawlerNames []*string `type:"list"` - // The default arguments for this job. - // - // You can specify arguments here that your own job-execution script consumes, - // as well as arguments that AWS Glue itself consumes. - // - // For information about how to specify and consume your own Job arguments, - // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) - // topic in the developer guide. - // - // For information about the key-value pairs that AWS Glue consumes to set up - // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) - // topic in the developer guide. - DefaultArguments map[string]*string `type:"map"` + // A continuation token, if the returned list does not contain the last metric + // available. + NextToken *string `type:"string"` +} - // Description of the job being defined. - Description *string `type:"string"` +// String returns the string representation +func (s ListCrawlersOutput) String() string { + return awsutil.Prettify(s) +} - // An ExecutionProperty specifying the maximum number of concurrent runs allowed - // for this job. - ExecutionProperty *ExecutionProperty `type:"structure"` +// GoString returns the string representation +func (s ListCrawlersOutput) GoString() string { + return s.String() +} - // This field is reserved for future use. - LogUri *string `type:"string"` +// SetCrawlerNames sets the CrawlerNames field's value. +func (s *ListCrawlersOutput) SetCrawlerNames(v []*string) *ListCrawlersOutput { + s.CrawlerNames = v + return s +} - // The maximum number of times to retry this job if it fails. - MaxRetries *int64 `type:"integer"` +// SetNextToken sets the NextToken field's value. +func (s *ListCrawlersOutput) SetNextToken(v string) *ListCrawlersOutput { + s.NextToken = &v + return s +} - // Specifies configuration properties of a job notification. - NotificationProperty *NotificationProperty `type:"structure"` +type ListDevEndpointsInput struct { + _ struct{} `type:"structure"` - // The name or ARN of the IAM role associated with this job (required). - Role *string `type:"string"` + // The maximum size of a list to return. + MaxResults *int64 `min:"1" type:"integer"` - // The name of the SecurityConfiguration structure to be used with this job. - SecurityConfiguration *string `min:"1" type:"string"` + // A continuation token, if this is a continuation request. + NextToken *string `type:"string"` - // The job timeout in minutes. This is the maximum time that a job run can consume - // resources before it is terminated and enters TIMEOUT status. The default - // is 2,880 minutes (48 hours). - Timeout *int64 `min:"1" type:"integer"` + // Specifies to return only these tagged resources. + Tags map[string]*string `type:"map"` } // String returns the string representation -func (s JobUpdate) String() string { +func (s ListDevEndpointsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s JobUpdate) GoString() string { +func (s ListDevEndpointsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *JobUpdate) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "JobUpdate"} - if s.SecurityConfiguration != nil && len(*s.SecurityConfiguration) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SecurityConfiguration", 1)) - } - if s.Timeout != nil && *s.Timeout < 1 { - invalidParams.Add(request.NewErrParamMinValue("Timeout", 1)) - } - if s.NotificationProperty != nil { - if err := s.NotificationProperty.Validate(); err != nil { - invalidParams.AddNested("NotificationProperty", err.(request.ErrInvalidParams)) - } +func (s *ListDevEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDevEndpointsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -17669,210 +19768,244 @@ func (s *JobUpdate) Validate() error { return nil } -// SetAllocatedCapacity sets the AllocatedCapacity field's value. -func (s *JobUpdate) SetAllocatedCapacity(v int64) *JobUpdate { - s.AllocatedCapacity = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListDevEndpointsInput) SetMaxResults(v int64) *ListDevEndpointsInput { + s.MaxResults = &v return s } -// SetCommand sets the Command field's value. -func (s *JobUpdate) SetCommand(v *JobCommand) *JobUpdate { - s.Command = v +// SetNextToken sets the NextToken field's value. +func (s *ListDevEndpointsInput) SetNextToken(v string) *ListDevEndpointsInput { + s.NextToken = &v return s } -// SetConnections sets the Connections field's value. -func (s *JobUpdate) SetConnections(v *ConnectionsList) *JobUpdate { - s.Connections = v +// SetTags sets the Tags field's value. +func (s *ListDevEndpointsInput) SetTags(v map[string]*string) *ListDevEndpointsInput { + s.Tags = v return s } -// SetDefaultArguments sets the DefaultArguments field's value. -func (s *JobUpdate) SetDefaultArguments(v map[string]*string) *JobUpdate { - s.DefaultArguments = v +type ListDevEndpointsOutput struct { + _ struct{} `type:"structure"` + + // The names of all DevEndpoints in the account, or the DevEndpoints with the + // specified tags. + DevEndpointNames []*string `type:"list"` + + // A continuation token, if the returned list does not contain the last metric + // available. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListDevEndpointsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDevEndpointsOutput) GoString() string { + return s.String() +} + +// SetDevEndpointNames sets the DevEndpointNames field's value. +func (s *ListDevEndpointsOutput) SetDevEndpointNames(v []*string) *ListDevEndpointsOutput { + s.DevEndpointNames = v return s } -// SetDescription sets the Description field's value. -func (s *JobUpdate) SetDescription(v string) *JobUpdate { - s.Description = &v +// SetNextToken sets the NextToken field's value. +func (s *ListDevEndpointsOutput) SetNextToken(v string) *ListDevEndpointsOutput { + s.NextToken = &v return s } -// SetExecutionProperty sets the ExecutionProperty field's value. -func (s *JobUpdate) SetExecutionProperty(v *ExecutionProperty) *JobUpdate { - s.ExecutionProperty = v +type ListJobsInput struct { + _ struct{} `type:"structure"` + + // The maximum size of a list to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation request. + NextToken *string `type:"string"` + + // Specifies to return only these tagged resources. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation +func (s ListJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"} + 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 *ListJobsInput) SetMaxResults(v int64) *ListJobsInput { + s.MaxResults = &v return s } -// SetLogUri sets the LogUri field's value. -func (s *JobUpdate) SetLogUri(v string) *JobUpdate { - s.LogUri = &v +// SetNextToken sets the NextToken field's value. +func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput { + s.NextToken = &v return s } -// SetMaxRetries sets the MaxRetries field's value. -func (s *JobUpdate) SetMaxRetries(v int64) *JobUpdate { - s.MaxRetries = &v +// SetTags sets the Tags field's value. +func (s *ListJobsInput) SetTags(v map[string]*string) *ListJobsInput { + s.Tags = v return s } -// SetNotificationProperty sets the NotificationProperty field's value. -func (s *JobUpdate) SetNotificationProperty(v *NotificationProperty) *JobUpdate { - s.NotificationProperty = v - return s +type ListJobsOutput struct { + _ struct{} `type:"structure"` + + // The names of all jobs in the account, or the jobs with the specified tags. + JobNames []*string `type:"list"` + + // A continuation token, if the returned list does not contain the last metric + // available. + NextToken *string `type:"string"` } -// SetRole sets the Role field's value. -func (s *JobUpdate) SetRole(v string) *JobUpdate { - s.Role = &v - return s +// String returns the string representation +func (s ListJobsOutput) String() string { + return awsutil.Prettify(s) } -// SetSecurityConfiguration sets the SecurityConfiguration field's value. -func (s *JobUpdate) SetSecurityConfiguration(v string) *JobUpdate { - s.SecurityConfiguration = &v +// GoString returns the string representation +func (s ListJobsOutput) GoString() string { + return s.String() +} + +// SetJobNames sets the JobNames field's value. +func (s *ListJobsOutput) SetJobNames(v []*string) *ListJobsOutput { + s.JobNames = v return s } -// SetTimeout sets the Timeout field's value. -func (s *JobUpdate) SetTimeout(v int64) *JobUpdate { - s.Timeout = &v +// SetNextToken sets the NextToken field's value. +func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput { + s.NextToken = &v return s } -// A classifier for JSON content. -type JsonClassifier struct { +type ListTriggersInput struct { _ struct{} `type:"structure"` - // The time this classifier was registered. - CreationTime *time.Time `type:"timestamp"` - - // A JsonPath string defining the JSON data for the classifier to classify. - // AWS Glue supports a subset of JsonPath, as described in Writing JsonPath - // Custom Classifiers (https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json). - // - // JsonPath is a required field - JsonPath *string `type:"string" required:"true"` + // The name of the job for which to retrieve triggers. The trigger that can + // start this job will be returned, and if there is no such trigger, all triggers + // will be returned. + DependentJobName *string `min:"1" type:"string"` - // The time this classifier was last updated. - LastUpdated *time.Time `type:"timestamp"` + // The maximum size of a list to return. + MaxResults *int64 `min:"1" type:"integer"` - // The name of the classifier. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // A continuation token, if this is a continuation request. + NextToken *string `type:"string"` - // The version of this classifier. - Version *int64 `type:"long"` + // Specifies to return only these tagged resources. + Tags map[string]*string `type:"map"` } // String returns the string representation -func (s JsonClassifier) String() string { +func (s ListTriggersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s JsonClassifier) GoString() string { +func (s ListTriggersInput) GoString() string { return s.String() } -// SetCreationTime sets the CreationTime field's value. -func (s *JsonClassifier) SetCreationTime(v time.Time) *JsonClassifier { - s.CreationTime = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTriggersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTriggersInput"} + if s.DependentJobName != nil && len(*s.DependentJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DependentJobName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetJsonPath sets the JsonPath field's value. -func (s *JsonClassifier) SetJsonPath(v string) *JsonClassifier { - s.JsonPath = &v +// SetDependentJobName sets the DependentJobName field's value. +func (s *ListTriggersInput) SetDependentJobName(v string) *ListTriggersInput { + s.DependentJobName = &v return s } -// SetLastUpdated sets the LastUpdated field's value. -func (s *JsonClassifier) SetLastUpdated(v time.Time) *JsonClassifier { - s.LastUpdated = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListTriggersInput) SetMaxResults(v int64) *ListTriggersInput { + s.MaxResults = &v return s } -// SetName sets the Name field's value. -func (s *JsonClassifier) SetName(v string) *JsonClassifier { - s.Name = &v +// SetNextToken sets the NextToken field's value. +func (s *ListTriggersInput) SetNextToken(v string) *ListTriggersInput { + s.NextToken = &v return s } -// SetVersion sets the Version field's value. -func (s *JsonClassifier) SetVersion(v int64) *JsonClassifier { - s.Version = &v +// SetTags sets the Tags field's value. +func (s *ListTriggersInput) SetTags(v map[string]*string) *ListTriggersInput { + s.Tags = v return s } -// Status and error information about the most recent crawl. -type LastCrawlInfo struct { +type ListTriggersOutput struct { _ struct{} `type:"structure"` - // If an error occurred, the error information about the last crawl. - ErrorMessage *string `type:"string"` - - // The log group for the last crawl. - LogGroup *string `min:"1" type:"string"` - - // The log stream for the last crawl. - LogStream *string `min:"1" type:"string"` - - // The prefix for a message about this crawl. - MessagePrefix *string `min:"1" type:"string"` - - // The time at which the crawl started. - StartTime *time.Time `type:"timestamp"` + // A continuation token, if the returned list does not contain the last metric + // available. + NextToken *string `type:"string"` - // Status of the last crawl. - Status *string `type:"string" enum:"LastCrawlStatus"` + // The names of all triggers in the account, or the triggers with the specified + // tags. + TriggerNames []*string `type:"list"` } // String returns the string representation -func (s LastCrawlInfo) String() string { +func (s ListTriggersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LastCrawlInfo) GoString() string { +func (s ListTriggersOutput) GoString() string { return s.String() } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *LastCrawlInfo) SetErrorMessage(v string) *LastCrawlInfo { - s.ErrorMessage = &v - return s -} - -// SetLogGroup sets the LogGroup field's value. -func (s *LastCrawlInfo) SetLogGroup(v string) *LastCrawlInfo { - s.LogGroup = &v - return s -} - -// SetLogStream sets the LogStream field's value. -func (s *LastCrawlInfo) SetLogStream(v string) *LastCrawlInfo { - s.LogStream = &v - return s -} - -// SetMessagePrefix sets the MessagePrefix field's value. -func (s *LastCrawlInfo) SetMessagePrefix(v string) *LastCrawlInfo { - s.MessagePrefix = &v - return s -} - -// SetStartTime sets the StartTime field's value. -func (s *LastCrawlInfo) SetStartTime(v time.Time) *LastCrawlInfo { - s.StartTime = &v +// SetNextToken sets the NextToken field's value. +func (s *ListTriggersOutput) SetNextToken(v string) *ListTriggersOutput { + s.NextToken = &v return s } -// SetStatus sets the Status field's value. -func (s *LastCrawlInfo) SetStatus(v string) *LastCrawlInfo { - s.Status = &v +// SetTriggerNames sets the TriggerNames field's value. +func (s *ListTriggersOutput) SetTriggerNames(v []*string) *ListTriggersOutput { + s.TriggerNames = v return s } @@ -18258,7 +20391,8 @@ type PartitionInput struct { // Provides information about the physical location where the partition is stored. StorageDescriptor *StorageDescriptor `type:"structure"` - // The values of the partition. + // The values of the partition. Although this parameter is not required by the + // SDK, you must specify this parameter for a valid input. Values []*string `type:"list"` } @@ -18360,9 +20494,9 @@ func (s *PartitionValueList) SetValues(v []*string) *PartitionValueList { type PhysicalConnectionRequirements struct { _ struct{} `type:"structure"` - // The connection's availability zone. This field is redundant, since the specified - // subnet implies the availability zone to be used. The field must be populated - // now, but will be deprecated in the future. + // The connection's Availability Zone. This field is redundant because the specified + // subnet implies the Availability Zone to be used. Currently the field must + // be populated, but it will be deprecated in the future. AvailabilityZone *string `min:"1" type:"string"` // The security group ID list used by the connection. @@ -18508,7 +20642,7 @@ type PutDataCatalogEncryptionSettingsInput struct { _ struct{} `type:"structure"` // The ID of the Data Catalog for which to set the security configuration. If - // none is supplied, the AWS account ID is used by default. + // none is provided, the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` // The security configuration to set. @@ -18582,7 +20716,7 @@ type PutResourcePolicyInput struct { // the call will not depend on the existence of a policy. PolicyExistsCondition *string `type:"string" enum:"ExistCondition"` - // This is the hash value returned when the previous policy was set using PutResourcePolicy. + // The hash value returned when the previous policy was set using PutResourcePolicy. // Its purpose is to prevent concurrent modifications of a policy. Do not use // this parameter if no previous policy has been set. PolicyHashCondition *string `min:"1" type:"string"` @@ -19223,15 +21357,19 @@ func (s StartCrawlerScheduleOutput) GoString() string { type StartJobRunInput struct { _ struct{} `type:"structure"` + // This field is deprecated, use MaxCapacity instead. + // // The number of AWS Glue data processing units (DPUs) to allocate to this JobRun. // From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative // measure of processing power that consists of 4 vCPUs of compute capacity // and 16 GB of memory. For more information, see the AWS Glue pricing page // (https://aws.amazon.com/glue/pricing/). - AllocatedCapacity *int64 `type:"integer"` + // + // Deprecated: This property is deprecated, use MaxCapacity instead. + AllocatedCapacity *int64 `deprecated:"true" type:"integer"` - // The job arguments specifically for this run. They override the equivalent - // default arguments set for in the job definition itself. + // The job arguments specifically for this run. For this job run, they replace + // the default arguments set in the job definition itself. // // You can specify arguments here that your own job-execution script consumes, // as well as arguments that AWS Glue itself consumes. @@ -19253,6 +21391,22 @@ type StartJobRunInput struct { // The ID of a previous JobRun to retry. JobRunId *string `min:"1" type:"string"` + // The number of AWS Glue data processing units (DPUs) that can be allocated + // when this job runs. A DPU is a relative measure of processing power that + // consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, + // see the AWS Glue pricing page (https://aws.amazon.com/glue/pricing/). + // + // The value that can be allocated for MaxCapacity depends on whether you are + // running a python shell job, or an Apache Spark ETL job: + // + // * When you specify a python shell job (JobCommand.Name="pythonshell"), + // you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. + // + // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl"), + // you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job + // type cannot have a fractional DPU allocation. + MaxCapacity *float64 `type:"double"` + // Specifies configuration properties of a job run notification. NotificationProperty *NotificationProperty `type:"structure"` @@ -19331,6 +21485,12 @@ func (s *StartJobRunInput) SetJobRunId(v string) *StartJobRunInput { return s } +// SetMaxCapacity sets the MaxCapacity field's value. +func (s *StartJobRunInput) SetMaxCapacity(v float64) *StartJobRunInput { + s.MaxCapacity = &v + return s +} + // SetNotificationProperty sets the NotificationProperty field's value. func (s *StartJobRunInput) SetNotificationProperty(v *NotificationProperty) *StartJobRunInput { s.NotificationProperty = v @@ -20221,6 +22381,76 @@ func (s *TableVersionError) SetVersionId(v string) *TableVersionError { return s } +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the AWS Glue resource to which to add the tags. For more information + // about AWS Glue resource ARNs, see the AWS Glue ARN string pattern (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html#aws-glue-api-regex-aws-glue-arn-id). + // + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` + + // Tags to add to this resource. + // + // TagsToAdd is a required field + TagsToAdd map[string]*string `type:"map" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagsToAdd == nil { + invalidParams.Add(request.NewErrParamRequired("TagsToAdd")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagsToAdd sets the TagsToAdd field's value. +func (s *TagResourceInput) SetTagsToAdd(v map[string]*string) *TagResourceInput { + s.TagsToAdd = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + // Information about a specific trigger. type Trigger struct { _ struct{} `type:"structure"` @@ -20403,6 +22633,75 @@ func (s *TriggerUpdate) SetSchedule(v string) *TriggerUpdate { return s } +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource from which to remove the tags. + // + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` + + // Tags to remove from this resource. + // + // TagsToRemove is a required field + TagsToRemove []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagsToRemove == nil { + invalidParams.Add(request.NewErrParamRequired("TagsToRemove")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagsToRemove sets the TagsToRemove field's value. +func (s *UntagResourceInput) SetTagsToRemove(v []*string) *UntagResourceInput { + s.TagsToRemove = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + type UpdateClassifierInput struct { _ struct{} `type:"structure"` @@ -20486,7 +22785,7 @@ func (s UpdateClassifierOutput) GoString() string { type UpdateConnectionInput struct { _ struct{} `type:"structure"` - // The ID of the Data Catalog in which the connection resides. If none is supplied, + // The ID of the Data Catalog in which the connection resides. If none is provided, // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/iot/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/iot/api.go index 9cf1259930c..0dec8578027 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/iot/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/iot/api.go @@ -721,7 +721,9 @@ func (c *IoT) AttachThingPrincipalRequest(input *AttachThingPrincipalInput) (req // AttachThingPrincipal API operation for AWS IoT. // -// Attaches the specified principal to the specified thing. +// Attaches the specified principal to the specified thing. A principal can +// be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities +// or federated identities. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2530,7 +2532,7 @@ func (c *IoT) CreateThingRequest(input *CreateThingInput) (req *request.Request, // // Creates a thing record in the registry. // -// This is a control plane operation. See Authorization (http://docs.aws.amazon.com/iot/latest/developerguide/authorization.html) +// This is a control plane operation. See Authorization (https://docs.aws.amazon.com/iot/latest/developerguide/authorization.html) // for information about authorizing control plane actions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2627,7 +2629,7 @@ func (c *IoT) CreateThingGroupRequest(input *CreateThingGroupInput) (req *reques // // Create a thing group. // -// This is a control plane operation. See Authorization (http://docs.aws.amazon.com/iot/latest/developerguide/authorization.html) +// This is a control plane operation. See Authorization (https://docs.aws.amazon.com/iot/latest/developerguide/authorization.html) // for information about authorizing control plane actions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6975,7 +6977,9 @@ func (c *IoT) DetachThingPrincipalRequest(input *DetachThingPrincipalInput) (req // DetachThingPrincipal API operation for AWS IoT. // -// Detaches the specified principal from the specified thing. +// Detaches the specified principal from the specified thing. A principal can +// be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities +// or federated identities. // // This call is asynchronous. It might take several seconds for the detachment // to propagate. @@ -9725,7 +9729,7 @@ func (c *IoT) ListPrincipalPoliciesRequest(input *ListPrincipalPoliciesInput) (r // ListPrincipalPolicies API operation for AWS IoT. // // Lists the policies attached to the specified principal. If you use an Cognito -// identity, the ID must be in AmazonCognito Identity format (http://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetCredentialsForIdentity.html#API_GetCredentialsForIdentity_RequestSyntax). +// identity, the ID must be in AmazonCognito Identity format (https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetCredentialsForIdentity.html#API_GetCredentialsForIdentity_RequestSyntax). // // Note: This API is deprecated. Please use ListAttachedPolicies instead. // @@ -9822,7 +9826,9 @@ func (c *IoT) ListPrincipalThingsRequest(input *ListPrincipalThingsInput) (req * // ListPrincipalThings API operation for AWS IoT. // -// Lists the things associated with the specified principal. +// Lists the things associated with the specified principal. A principal can +// be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities +// or federated identities. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -10769,7 +10775,9 @@ func (c *IoT) ListThingPrincipalsRequest(input *ListThingPrincipalsInput) (req * // ListThingPrincipals API operation for AWS IoT. // -// Lists the principals associated with the specified thing. +// Lists the principals associated with the specified thing. A principal can +// be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities +// or federated identities. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -16853,6 +16861,11 @@ func (s *Behavior) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } + if s.Criteria != nil { + if err := s.Criteria.Validate(); err != nil { + invalidParams.AddNested("Criteria", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -16882,13 +16895,31 @@ func (s *Behavior) SetName(v string) *Behavior { type BehaviorCriteria struct { _ struct{} `type:"structure"` - // The operator that relates the thing measured (metric) to the criteria (value). + // The operator that relates the thing measured (metric) to the criteria (containing + // a value or statisticalThreshold). ComparisonOperator *string `locationName:"comparisonOperator" type:"string" enum:"ComparisonOperator"` - // Use this to specify the period of time over which the behavior is evaluated, + // If a device is in violation of the behavior for the specified number of consecutive + // datapoints, an alarm occurs. If not specified, the default is 1. + ConsecutiveDatapointsToAlarm *int64 `locationName:"consecutiveDatapointsToAlarm" min:"1" type:"integer"` + + // If an alarm has occurred and the offending device is no longer in violation + // of the behavior for the specified number of consecutive datapoints, the alarm + // is cleared. If not specified, the default is 1. + ConsecutiveDatapointsToClear *int64 `locationName:"consecutiveDatapointsToClear" min:"1" type:"integer"` + + // Use this to specify the time duration over which the behavior is evaluated, // for those criteria which have a time dimension (for example, NUM_MESSAGES_SENT). + // For a statisticalThreshhold metric comparison, measurements from all devices + // are accumulated over this time duration before being used to calculate percentiles, + // and later, measurements from an individual device are also accumulated over + // this time duration before being given a percentile rank. DurationSeconds *int64 `locationName:"durationSeconds" type:"integer"` + // A statistical ranking (percentile) which indicates a threshold value by which + // a behavior is determined to be in compliance or in violation of the behavior. + StatisticalThreshold *StatisticalThreshold `locationName:"statisticalThreshold" type:"structure"` + // The value to be compared with the metric. Value *MetricValue `locationName:"value" type:"structure"` } @@ -16903,18 +16934,52 @@ func (s BehaviorCriteria) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *BehaviorCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BehaviorCriteria"} + if s.ConsecutiveDatapointsToAlarm != nil && *s.ConsecutiveDatapointsToAlarm < 1 { + invalidParams.Add(request.NewErrParamMinValue("ConsecutiveDatapointsToAlarm", 1)) + } + if s.ConsecutiveDatapointsToClear != nil && *s.ConsecutiveDatapointsToClear < 1 { + invalidParams.Add(request.NewErrParamMinValue("ConsecutiveDatapointsToClear", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetComparisonOperator sets the ComparisonOperator field's value. func (s *BehaviorCriteria) SetComparisonOperator(v string) *BehaviorCriteria { s.ComparisonOperator = &v return s } +// SetConsecutiveDatapointsToAlarm sets the ConsecutiveDatapointsToAlarm field's value. +func (s *BehaviorCriteria) SetConsecutiveDatapointsToAlarm(v int64) *BehaviorCriteria { + s.ConsecutiveDatapointsToAlarm = &v + return s +} + +// SetConsecutiveDatapointsToClear sets the ConsecutiveDatapointsToClear field's value. +func (s *BehaviorCriteria) SetConsecutiveDatapointsToClear(v int64) *BehaviorCriteria { + s.ConsecutiveDatapointsToClear = &v + return s +} + // SetDurationSeconds sets the DurationSeconds field's value. func (s *BehaviorCriteria) SetDurationSeconds(v int64) *BehaviorCriteria { s.DurationSeconds = &v return s } +// SetStatisticalThreshold sets the StatisticalThreshold field's value. +func (s *BehaviorCriteria) SetStatisticalThreshold(v *StatisticalThreshold) *BehaviorCriteria { + s.StatisticalThreshold = v + return s +} + // SetValue sets the Value field's value. func (s *BehaviorCriteria) SetValue(v *MetricValue) *BehaviorCriteria { s.Value = v @@ -17823,10 +17888,10 @@ type CloudwatchMetricAction struct { // MetricNamespace is a required field MetricNamespace *string `locationName:"metricNamespace" type:"string" required:"true"` - // An optional Unix timestamp (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp). + // An optional Unix timestamp (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp). MetricTimestamp *string `locationName:"metricTimestamp" type:"string"` - // The metric unit (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit) + // The metric unit (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit) // supported by CloudWatch. // // MetricUnit is a required field @@ -18387,7 +18452,7 @@ type CreateDynamicThingGroupInput struct { // The dynamic thing group search query string. // - // See Query Syntax (http://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html) + // See Query Syntax (https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html) // for information about query string syntax. // // QueryString is a required field @@ -19406,6 +19471,9 @@ type CreateScheduledAuditInput struct { // ScheduledAuditName is a required field ScheduledAuditName *string `location:"uri" locationName:"scheduledAuditName" min:"1" type:"string" required:"true"` + // Metadata which can be used to manage the scheduled audit. + Tags []*Tag `locationName:"tags" type:"list"` + // Which checks are performed during the scheduled audit. Checks must be enabled // for your account. (Use DescribeAccountAuditConfiguration to see the list // of all checks including those that are enabled or UpdateAccountAuditConfiguration @@ -19471,6 +19539,12 @@ func (s *CreateScheduledAuditInput) SetScheduledAuditName(v string) *CreateSched return s } +// SetTags sets the Tags field's value. +func (s *CreateScheduledAuditInput) SetTags(v []*Tag) *CreateScheduledAuditInput { + s.Tags = v + return s +} + // SetTargetCheckNames sets the TargetCheckNames field's value. func (s *CreateScheduledAuditInput) SetTargetCheckNames(v []*string) *CreateScheduledAuditInput { s.TargetCheckNames = v @@ -19503,15 +19577,18 @@ func (s *CreateScheduledAuditOutput) SetScheduledAuditArn(v string) *CreateSched type CreateSecurityProfileInput struct { _ struct{} `type:"structure"` + // A list of metrics whose data is retained (stored). By default, data is retained + // for any metric used in the profile's behaviors but it is also retained for + // any metric specified here. + AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" type:"list"` + // Specifies the destinations to which alerts are sent. (Alerts are always sent // to the console.) Alerts are generated when a device (thing) violates a behavior. AlertTargets map[string]*AlertTarget `locationName:"alertTargets" type:"map"` // Specifies the behaviors that, when violated by a device (thing), cause an // alert. - // - // Behaviors is a required field - Behaviors []*Behavior `locationName:"behaviors" type:"list" required:"true"` + Behaviors []*Behavior `locationName:"behaviors" type:"list"` // A description of the security profile. SecurityProfileDescription *string `locationName:"securityProfileDescription" type:"string"` @@ -19538,9 +19615,6 @@ func (s CreateSecurityProfileInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateSecurityProfileInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateSecurityProfileInput"} - if s.Behaviors == nil { - invalidParams.Add(request.NewErrParamRequired("Behaviors")) - } if s.SecurityProfileName == nil { invalidParams.Add(request.NewErrParamRequired("SecurityProfileName")) } @@ -19574,6 +19648,12 @@ func (s *CreateSecurityProfileInput) Validate() error { return nil } +// SetAdditionalMetricsToRetain sets the AdditionalMetricsToRetain field's value. +func (s *CreateSecurityProfileInput) SetAdditionalMetricsToRetain(v []*string) *CreateSecurityProfileInput { + s.AdditionalMetricsToRetain = v + return s +} + // SetAlertTargets sets the AlertTargets field's value. func (s *CreateSecurityProfileInput) SetAlertTargets(v map[string]*AlertTarget) *CreateSecurityProfileInput { s.AlertTargets = v @@ -20126,6 +20206,15 @@ type CreateTopicRuleInput struct { // RuleName is a required field RuleName *string `location:"uri" locationName:"ruleName" min:"1" type:"string" required:"true"` + // Metadata which can be used to manage the topic rule. + // + // For URI Request parameters use format: ...key1=value1&key2=value2... + // + // For the CLI command-line parameter use format: --tags "key1=value1&key2=value2..." + // + // For the cli-input-json file use format: "tags": "key1=value1&key2=value2..." + Tags *string `location:"header" locationName:"x-amz-tagging" type:"string"` + // The rule payload. // // TopicRulePayload is a required field @@ -20172,6 +20261,12 @@ func (s *CreateTopicRuleInput) SetRuleName(v string) *CreateTopicRuleInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateTopicRuleInput) SetTags(v string) *CreateTopicRuleInput { + s.Tags = &v + return s +} + // SetTopicRulePayload sets the TopicRulePayload field's value. func (s *CreateTopicRuleInput) SetTopicRulePayload(v *TopicRulePayload) *CreateTopicRuleInput { s.TopicRulePayload = v @@ -22764,6 +22859,11 @@ func (s *DescribeSecurityProfileInput) SetSecurityProfileName(v string) *Describ type DescribeSecurityProfileOutput struct { _ struct{} `type:"structure"` + // A list of metrics whose data is retained (stored). By default, data is retained + // for any metric used in the profile's behaviors but it is also retained for + // any metric specified here. + AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" type:"list"` + // Where the alerts are sent. (Alerts are always sent to the console.) AlertTargets map[string]*AlertTarget `locationName:"alertTargets" type:"map"` @@ -22802,6 +22902,12 @@ func (s DescribeSecurityProfileOutput) GoString() string { return s.String() } +// SetAdditionalMetricsToRetain sets the AdditionalMetricsToRetain field's value. +func (s *DescribeSecurityProfileOutput) SetAdditionalMetricsToRetain(v []*string) *DescribeSecurityProfileOutput { + s.AdditionalMetricsToRetain = v + return s +} + // SetAlertTargets sets the AlertTargets field's value. func (s *DescribeSecurityProfileOutput) SetAlertTargets(v map[string]*AlertTarget) *DescribeSecurityProfileOutput { s.AlertTargets = v @@ -24007,10 +24113,14 @@ type DynamoDBv2Action struct { // // Each attribute in the message payload will be written to a separate column // in the DynamoDB database. - PutItem *PutItemInput `locationName:"putItem" type:"structure"` + // + // PutItem is a required field + PutItem *PutItemInput `locationName:"putItem" type:"structure" required:"true"` // The ARN of the IAM role that grants access to the DynamoDB table. - RoleArn *string `locationName:"roleArn" type:"string"` + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` } // String returns the string representation @@ -24026,6 +24136,12 @@ func (s DynamoDBv2Action) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DynamoDBv2Action) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DynamoDBv2Action"} + if s.PutItem == nil { + invalidParams.Add(request.NewErrParamRequired("PutItem")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } if s.PutItem != nil { if err := s.PutItem.Validate(); err != nil { invalidParams.AddNested("PutItem", err.(request.ErrInvalidParams)) @@ -25414,10 +25530,10 @@ type Job struct { // If the job was updated, describes the reason for the update. Comment *string `locationName:"comment" type:"string"` - // The time, in milliseconds since the epoch, when the job was completed. + // The time, in seconds since the epoch, when the job was completed. CompletedAt *time.Time `locationName:"completedAt" type:"timestamp"` - // The time, in milliseconds since the epoch, when the job was created. + // The time, in seconds since the epoch, when the job was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` // A short text description of the job. @@ -25439,7 +25555,7 @@ type Job struct { // Details about the job process. JobProcessDetails *JobProcessDetails `locationName:"jobProcessDetails" type:"structure"` - // The time, in milliseconds since the epoch, when the job was last updated. + // The time, in seconds since the epoch, when the job was last updated. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // Configuration for pre-signed S3 URLs. @@ -25606,14 +25722,13 @@ type JobExecution struct { // The unique identifier you assigned to the job when it was created. JobId *string `locationName:"jobId" min:"1" type:"string"` - // The time, in milliseconds since the epoch, when the job execution was last - // updated. + // The time, in seconds since the epoch, when the job execution was last updated. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` - // The time, in milliseconds since the epoch, when the job execution was queued. + // The time, in seconds since the epoch, when the job execution was queued. QueuedAt *time.Time `locationName:"queuedAt" type:"timestamp"` - // The time, in milliseconds since the epoch, when the job execution started. + // The time, in seconds since the epoch, when the job execution started. StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` // The status of the job execution (IN_PROGRESS, QUEUED, FAILED, SUCCEEDED, @@ -25740,14 +25855,13 @@ type JobExecutionSummary struct { // in commands which return or update job execution information. ExecutionNumber *int64 `locationName:"executionNumber" type:"long"` - // The time, in milliseconds since the epoch, when the job execution was last - // updated. + // The time, in seconds since the epoch, when the job execution was last updated. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` - // The time, in milliseconds since the epoch, when the job execution was queued. + // The time, in seconds since the epoch, when the job execution was queued. QueuedAt *time.Time `locationName:"queuedAt" type:"timestamp"` - // The time, in milliseconds since the epoch, when the job execution started. + // The time, in seconds since the epoch, when the job execution started. StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` // The status of the job execution. @@ -26017,10 +26131,10 @@ func (s *JobProcessDetails) SetProcessingTargets(v []*string) *JobProcessDetails type JobSummary struct { _ struct{} `type:"structure"` - // The time, in milliseconds since the epoch, when the job completed. + // The time, in seconds since the epoch, when the job completed. CompletedAt *time.Time `locationName:"completedAt" type:"timestamp"` - // The time, in milliseconds since the epoch, when the job was created. + // The time, in seconds since the epoch, when the job was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` // The job ARN. @@ -26029,7 +26143,7 @@ type JobSummary struct { // The unique identifier you assigned to this job when it was created. JobId *string `locationName:"jobId" min:"1" type:"string"` - // The time, in milliseconds since the epoch, when the job was last updated. + // The time, in seconds since the epoch, when the job was last updated. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // The job summary status. @@ -31177,11 +31291,11 @@ func (s *RegisterCertificateOutput) SetCertificateId(v string) *RegisterCertific type RegisterThingInput struct { _ struct{} `type:"structure"` - // The parameters for provisioning a thing. See Programmatic Provisioning (http://docs.aws.amazon.com/iot/latest/developerguide/programmatic-provisioning.html) + // The parameters for provisioning a thing. See Programmatic Provisioning (https://docs.aws.amazon.com/iot/latest/developerguide/programmatic-provisioning.html) // for more information. Parameters map[string]*string `locationName:"parameters" type:"map"` - // The provisioning template. See Programmatic Provisioning (http://docs.aws.amazon.com/iot/latest/developerguide/programmatic-provisioning.html) + // The provisioning template. See Programmatic Provisioning (https://docs.aws.amazon.com/iot/latest/developerguide/programmatic-provisioning.html) // for more information. // // TemplateBody is a required field @@ -31878,7 +31992,7 @@ type S3Action struct { BucketName *string `locationName:"bucketName" type:"string" required:"true"` // The Amazon S3 canned ACL that controls access to the object identified by - // the object key. For more information, see S3 canned ACLs (http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl). + // the object key. For more information, see S3 canned ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl). CannedAcl *string `locationName:"cannedAcl" type:"string" enum:"CannedAccessControlList"` // The object key. @@ -32773,7 +32887,7 @@ type SnsAction struct { // are "JSON" and "RAW". The default value of the attribute is "RAW". SNS uses // this setting to determine if the payload should be parsed and relevant platform-specific // bits of the payload should be extracted. To read more about SNS message formats, - // see http://docs.aws.amazon.com/sns/latest/dg/json-formats.html (http://docs.aws.amazon.com/sns/latest/dg/json-formats.html) + // see https://docs.aws.amazon.com/sns/latest/dg/json-formats.html (https://docs.aws.amazon.com/sns/latest/dg/json-formats.html) // refer to their official documentation. MessageFormat *string `locationName:"messageFormat" type:"string" enum:"MessageFormat"` @@ -33129,6 +33243,38 @@ func (s *StartThingRegistrationTaskOutput) SetTaskId(v string) *StartThingRegist return s } +// A statistical ranking (percentile) which indicates a threshold value by which +// a behavior is determined to be in compliance or in violation of the behavior. +type StatisticalThreshold struct { + _ struct{} `type:"structure"` + + // The percentile which resolves to a threshold value by which compliance with + // a behavior is determined. Metrics are collected over the specified period + // (durationSeconds) from all reporting devices in your account and statistical + // ranks are calculated. Then, the measurements from a device are collected + // over the same period. If the accumulated measurements from the device fall + // above or below (comparisonOperator) the value associated with the percentile + // specified, then the device is considered to be in compliance with the behavior, + // otherwise a violation occurs. + Statistic *string `locationName:"statistic" type:"string"` +} + +// String returns the string representation +func (s StatisticalThreshold) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StatisticalThreshold) GoString() string { + return s.String() +} + +// SetStatistic sets the Statistic field's value. +func (s *StatisticalThreshold) SetStatistic(v string) *StatisticalThreshold { + s.Statistic = &v + return s +} + // Starts execution of a Step Functions state machine. type StepFunctionsAction struct { _ struct{} `type:"structure"` @@ -34650,7 +34796,7 @@ type TopicRulePayload struct { RuleDisabled *bool `locationName:"ruleDisabled" type:"boolean"` // The SQL statement used to query the topic. For more information, see AWS - // IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) + // IoT SQL Reference (https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) // in the AWS IoT Developer Guide. // // Sql is a required field @@ -35982,6 +36128,11 @@ func (s *UpdateScheduledAuditOutput) SetScheduledAuditArn(v string) *UpdateSched type UpdateSecurityProfileInput struct { _ struct{} `type:"structure"` + // A list of metrics whose data is retained (stored). By default, data is retained + // for any metric used in the profile's behaviors but it is also retained for + // any metric specified here. + AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" type:"list"` + // Where the alerts are sent. (Alerts are always sent to the console.) AlertTargets map[string]*AlertTarget `locationName:"alertTargets" type:"map"` @@ -35989,6 +36140,19 @@ type UpdateSecurityProfileInput struct { // alert. Behaviors []*Behavior `locationName:"behaviors" type:"list"` + // If true, delete all additionalMetricsToRetain defined for this security profile. + // If any additionalMetricsToRetain are defined in the current invocation an + // exception occurs. + DeleteAdditionalMetricsToRetain *bool `locationName:"deleteAdditionalMetricsToRetain" type:"boolean"` + + // If true, delete all alertTargets defined for this security profile. If any + // alertTargets are defined in the current invocation an exception occurs. + DeleteAlertTargets *bool `locationName:"deleteAlertTargets" type:"boolean"` + + // If true, delete all behaviors defined for this security profile. If any behaviors + // are defined in the current invocation an exception occurs. + DeleteBehaviors *bool `locationName:"deleteBehaviors" type:"boolean"` + // The expected version of the security profile. A new version is generated // whenever the security profile is updated. If you specify a value that is // different than the actual version, a VersionConflictException is thrown. @@ -36049,6 +36213,12 @@ func (s *UpdateSecurityProfileInput) Validate() error { return nil } +// SetAdditionalMetricsToRetain sets the AdditionalMetricsToRetain field's value. +func (s *UpdateSecurityProfileInput) SetAdditionalMetricsToRetain(v []*string) *UpdateSecurityProfileInput { + s.AdditionalMetricsToRetain = v + return s +} + // SetAlertTargets sets the AlertTargets field's value. func (s *UpdateSecurityProfileInput) SetAlertTargets(v map[string]*AlertTarget) *UpdateSecurityProfileInput { s.AlertTargets = v @@ -36061,6 +36231,24 @@ func (s *UpdateSecurityProfileInput) SetBehaviors(v []*Behavior) *UpdateSecurity return s } +// SetDeleteAdditionalMetricsToRetain sets the DeleteAdditionalMetricsToRetain field's value. +func (s *UpdateSecurityProfileInput) SetDeleteAdditionalMetricsToRetain(v bool) *UpdateSecurityProfileInput { + s.DeleteAdditionalMetricsToRetain = &v + return s +} + +// SetDeleteAlertTargets sets the DeleteAlertTargets field's value. +func (s *UpdateSecurityProfileInput) SetDeleteAlertTargets(v bool) *UpdateSecurityProfileInput { + s.DeleteAlertTargets = &v + return s +} + +// SetDeleteBehaviors sets the DeleteBehaviors field's value. +func (s *UpdateSecurityProfileInput) SetDeleteBehaviors(v bool) *UpdateSecurityProfileInput { + s.DeleteBehaviors = &v + return s +} + // SetExpectedVersion sets the ExpectedVersion field's value. func (s *UpdateSecurityProfileInput) SetExpectedVersion(v int64) *UpdateSecurityProfileInput { s.ExpectedVersion = &v @@ -36082,6 +36270,11 @@ func (s *UpdateSecurityProfileInput) SetSecurityProfileName(v string) *UpdateSec type UpdateSecurityProfileOutput struct { _ struct{} `type:"structure"` + // A list of metrics whose data is retained (stored). By default, data is retained + // for any metric used in the security profile's behaviors but it is also retained + // for any metric specified here. + AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" type:"list"` + // Where the alerts are sent. (Alerts are always sent to the console.) AlertTargets map[string]*AlertTarget `locationName:"alertTargets" type:"map"` @@ -36118,6 +36311,12 @@ func (s UpdateSecurityProfileOutput) GoString() string { return s.String() } +// SetAdditionalMetricsToRetain sets the AdditionalMetricsToRetain field's value. +func (s *UpdateSecurityProfileOutput) SetAdditionalMetricsToRetain(v []*string) *UpdateSecurityProfileOutput { + s.AdditionalMetricsToRetain = v + return s +} + // SetAlertTargets sets the AlertTargets field's value. func (s *UpdateSecurityProfileOutput) SetAlertTargets(v map[string]*AlertTarget) *UpdateSecurityProfileOutput { s.AlertTargets = v diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/iot/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/iot/doc.go index ce15b4e96a9..7c5721e3fb8 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/iot/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/iot/doc.go @@ -10,10 +10,10 @@ // organize resources associated with each device (Registry), configure logging, // and create and manage policies and credentials to authenticate devices. // -// For more information about how AWS IoT works, see the Developer Guide (http://docs.aws.amazon.com/iot/latest/developerguide/aws-iot-how-it-works.html). +// For more information about how AWS IoT works, see the Developer Guide (https://docs.aws.amazon.com/iot/latest/developerguide/aws-iot-how-it-works.html). // // For information about how to use the credentials provider for AWS IoT, see -// Authorizing Direct Calls to AWS Services (http://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html). +// Authorizing Direct Calls to AWS Services (https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html). // // See iot package documentation for more information. // https://docs.aws.amazon.com/sdk-for-go/api/service/iot/ diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go new file mode 100644 index 00000000000..c60e1698bc8 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go @@ -0,0 +1,1736 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package kafka + +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 opCreateCluster = "CreateCluster" + +// CreateClusterRequest generates a "aws/request.Request" representing the +// client's request for the CreateCluster 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 CreateCluster for more information on using the CreateCluster +// 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 CreateClusterRequest method. +// req, resp := client.CreateClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateCluster +func (c *Kafka) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { + op := &request.Operation{ + Name: opCreateCluster, + HTTPMethod: "POST", + HTTPPath: "/v1/clusters", + } + + if input == nil { + input = &CreateClusterInput{} + } + + output = &CreateClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCluster API operation for Managed Streaming for Kafka. +// +// Creates a new MSK cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Managed Streaming for Kafka's +// API operation CreateCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Returns information about an error. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Returns information about an error. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Returns information about an error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Returns information about an error. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Returns information about an error. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Returns information about an error. +// +// * ErrCodeConflictException "ConflictException" +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateCluster +func (c *Kafka) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { + req, out := c.CreateClusterRequest(input) + return out, req.Send() +} + +// CreateClusterWithContext is the same as CreateCluster with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCluster 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 *Kafka) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { + req, out := c.CreateClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteCluster = "DeleteCluster" + +// DeleteClusterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCluster 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 DeleteCluster for more information on using the DeleteCluster +// 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 DeleteClusterRequest method. +// req, resp := client.DeleteClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DeleteCluster +func (c *Kafka) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { + op := &request.Operation{ + Name: opDeleteCluster, + HTTPMethod: "DELETE", + HTTPPath: "/v1/clusters/{clusterArn}", + } + + if input == nil { + input = &DeleteClusterInput{} + } + + output = &DeleteClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteCluster API operation for Managed Streaming for Kafka. +// +// Deletes the MSK cluster specified by the Amazon Resource Name (ARN) in 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 Managed Streaming for Kafka's +// API operation DeleteCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// Returns information about an error. +// +// * ErrCodeBadRequestException "BadRequestException" +// Returns information about an error. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Returns information about an error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DeleteCluster +func (c *Kafka) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { + req, out := c.DeleteClusterRequest(input) + return out, req.Send() +} + +// DeleteClusterWithContext is the same as DeleteCluster with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCluster 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 *Kafka) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { + req, out := c.DeleteClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeCluster = "DescribeCluster" + +// DescribeClusterRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCluster 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 DescribeCluster for more information on using the DescribeCluster +// 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 DescribeClusterRequest method. +// req, resp := client.DescribeClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeCluster +func (c *Kafka) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) { + op := &request.Operation{ + Name: opDescribeCluster, + HTTPMethod: "GET", + HTTPPath: "/v1/clusters/{clusterArn}", + } + + if input == nil { + input = &DescribeClusterInput{} + } + + output = &DescribeClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCluster API operation for Managed Streaming for Kafka. +// +// Returns a description of the MSK cluster whose Amazon Resource Name (ARN) +// is specified in 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 Managed Streaming for Kafka's +// API operation DescribeCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// Returns information about an error. +// +// * ErrCodeBadRequestException "BadRequestException" +// Returns information about an error. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Returns information about an error. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Returns information about an error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeCluster +func (c *Kafka) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) { + req, out := c.DescribeClusterRequest(input) + return out, req.Send() +} + +// DescribeClusterWithContext is the same as DescribeCluster with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCluster 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 *Kafka) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) { + req, out := c.DescribeClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetBootstrapBrokers = "GetBootstrapBrokers" + +// GetBootstrapBrokersRequest generates a "aws/request.Request" representing the +// client's request for the GetBootstrapBrokers 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 GetBootstrapBrokers for more information on using the GetBootstrapBrokers +// 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 GetBootstrapBrokersRequest method. +// req, resp := client.GetBootstrapBrokersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetBootstrapBrokers +func (c *Kafka) GetBootstrapBrokersRequest(input *GetBootstrapBrokersInput) (req *request.Request, output *GetBootstrapBrokersOutput) { + op := &request.Operation{ + Name: opGetBootstrapBrokers, + HTTPMethod: "GET", + HTTPPath: "/v1/clusters/{clusterArn}/bootstrap-brokers", + } + + if input == nil { + input = &GetBootstrapBrokersInput{} + } + + output = &GetBootstrapBrokersOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBootstrapBrokers API operation for Managed Streaming for Kafka. +// +// A list of brokers that a client application can use to bootstrap. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Managed Streaming for Kafka's +// API operation GetBootstrapBrokers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Returns information about an error. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Returns information about an error. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Returns information about an error. +// +// * ErrCodeConflictException "ConflictException" +// Returns information about an error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetBootstrapBrokers +func (c *Kafka) GetBootstrapBrokers(input *GetBootstrapBrokersInput) (*GetBootstrapBrokersOutput, error) { + req, out := c.GetBootstrapBrokersRequest(input) + return out, req.Send() +} + +// GetBootstrapBrokersWithContext is the same as GetBootstrapBrokers with the addition of +// the ability to pass a context and additional request options. +// +// See GetBootstrapBrokers 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 *Kafka) GetBootstrapBrokersWithContext(ctx aws.Context, input *GetBootstrapBrokersInput, opts ...request.Option) (*GetBootstrapBrokersOutput, error) { + req, out := c.GetBootstrapBrokersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListClusters = "ListClusters" + +// ListClustersRequest generates a "aws/request.Request" representing the +// client's request for the ListClusters 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 ListClusters for more information on using the ListClusters +// 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 ListClustersRequest method. +// req, resp := client.ListClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusters +func (c *Kafka) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { + op := &request.Operation{ + Name: opListClusters, + HTTPMethod: "GET", + HTTPPath: "/v1/clusters", + } + + if input == nil { + input = &ListClustersInput{} + } + + output = &ListClustersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListClusters API operation for Managed Streaming for Kafka. +// +// Returns a list of clusters in an 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 Managed Streaming for Kafka's +// API operation ListClusters for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Returns information about an error. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Returns information about an error. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Returns information about an error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusters +func (c *Kafka) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { + req, out := c.ListClustersRequest(input) + return out, req.Send() +} + +// ListClustersWithContext is the same as ListClusters with the addition of +// the ability to pass a context and additional request options. +// +// See ListClusters 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 *Kafka) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { + req, out := c.ListClustersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListNodes = "ListNodes" + +// ListNodesRequest generates a "aws/request.Request" representing the +// client's request for the ListNodes 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 ListNodes for more information on using the ListNodes +// 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 ListNodesRequest method. +// req, resp := client.ListNodesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListNodes +func (c *Kafka) ListNodesRequest(input *ListNodesInput) (req *request.Request, output *ListNodesOutput) { + op := &request.Operation{ + Name: opListNodes, + HTTPMethod: "GET", + HTTPPath: "/v1/clusters/{clusterArn}/nodes", + } + + if input == nil { + input = &ListNodesInput{} + } + + output = &ListNodesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListNodes API operation for Managed Streaming for Kafka. +// +// Returns a list of the broker nodes in the cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Managed Streaming for Kafka's +// API operation ListNodes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// Returns information about an error. +// +// * ErrCodeBadRequestException "BadRequestException" +// Returns information about an error. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Returns information about an error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListNodes +func (c *Kafka) ListNodes(input *ListNodesInput) (*ListNodesOutput, error) { + req, out := c.ListNodesRequest(input) + return out, req.Send() +} + +// ListNodesWithContext is the same as ListNodes with the addition of +// the ability to pass a context and additional request options. +// +// See ListNodes 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 *Kafka) ListNodesWithContext(ctx aws.Context, input *ListNodesInput, opts ...request.Option) (*ListNodesOutput, error) { + req, out := c.ListNodesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Describes the setup to be used for Kafka broker nodes in the cluster. +type BrokerNodeGroupInfo struct { + _ struct{} `type:"structure"` + + // The distribution of broker nodes across Availability Zones. + BrokerAZDistribution *string `locationName:"brokerAZDistribution" type:"string" enum:"BrokerAZDistribution"` + + // The list of subnets to connect to in the client virtual private cloud (VPC). + // AWS creates elastic network interfaces inside these subnets. Client applications + // use elastic network interfaces to produce and consume data. Client subnets + // can't be in Availability Zone us-east-1e. + // + // ClientSubnets is a required field + ClientSubnets []*string `locationName:"clientSubnets" type:"list" required:"true"` + + // The type of Amazon EC2 instances to use for Kafka brokers. The following + // instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge,kafka.m5.4xlarge, + // kafka.m5.12xlarge, and kafka.m5.24xlarge. + // + // InstanceType is a required field + InstanceType *string `locationName:"instanceType" min:"5" type:"string" required:"true"` + + // The AWS security groups to associate with the elastic network interfaces + // in order to specify who can connect to and communicate with the Amazon MSK + // cluster. + SecurityGroups []*string `locationName:"securityGroups" type:"list"` + + // Contains information about storage volumes attached to MSK broker nodes. + StorageInfo *StorageInfo `locationName:"storageInfo" type:"structure"` +} + +// String returns the string representation +func (s BrokerNodeGroupInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BrokerNodeGroupInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BrokerNodeGroupInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BrokerNodeGroupInfo"} + if s.ClientSubnets == nil { + invalidParams.Add(request.NewErrParamRequired("ClientSubnets")) + } + if s.InstanceType == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceType")) + } + if s.InstanceType != nil && len(*s.InstanceType) < 5 { + invalidParams.Add(request.NewErrParamMinLen("InstanceType", 5)) + } + if s.StorageInfo != nil { + if err := s.StorageInfo.Validate(); err != nil { + invalidParams.AddNested("StorageInfo", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBrokerAZDistribution sets the BrokerAZDistribution field's value. +func (s *BrokerNodeGroupInfo) SetBrokerAZDistribution(v string) *BrokerNodeGroupInfo { + s.BrokerAZDistribution = &v + return s +} + +// SetClientSubnets sets the ClientSubnets field's value. +func (s *BrokerNodeGroupInfo) SetClientSubnets(v []*string) *BrokerNodeGroupInfo { + s.ClientSubnets = v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *BrokerNodeGroupInfo) SetInstanceType(v string) *BrokerNodeGroupInfo { + s.InstanceType = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *BrokerNodeGroupInfo) SetSecurityGroups(v []*string) *BrokerNodeGroupInfo { + s.SecurityGroups = v + return s +} + +// SetStorageInfo sets the StorageInfo field's value. +func (s *BrokerNodeGroupInfo) SetStorageInfo(v *StorageInfo) *BrokerNodeGroupInfo { + s.StorageInfo = v + return s +} + +// BrokerNodeInfo +type BrokerNodeInfo struct { + _ struct{} `type:"structure"` + + // The attached elastic network interface of the broker. + AttachedENIId *string `locationName:"attachedENIId" type:"string"` + + // The ID of the broker. + BrokerId *float64 `locationName:"brokerId" type:"double"` + + // The client subnet to which this broker node belongs. + ClientSubnet *string `locationName:"clientSubnet" type:"string"` + + // The virtual private cloud (VPC) of the client. + ClientVpcIpAddress *string `locationName:"clientVpcIpAddress" type:"string"` + + // Information about the version of software currently deployed on the Kafka + // brokers in the cluster. + CurrentBrokerSoftwareInfo *BrokerSoftwareInfo `locationName:"currentBrokerSoftwareInfo" type:"structure"` +} + +// String returns the string representation +func (s BrokerNodeInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BrokerNodeInfo) GoString() string { + return s.String() +} + +// SetAttachedENIId sets the AttachedENIId field's value. +func (s *BrokerNodeInfo) SetAttachedENIId(v string) *BrokerNodeInfo { + s.AttachedENIId = &v + return s +} + +// SetBrokerId sets the BrokerId field's value. +func (s *BrokerNodeInfo) SetBrokerId(v float64) *BrokerNodeInfo { + s.BrokerId = &v + return s +} + +// SetClientSubnet sets the ClientSubnet field's value. +func (s *BrokerNodeInfo) SetClientSubnet(v string) *BrokerNodeInfo { + s.ClientSubnet = &v + return s +} + +// SetClientVpcIpAddress sets the ClientVpcIpAddress field's value. +func (s *BrokerNodeInfo) SetClientVpcIpAddress(v string) *BrokerNodeInfo { + s.ClientVpcIpAddress = &v + return s +} + +// SetCurrentBrokerSoftwareInfo sets the CurrentBrokerSoftwareInfo field's value. +func (s *BrokerNodeInfo) SetCurrentBrokerSoftwareInfo(v *BrokerSoftwareInfo) *BrokerNodeInfo { + s.CurrentBrokerSoftwareInfo = v + return s +} + +// Information about the current software installed on the cluster. +type BrokerSoftwareInfo struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configuration used for the cluster. + ConfigurationArn *string `locationName:"configurationArn" type:"string"` + + // The revision of the configuration to use. + ConfigurationRevision *string `locationName:"configurationRevision" type:"string"` + + // The version of Apache Kafka. + KafkaVersion *string `locationName:"kafkaVersion" type:"string"` +} + +// String returns the string representation +func (s BrokerSoftwareInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BrokerSoftwareInfo) GoString() string { + return s.String() +} + +// SetConfigurationArn sets the ConfigurationArn field's value. +func (s *BrokerSoftwareInfo) SetConfigurationArn(v string) *BrokerSoftwareInfo { + s.ConfigurationArn = &v + return s +} + +// SetConfigurationRevision sets the ConfigurationRevision field's value. +func (s *BrokerSoftwareInfo) SetConfigurationRevision(v string) *BrokerSoftwareInfo { + s.ConfigurationRevision = &v + return s +} + +// SetKafkaVersion sets the KafkaVersion field's value. +func (s *BrokerSoftwareInfo) SetKafkaVersion(v string) *BrokerSoftwareInfo { + s.KafkaVersion = &v + return s +} + +// Returns information about a cluster. +type ClusterInfo struct { + _ struct{} `type:"structure"` + + // Information about the broker nodes. + BrokerNodeGroupInfo *BrokerNodeGroupInfo `locationName:"brokerNodeGroupInfo" type:"structure"` + + // The Amazon Resource Name (ARN) that uniquely identifies the cluster. + ClusterArn *string `locationName:"clusterArn" type:"string"` + + // The name of the cluster. + ClusterName *string `locationName:"clusterName" type:"string"` + + // The time when the cluster was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"` + + // Information about the version of software currently deployed on the Kafka + // brokers in the cluster. + CurrentBrokerSoftwareInfo *BrokerSoftwareInfo `locationName:"currentBrokerSoftwareInfo" type:"structure"` + + // The current version of the MSK cluster. + CurrentVersion *string `locationName:"currentVersion" type:"string"` + + // Includes all encryption-related information. + EncryptionInfo *EncryptionInfo `locationName:"encryptionInfo" type:"structure"` + + // Specifies which metrics are gathered for the MSK cluster. This property has + // three possible values: DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER. + EnhancedMonitoring *string `locationName:"enhancedMonitoring" type:"string" enum:"EnhancedMonitoring"` + + // The number of Kafka broker nodes in the cluster. + NumberOfBrokerNodes *int64 `locationName:"numberOfBrokerNodes" type:"integer"` + + // The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED. + State *string `locationName:"state" type:"string" enum:"ClusterState"` + + // The connection string to use to connect to the Apache ZooKeeper cluster. + ZookeeperConnectString *string `locationName:"zookeeperConnectString" type:"string"` +} + +// String returns the string representation +func (s ClusterInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClusterInfo) GoString() string { + return s.String() +} + +// SetBrokerNodeGroupInfo sets the BrokerNodeGroupInfo field's value. +func (s *ClusterInfo) SetBrokerNodeGroupInfo(v *BrokerNodeGroupInfo) *ClusterInfo { + s.BrokerNodeGroupInfo = v + return s +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *ClusterInfo) SetClusterArn(v string) *ClusterInfo { + s.ClusterArn = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *ClusterInfo) SetClusterName(v string) *ClusterInfo { + s.ClusterName = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ClusterInfo) SetCreationTime(v time.Time) *ClusterInfo { + s.CreationTime = &v + return s +} + +// SetCurrentBrokerSoftwareInfo sets the CurrentBrokerSoftwareInfo field's value. +func (s *ClusterInfo) SetCurrentBrokerSoftwareInfo(v *BrokerSoftwareInfo) *ClusterInfo { + s.CurrentBrokerSoftwareInfo = v + return s +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *ClusterInfo) SetCurrentVersion(v string) *ClusterInfo { + s.CurrentVersion = &v + return s +} + +// SetEncryptionInfo sets the EncryptionInfo field's value. +func (s *ClusterInfo) SetEncryptionInfo(v *EncryptionInfo) *ClusterInfo { + s.EncryptionInfo = v + return s +} + +// SetEnhancedMonitoring sets the EnhancedMonitoring field's value. +func (s *ClusterInfo) SetEnhancedMonitoring(v string) *ClusterInfo { + s.EnhancedMonitoring = &v + return s +} + +// SetNumberOfBrokerNodes sets the NumberOfBrokerNodes field's value. +func (s *ClusterInfo) SetNumberOfBrokerNodes(v int64) *ClusterInfo { + s.NumberOfBrokerNodes = &v + return s +} + +// SetState sets the State field's value. +func (s *ClusterInfo) SetState(v string) *ClusterInfo { + s.State = &v + return s +} + +// SetZookeeperConnectString sets the ZookeeperConnectString field's value. +func (s *ClusterInfo) SetZookeeperConnectString(v string) *ClusterInfo { + s.ZookeeperConnectString = &v + return s +} + +// Creates a cluster. +type CreateClusterInput struct { + _ struct{} `type:"structure"` + + // Information about the broker nodes in the cluster. + // + // BrokerNodeGroupInfo is a required field + BrokerNodeGroupInfo *BrokerNodeGroupInfo `locationName:"brokerNodeGroupInfo" type:"structure" required:"true"` + + // The name of the cluster. + // + // ClusterName is a required field + ClusterName *string `locationName:"clusterName" min:"1" type:"string" required:"true"` + + // Includes all encryption-related information. + EncryptionInfo *EncryptionInfo `locationName:"encryptionInfo" type:"structure"` + + // Specifies the level of monitoring for the MSK cluster. The possible values + // are DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER. + EnhancedMonitoring *string `locationName:"enhancedMonitoring" type:"string" enum:"EnhancedMonitoring"` + + // The version of Apache Kafka. + // + // KafkaVersion is a required field + KafkaVersion *string `locationName:"kafkaVersion" min:"1" type:"string" required:"true"` + + // The number of Kafka broker nodes in the Amazon MSK cluster. + // + // NumberOfBrokerNodes is a required field + NumberOfBrokerNodes *int64 `locationName:"numberOfBrokerNodes" min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s CreateClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} + if s.BrokerNodeGroupInfo == nil { + invalidParams.Add(request.NewErrParamRequired("BrokerNodeGroupInfo")) + } + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.ClusterName != nil && len(*s.ClusterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) + } + if s.KafkaVersion == nil { + invalidParams.Add(request.NewErrParamRequired("KafkaVersion")) + } + if s.KafkaVersion != nil && len(*s.KafkaVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KafkaVersion", 1)) + } + if s.NumberOfBrokerNodes == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfBrokerNodes")) + } + if s.NumberOfBrokerNodes != nil && *s.NumberOfBrokerNodes < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumberOfBrokerNodes", 1)) + } + if s.BrokerNodeGroupInfo != nil { + if err := s.BrokerNodeGroupInfo.Validate(); err != nil { + invalidParams.AddNested("BrokerNodeGroupInfo", err.(request.ErrInvalidParams)) + } + } + if s.EncryptionInfo != nil { + if err := s.EncryptionInfo.Validate(); err != nil { + invalidParams.AddNested("EncryptionInfo", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBrokerNodeGroupInfo sets the BrokerNodeGroupInfo field's value. +func (s *CreateClusterInput) SetBrokerNodeGroupInfo(v *BrokerNodeGroupInfo) *CreateClusterInput { + s.BrokerNodeGroupInfo = v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { + s.ClusterName = &v + return s +} + +// SetEncryptionInfo sets the EncryptionInfo field's value. +func (s *CreateClusterInput) SetEncryptionInfo(v *EncryptionInfo) *CreateClusterInput { + s.EncryptionInfo = v + return s +} + +// SetEnhancedMonitoring sets the EnhancedMonitoring field's value. +func (s *CreateClusterInput) SetEnhancedMonitoring(v string) *CreateClusterInput { + s.EnhancedMonitoring = &v + return s +} + +// SetKafkaVersion sets the KafkaVersion field's value. +func (s *CreateClusterInput) SetKafkaVersion(v string) *CreateClusterInput { + s.KafkaVersion = &v + return s +} + +// SetNumberOfBrokerNodes sets the NumberOfBrokerNodes field's value. +func (s *CreateClusterInput) SetNumberOfBrokerNodes(v int64) *CreateClusterInput { + s.NumberOfBrokerNodes = &v + return s +} + +// Returns information about the created cluster. +type CreateClusterOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the cluster. + ClusterArn *string `locationName:"clusterArn" type:"string"` + + // The name of the MSK cluster. + ClusterName *string `locationName:"clusterName" type:"string"` + + // The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED. + State *string `locationName:"state" type:"string" enum:"ClusterState"` +} + +// String returns the string representation +func (s CreateClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClusterOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *CreateClusterOutput) SetClusterArn(v string) *CreateClusterOutput { + s.ClusterArn = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *CreateClusterOutput) SetClusterName(v string) *CreateClusterOutput { + s.ClusterName = &v + return s +} + +// SetState sets the State field's value. +func (s *CreateClusterOutput) SetState(v string) *CreateClusterOutput { + s.State = &v + return s +} + +type DeleteClusterInput struct { + _ struct{} `type:"structure"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` + + CurrentVersion *string `location:"querystring" locationName:"currentVersion" type:"string"` +} + +// String returns the string representation +func (s DeleteClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *DeleteClusterInput) SetClusterArn(v string) *DeleteClusterInput { + s.ClusterArn = &v + return s +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *DeleteClusterInput) SetCurrentVersion(v string) *DeleteClusterInput { + s.CurrentVersion = &v + return s +} + +// Returns information about the deleted cluster. +type DeleteClusterOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the cluster. + ClusterArn *string `locationName:"clusterArn" type:"string"` + + // The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED. + State *string `locationName:"state" type:"string" enum:"ClusterState"` +} + +// String returns the string representation +func (s DeleteClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClusterOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *DeleteClusterOutput) SetClusterArn(v string) *DeleteClusterOutput { + s.ClusterArn = &v + return s +} + +// SetState sets the State field's value. +func (s *DeleteClusterOutput) SetState(v string) *DeleteClusterOutput { + s.State = &v + return s +} + +type DescribeClusterInput struct { + _ struct{} `type:"structure"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *DescribeClusterInput) SetClusterArn(v string) *DescribeClusterInput { + s.ClusterArn = &v + return s +} + +// Returns information about a cluster. +type DescribeClusterOutput struct { + _ struct{} `type:"structure"` + + // The cluster information. + ClusterInfo *ClusterInfo `locationName:"clusterInfo" type:"structure"` +} + +// String returns the string representation +func (s DescribeClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeClusterOutput) GoString() string { + return s.String() +} + +// SetClusterInfo sets the ClusterInfo field's value. +func (s *DescribeClusterOutput) SetClusterInfo(v *ClusterInfo) *DescribeClusterOutput { + s.ClusterInfo = v + return s +} + +// Contains information about the EBS storage volumes attached to Kafka broker +// nodes. +type EBSStorageInfo struct { + _ struct{} `type:"structure"` + + // The size in GiB of the EBS volume for the data drive on each broker node. + VolumeSize *int64 `locationName:"volumeSize" min:"1" type:"integer"` +} + +// String returns the string representation +func (s EBSStorageInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EBSStorageInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EBSStorageInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EBSStorageInfo"} + if s.VolumeSize != nil && *s.VolumeSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("VolumeSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetVolumeSize sets the VolumeSize field's value. +func (s *EBSStorageInfo) SetVolumeSize(v int64) *EBSStorageInfo { + s.VolumeSize = &v + return s +} + +// The data volume encryption details. +type EncryptionAtRest struct { + _ struct{} `type:"structure"` + + // The AWS KMS key used for data encryption. + // + // DataVolumeKMSKeyId is a required field + DataVolumeKMSKeyId *string `locationName:"dataVolumeKMSKeyId" type:"string" required:"true"` +} + +// String returns the string representation +func (s EncryptionAtRest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncryptionAtRest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionAtRest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionAtRest"} + if s.DataVolumeKMSKeyId == nil { + invalidParams.Add(request.NewErrParamRequired("DataVolumeKMSKeyId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataVolumeKMSKeyId sets the DataVolumeKMSKeyId field's value. +func (s *EncryptionAtRest) SetDataVolumeKMSKeyId(v string) *EncryptionAtRest { + s.DataVolumeKMSKeyId = &v + return s +} + +// Includes encryption-related information, such as the AWS KMS key used for +// encrypting data at rest. +type EncryptionInfo struct { + _ struct{} `type:"structure"` + + // The data volume encryption details. + EncryptionAtRest *EncryptionAtRest `locationName:"encryptionAtRest" type:"structure"` +} + +// String returns the string representation +func (s EncryptionInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncryptionInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionInfo"} + if s.EncryptionAtRest != nil { + if err := s.EncryptionAtRest.Validate(); err != nil { + invalidParams.AddNested("EncryptionAtRest", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryptionAtRest sets the EncryptionAtRest field's value. +func (s *EncryptionInfo) SetEncryptionAtRest(v *EncryptionAtRest) *EncryptionInfo { + s.EncryptionAtRest = v + return s +} + +type GetBootstrapBrokersInput struct { + _ struct{} `type:"structure"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetBootstrapBrokersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBootstrapBrokersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBootstrapBrokersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBootstrapBrokersInput"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *GetBootstrapBrokersInput) SetClusterArn(v string) *GetBootstrapBrokersInput { + s.ClusterArn = &v + return s +} + +// Returns a string containing one or more hostname:port pairs. +type GetBootstrapBrokersOutput struct { + _ struct{} `type:"structure"` + + // A string containing one or more hostname:port pairs. + BootstrapBrokerString *string `locationName:"bootstrapBrokerString" type:"string"` +} + +// String returns the string representation +func (s GetBootstrapBrokersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBootstrapBrokersOutput) GoString() string { + return s.String() +} + +// SetBootstrapBrokerString sets the BootstrapBrokerString field's value. +func (s *GetBootstrapBrokersOutput) SetBootstrapBrokerString(v string) *GetBootstrapBrokersOutput { + s.BootstrapBrokerString = &v + return s +} + +type ListClustersInput struct { + _ struct{} `type:"structure"` + + ClusterNameFilter *string `location:"querystring" locationName:"clusterNameFilter" type:"string"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListClustersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListClustersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListClustersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListClustersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterNameFilter sets the ClusterNameFilter field's value. +func (s *ListClustersInput) SetClusterNameFilter(v string) *ListClustersInput { + s.ClusterNameFilter = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { + s.NextToken = &v + return s +} + +// The response contains an array containing cluster information and a next +// token if the response is truncated. +type ListClustersOutput struct { + _ struct{} `type:"structure"` + + // Information on each of the MSK clusters in the response. + ClusterInfoList []*ClusterInfo `locationName:"clusterInfoList" type:"list"` + + // The paginated results marker. When the result of a ListClusters operation + // is truncated, the call returns NextToken in the response. To get another + // batch of clusters, provide this token in your next request. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListClustersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListClustersOutput) GoString() string { + return s.String() +} + +// SetClusterInfoList sets the ClusterInfoList field's value. +func (s *ListClustersOutput) SetClusterInfoList(v []*ClusterInfo) *ListClustersOutput { + s.ClusterInfoList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { + s.NextToken = &v + return s +} + +type ListNodesInput struct { + _ struct{} `type:"structure"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListNodesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListNodesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListNodesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListNodesInput"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *ListNodesInput) SetClusterArn(v string) *ListNodesInput { + s.ClusterArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListNodesInput) SetMaxResults(v int64) *ListNodesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListNodesInput) SetNextToken(v string) *ListNodesInput { + s.NextToken = &v + return s +} + +// Information about nodes in the cluster. +type ListNodesOutput struct { + _ struct{} `type:"structure"` + + // The paginated results marker. When the result of a ListNodes operation is + // truncated, the call returns NextToken in the response. To get another batch + // of nodes, provide this token in your next request. + NextToken *string `locationName:"nextToken" type:"string"` + + // List containing a NodeInfo object. + NodeInfoList []*NodeInfo `locationName:"nodeInfoList" type:"list"` +} + +// String returns the string representation +func (s ListNodesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListNodesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListNodesOutput) SetNextToken(v string) *ListNodesOutput { + s.NextToken = &v + return s +} + +// SetNodeInfoList sets the NodeInfoList field's value. +func (s *ListNodesOutput) SetNodeInfoList(v []*NodeInfo) *ListNodesOutput { + s.NodeInfoList = v + return s +} + +// The node information object. +type NodeInfo struct { + _ struct{} `type:"structure"` + + // The start time. + AddedToClusterTime *string `locationName:"addedToClusterTime" type:"string"` + + // The broker node info. + BrokerNodeInfo *BrokerNodeInfo `locationName:"brokerNodeInfo" type:"structure"` + + // The instance type. + InstanceType *string `locationName:"instanceType" type:"string"` + + // The Amazon Resource Name (ARN) of the node. + NodeARN *string `locationName:"nodeARN" type:"string"` + + // The node type. + NodeType *string `locationName:"nodeType" type:"string" enum:"NodeType"` + + // The ZookeeperNodeInfo. + ZookeeperNodeInfo *ZookeeperNodeInfo `locationName:"zookeeperNodeInfo" type:"structure"` +} + +// String returns the string representation +func (s NodeInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NodeInfo) GoString() string { + return s.String() +} + +// SetAddedToClusterTime sets the AddedToClusterTime field's value. +func (s *NodeInfo) SetAddedToClusterTime(v string) *NodeInfo { + s.AddedToClusterTime = &v + return s +} + +// SetBrokerNodeInfo sets the BrokerNodeInfo field's value. +func (s *NodeInfo) SetBrokerNodeInfo(v *BrokerNodeInfo) *NodeInfo { + s.BrokerNodeInfo = v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *NodeInfo) SetInstanceType(v string) *NodeInfo { + s.InstanceType = &v + return s +} + +// SetNodeARN sets the NodeARN field's value. +func (s *NodeInfo) SetNodeARN(v string) *NodeInfo { + s.NodeARN = &v + return s +} + +// SetNodeType sets the NodeType field's value. +func (s *NodeInfo) SetNodeType(v string) *NodeInfo { + s.NodeType = &v + return s +} + +// SetZookeeperNodeInfo sets the ZookeeperNodeInfo field's value. +func (s *NodeInfo) SetZookeeperNodeInfo(v *ZookeeperNodeInfo) *NodeInfo { + s.ZookeeperNodeInfo = v + return s +} + +// Contains information about storage volumes attached to MSK broker nodes. +type StorageInfo struct { + _ struct{} `type:"structure"` + + // EBS volume information. + EbsStorageInfo *EBSStorageInfo `locationName:"ebsStorageInfo" type:"structure"` +} + +// String returns the string representation +func (s StorageInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StorageInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StorageInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StorageInfo"} + if s.EbsStorageInfo != nil { + if err := s.EbsStorageInfo.Validate(); err != nil { + invalidParams.AddNested("EbsStorageInfo", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEbsStorageInfo sets the EbsStorageInfo field's value. +func (s *StorageInfo) SetEbsStorageInfo(v *EBSStorageInfo) *StorageInfo { + s.EbsStorageInfo = v + return s +} + +// Zookeeper node information. +type ZookeeperNodeInfo struct { + _ struct{} `type:"structure"` + + // The attached elastic network interface of the broker. + AttachedENIId *string `locationName:"attachedENIId" type:"string"` + + // The virtual private cloud (VPC) IP address of the client. + ClientVpcIpAddress *string `locationName:"clientVpcIpAddress" type:"string"` + + // The role-specific ID for Zookeeper. + ZookeeperId *float64 `locationName:"zookeeperId" type:"double"` + + // The version of Zookeeper. + ZookeeperVersion *string `locationName:"zookeeperVersion" type:"string"` +} + +// String returns the string representation +func (s ZookeeperNodeInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ZookeeperNodeInfo) GoString() string { + return s.String() +} + +// SetAttachedENIId sets the AttachedENIId field's value. +func (s *ZookeeperNodeInfo) SetAttachedENIId(v string) *ZookeeperNodeInfo { + s.AttachedENIId = &v + return s +} + +// SetClientVpcIpAddress sets the ClientVpcIpAddress field's value. +func (s *ZookeeperNodeInfo) SetClientVpcIpAddress(v string) *ZookeeperNodeInfo { + s.ClientVpcIpAddress = &v + return s +} + +// SetZookeeperId sets the ZookeeperId field's value. +func (s *ZookeeperNodeInfo) SetZookeeperId(v float64) *ZookeeperNodeInfo { + s.ZookeeperId = &v + return s +} + +// SetZookeeperVersion sets the ZookeeperVersion field's value. +func (s *ZookeeperNodeInfo) SetZookeeperVersion(v string) *ZookeeperNodeInfo { + s.ZookeeperVersion = &v + return s +} + +// The distribution of broker nodes across Availability Zones. By default, broker +// nodes are distributed among three Availability Zones. Currently, the only +// supported value is DEFAULT. You can either specify this value explicitly +// or leave it out. +const ( + // BrokerAZDistributionDefault is a BrokerAZDistribution enum value + BrokerAZDistributionDefault = "DEFAULT" +) + +// The state of a Kafka cluster. +const ( + // ClusterStateActive is a ClusterState enum value + ClusterStateActive = "ACTIVE" + + // ClusterStateCreating is a ClusterState enum value + ClusterStateCreating = "CREATING" + + // ClusterStateDeleting is a ClusterState enum value + ClusterStateDeleting = "DELETING" + + // ClusterStateFailed is a ClusterState enum value + ClusterStateFailed = "FAILED" +) + +// Specifies which metrics are gathered for the MSK cluster. This property has +// three possible values: DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER. +const ( + // EnhancedMonitoringDefault is a EnhancedMonitoring enum value + EnhancedMonitoringDefault = "DEFAULT" + + // EnhancedMonitoringPerBroker is a EnhancedMonitoring enum value + EnhancedMonitoringPerBroker = "PER_BROKER" + + // EnhancedMonitoringPerTopicPerBroker is a EnhancedMonitoring enum value + EnhancedMonitoringPerTopicPerBroker = "PER_TOPIC_PER_BROKER" +) + +// The broker or Zookeeper node. +const ( + // NodeTypeBroker is a NodeType enum value + NodeTypeBroker = "BROKER" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kafka/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kafka/doc.go new file mode 100644 index 00000000000..bc1d6eed634 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kafka/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package kafka provides the client and types for making API +// requests to Managed Streaming for Kafka. +// +// The operations for managing an Amazon MSK cluster. +// +// See https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14 for more information on this service. +// +// See kafka package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/kafka/ +// +// Using the Client +// +// To contact Managed Streaming for Kafka 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 Managed Streaming for Kafka client Kafka for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/kafka/#New +package kafka diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kafka/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kafka/errors.go new file mode 100644 index 00000000000..2927a1714de --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kafka/errors.go @@ -0,0 +1,54 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package kafka + +const ( + + // ErrCodeBadRequestException for service response error code + // "BadRequestException". + // + // Returns information about an error. + ErrCodeBadRequestException = "BadRequestException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // Returns information about an error. + ErrCodeConflictException = "ConflictException" + + // ErrCodeForbiddenException for service response error code + // "ForbiddenException". + // + // Returns information about an error. + ErrCodeForbiddenException = "ForbiddenException" + + // ErrCodeInternalServerErrorException for service response error code + // "InternalServerErrorException". + // + // Returns information about an error. + ErrCodeInternalServerErrorException = "InternalServerErrorException" + + // ErrCodeNotFoundException for service response error code + // "NotFoundException". + // + // Returns information about an error. + ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeServiceUnavailableException for service response error code + // "ServiceUnavailableException". + // + // Returns information about an error. + ErrCodeServiceUnavailableException = "ServiceUnavailableException" + + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + // + // Returns information about an error. + ErrCodeTooManyRequestsException = "TooManyRequestsException" + + // ErrCodeUnauthorizedException for service response error code + // "UnauthorizedException". + // + // Returns information about an error. + ErrCodeUnauthorizedException = "UnauthorizedException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kafka/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kafka/service.go new file mode 100644 index 00000000000..51b606d9a29 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kafka/service.go @@ -0,0 +1,99 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package kafka + +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/restjson" +) + +// Kafka provides the API operation methods for making requests to +// Managed Streaming for Kafka. See this package's package overview docs +// for details on the service. +// +// Kafka methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type Kafka 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 = "Kafka" // Name of service. + EndpointsID = "kafka" // ID to lookup a service endpoint with. + ServiceID = "Kafka" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the Kafka 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 Kafka client from just a session. +// svc := kafka.New(mySession) +// +// // Create a Kafka client with additional configuration +// svc := kafka.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *Kafka { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "kafka" + } + 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) *Kafka { + svc := &Kafka{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-11-14", + JSONVersion: "1.1", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a Kafka operation and runs any +// custom request initialization. +func (c *Kafka) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/api.go new file mode 100644 index 00000000000..091d0c94f4b --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/api.go @@ -0,0 +1,9658 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package kinesisanalyticsv2 + +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 opAddApplicationCloudWatchLoggingOption = "AddApplicationCloudWatchLoggingOption" + +// AddApplicationCloudWatchLoggingOptionRequest generates a "aws/request.Request" representing the +// client's request for the AddApplicationCloudWatchLoggingOption 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 AddApplicationCloudWatchLoggingOption for more information on using the AddApplicationCloudWatchLoggingOption +// 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 AddApplicationCloudWatchLoggingOptionRequest method. +// req, resp := client.AddApplicationCloudWatchLoggingOptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationCloudWatchLoggingOption +func (c *KinesisAnalyticsV2) AddApplicationCloudWatchLoggingOptionRequest(input *AddApplicationCloudWatchLoggingOptionInput) (req *request.Request, output *AddApplicationCloudWatchLoggingOptionOutput) { + op := &request.Operation{ + Name: opAddApplicationCloudWatchLoggingOption, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddApplicationCloudWatchLoggingOptionInput{} + } + + output = &AddApplicationCloudWatchLoggingOptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddApplicationCloudWatchLoggingOption API operation for Amazon Kinesis Analytics. +// +// Adds an Amazon CloudWatch log stream to monitor application configuration +// errors. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation AddApplicationCloudWatchLoggingOption for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationCloudWatchLoggingOption +func (c *KinesisAnalyticsV2) AddApplicationCloudWatchLoggingOption(input *AddApplicationCloudWatchLoggingOptionInput) (*AddApplicationCloudWatchLoggingOptionOutput, error) { + req, out := c.AddApplicationCloudWatchLoggingOptionRequest(input) + return out, req.Send() +} + +// AddApplicationCloudWatchLoggingOptionWithContext is the same as AddApplicationCloudWatchLoggingOption with the addition of +// the ability to pass a context and additional request options. +// +// See AddApplicationCloudWatchLoggingOption 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 *KinesisAnalyticsV2) AddApplicationCloudWatchLoggingOptionWithContext(ctx aws.Context, input *AddApplicationCloudWatchLoggingOptionInput, opts ...request.Option) (*AddApplicationCloudWatchLoggingOptionOutput, error) { + req, out := c.AddApplicationCloudWatchLoggingOptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAddApplicationInput = "AddApplicationInput" + +// AddApplicationInputRequest generates a "aws/request.Request" representing the +// client's request for the AddApplicationInput 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 AddApplicationInput for more information on using the AddApplicationInput +// 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 AddApplicationInputRequest method. +// req, resp := client.AddApplicationInputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationInput +func (c *KinesisAnalyticsV2) AddApplicationInputRequest(input *AddApplicationInputInput) (req *request.Request, output *AddApplicationInputOutput) { + op := &request.Operation{ + Name: opAddApplicationInput, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddApplicationInputInput{} + } + + output = &AddApplicationInputOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddApplicationInput API operation for Amazon Kinesis Analytics. +// +// Adds a streaming source to your SQL-based Amazon Kinesis Data Analytics application. +// +// You can add a streaming source when you create an application, or you can +// use this operation to add a streaming source after you create an application. +// For more information, see CreateApplication. +// +// Any configuration update, including adding a streaming source using this +// operation, results in a new version of the application. You can use the DescribeApplication +// operation to find the current application version. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation AddApplicationInput for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// * ErrCodeCodeValidationException "CodeValidationException" +// The user-provided application code (query) is not valid. This can be a simple +// syntax error. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationInput +func (c *KinesisAnalyticsV2) AddApplicationInput(input *AddApplicationInputInput) (*AddApplicationInputOutput, error) { + req, out := c.AddApplicationInputRequest(input) + return out, req.Send() +} + +// AddApplicationInputWithContext is the same as AddApplicationInput with the addition of +// the ability to pass a context and additional request options. +// +// See AddApplicationInput 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 *KinesisAnalyticsV2) AddApplicationInputWithContext(ctx aws.Context, input *AddApplicationInputInput, opts ...request.Option) (*AddApplicationInputOutput, error) { + req, out := c.AddApplicationInputRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAddApplicationInputProcessingConfiguration = "AddApplicationInputProcessingConfiguration" + +// AddApplicationInputProcessingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the AddApplicationInputProcessingConfiguration 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 AddApplicationInputProcessingConfiguration for more information on using the AddApplicationInputProcessingConfiguration +// 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 AddApplicationInputProcessingConfigurationRequest method. +// req, resp := client.AddApplicationInputProcessingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationInputProcessingConfiguration +func (c *KinesisAnalyticsV2) AddApplicationInputProcessingConfigurationRequest(input *AddApplicationInputProcessingConfigurationInput) (req *request.Request, output *AddApplicationInputProcessingConfigurationOutput) { + op := &request.Operation{ + Name: opAddApplicationInputProcessingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddApplicationInputProcessingConfigurationInput{} + } + + output = &AddApplicationInputProcessingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddApplicationInputProcessingConfiguration API operation for Amazon Kinesis Analytics. +// +// Adds an InputProcessingConfiguration to an SQL-based Kinesis Data Analytics +// application. An input processor pre-processes records on the input stream +// before the application's SQL code executes. Currently, the only input processor +// available is AWS Lambda (https://aws.amazon.com/documentation/lambda/). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation AddApplicationInputProcessingConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationInputProcessingConfiguration +func (c *KinesisAnalyticsV2) AddApplicationInputProcessingConfiguration(input *AddApplicationInputProcessingConfigurationInput) (*AddApplicationInputProcessingConfigurationOutput, error) { + req, out := c.AddApplicationInputProcessingConfigurationRequest(input) + return out, req.Send() +} + +// AddApplicationInputProcessingConfigurationWithContext is the same as AddApplicationInputProcessingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See AddApplicationInputProcessingConfiguration 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 *KinesisAnalyticsV2) AddApplicationInputProcessingConfigurationWithContext(ctx aws.Context, input *AddApplicationInputProcessingConfigurationInput, opts ...request.Option) (*AddApplicationInputProcessingConfigurationOutput, error) { + req, out := c.AddApplicationInputProcessingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAddApplicationOutput = "AddApplicationOutput" + +// AddApplicationOutputRequest generates a "aws/request.Request" representing the +// client's request for the AddApplicationOutput 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 AddApplicationOutput for more information on using the AddApplicationOutput +// 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 AddApplicationOutputRequest method. +// req, resp := client.AddApplicationOutputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationOutput +func (c *KinesisAnalyticsV2) AddApplicationOutputRequest(input *AddApplicationOutputInput) (req *request.Request, output *AddApplicationOutputOutput) { + op := &request.Operation{ + Name: opAddApplicationOutput, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddApplicationOutputInput{} + } + + output = &AddApplicationOutputOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddApplicationOutput API operation for Amazon Kinesis Analytics. +// +// Adds an external destination to your SQL-based Amazon Kinesis Data Analytics +// application. +// +// If you want Kinesis Data Analytics to deliver data from an in-application +// stream within your application to an external destination (such as an Kinesis +// data stream, a Kinesis Data Firehose delivery stream, or an AWS Lambda function), +// you add the relevant configuration to your application using this operation. +// You can configure one or more outputs for your application. Each output configuration +// maps an in-application stream and an external destination. +// +// You can use one of the output configurations to deliver data from your in-application +// error stream to an external destination so that you can analyze the errors. +// +// Any configuration update, including adding a streaming source using this +// operation, results in a new version of the application. You can use the DescribeApplication +// operation to find the current application version. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation AddApplicationOutput for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationOutput +func (c *KinesisAnalyticsV2) AddApplicationOutput(input *AddApplicationOutputInput) (*AddApplicationOutputOutput, error) { + req, out := c.AddApplicationOutputRequest(input) + return out, req.Send() +} + +// AddApplicationOutputWithContext is the same as AddApplicationOutput with the addition of +// the ability to pass a context and additional request options. +// +// See AddApplicationOutput 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 *KinesisAnalyticsV2) AddApplicationOutputWithContext(ctx aws.Context, input *AddApplicationOutputInput, opts ...request.Option) (*AddApplicationOutputOutput, error) { + req, out := c.AddApplicationOutputRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAddApplicationReferenceDataSource = "AddApplicationReferenceDataSource" + +// AddApplicationReferenceDataSourceRequest generates a "aws/request.Request" representing the +// client's request for the AddApplicationReferenceDataSource 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 AddApplicationReferenceDataSource for more information on using the AddApplicationReferenceDataSource +// 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 AddApplicationReferenceDataSourceRequest method. +// req, resp := client.AddApplicationReferenceDataSourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationReferenceDataSource +func (c *KinesisAnalyticsV2) AddApplicationReferenceDataSourceRequest(input *AddApplicationReferenceDataSourceInput) (req *request.Request, output *AddApplicationReferenceDataSourceOutput) { + op := &request.Operation{ + Name: opAddApplicationReferenceDataSource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddApplicationReferenceDataSourceInput{} + } + + output = &AddApplicationReferenceDataSourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddApplicationReferenceDataSource API operation for Amazon Kinesis Analytics. +// +// Adds a reference data source to an existing SQL-based Amazon Kinesis Data +// Analytics application. +// +// Kinesis Data Analytics reads reference data (that is, an Amazon S3 object) +// and creates an in-application table within your application. In the request, +// you provide the source (S3 bucket name and object key name), name of the +// in-application table to create, and the necessary mapping information that +// describes how data in an Amazon S3 object maps to columns in the resulting +// in-application table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation AddApplicationReferenceDataSource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationReferenceDataSource +func (c *KinesisAnalyticsV2) AddApplicationReferenceDataSource(input *AddApplicationReferenceDataSourceInput) (*AddApplicationReferenceDataSourceOutput, error) { + req, out := c.AddApplicationReferenceDataSourceRequest(input) + return out, req.Send() +} + +// AddApplicationReferenceDataSourceWithContext is the same as AddApplicationReferenceDataSource with the addition of +// the ability to pass a context and additional request options. +// +// See AddApplicationReferenceDataSource 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 *KinesisAnalyticsV2) AddApplicationReferenceDataSourceWithContext(ctx aws.Context, input *AddApplicationReferenceDataSourceInput, opts ...request.Option) (*AddApplicationReferenceDataSourceOutput, error) { + req, out := c.AddApplicationReferenceDataSourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateApplication = "CreateApplication" + +// CreateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the CreateApplication 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 CreateApplication for more information on using the CreateApplication +// 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 CreateApplicationRequest method. +// req, resp := client.CreateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplication +func (c *KinesisAnalyticsV2) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) { + op := &request.Operation{ + Name: opCreateApplication, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateApplicationInput{} + } + + output = &CreateApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateApplication API operation for Amazon Kinesis Analytics. +// +// Creates an Amazon Kinesis Data Analytics application. For information about +// creating a Kinesis Data Analytics application, see Creating an Application +// (https://docs.aws.amazon.com/kinesisanalytics/latest/Java/creating-app.html). +// +// SQL is not enabled for this private beta release. Using SQL parameters (such +// as SqlApplicationConfiguration) will result in an error. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation CreateApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCodeValidationException "CodeValidationException" +// The user-provided application code (query) is not valid. This can be a simple +// syntax error. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The number of allowed resources has been exceeded. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplication +func (c *KinesisAnalyticsV2) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) { + req, out := c.CreateApplicationRequest(input) + return out, req.Send() +} + +// CreateApplicationWithContext is the same as CreateApplication with the addition of +// the ability to pass a context and additional request options. +// +// See CreateApplication 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 *KinesisAnalyticsV2) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*CreateApplicationOutput, error) { + req, out := c.CreateApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateApplicationSnapshot = "CreateApplicationSnapshot" + +// CreateApplicationSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CreateApplicationSnapshot 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 CreateApplicationSnapshot for more information on using the CreateApplicationSnapshot +// 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 CreateApplicationSnapshotRequest method. +// req, resp := client.CreateApplicationSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplicationSnapshot +func (c *KinesisAnalyticsV2) CreateApplicationSnapshotRequest(input *CreateApplicationSnapshotInput) (req *request.Request, output *CreateApplicationSnapshotOutput) { + op := &request.Operation{ + Name: opCreateApplicationSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateApplicationSnapshotInput{} + } + + output = &CreateApplicationSnapshotOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreateApplicationSnapshot API operation for Amazon Kinesis Analytics. +// +// Creates a snapshot of the application's state data. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation CreateApplicationSnapshot for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The number of allowed resources has been exceeded. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplicationSnapshot +func (c *KinesisAnalyticsV2) CreateApplicationSnapshot(input *CreateApplicationSnapshotInput) (*CreateApplicationSnapshotOutput, error) { + req, out := c.CreateApplicationSnapshotRequest(input) + return out, req.Send() +} + +// CreateApplicationSnapshotWithContext is the same as CreateApplicationSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See CreateApplicationSnapshot 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 *KinesisAnalyticsV2) CreateApplicationSnapshotWithContext(ctx aws.Context, input *CreateApplicationSnapshotInput, opts ...request.Option) (*CreateApplicationSnapshotOutput, error) { + req, out := c.CreateApplicationSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteApplication = "DeleteApplication" + +// DeleteApplicationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplication 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 DeleteApplication for more information on using the DeleteApplication +// 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 DeleteApplicationRequest method. +// req, resp := client.DeleteApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplication +func (c *KinesisAnalyticsV2) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) { + op := &request.Operation{ + Name: opDeleteApplication, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteApplicationInput{} + } + + output = &DeleteApplicationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteApplication API operation for Amazon Kinesis Analytics. +// +// Deletes the specified application. Kinesis Data Analytics halts application +// execution and deletes the application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation DeleteApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplication +func (c *KinesisAnalyticsV2) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) { + req, out := c.DeleteApplicationRequest(input) + return out, req.Send() +} + +// DeleteApplicationWithContext is the same as DeleteApplication with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApplication 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 *KinesisAnalyticsV2) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) { + req, out := c.DeleteApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteApplicationCloudWatchLoggingOption = "DeleteApplicationCloudWatchLoggingOption" + +// DeleteApplicationCloudWatchLoggingOptionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplicationCloudWatchLoggingOption 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 DeleteApplicationCloudWatchLoggingOption for more information on using the DeleteApplicationCloudWatchLoggingOption +// 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 DeleteApplicationCloudWatchLoggingOptionRequest method. +// req, resp := client.DeleteApplicationCloudWatchLoggingOptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationCloudWatchLoggingOption +func (c *KinesisAnalyticsV2) DeleteApplicationCloudWatchLoggingOptionRequest(input *DeleteApplicationCloudWatchLoggingOptionInput) (req *request.Request, output *DeleteApplicationCloudWatchLoggingOptionOutput) { + op := &request.Operation{ + Name: opDeleteApplicationCloudWatchLoggingOption, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteApplicationCloudWatchLoggingOptionInput{} + } + + output = &DeleteApplicationCloudWatchLoggingOptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteApplicationCloudWatchLoggingOption API operation for Amazon Kinesis Analytics. +// +// Deletes an Amazon CloudWatch log stream from an Amazon Kinesis Data Analytics +// application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation DeleteApplicationCloudWatchLoggingOption for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationCloudWatchLoggingOption +func (c *KinesisAnalyticsV2) DeleteApplicationCloudWatchLoggingOption(input *DeleteApplicationCloudWatchLoggingOptionInput) (*DeleteApplicationCloudWatchLoggingOptionOutput, error) { + req, out := c.DeleteApplicationCloudWatchLoggingOptionRequest(input) + return out, req.Send() +} + +// DeleteApplicationCloudWatchLoggingOptionWithContext is the same as DeleteApplicationCloudWatchLoggingOption with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApplicationCloudWatchLoggingOption 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 *KinesisAnalyticsV2) DeleteApplicationCloudWatchLoggingOptionWithContext(ctx aws.Context, input *DeleteApplicationCloudWatchLoggingOptionInput, opts ...request.Option) (*DeleteApplicationCloudWatchLoggingOptionOutput, error) { + req, out := c.DeleteApplicationCloudWatchLoggingOptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteApplicationInputProcessingConfiguration = "DeleteApplicationInputProcessingConfiguration" + +// DeleteApplicationInputProcessingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplicationInputProcessingConfiguration 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 DeleteApplicationInputProcessingConfiguration for more information on using the DeleteApplicationInputProcessingConfiguration +// 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 DeleteApplicationInputProcessingConfigurationRequest method. +// req, resp := client.DeleteApplicationInputProcessingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationInputProcessingConfiguration +func (c *KinesisAnalyticsV2) DeleteApplicationInputProcessingConfigurationRequest(input *DeleteApplicationInputProcessingConfigurationInput) (req *request.Request, output *DeleteApplicationInputProcessingConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteApplicationInputProcessingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteApplicationInputProcessingConfigurationInput{} + } + + output = &DeleteApplicationInputProcessingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteApplicationInputProcessingConfiguration API operation for Amazon Kinesis Analytics. +// +// Deletes an InputProcessingConfiguration from an input. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation DeleteApplicationInputProcessingConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationInputProcessingConfiguration +func (c *KinesisAnalyticsV2) DeleteApplicationInputProcessingConfiguration(input *DeleteApplicationInputProcessingConfigurationInput) (*DeleteApplicationInputProcessingConfigurationOutput, error) { + req, out := c.DeleteApplicationInputProcessingConfigurationRequest(input) + return out, req.Send() +} + +// DeleteApplicationInputProcessingConfigurationWithContext is the same as DeleteApplicationInputProcessingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApplicationInputProcessingConfiguration 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 *KinesisAnalyticsV2) DeleteApplicationInputProcessingConfigurationWithContext(ctx aws.Context, input *DeleteApplicationInputProcessingConfigurationInput, opts ...request.Option) (*DeleteApplicationInputProcessingConfigurationOutput, error) { + req, out := c.DeleteApplicationInputProcessingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteApplicationOutput = "DeleteApplicationOutput" + +// DeleteApplicationOutputRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplicationOutput 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 DeleteApplicationOutput for more information on using the DeleteApplicationOutput +// 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 DeleteApplicationOutputRequest method. +// req, resp := client.DeleteApplicationOutputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationOutput +func (c *KinesisAnalyticsV2) DeleteApplicationOutputRequest(input *DeleteApplicationOutputInput) (req *request.Request, output *DeleteApplicationOutputOutput) { + op := &request.Operation{ + Name: opDeleteApplicationOutput, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteApplicationOutputInput{} + } + + output = &DeleteApplicationOutputOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteApplicationOutput API operation for Amazon Kinesis Analytics. +// +// Deletes the output destination configuration from your SQL-based Amazon Kinesis +// Data Analytics application's configuration. Kinesis Data Analytics will no +// longer write data from the corresponding in-application stream to the external +// output destination. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation DeleteApplicationOutput for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationOutput +func (c *KinesisAnalyticsV2) DeleteApplicationOutput(input *DeleteApplicationOutputInput) (*DeleteApplicationOutputOutput, error) { + req, out := c.DeleteApplicationOutputRequest(input) + return out, req.Send() +} + +// DeleteApplicationOutputWithContext is the same as DeleteApplicationOutput with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApplicationOutput 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 *KinesisAnalyticsV2) DeleteApplicationOutputWithContext(ctx aws.Context, input *DeleteApplicationOutputInput, opts ...request.Option) (*DeleteApplicationOutputOutput, error) { + req, out := c.DeleteApplicationOutputRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteApplicationReferenceDataSource = "DeleteApplicationReferenceDataSource" + +// DeleteApplicationReferenceDataSourceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplicationReferenceDataSource 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 DeleteApplicationReferenceDataSource for more information on using the DeleteApplicationReferenceDataSource +// 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 DeleteApplicationReferenceDataSourceRequest method. +// req, resp := client.DeleteApplicationReferenceDataSourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationReferenceDataSource +func (c *KinesisAnalyticsV2) DeleteApplicationReferenceDataSourceRequest(input *DeleteApplicationReferenceDataSourceInput) (req *request.Request, output *DeleteApplicationReferenceDataSourceOutput) { + op := &request.Operation{ + Name: opDeleteApplicationReferenceDataSource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteApplicationReferenceDataSourceInput{} + } + + output = &DeleteApplicationReferenceDataSourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteApplicationReferenceDataSource API operation for Amazon Kinesis Analytics. +// +// Deletes a reference data source configuration from the specified SQL-based +// Amazon Kinesis Data Analytics application's configuration. +// +// If the application is running, Kinesis Data Analytics immediately removes +// the in-application table that you created using the AddApplicationReferenceDataSource +// 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 Kinesis Analytics's +// API operation DeleteApplicationReferenceDataSource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationReferenceDataSource +func (c *KinesisAnalyticsV2) DeleteApplicationReferenceDataSource(input *DeleteApplicationReferenceDataSourceInput) (*DeleteApplicationReferenceDataSourceOutput, error) { + req, out := c.DeleteApplicationReferenceDataSourceRequest(input) + return out, req.Send() +} + +// DeleteApplicationReferenceDataSourceWithContext is the same as DeleteApplicationReferenceDataSource with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApplicationReferenceDataSource 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 *KinesisAnalyticsV2) DeleteApplicationReferenceDataSourceWithContext(ctx aws.Context, input *DeleteApplicationReferenceDataSourceInput, opts ...request.Option) (*DeleteApplicationReferenceDataSourceOutput, error) { + req, out := c.DeleteApplicationReferenceDataSourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteApplicationSnapshot = "DeleteApplicationSnapshot" + +// DeleteApplicationSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplicationSnapshot 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 DeleteApplicationSnapshot for more information on using the DeleteApplicationSnapshot +// 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 DeleteApplicationSnapshotRequest method. +// req, resp := client.DeleteApplicationSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationSnapshot +func (c *KinesisAnalyticsV2) DeleteApplicationSnapshotRequest(input *DeleteApplicationSnapshotInput) (req *request.Request, output *DeleteApplicationSnapshotOutput) { + op := &request.Operation{ + Name: opDeleteApplicationSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteApplicationSnapshotInput{} + } + + output = &DeleteApplicationSnapshotOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteApplicationSnapshot API operation for Amazon Kinesis Analytics. +// +// Deletes a snapshot of application state. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation DeleteApplicationSnapshot for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationSnapshot +func (c *KinesisAnalyticsV2) DeleteApplicationSnapshot(input *DeleteApplicationSnapshotInput) (*DeleteApplicationSnapshotOutput, error) { + req, out := c.DeleteApplicationSnapshotRequest(input) + return out, req.Send() +} + +// DeleteApplicationSnapshotWithContext is the same as DeleteApplicationSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApplicationSnapshot 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 *KinesisAnalyticsV2) DeleteApplicationSnapshotWithContext(ctx aws.Context, input *DeleteApplicationSnapshotInput, opts ...request.Option) (*DeleteApplicationSnapshotOutput, error) { + req, out := c.DeleteApplicationSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeApplication = "DescribeApplication" + +// DescribeApplicationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeApplication 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 DescribeApplication for more information on using the DescribeApplication +// 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 DescribeApplicationRequest method. +// req, resp := client.DescribeApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplication +func (c *KinesisAnalyticsV2) DescribeApplicationRequest(input *DescribeApplicationInput) (req *request.Request, output *DescribeApplicationOutput) { + op := &request.Operation{ + Name: opDescribeApplication, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeApplicationInput{} + } + + output = &DescribeApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeApplication API operation for Amazon Kinesis Analytics. +// +// Returns information about a specific Amazon Kinesis Data Analytics application. +// +// If you want to retrieve a list of all applications in your account, use the +// ListApplications 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 Kinesis Analytics's +// API operation DescribeApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplication +func (c *KinesisAnalyticsV2) DescribeApplication(input *DescribeApplicationInput) (*DescribeApplicationOutput, error) { + req, out := c.DescribeApplicationRequest(input) + return out, req.Send() +} + +// DescribeApplicationWithContext is the same as DescribeApplication with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeApplication 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 *KinesisAnalyticsV2) DescribeApplicationWithContext(ctx aws.Context, input *DescribeApplicationInput, opts ...request.Option) (*DescribeApplicationOutput, error) { + req, out := c.DescribeApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeApplicationSnapshot = "DescribeApplicationSnapshot" + +// DescribeApplicationSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DescribeApplicationSnapshot 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 DescribeApplicationSnapshot for more information on using the DescribeApplicationSnapshot +// 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 DescribeApplicationSnapshotRequest method. +// req, resp := client.DescribeApplicationSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplicationSnapshot +func (c *KinesisAnalyticsV2) DescribeApplicationSnapshotRequest(input *DescribeApplicationSnapshotInput) (req *request.Request, output *DescribeApplicationSnapshotOutput) { + op := &request.Operation{ + Name: opDescribeApplicationSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeApplicationSnapshotInput{} + } + + output = &DescribeApplicationSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeApplicationSnapshot API operation for Amazon Kinesis Analytics. +// +// Returns information about a snapshot of application state data. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation DescribeApplicationSnapshot for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplicationSnapshot +func (c *KinesisAnalyticsV2) DescribeApplicationSnapshot(input *DescribeApplicationSnapshotInput) (*DescribeApplicationSnapshotOutput, error) { + req, out := c.DescribeApplicationSnapshotRequest(input) + return out, req.Send() +} + +// DescribeApplicationSnapshotWithContext is the same as DescribeApplicationSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeApplicationSnapshot 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 *KinesisAnalyticsV2) DescribeApplicationSnapshotWithContext(ctx aws.Context, input *DescribeApplicationSnapshotInput, opts ...request.Option) (*DescribeApplicationSnapshotOutput, error) { + req, out := c.DescribeApplicationSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDiscoverInputSchema = "DiscoverInputSchema" + +// DiscoverInputSchemaRequest generates a "aws/request.Request" representing the +// client's request for the DiscoverInputSchema 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 DiscoverInputSchema for more information on using the DiscoverInputSchema +// 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 DiscoverInputSchemaRequest method. +// req, resp := client.DiscoverInputSchemaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema +func (c *KinesisAnalyticsV2) DiscoverInputSchemaRequest(input *DiscoverInputSchemaInput) (req *request.Request, output *DiscoverInputSchemaOutput) { + op := &request.Operation{ + Name: opDiscoverInputSchema, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DiscoverInputSchemaInput{} + } + + output = &DiscoverInputSchemaOutput{} + req = c.newRequest(op, input, output) + return +} + +// DiscoverInputSchema API operation for Amazon Kinesis Analytics. +// +// Infers a schema for an SQL-based Amazon Kinesis Data Analytics application +// by evaluating sample records on the specified streaming source (Kinesis data +// stream or Kinesis Data Firehose delivery stream) or Amazon S3 object. In +// the response, the operation returns the inferred schema and also the sample +// records that the operation used to infer the schema. +// +// You can use the inferred schema when configuring a streaming source for your +// application. When you create an application using the Kinesis Data Analytics +// console, the console uses this operation to infer a schema and show it in +// the console user interface. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation DiscoverInputSchema for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeUnableToDetectSchemaException "UnableToDetectSchemaException" +// The data format is not valid. Amazon Kinesis Data Analytics cannot detect +// the schema for the given streaming source. +// +// * ErrCodeResourceProvisionedThroughputExceededException "ResourceProvisionedThroughputExceededException" +// Discovery failed to get a record from the streaming source because of the +// Amazon Kinesis Streams ProvisionedThroughputExceededException. For more information, +// see GetRecords (http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) +// in the Amazon Kinesis Streams API Reference. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service cannot complete the request. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema +func (c *KinesisAnalyticsV2) DiscoverInputSchema(input *DiscoverInputSchemaInput) (*DiscoverInputSchemaOutput, error) { + req, out := c.DiscoverInputSchemaRequest(input) + return out, req.Send() +} + +// DiscoverInputSchemaWithContext is the same as DiscoverInputSchema with the addition of +// the ability to pass a context and additional request options. +// +// See DiscoverInputSchema 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 *KinesisAnalyticsV2) DiscoverInputSchemaWithContext(ctx aws.Context, input *DiscoverInputSchemaInput, opts ...request.Option) (*DiscoverInputSchemaOutput, error) { + req, out := c.DiscoverInputSchemaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListApplicationSnapshots = "ListApplicationSnapshots" + +// ListApplicationSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the ListApplicationSnapshots 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 ListApplicationSnapshots for more information on using the ListApplicationSnapshots +// 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 ListApplicationSnapshotsRequest method. +// req, resp := client.ListApplicationSnapshotsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplicationSnapshots +func (c *KinesisAnalyticsV2) ListApplicationSnapshotsRequest(input *ListApplicationSnapshotsInput) (req *request.Request, output *ListApplicationSnapshotsOutput) { + op := &request.Operation{ + Name: opListApplicationSnapshots, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListApplicationSnapshotsInput{} + } + + output = &ListApplicationSnapshotsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListApplicationSnapshots API operation for Amazon Kinesis Analytics. +// +// Lists information about the current application snapshots. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation ListApplicationSnapshots for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplicationSnapshots +func (c *KinesisAnalyticsV2) ListApplicationSnapshots(input *ListApplicationSnapshotsInput) (*ListApplicationSnapshotsOutput, error) { + req, out := c.ListApplicationSnapshotsRequest(input) + return out, req.Send() +} + +// ListApplicationSnapshotsWithContext is the same as ListApplicationSnapshots with the addition of +// the ability to pass a context and additional request options. +// +// See ListApplicationSnapshots 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 *KinesisAnalyticsV2) ListApplicationSnapshotsWithContext(ctx aws.Context, input *ListApplicationSnapshotsInput, opts ...request.Option) (*ListApplicationSnapshotsOutput, error) { + req, out := c.ListApplicationSnapshotsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListApplications = "ListApplications" + +// ListApplicationsRequest generates a "aws/request.Request" representing the +// client's request for the ListApplications 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 ListApplications for more information on using the ListApplications +// 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 ListApplicationsRequest method. +// req, resp := client.ListApplicationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplications +func (c *KinesisAnalyticsV2) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) { + op := &request.Operation{ + Name: opListApplications, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListApplicationsInput{} + } + + output = &ListApplicationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListApplications API operation for Amazon Kinesis Analytics. +// +// Returns a list of Amazon Kinesis Data Analytics applications in your account. +// For each application, the response includes the application name, Amazon +// Resource Name (ARN), and status. +// +// If you want detailed information about a specific application, use DescribeApplication. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation ListApplications for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplications +func (c *KinesisAnalyticsV2) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) { + req, out := c.ListApplicationsRequest(input) + return out, req.Send() +} + +// ListApplicationsWithContext is the same as ListApplications with the addition of +// the ability to pass a context and additional request options. +// +// See ListApplications 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 *KinesisAnalyticsV2) ListApplicationsWithContext(ctx aws.Context, input *ListApplicationsInput, opts ...request.Option) (*ListApplicationsOutput, error) { + req, out := c.ListApplicationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartApplication = "StartApplication" + +// StartApplicationRequest generates a "aws/request.Request" representing the +// client's request for the StartApplication 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 StartApplication for more information on using the StartApplication +// 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 StartApplicationRequest method. +// req, resp := client.StartApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/StartApplication +func (c *KinesisAnalyticsV2) StartApplicationRequest(input *StartApplicationInput) (req *request.Request, output *StartApplicationOutput) { + op := &request.Operation{ + Name: opStartApplication, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartApplicationInput{} + } + + output = &StartApplicationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StartApplication API operation for Amazon Kinesis Analytics. +// +// Starts the specified Amazon Kinesis Data Analytics application. After creating +// an application, you must exclusively call this operation to start your application. +// +// SQL is not enabled for this private beta. Using SQL parameters (such as RunConfiguration$SqlRunConfigurations) +// will result in an error. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation StartApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeInvalidApplicationConfigurationException "InvalidApplicationConfigurationException" +// The user-provided application configuration is not valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/StartApplication +func (c *KinesisAnalyticsV2) StartApplication(input *StartApplicationInput) (*StartApplicationOutput, error) { + req, out := c.StartApplicationRequest(input) + return out, req.Send() +} + +// StartApplicationWithContext is the same as StartApplication with the addition of +// the ability to pass a context and additional request options. +// +// See StartApplication 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 *KinesisAnalyticsV2) StartApplicationWithContext(ctx aws.Context, input *StartApplicationInput, opts ...request.Option) (*StartApplicationOutput, error) { + req, out := c.StartApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopApplication = "StopApplication" + +// StopApplicationRequest generates a "aws/request.Request" representing the +// client's request for the StopApplication 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 StopApplication for more information on using the StopApplication +// 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 StopApplicationRequest method. +// req, resp := client.StopApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/StopApplication +func (c *KinesisAnalyticsV2) StopApplicationRequest(input *StopApplicationInput) (req *request.Request, output *StopApplicationOutput) { + op := &request.Operation{ + Name: opStopApplication, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopApplicationInput{} + } + + output = &StopApplicationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopApplication API operation for Amazon Kinesis Analytics. +// +// Stops the application from processing data. You can stop an application only +// if it is in the running state. You can use the DescribeApplication operation +// to find the application state. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation StopApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/StopApplication +func (c *KinesisAnalyticsV2) StopApplication(input *StopApplicationInput) (*StopApplicationOutput, error) { + req, out := c.StopApplicationRequest(input) + return out, req.Send() +} + +// StopApplicationWithContext is the same as StopApplication with the addition of +// the ability to pass a context and additional request options. +// +// See StopApplication 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 *KinesisAnalyticsV2) StopApplicationWithContext(ctx aws.Context, input *StopApplicationInput, opts ...request.Option) (*StopApplicationOutput, error) { + req, out := c.StopApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateApplication = "UpdateApplication" + +// UpdateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApplication 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 UpdateApplication for more information on using the UpdateApplication +// 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 UpdateApplicationRequest method. +// req, resp := client.UpdateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UpdateApplication +func (c *KinesisAnalyticsV2) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) { + op := &request.Operation{ + Name: opUpdateApplication, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateApplicationInput{} + } + + output = &UpdateApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateApplication API operation for Amazon Kinesis Analytics. +// +// Updates an existing Amazon Kinesis Data Analytics application. Using this +// operation, you can update application code, input configuration, and output +// configuration. +// +// Kinesis Data Analytics updates the ApplicationVersionId each time you update +// your application. +// +// SQL is not enabled for this private beta. Using SQL parameters (such as SqlApplicationConfigurationUpdate) +// will result in an error. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation UpdateApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCodeValidationException "CodeValidationException" +// The user-provided application code (query) is not valid. This can be a simple +// syntax error. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request JSON is not valid for the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UpdateApplication +func (c *KinesisAnalyticsV2) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) { + req, out := c.UpdateApplicationRequest(input) + return out, req.Send() +} + +// UpdateApplicationWithContext is the same as UpdateApplication with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateApplication 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 *KinesisAnalyticsV2) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*UpdateApplicationOutput, error) { + req, out := c.UpdateApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type AddApplicationCloudWatchLoggingOptionInput struct { + _ struct{} `type:"structure"` + + // The Kinesis Data Analytics application name. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // Provides the Amazon CloudWatch log stream Amazon Resource Name (ARN). + // + // CloudWatchLoggingOption is a required field + CloudWatchLoggingOption *CloudWatchLoggingOption `type:"structure" required:"true"` + + // The version ID of the Kinesis Data Analytics application. You can retrieve + // the application version ID using DescribeApplication. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` +} + +// String returns the string representation +func (s AddApplicationCloudWatchLoggingOptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationCloudWatchLoggingOptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddApplicationCloudWatchLoggingOptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddApplicationCloudWatchLoggingOptionInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CloudWatchLoggingOption == nil { + invalidParams.Add(request.NewErrParamRequired("CloudWatchLoggingOption")) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + if s.CloudWatchLoggingOption != nil { + if err := s.CloudWatchLoggingOption.Validate(); err != nil { + invalidParams.AddNested("CloudWatchLoggingOption", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *AddApplicationCloudWatchLoggingOptionInput) SetApplicationName(v string) *AddApplicationCloudWatchLoggingOptionInput { + s.ApplicationName = &v + return s +} + +// SetCloudWatchLoggingOption sets the CloudWatchLoggingOption field's value. +func (s *AddApplicationCloudWatchLoggingOptionInput) SetCloudWatchLoggingOption(v *CloudWatchLoggingOption) *AddApplicationCloudWatchLoggingOptionInput { + s.CloudWatchLoggingOption = v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *AddApplicationCloudWatchLoggingOptionInput) SetCurrentApplicationVersionId(v int64) *AddApplicationCloudWatchLoggingOptionInput { + s.CurrentApplicationVersionId = &v + return s +} + +type AddApplicationCloudWatchLoggingOptionOutput struct { + _ struct{} `type:"structure"` + + // The application's ARN. + ApplicationARN *string `min:"1" type:"string"` + + // The new version ID of the Kinesis Data Analytics application. Kinesis Data + // Analytics updates the ApplicationVersionId each time you change the CloudWatch + // logging options. + ApplicationVersionId *int64 `min:"1" type:"long"` + + // The descriptions of the current CloudWatch logging options for the Kinesis + // Data Analytics application. + CloudWatchLoggingOptionDescriptions []*CloudWatchLoggingOptionDescription `type:"list"` +} + +// String returns the string representation +func (s AddApplicationCloudWatchLoggingOptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationCloudWatchLoggingOptionOutput) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *AddApplicationCloudWatchLoggingOptionOutput) SetApplicationARN(v string) *AddApplicationCloudWatchLoggingOptionOutput { + s.ApplicationARN = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *AddApplicationCloudWatchLoggingOptionOutput) SetApplicationVersionId(v int64) *AddApplicationCloudWatchLoggingOptionOutput { + s.ApplicationVersionId = &v + return s +} + +// SetCloudWatchLoggingOptionDescriptions sets the CloudWatchLoggingOptionDescriptions field's value. +func (s *AddApplicationCloudWatchLoggingOptionOutput) SetCloudWatchLoggingOptionDescriptions(v []*CloudWatchLoggingOptionDescription) *AddApplicationCloudWatchLoggingOptionOutput { + s.CloudWatchLoggingOptionDescriptions = v + return s +} + +type AddApplicationInputInput struct { + _ struct{} `type:"structure"` + + // The name of your existing application to which you want to add the streaming + // source. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The current version of your application. You can use the DescribeApplication + // operation to find the current application version. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // The Input to add. + // + // Input is a required field + Input *Input `type:"structure" required:"true"` +} + +// String returns the string representation +func (s AddApplicationInputInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationInputInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddApplicationInputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddApplicationInputInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + if s.Input == nil { + invalidParams.Add(request.NewErrParamRequired("Input")) + } + if s.Input != nil { + if err := s.Input.Validate(); err != nil { + invalidParams.AddNested("Input", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *AddApplicationInputInput) SetApplicationName(v string) *AddApplicationInputInput { + s.ApplicationName = &v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *AddApplicationInputInput) SetCurrentApplicationVersionId(v int64) *AddApplicationInputInput { + s.CurrentApplicationVersionId = &v + return s +} + +// SetInput sets the Input field's value. +func (s *AddApplicationInputInput) SetInput(v *Input) *AddApplicationInputInput { + s.Input = v + return s +} + +type AddApplicationInputOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the application. + ApplicationARN *string `min:"1" type:"string"` + + // Provides the current application version. + ApplicationVersionId *int64 `min:"1" type:"long"` + + // Describes the application input configuration. + InputDescriptions []*InputDescription `type:"list"` +} + +// String returns the string representation +func (s AddApplicationInputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationInputOutput) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *AddApplicationInputOutput) SetApplicationARN(v string) *AddApplicationInputOutput { + s.ApplicationARN = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *AddApplicationInputOutput) SetApplicationVersionId(v int64) *AddApplicationInputOutput { + s.ApplicationVersionId = &v + return s +} + +// SetInputDescriptions sets the InputDescriptions field's value. +func (s *AddApplicationInputOutput) SetInputDescriptions(v []*InputDescription) *AddApplicationInputOutput { + s.InputDescriptions = v + return s +} + +type AddApplicationInputProcessingConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the application to which you want to add the input processing + // configuration. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The version of the application to which you want to add the input processing + // configuration. You can use the DescribeApplication operation to get the current + // application version. If the version specified is not the current version, + // the ConcurrentModificationException is returned. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // The ID of the input configuration to add the input processing configuration + // to. You can get a list of the input IDs for an application using the DescribeApplication + // operation. + // + // InputId is a required field + InputId *string `min:"1" type:"string" required:"true"` + + // The InputProcessingConfiguration to add to the application. + // + // InputProcessingConfiguration is a required field + InputProcessingConfiguration *InputProcessingConfiguration `type:"structure" required:"true"` +} + +// String returns the string representation +func (s AddApplicationInputProcessingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationInputProcessingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddApplicationInputProcessingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddApplicationInputProcessingConfigurationInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + if s.InputId == nil { + invalidParams.Add(request.NewErrParamRequired("InputId")) + } + if s.InputId != nil && len(*s.InputId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputId", 1)) + } + if s.InputProcessingConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("InputProcessingConfiguration")) + } + if s.InputProcessingConfiguration != nil { + if err := s.InputProcessingConfiguration.Validate(); err != nil { + invalidParams.AddNested("InputProcessingConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *AddApplicationInputProcessingConfigurationInput) SetApplicationName(v string) *AddApplicationInputProcessingConfigurationInput { + s.ApplicationName = &v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *AddApplicationInputProcessingConfigurationInput) SetCurrentApplicationVersionId(v int64) *AddApplicationInputProcessingConfigurationInput { + s.CurrentApplicationVersionId = &v + return s +} + +// SetInputId sets the InputId field's value. +func (s *AddApplicationInputProcessingConfigurationInput) SetInputId(v string) *AddApplicationInputProcessingConfigurationInput { + s.InputId = &v + return s +} + +// SetInputProcessingConfiguration sets the InputProcessingConfiguration field's value. +func (s *AddApplicationInputProcessingConfigurationInput) SetInputProcessingConfiguration(v *InputProcessingConfiguration) *AddApplicationInputProcessingConfigurationInput { + s.InputProcessingConfiguration = v + return s +} + +type AddApplicationInputProcessingConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the application. + ApplicationARN *string `min:"1" type:"string"` + + // Provides the current application version. + ApplicationVersionId *int64 `min:"1" type:"long"` + + // The input ID that is associated with the application input. This is the ID + // that Amazon Kinesis Data Analytics assigns to each input configuration that + // you add to your application. + InputId *string `min:"1" type:"string"` + + // The description of the preprocessor that executes on records in this input + // before the application's code is run. + InputProcessingConfigurationDescription *InputProcessingConfigurationDescription `type:"structure"` +} + +// String returns the string representation +func (s AddApplicationInputProcessingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationInputProcessingConfigurationOutput) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *AddApplicationInputProcessingConfigurationOutput) SetApplicationARN(v string) *AddApplicationInputProcessingConfigurationOutput { + s.ApplicationARN = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *AddApplicationInputProcessingConfigurationOutput) SetApplicationVersionId(v int64) *AddApplicationInputProcessingConfigurationOutput { + s.ApplicationVersionId = &v + return s +} + +// SetInputId sets the InputId field's value. +func (s *AddApplicationInputProcessingConfigurationOutput) SetInputId(v string) *AddApplicationInputProcessingConfigurationOutput { + s.InputId = &v + return s +} + +// SetInputProcessingConfigurationDescription sets the InputProcessingConfigurationDescription field's value. +func (s *AddApplicationInputProcessingConfigurationOutput) SetInputProcessingConfigurationDescription(v *InputProcessingConfigurationDescription) *AddApplicationInputProcessingConfigurationOutput { + s.InputProcessingConfigurationDescription = v + return s +} + +type AddApplicationOutputInput struct { + _ struct{} `type:"structure"` + + // The name of the application to which you want to add the output configuration. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The version of the application to which you want to add the output configuration. + // You can use the DescribeApplication operation to get the current application + // version. If the version specified is not the current version, the ConcurrentModificationException + // is returned. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // An array of objects, each describing one output configuration. In the output + // configuration, you specify the name of an in-application stream, a destination + // (that is, a Kinesis data stream, a Kinesis Data Firehose delivery stream, + // or an AWS Lambda function), and record the formation to use when writing + // to the destination. + // + // Output is a required field + Output *Output `type:"structure" required:"true"` +} + +// String returns the string representation +func (s AddApplicationOutputInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationOutputInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddApplicationOutputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddApplicationOutputInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + if s.Output == nil { + invalidParams.Add(request.NewErrParamRequired("Output")) + } + if s.Output != nil { + if err := s.Output.Validate(); err != nil { + invalidParams.AddNested("Output", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *AddApplicationOutputInput) SetApplicationName(v string) *AddApplicationOutputInput { + s.ApplicationName = &v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *AddApplicationOutputInput) SetCurrentApplicationVersionId(v int64) *AddApplicationOutputInput { + s.CurrentApplicationVersionId = &v + return s +} + +// SetOutput sets the Output field's value. +func (s *AddApplicationOutputInput) SetOutput(v *Output) *AddApplicationOutputInput { + s.Output = v + return s +} + +type AddApplicationOutputOutput struct { + _ struct{} `type:"structure"` + + // The application Amazon Resource Name (ARN). + ApplicationARN *string `min:"1" type:"string"` + + // The updated application version ID. Kinesis Data Analytics increments this + // ID when the application is updated. + ApplicationVersionId *int64 `min:"1" type:"long"` + + // Describes the application output configuration. For more information, see + // Configuring Application Output (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). + OutputDescriptions []*OutputDescription `type:"list"` +} + +// String returns the string representation +func (s AddApplicationOutputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationOutputOutput) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *AddApplicationOutputOutput) SetApplicationARN(v string) *AddApplicationOutputOutput { + s.ApplicationARN = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *AddApplicationOutputOutput) SetApplicationVersionId(v int64) *AddApplicationOutputOutput { + s.ApplicationVersionId = &v + return s +} + +// SetOutputDescriptions sets the OutputDescriptions field's value. +func (s *AddApplicationOutputOutput) SetOutputDescriptions(v []*OutputDescription) *AddApplicationOutputOutput { + s.OutputDescriptions = v + return s +} + +type AddApplicationReferenceDataSourceInput struct { + _ struct{} `type:"structure"` + + // The name of an existing application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The version of the application for which you are adding the reference data + // source. You can use the DescribeApplication operation to get the current + // application version. If the version specified is not the current version, + // the ConcurrentModificationException is returned. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // The reference data source can be an object in your Amazon S3 bucket. Kinesis + // Data Analytics reads the object and copies the data into the in-application + // table that is created. You provide an S3 bucket, object key name, and the + // resulting in-application table that is created. + // + // ReferenceDataSource is a required field + ReferenceDataSource *ReferenceDataSource `type:"structure" required:"true"` +} + +// String returns the string representation +func (s AddApplicationReferenceDataSourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationReferenceDataSourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddApplicationReferenceDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddApplicationReferenceDataSourceInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + if s.ReferenceDataSource == nil { + invalidParams.Add(request.NewErrParamRequired("ReferenceDataSource")) + } + if s.ReferenceDataSource != nil { + if err := s.ReferenceDataSource.Validate(); err != nil { + invalidParams.AddNested("ReferenceDataSource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *AddApplicationReferenceDataSourceInput) SetApplicationName(v string) *AddApplicationReferenceDataSourceInput { + s.ApplicationName = &v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *AddApplicationReferenceDataSourceInput) SetCurrentApplicationVersionId(v int64) *AddApplicationReferenceDataSourceInput { + s.CurrentApplicationVersionId = &v + return s +} + +// SetReferenceDataSource sets the ReferenceDataSource field's value. +func (s *AddApplicationReferenceDataSourceInput) SetReferenceDataSource(v *ReferenceDataSource) *AddApplicationReferenceDataSourceInput { + s.ReferenceDataSource = v + return s +} + +type AddApplicationReferenceDataSourceOutput struct { + _ struct{} `type:"structure"` + + // The application Amazon Resource Name (ARN). + ApplicationARN *string `min:"1" type:"string"` + + // The updated application version ID. Amazon Kinesis Data Analytics increments + // this ID when the application is updated. + ApplicationVersionId *int64 `min:"1" type:"long"` + + // Describes reference data sources configured for the application. + ReferenceDataSourceDescriptions []*ReferenceDataSourceDescription `type:"list"` +} + +// String returns the string representation +func (s AddApplicationReferenceDataSourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationReferenceDataSourceOutput) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *AddApplicationReferenceDataSourceOutput) SetApplicationARN(v string) *AddApplicationReferenceDataSourceOutput { + s.ApplicationARN = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *AddApplicationReferenceDataSourceOutput) SetApplicationVersionId(v int64) *AddApplicationReferenceDataSourceOutput { + s.ApplicationVersionId = &v + return s +} + +// SetReferenceDataSourceDescriptions sets the ReferenceDataSourceDescriptions field's value. +func (s *AddApplicationReferenceDataSourceOutput) SetReferenceDataSourceDescriptions(v []*ReferenceDataSourceDescription) *AddApplicationReferenceDataSourceOutput { + s.ReferenceDataSourceDescriptions = v + return s +} + +// Describes code configuration for a Java-based Kinesis Data Analytics application. +type ApplicationCodeConfiguration struct { + _ struct{} `type:"structure"` + + // The location and type of the application code. + CodeContent *CodeContent `type:"structure"` + + // Specifies whether the code content is in text or zip format. + // + // CodeContentType is a required field + CodeContentType *string `type:"string" required:"true" enum:"CodeContentType"` +} + +// String returns the string representation +func (s ApplicationCodeConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationCodeConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ApplicationCodeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ApplicationCodeConfiguration"} + if s.CodeContentType == nil { + invalidParams.Add(request.NewErrParamRequired("CodeContentType")) + } + if s.CodeContent != nil { + if err := s.CodeContent.Validate(); err != nil { + invalidParams.AddNested("CodeContent", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodeContent sets the CodeContent field's value. +func (s *ApplicationCodeConfiguration) SetCodeContent(v *CodeContent) *ApplicationCodeConfiguration { + s.CodeContent = v + return s +} + +// SetCodeContentType sets the CodeContentType field's value. +func (s *ApplicationCodeConfiguration) SetCodeContentType(v string) *ApplicationCodeConfiguration { + s.CodeContentType = &v + return s +} + +// Describes code configuration for a Java-based Kinesis Data Analytics application. +type ApplicationCodeConfigurationDescription struct { + _ struct{} `type:"structure"` + + // Describes details about the location and format of the application code. + CodeContentDescription *CodeContentDescription `type:"structure"` + + // Specifies whether the code content is in text or zip format. + // + // CodeContentType is a required field + CodeContentType *string `type:"string" required:"true" enum:"CodeContentType"` +} + +// String returns the string representation +func (s ApplicationCodeConfigurationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationCodeConfigurationDescription) GoString() string { + return s.String() +} + +// SetCodeContentDescription sets the CodeContentDescription field's value. +func (s *ApplicationCodeConfigurationDescription) SetCodeContentDescription(v *CodeContentDescription) *ApplicationCodeConfigurationDescription { + s.CodeContentDescription = v + return s +} + +// SetCodeContentType sets the CodeContentType field's value. +func (s *ApplicationCodeConfigurationDescription) SetCodeContentType(v string) *ApplicationCodeConfigurationDescription { + s.CodeContentType = &v + return s +} + +// Describes updates to a Java-based Amazon Kinesis Data Analytics application. +type ApplicationCodeConfigurationUpdate struct { + _ struct{} `type:"structure"` + + // Describes updates to the code content type. + CodeContentTypeUpdate *string `type:"string" enum:"CodeContentType"` + + // Describes updates to the code content of an application. + CodeContentUpdate *CodeContentUpdate `type:"structure"` +} + +// String returns the string representation +func (s ApplicationCodeConfigurationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationCodeConfigurationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ApplicationCodeConfigurationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ApplicationCodeConfigurationUpdate"} + if s.CodeContentUpdate != nil { + if err := s.CodeContentUpdate.Validate(); err != nil { + invalidParams.AddNested("CodeContentUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodeContentTypeUpdate sets the CodeContentTypeUpdate field's value. +func (s *ApplicationCodeConfigurationUpdate) SetCodeContentTypeUpdate(v string) *ApplicationCodeConfigurationUpdate { + s.CodeContentTypeUpdate = &v + return s +} + +// SetCodeContentUpdate sets the CodeContentUpdate field's value. +func (s *ApplicationCodeConfigurationUpdate) SetCodeContentUpdate(v *CodeContentUpdate) *ApplicationCodeConfigurationUpdate { + s.CodeContentUpdate = v + return s +} + +// Specifies the creation parameters for an Amazon Kinesis Data Analytics application. +type ApplicationConfiguration struct { + _ struct{} `type:"structure"` + + // The code location and type parameters for a Java-based Kinesis Data Analytics + // application. + // + // ApplicationCodeConfiguration is a required field + ApplicationCodeConfiguration *ApplicationCodeConfiguration `type:"structure" required:"true"` + + // Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics + // application. + ApplicationSnapshotConfiguration *ApplicationSnapshotConfiguration `type:"structure"` + + // Describes execution properties for a Java-based Kinesis Data Analytics application. + EnvironmentProperties *EnvironmentProperties `type:"structure"` + + // The creation and update parameters for a Java-based Kinesis Data Analytics + // application. + FlinkApplicationConfiguration *FlinkApplicationConfiguration `type:"structure"` + + // The creation and update parameters for an SQL-based Kinesis Data Analytics + // application. + SqlApplicationConfiguration *SqlApplicationConfiguration `type:"structure"` +} + +// String returns the string representation +func (s ApplicationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ApplicationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ApplicationConfiguration"} + if s.ApplicationCodeConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationCodeConfiguration")) + } + if s.ApplicationCodeConfiguration != nil { + if err := s.ApplicationCodeConfiguration.Validate(); err != nil { + invalidParams.AddNested("ApplicationCodeConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.ApplicationSnapshotConfiguration != nil { + if err := s.ApplicationSnapshotConfiguration.Validate(); err != nil { + invalidParams.AddNested("ApplicationSnapshotConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.EnvironmentProperties != nil { + if err := s.EnvironmentProperties.Validate(); err != nil { + invalidParams.AddNested("EnvironmentProperties", err.(request.ErrInvalidParams)) + } + } + if s.FlinkApplicationConfiguration != nil { + if err := s.FlinkApplicationConfiguration.Validate(); err != nil { + invalidParams.AddNested("FlinkApplicationConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.SqlApplicationConfiguration != nil { + if err := s.SqlApplicationConfiguration.Validate(); err != nil { + invalidParams.AddNested("SqlApplicationConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationCodeConfiguration sets the ApplicationCodeConfiguration field's value. +func (s *ApplicationConfiguration) SetApplicationCodeConfiguration(v *ApplicationCodeConfiguration) *ApplicationConfiguration { + s.ApplicationCodeConfiguration = v + return s +} + +// SetApplicationSnapshotConfiguration sets the ApplicationSnapshotConfiguration field's value. +func (s *ApplicationConfiguration) SetApplicationSnapshotConfiguration(v *ApplicationSnapshotConfiguration) *ApplicationConfiguration { + s.ApplicationSnapshotConfiguration = v + return s +} + +// SetEnvironmentProperties sets the EnvironmentProperties field's value. +func (s *ApplicationConfiguration) SetEnvironmentProperties(v *EnvironmentProperties) *ApplicationConfiguration { + s.EnvironmentProperties = v + return s +} + +// SetFlinkApplicationConfiguration sets the FlinkApplicationConfiguration field's value. +func (s *ApplicationConfiguration) SetFlinkApplicationConfiguration(v *FlinkApplicationConfiguration) *ApplicationConfiguration { + s.FlinkApplicationConfiguration = v + return s +} + +// SetSqlApplicationConfiguration sets the SqlApplicationConfiguration field's value. +func (s *ApplicationConfiguration) SetSqlApplicationConfiguration(v *SqlApplicationConfiguration) *ApplicationConfiguration { + s.SqlApplicationConfiguration = v + return s +} + +// Describes details about the application code and starting parameters for +// an Amazon Kinesis Data Analytics application. +type ApplicationConfigurationDescription struct { + _ struct{} `type:"structure"` + + // The details about the application code for a Java-based Kinesis Data Analytics + // application. + ApplicationCodeConfigurationDescription *ApplicationCodeConfigurationDescription `type:"structure"` + + // Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics + // application. + ApplicationSnapshotConfigurationDescription *ApplicationSnapshotConfigurationDescription `type:"structure"` + + // Describes execution properties for a Java-based Kinesis Data Analytics application. + EnvironmentPropertyDescriptions *EnvironmentPropertyDescriptions `type:"structure"` + + // The details about a Java-based Kinesis Data Analytics application. + FlinkApplicationConfigurationDescription *FlinkApplicationConfigurationDescription `type:"structure"` + + // The details about the starting properties for a Kinesis Data Analytics application. + RunConfigurationDescription *RunConfigurationDescription `type:"structure"` + + // The details about inputs, outputs, and reference data sources for an SQL-based + // Kinesis Data Analytics application. + SqlApplicationConfigurationDescription *SqlApplicationConfigurationDescription `type:"structure"` +} + +// String returns the string representation +func (s ApplicationConfigurationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationConfigurationDescription) GoString() string { + return s.String() +} + +// SetApplicationCodeConfigurationDescription sets the ApplicationCodeConfigurationDescription field's value. +func (s *ApplicationConfigurationDescription) SetApplicationCodeConfigurationDescription(v *ApplicationCodeConfigurationDescription) *ApplicationConfigurationDescription { + s.ApplicationCodeConfigurationDescription = v + return s +} + +// SetApplicationSnapshotConfigurationDescription sets the ApplicationSnapshotConfigurationDescription field's value. +func (s *ApplicationConfigurationDescription) SetApplicationSnapshotConfigurationDescription(v *ApplicationSnapshotConfigurationDescription) *ApplicationConfigurationDescription { + s.ApplicationSnapshotConfigurationDescription = v + return s +} + +// SetEnvironmentPropertyDescriptions sets the EnvironmentPropertyDescriptions field's value. +func (s *ApplicationConfigurationDescription) SetEnvironmentPropertyDescriptions(v *EnvironmentPropertyDescriptions) *ApplicationConfigurationDescription { + s.EnvironmentPropertyDescriptions = v + return s +} + +// SetFlinkApplicationConfigurationDescription sets the FlinkApplicationConfigurationDescription field's value. +func (s *ApplicationConfigurationDescription) SetFlinkApplicationConfigurationDescription(v *FlinkApplicationConfigurationDescription) *ApplicationConfigurationDescription { + s.FlinkApplicationConfigurationDescription = v + return s +} + +// SetRunConfigurationDescription sets the RunConfigurationDescription field's value. +func (s *ApplicationConfigurationDescription) SetRunConfigurationDescription(v *RunConfigurationDescription) *ApplicationConfigurationDescription { + s.RunConfigurationDescription = v + return s +} + +// SetSqlApplicationConfigurationDescription sets the SqlApplicationConfigurationDescription field's value. +func (s *ApplicationConfigurationDescription) SetSqlApplicationConfigurationDescription(v *SqlApplicationConfigurationDescription) *ApplicationConfigurationDescription { + s.SqlApplicationConfigurationDescription = v + return s +} + +// Describes updates to an application's configuration. +type ApplicationConfigurationUpdate struct { + _ struct{} `type:"structure"` + + // Describes updates to a Java-based Kinesis Data Analytics application's code + // configuration. + ApplicationCodeConfigurationUpdate *ApplicationCodeConfigurationUpdate `type:"structure"` + + // Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics + // application. + ApplicationSnapshotConfigurationUpdate *ApplicationSnapshotConfigurationUpdate `type:"structure"` + + // Describes updates to the environment properties for a Java-based Kinesis + // Data Analytics application. + EnvironmentPropertyUpdates *EnvironmentPropertyUpdates `type:"structure"` + + // Describes updates to a Java-based Kinesis Data Analytics application's configuration. + FlinkApplicationConfigurationUpdate *FlinkApplicationConfigurationUpdate `type:"structure"` + + // Describes updates to an SQL-based Kinesis Data Analytics application's configuration. + SqlApplicationConfigurationUpdate *SqlApplicationConfigurationUpdate `type:"structure"` +} + +// String returns the string representation +func (s ApplicationConfigurationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationConfigurationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ApplicationConfigurationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ApplicationConfigurationUpdate"} + if s.ApplicationCodeConfigurationUpdate != nil { + if err := s.ApplicationCodeConfigurationUpdate.Validate(); err != nil { + invalidParams.AddNested("ApplicationCodeConfigurationUpdate", err.(request.ErrInvalidParams)) + } + } + if s.ApplicationSnapshotConfigurationUpdate != nil { + if err := s.ApplicationSnapshotConfigurationUpdate.Validate(); err != nil { + invalidParams.AddNested("ApplicationSnapshotConfigurationUpdate", err.(request.ErrInvalidParams)) + } + } + if s.EnvironmentPropertyUpdates != nil { + if err := s.EnvironmentPropertyUpdates.Validate(); err != nil { + invalidParams.AddNested("EnvironmentPropertyUpdates", err.(request.ErrInvalidParams)) + } + } + if s.FlinkApplicationConfigurationUpdate != nil { + if err := s.FlinkApplicationConfigurationUpdate.Validate(); err != nil { + invalidParams.AddNested("FlinkApplicationConfigurationUpdate", err.(request.ErrInvalidParams)) + } + } + if s.SqlApplicationConfigurationUpdate != nil { + if err := s.SqlApplicationConfigurationUpdate.Validate(); err != nil { + invalidParams.AddNested("SqlApplicationConfigurationUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationCodeConfigurationUpdate sets the ApplicationCodeConfigurationUpdate field's value. +func (s *ApplicationConfigurationUpdate) SetApplicationCodeConfigurationUpdate(v *ApplicationCodeConfigurationUpdate) *ApplicationConfigurationUpdate { + s.ApplicationCodeConfigurationUpdate = v + return s +} + +// SetApplicationSnapshotConfigurationUpdate sets the ApplicationSnapshotConfigurationUpdate field's value. +func (s *ApplicationConfigurationUpdate) SetApplicationSnapshotConfigurationUpdate(v *ApplicationSnapshotConfigurationUpdate) *ApplicationConfigurationUpdate { + s.ApplicationSnapshotConfigurationUpdate = v + return s +} + +// SetEnvironmentPropertyUpdates sets the EnvironmentPropertyUpdates field's value. +func (s *ApplicationConfigurationUpdate) SetEnvironmentPropertyUpdates(v *EnvironmentPropertyUpdates) *ApplicationConfigurationUpdate { + s.EnvironmentPropertyUpdates = v + return s +} + +// SetFlinkApplicationConfigurationUpdate sets the FlinkApplicationConfigurationUpdate field's value. +func (s *ApplicationConfigurationUpdate) SetFlinkApplicationConfigurationUpdate(v *FlinkApplicationConfigurationUpdate) *ApplicationConfigurationUpdate { + s.FlinkApplicationConfigurationUpdate = v + return s +} + +// SetSqlApplicationConfigurationUpdate sets the SqlApplicationConfigurationUpdate field's value. +func (s *ApplicationConfigurationUpdate) SetSqlApplicationConfigurationUpdate(v *SqlApplicationConfigurationUpdate) *ApplicationConfigurationUpdate { + s.SqlApplicationConfigurationUpdate = v + return s +} + +// Describes the application, including the application Amazon Resource Name +// (ARN), status, latest version, and input and output configurations. +type ApplicationDetail struct { + _ struct{} `type:"structure"` + + // The ARN of the application. + // + // ApplicationARN is a required field + ApplicationARN *string `min:"1" type:"string" required:"true"` + + // Provides details about the application's SQL or Java code and starting parameters. + ApplicationConfigurationDescription *ApplicationConfigurationDescription `type:"structure"` + + // The description of the application. + ApplicationDescription *string `type:"string"` + + // The name of the application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The status of the application. + // + // ApplicationStatus is a required field + ApplicationStatus *string `type:"string" required:"true" enum:"ApplicationStatus"` + + // Provides the current application version. Kinesis Data Analytics updates + // the ApplicationVersionId each time you update the application. + // + // ApplicationVersionId is a required field + ApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // Describes the application Amazon CloudWatch logging options. + CloudWatchLoggingOptionDescriptions []*CloudWatchLoggingOptionDescription `type:"list"` + + // The current timestamp when the application was created. + CreateTimestamp *time.Time `type:"timestamp"` + + // The current timestamp when the application was last updated. + LastUpdateTimestamp *time.Time `type:"timestamp"` + + // The runtime environment for the application (SQL-1.0 or JAVA-8-FLINK-1.5). + // + // RuntimeEnvironment is a required field + RuntimeEnvironment *string `type:"string" required:"true" enum:"RuntimeEnvironment"` + + // Specifies the IAM role that the application uses to access external resources. + ServiceExecutionRole *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ApplicationDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationDetail) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *ApplicationDetail) SetApplicationARN(v string) *ApplicationDetail { + s.ApplicationARN = &v + return s +} + +// SetApplicationConfigurationDescription sets the ApplicationConfigurationDescription field's value. +func (s *ApplicationDetail) SetApplicationConfigurationDescription(v *ApplicationConfigurationDescription) *ApplicationDetail { + s.ApplicationConfigurationDescription = v + return s +} + +// SetApplicationDescription sets the ApplicationDescription field's value. +func (s *ApplicationDetail) SetApplicationDescription(v string) *ApplicationDetail { + s.ApplicationDescription = &v + return s +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *ApplicationDetail) SetApplicationName(v string) *ApplicationDetail { + s.ApplicationName = &v + return s +} + +// SetApplicationStatus sets the ApplicationStatus field's value. +func (s *ApplicationDetail) SetApplicationStatus(v string) *ApplicationDetail { + s.ApplicationStatus = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *ApplicationDetail) SetApplicationVersionId(v int64) *ApplicationDetail { + s.ApplicationVersionId = &v + return s +} + +// SetCloudWatchLoggingOptionDescriptions sets the CloudWatchLoggingOptionDescriptions field's value. +func (s *ApplicationDetail) SetCloudWatchLoggingOptionDescriptions(v []*CloudWatchLoggingOptionDescription) *ApplicationDetail { + s.CloudWatchLoggingOptionDescriptions = v + return s +} + +// SetCreateTimestamp sets the CreateTimestamp field's value. +func (s *ApplicationDetail) SetCreateTimestamp(v time.Time) *ApplicationDetail { + s.CreateTimestamp = &v + return s +} + +// SetLastUpdateTimestamp sets the LastUpdateTimestamp field's value. +func (s *ApplicationDetail) SetLastUpdateTimestamp(v time.Time) *ApplicationDetail { + s.LastUpdateTimestamp = &v + return s +} + +// SetRuntimeEnvironment sets the RuntimeEnvironment field's value. +func (s *ApplicationDetail) SetRuntimeEnvironment(v string) *ApplicationDetail { + s.RuntimeEnvironment = &v + return s +} + +// SetServiceExecutionRole sets the ServiceExecutionRole field's value. +func (s *ApplicationDetail) SetServiceExecutionRole(v string) *ApplicationDetail { + s.ServiceExecutionRole = &v + return s +} + +// Specifies the method and snapshot to use when restarting an application using +// previously saved application state. +type ApplicationRestoreConfiguration struct { + _ struct{} `type:"structure"` + + // Specifies how the application should be restored. + // + // ApplicationRestoreType is a required field + ApplicationRestoreType *string `type:"string" required:"true" enum:"ApplicationRestoreType"` + + // The identifier of an existing snapshot of application state to use to restart + // an application. The application uses this value if RESTORE_FROM_CUSTOM_SNAPSHOT + // is specified for the ApplicationRestoreType. + SnapshotName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ApplicationRestoreConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationRestoreConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ApplicationRestoreConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ApplicationRestoreConfiguration"} + if s.ApplicationRestoreType == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationRestoreType")) + } + if s.SnapshotName != nil && len(*s.SnapshotName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SnapshotName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationRestoreType sets the ApplicationRestoreType field's value. +func (s *ApplicationRestoreConfiguration) SetApplicationRestoreType(v string) *ApplicationRestoreConfiguration { + s.ApplicationRestoreType = &v + return s +} + +// SetSnapshotName sets the SnapshotName field's value. +func (s *ApplicationRestoreConfiguration) SetSnapshotName(v string) *ApplicationRestoreConfiguration { + s.SnapshotName = &v + return s +} + +// Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics +// application. +type ApplicationSnapshotConfiguration struct { + _ struct{} `type:"structure"` + + // Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics + // application. + // + // SnapshotsEnabled is a required field + SnapshotsEnabled *bool `type:"boolean" required:"true"` +} + +// String returns the string representation +func (s ApplicationSnapshotConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationSnapshotConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ApplicationSnapshotConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ApplicationSnapshotConfiguration"} + if s.SnapshotsEnabled == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotsEnabled")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSnapshotsEnabled sets the SnapshotsEnabled field's value. +func (s *ApplicationSnapshotConfiguration) SetSnapshotsEnabled(v bool) *ApplicationSnapshotConfiguration { + s.SnapshotsEnabled = &v + return s +} + +// Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics +// application. +type ApplicationSnapshotConfigurationDescription struct { + _ struct{} `type:"structure"` + + // Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics + // application. + // + // SnapshotsEnabled is a required field + SnapshotsEnabled *bool `type:"boolean" required:"true"` +} + +// String returns the string representation +func (s ApplicationSnapshotConfigurationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationSnapshotConfigurationDescription) GoString() string { + return s.String() +} + +// SetSnapshotsEnabled sets the SnapshotsEnabled field's value. +func (s *ApplicationSnapshotConfigurationDescription) SetSnapshotsEnabled(v bool) *ApplicationSnapshotConfigurationDescription { + s.SnapshotsEnabled = &v + return s +} + +// Describes updates to whether snapshots are enabled for a Java-based Kinesis +// Data Analytics application. +type ApplicationSnapshotConfigurationUpdate struct { + _ struct{} `type:"structure"` + + // Describes updates to whether snapshots are enabled for a Java-based Kinesis + // Data Analytics application. + // + // SnapshotsEnabledUpdate is a required field + SnapshotsEnabledUpdate *bool `type:"boolean" required:"true"` +} + +// String returns the string representation +func (s ApplicationSnapshotConfigurationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationSnapshotConfigurationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ApplicationSnapshotConfigurationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ApplicationSnapshotConfigurationUpdate"} + if s.SnapshotsEnabledUpdate == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotsEnabledUpdate")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSnapshotsEnabledUpdate sets the SnapshotsEnabledUpdate field's value. +func (s *ApplicationSnapshotConfigurationUpdate) SetSnapshotsEnabledUpdate(v bool) *ApplicationSnapshotConfigurationUpdate { + s.SnapshotsEnabledUpdate = &v + return s +} + +// Provides application summary information, including the application Amazon +// Resource Name (ARN), name, and status. +type ApplicationSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the application. + // + // ApplicationARN is a required field + ApplicationARN *string `min:"1" type:"string" required:"true"` + + // The name of the application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The status of the application. + // + // ApplicationStatus is a required field + ApplicationStatus *string `type:"string" required:"true" enum:"ApplicationStatus"` + + // Provides the current application version. + // + // ApplicationVersionId is a required field + ApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // The runtime environment for the application (SQL-1.0 or JAVA-8-FLINK-1.5). + // + // RuntimeEnvironment is a required field + RuntimeEnvironment *string `type:"string" required:"true" enum:"RuntimeEnvironment"` +} + +// String returns the string representation +func (s ApplicationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationSummary) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *ApplicationSummary) SetApplicationARN(v string) *ApplicationSummary { + s.ApplicationARN = &v + return s +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *ApplicationSummary) SetApplicationName(v string) *ApplicationSummary { + s.ApplicationName = &v + return s +} + +// SetApplicationStatus sets the ApplicationStatus field's value. +func (s *ApplicationSummary) SetApplicationStatus(v string) *ApplicationSummary { + s.ApplicationStatus = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *ApplicationSummary) SetApplicationVersionId(v int64) *ApplicationSummary { + s.ApplicationVersionId = &v + return s +} + +// SetRuntimeEnvironment sets the RuntimeEnvironment field's value. +func (s *ApplicationSummary) SetRuntimeEnvironment(v string) *ApplicationSummary { + s.RuntimeEnvironment = &v + return s +} + +// For an SQL-based application, provides additional mapping information when +// the record format uses delimiters, such as CSV. For example, the following +// sample records use CSV format, where the records use the '\n' as the row +// delimiter and a comma (",") as the column delimiter: +// +// "name1", "address1" +// +// "name2", "address2" +type CSVMappingParameters struct { + _ struct{} `type:"structure"` + + // The column delimiter. For example, in a CSV format, a comma (",") is the + // typical column delimiter. + // + // RecordColumnDelimiter is a required field + RecordColumnDelimiter *string `min:"1" type:"string" required:"true"` + + // The row delimiter. For example, in a CSV format, '\n' is the typical row + // delimiter. + // + // RecordRowDelimiter is a required field + RecordRowDelimiter *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CSVMappingParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CSVMappingParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CSVMappingParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CSVMappingParameters"} + if s.RecordColumnDelimiter == nil { + invalidParams.Add(request.NewErrParamRequired("RecordColumnDelimiter")) + } + if s.RecordColumnDelimiter != nil && len(*s.RecordColumnDelimiter) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RecordColumnDelimiter", 1)) + } + if s.RecordRowDelimiter == nil { + invalidParams.Add(request.NewErrParamRequired("RecordRowDelimiter")) + } + if s.RecordRowDelimiter != nil && len(*s.RecordRowDelimiter) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RecordRowDelimiter", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecordColumnDelimiter sets the RecordColumnDelimiter field's value. +func (s *CSVMappingParameters) SetRecordColumnDelimiter(v string) *CSVMappingParameters { + s.RecordColumnDelimiter = &v + return s +} + +// SetRecordRowDelimiter sets the RecordRowDelimiter field's value. +func (s *CSVMappingParameters) SetRecordRowDelimiter(v string) *CSVMappingParameters { + s.RecordRowDelimiter = &v + return s +} + +// Describes an application's checkpointing configuration. Checkpointing is +// the process of persisting application state for fault tolerance. For more +// information, see Checkpoints for Fault Tolerance (https://ci.apache.org/projects/flink/flink-docs-release-1.6/concepts/programming-model.html#checkpoints-for-fault-tolerance) +// in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.6/). +type CheckpointConfiguration struct { + _ struct{} `type:"structure"` + + // Describes the interval in milliseconds between checkpoint operations. + CheckpointInterval *int64 `type:"long"` + + // Describes whether checkpointing is enabled for a Java-based Kinesis Data + // Analytics application. + CheckpointingEnabled *bool `type:"boolean"` + + // Describes whether the application uses Amazon Kinesis Data Analytics' default + // checkpointing behavior. + // + // ConfigurationType is a required field + ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"` + + // Describes the minimum time in milliseconds after a checkpoint operation completes + // that a new checkpoint operation can start. If a checkpoint operation takes + // longer than the CheckpointInterval, the application otherwise performs continual + // checkpoint operations. For more information, see Tuning Checkpointing (https://ci.apache.org/projects/flink/flink-docs-stable/ops/state/large_state_tuning.html#tuning-checkpointing) + // in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.6/). + MinPauseBetweenCheckpoints *int64 `type:"long"` +} + +// String returns the string representation +func (s CheckpointConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CheckpointConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CheckpointConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CheckpointConfiguration"} + if s.ConfigurationType == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCheckpointInterval sets the CheckpointInterval field's value. +func (s *CheckpointConfiguration) SetCheckpointInterval(v int64) *CheckpointConfiguration { + s.CheckpointInterval = &v + return s +} + +// SetCheckpointingEnabled sets the CheckpointingEnabled field's value. +func (s *CheckpointConfiguration) SetCheckpointingEnabled(v bool) *CheckpointConfiguration { + s.CheckpointingEnabled = &v + return s +} + +// SetConfigurationType sets the ConfigurationType field's value. +func (s *CheckpointConfiguration) SetConfigurationType(v string) *CheckpointConfiguration { + s.ConfigurationType = &v + return s +} + +// SetMinPauseBetweenCheckpoints sets the MinPauseBetweenCheckpoints field's value. +func (s *CheckpointConfiguration) SetMinPauseBetweenCheckpoints(v int64) *CheckpointConfiguration { + s.MinPauseBetweenCheckpoints = &v + return s +} + +// Describes checkpointing parameters for a Java-based Amazon Kinesis Data Analytics +// application. +type CheckpointConfigurationDescription struct { + _ struct{} `type:"structure"` + + // Describes the interval in milliseconds between checkpoint operations. + CheckpointInterval *int64 `type:"long"` + + // Describes whether checkpointing is enabled for a Java-based Kinesis Data + // Analytics application. + CheckpointingEnabled *bool `type:"boolean"` + + // Describes whether the application uses the default checkpointing behavior + // in Kinesis Data Analytics. + ConfigurationType *string `type:"string" enum:"ConfigurationType"` + + // Describes the minimum time in milliseconds after a checkpoint operation completes + // that a new checkpoint operation can start. + MinPauseBetweenCheckpoints *int64 `type:"long"` +} + +// String returns the string representation +func (s CheckpointConfigurationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CheckpointConfigurationDescription) GoString() string { + return s.String() +} + +// SetCheckpointInterval sets the CheckpointInterval field's value. +func (s *CheckpointConfigurationDescription) SetCheckpointInterval(v int64) *CheckpointConfigurationDescription { + s.CheckpointInterval = &v + return s +} + +// SetCheckpointingEnabled sets the CheckpointingEnabled field's value. +func (s *CheckpointConfigurationDescription) SetCheckpointingEnabled(v bool) *CheckpointConfigurationDescription { + s.CheckpointingEnabled = &v + return s +} + +// SetConfigurationType sets the ConfigurationType field's value. +func (s *CheckpointConfigurationDescription) SetConfigurationType(v string) *CheckpointConfigurationDescription { + s.ConfigurationType = &v + return s +} + +// SetMinPauseBetweenCheckpoints sets the MinPauseBetweenCheckpoints field's value. +func (s *CheckpointConfigurationDescription) SetMinPauseBetweenCheckpoints(v int64) *CheckpointConfigurationDescription { + s.MinPauseBetweenCheckpoints = &v + return s +} + +// Describes updates to the checkpointing parameters for a Java-based Amazon +// Kinesis Data Analytics application. +type CheckpointConfigurationUpdate struct { + _ struct{} `type:"structure"` + + // Describes updates to the interval in milliseconds between checkpoint operations. + CheckpointIntervalUpdate *int64 `type:"long"` + + // Describes updates to whether checkpointing is enabled for an application. + CheckpointingEnabledUpdate *bool `type:"boolean"` + + // Describes updates to whether the application uses the default checkpointing + // behavior of Kinesis Data Analytics. + ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"` + + // Describes updates to the minimum time in milliseconds after a checkpoint + // operation completes that a new checkpoint operation can start. + MinPauseBetweenCheckpointsUpdate *int64 `type:"long"` +} + +// String returns the string representation +func (s CheckpointConfigurationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CheckpointConfigurationUpdate) GoString() string { + return s.String() +} + +// SetCheckpointIntervalUpdate sets the CheckpointIntervalUpdate field's value. +func (s *CheckpointConfigurationUpdate) SetCheckpointIntervalUpdate(v int64) *CheckpointConfigurationUpdate { + s.CheckpointIntervalUpdate = &v + return s +} + +// SetCheckpointingEnabledUpdate sets the CheckpointingEnabledUpdate field's value. +func (s *CheckpointConfigurationUpdate) SetCheckpointingEnabledUpdate(v bool) *CheckpointConfigurationUpdate { + s.CheckpointingEnabledUpdate = &v + return s +} + +// SetConfigurationTypeUpdate sets the ConfigurationTypeUpdate field's value. +func (s *CheckpointConfigurationUpdate) SetConfigurationTypeUpdate(v string) *CheckpointConfigurationUpdate { + s.ConfigurationTypeUpdate = &v + return s +} + +// SetMinPauseBetweenCheckpointsUpdate sets the MinPauseBetweenCheckpointsUpdate field's value. +func (s *CheckpointConfigurationUpdate) SetMinPauseBetweenCheckpointsUpdate(v int64) *CheckpointConfigurationUpdate { + s.MinPauseBetweenCheckpointsUpdate = &v + return s +} + +// Provides a description of Amazon CloudWatch logging options, including the +// log stream Amazon Resource Name (ARN). +type CloudWatchLoggingOption struct { + _ struct{} `type:"structure"` + + // The ARN of the CloudWatch log to receive application messages. + // + // LogStreamARN is a required field + LogStreamARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CloudWatchLoggingOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudWatchLoggingOption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CloudWatchLoggingOption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloudWatchLoggingOption"} + if s.LogStreamARN == nil { + invalidParams.Add(request.NewErrParamRequired("LogStreamARN")) + } + if s.LogStreamARN != nil && len(*s.LogStreamARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogStreamARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLogStreamARN sets the LogStreamARN field's value. +func (s *CloudWatchLoggingOption) SetLogStreamARN(v string) *CloudWatchLoggingOption { + s.LogStreamARN = &v + return s +} + +// Describes the Amazon CloudWatch logging option. +type CloudWatchLoggingOptionDescription struct { + _ struct{} `type:"structure"` + + // The ID of the CloudWatch logging option description. + CloudWatchLoggingOptionId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the CloudWatch log to receive application + // messages. + // + // LogStreamARN is a required field + LogStreamARN *string `min:"1" type:"string" required:"true"` + + // The IAM ARN of the role to use to send application messages. + // + // Provided for backward compatibility. Applications created with the current + // API version have an application-level service execution role rather than + // a resource-level role. + RoleARN *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CloudWatchLoggingOptionDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudWatchLoggingOptionDescription) GoString() string { + return s.String() +} + +// SetCloudWatchLoggingOptionId sets the CloudWatchLoggingOptionId field's value. +func (s *CloudWatchLoggingOptionDescription) SetCloudWatchLoggingOptionId(v string) *CloudWatchLoggingOptionDescription { + s.CloudWatchLoggingOptionId = &v + return s +} + +// SetLogStreamARN sets the LogStreamARN field's value. +func (s *CloudWatchLoggingOptionDescription) SetLogStreamARN(v string) *CloudWatchLoggingOptionDescription { + s.LogStreamARN = &v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *CloudWatchLoggingOptionDescription) SetRoleARN(v string) *CloudWatchLoggingOptionDescription { + s.RoleARN = &v + return s +} + +// Describes the Amazon CloudWatch logging option updates. +type CloudWatchLoggingOptionUpdate struct { + _ struct{} `type:"structure"` + + // The ID of the CloudWatch logging option to update + // + // CloudWatchLoggingOptionId is a required field + CloudWatchLoggingOptionId *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the CloudWatch log to receive application + // messages. + LogStreamARNUpdate *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CloudWatchLoggingOptionUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudWatchLoggingOptionUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CloudWatchLoggingOptionUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloudWatchLoggingOptionUpdate"} + if s.CloudWatchLoggingOptionId == nil { + invalidParams.Add(request.NewErrParamRequired("CloudWatchLoggingOptionId")) + } + if s.CloudWatchLoggingOptionId != nil && len(*s.CloudWatchLoggingOptionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CloudWatchLoggingOptionId", 1)) + } + if s.LogStreamARNUpdate != nil && len(*s.LogStreamARNUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogStreamARNUpdate", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCloudWatchLoggingOptionId sets the CloudWatchLoggingOptionId field's value. +func (s *CloudWatchLoggingOptionUpdate) SetCloudWatchLoggingOptionId(v string) *CloudWatchLoggingOptionUpdate { + s.CloudWatchLoggingOptionId = &v + return s +} + +// SetLogStreamARNUpdate sets the LogStreamARNUpdate field's value. +func (s *CloudWatchLoggingOptionUpdate) SetLogStreamARNUpdate(v string) *CloudWatchLoggingOptionUpdate { + s.LogStreamARNUpdate = &v + return s +} + +// Specifies either the application code, or the location of the application +// code, for a Java-based Amazon Kinesis Data Analytics application. +type CodeContent struct { + _ struct{} `type:"structure"` + + // Information about the Amazon S3 bucket containing the application code. + S3ContentLocation *S3ContentLocation `type:"structure"` + + // The text-format code for a Java-based Kinesis Data Analytics application. + TextContent *string `type:"string"` + + // The zip-format code for a Java-based Kinesis Data Analytics application. + // + // ZipFileContent is automatically base64 encoded/decoded by the SDK. + ZipFileContent []byte `type:"blob"` +} + +// String returns the string representation +func (s CodeContent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CodeContent) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CodeContent) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CodeContent"} + if s.S3ContentLocation != nil { + if err := s.S3ContentLocation.Validate(); err != nil { + invalidParams.AddNested("S3ContentLocation", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3ContentLocation sets the S3ContentLocation field's value. +func (s *CodeContent) SetS3ContentLocation(v *S3ContentLocation) *CodeContent { + s.S3ContentLocation = v + return s +} + +// SetTextContent sets the TextContent field's value. +func (s *CodeContent) SetTextContent(v string) *CodeContent { + s.TextContent = &v + return s +} + +// SetZipFileContent sets the ZipFileContent field's value. +func (s *CodeContent) SetZipFileContent(v []byte) *CodeContent { + s.ZipFileContent = v + return s +} + +// Describes details about the application code for a Java-based Kinesis Data +// Analytics application. +type CodeContentDescription struct { + _ struct{} `type:"structure"` + + // The checksum that can be used to validate zip-format code. + CodeMD5 *string `min:"128" type:"string"` + + // The size in bytes of the application code. Can be used to validate zip-format + // code. + CodeSize *int64 `type:"long"` + + // The S3 bucket Amazon Resource Name (ARN), file key, and object version of + // the application code stored in Amazon S3. + S3ApplicationCodeLocationDescription *S3ApplicationCodeLocationDescription `type:"structure"` + + // The text-format code + TextContent *string `type:"string"` +} + +// String returns the string representation +func (s CodeContentDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CodeContentDescription) GoString() string { + return s.String() +} + +// SetCodeMD5 sets the CodeMD5 field's value. +func (s *CodeContentDescription) SetCodeMD5(v string) *CodeContentDescription { + s.CodeMD5 = &v + return s +} + +// SetCodeSize sets the CodeSize field's value. +func (s *CodeContentDescription) SetCodeSize(v int64) *CodeContentDescription { + s.CodeSize = &v + return s +} + +// SetS3ApplicationCodeLocationDescription sets the S3ApplicationCodeLocationDescription field's value. +func (s *CodeContentDescription) SetS3ApplicationCodeLocationDescription(v *S3ApplicationCodeLocationDescription) *CodeContentDescription { + s.S3ApplicationCodeLocationDescription = v + return s +} + +// SetTextContent sets the TextContent field's value. +func (s *CodeContentDescription) SetTextContent(v string) *CodeContentDescription { + s.TextContent = &v + return s +} + +// Describes an update to the code of a Java-based Kinesis Data Analytics application. +type CodeContentUpdate struct { + _ struct{} `type:"structure"` + + // Describes an update to the location of code for an application. + S3ContentLocationUpdate *S3ContentLocationUpdate `type:"structure"` + + // Describes an update to the text code for an application. + TextContentUpdate *string `type:"string"` + + // Describes an update to the zipped code for an application. + // + // ZipFileContentUpdate is automatically base64 encoded/decoded by the SDK. + ZipFileContentUpdate []byte `type:"blob"` +} + +// String returns the string representation +func (s CodeContentUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CodeContentUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CodeContentUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CodeContentUpdate"} + if s.S3ContentLocationUpdate != nil { + if err := s.S3ContentLocationUpdate.Validate(); err != nil { + invalidParams.AddNested("S3ContentLocationUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3ContentLocationUpdate sets the S3ContentLocationUpdate field's value. +func (s *CodeContentUpdate) SetS3ContentLocationUpdate(v *S3ContentLocationUpdate) *CodeContentUpdate { + s.S3ContentLocationUpdate = v + return s +} + +// SetTextContentUpdate sets the TextContentUpdate field's value. +func (s *CodeContentUpdate) SetTextContentUpdate(v string) *CodeContentUpdate { + s.TextContentUpdate = &v + return s +} + +// SetZipFileContentUpdate sets the ZipFileContentUpdate field's value. +func (s *CodeContentUpdate) SetZipFileContentUpdate(v []byte) *CodeContentUpdate { + s.ZipFileContentUpdate = v + return s +} + +type CreateApplicationInput struct { + _ struct{} `type:"structure"` + + // Use this parameter to configure the application. + ApplicationConfiguration *ApplicationConfiguration `type:"structure"` + + // A summary description of the application. + ApplicationDescription *string `type:"string"` + + // The name of your application (for example, sample-app). + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // Use this parameter to configure an Amazon CloudWatch log stream to monitor + // application configuration errors. + CloudWatchLoggingOptions []*CloudWatchLoggingOption `type:"list"` + + // The runtime environment for the application (SQL-1.0 or JAVA-8-FLINK-1.5). + // + // RuntimeEnvironment is a required field + RuntimeEnvironment *string `type:"string" required:"true" enum:"RuntimeEnvironment"` + + // The IAM role used by the application to access Kinesis data streams, Kinesis + // Data Firehose delivery streams, Amazon S3 objects, and other external resources. + // + // ServiceExecutionRole is a required field + ServiceExecutionRole *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.RuntimeEnvironment == nil { + invalidParams.Add(request.NewErrParamRequired("RuntimeEnvironment")) + } + if s.ServiceExecutionRole == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceExecutionRole")) + } + if s.ServiceExecutionRole != nil && len(*s.ServiceExecutionRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceExecutionRole", 1)) + } + if s.ApplicationConfiguration != nil { + if err := s.ApplicationConfiguration.Validate(); err != nil { + invalidParams.AddNested("ApplicationConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.CloudWatchLoggingOptions != nil { + for i, v := range s.CloudWatchLoggingOptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CloudWatchLoggingOptions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationConfiguration sets the ApplicationConfiguration field's value. +func (s *CreateApplicationInput) SetApplicationConfiguration(v *ApplicationConfiguration) *CreateApplicationInput { + s.ApplicationConfiguration = v + return s +} + +// SetApplicationDescription sets the ApplicationDescription field's value. +func (s *CreateApplicationInput) SetApplicationDescription(v string) *CreateApplicationInput { + s.ApplicationDescription = &v + return s +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *CreateApplicationInput) SetApplicationName(v string) *CreateApplicationInput { + s.ApplicationName = &v + return s +} + +// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. +func (s *CreateApplicationInput) SetCloudWatchLoggingOptions(v []*CloudWatchLoggingOption) *CreateApplicationInput { + s.CloudWatchLoggingOptions = v + return s +} + +// SetRuntimeEnvironment sets the RuntimeEnvironment field's value. +func (s *CreateApplicationInput) SetRuntimeEnvironment(v string) *CreateApplicationInput { + s.RuntimeEnvironment = &v + return s +} + +// SetServiceExecutionRole sets the ServiceExecutionRole field's value. +func (s *CreateApplicationInput) SetServiceExecutionRole(v string) *CreateApplicationInput { + s.ServiceExecutionRole = &v + return s +} + +type CreateApplicationOutput struct { + _ struct{} `type:"structure"` + + // In response to your CreateApplication request, Kinesis Data Analytics returns + // a response with details of the application it created. + // + // ApplicationDetail is a required field + ApplicationDetail *ApplicationDetail `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApplicationOutput) GoString() string { + return s.String() +} + +// SetApplicationDetail sets the ApplicationDetail field's value. +func (s *CreateApplicationOutput) SetApplicationDetail(v *ApplicationDetail) *CreateApplicationOutput { + s.ApplicationDetail = v + return s +} + +type CreateApplicationSnapshotInput struct { + _ struct{} `type:"structure"` + + // The name of an existing application + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // An identifier for the application snapshot. + // + // SnapshotName is a required field + SnapshotName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateApplicationSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApplicationSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateApplicationSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateApplicationSnapshotInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.SnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotName")) + } + if s.SnapshotName != nil && len(*s.SnapshotName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SnapshotName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *CreateApplicationSnapshotInput) SetApplicationName(v string) *CreateApplicationSnapshotInput { + s.ApplicationName = &v + return s +} + +// SetSnapshotName sets the SnapshotName field's value. +func (s *CreateApplicationSnapshotInput) SetSnapshotName(v string) *CreateApplicationSnapshotInput { + s.SnapshotName = &v + return s +} + +type CreateApplicationSnapshotOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateApplicationSnapshotOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApplicationSnapshotOutput) GoString() string { + return s.String() +} + +type DeleteApplicationCloudWatchLoggingOptionInput struct { + _ struct{} `type:"structure"` + + // The application name. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The CloudWatchLoggingOptionId of the Amazon CloudWatch logging option to + // delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication + // operation. + // + // CloudWatchLoggingOptionId is a required field + CloudWatchLoggingOptionId *string `min:"1" type:"string" required:"true"` + + // The version ID of the application. You can retrieve the application version + // ID using DescribeApplication. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` +} + +// String returns the string representation +func (s DeleteApplicationCloudWatchLoggingOptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationCloudWatchLoggingOptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApplicationCloudWatchLoggingOptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationCloudWatchLoggingOptionInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CloudWatchLoggingOptionId == nil { + invalidParams.Add(request.NewErrParamRequired("CloudWatchLoggingOptionId")) + } + if s.CloudWatchLoggingOptionId != nil && len(*s.CloudWatchLoggingOptionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CloudWatchLoggingOptionId", 1)) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *DeleteApplicationCloudWatchLoggingOptionInput) SetApplicationName(v string) *DeleteApplicationCloudWatchLoggingOptionInput { + s.ApplicationName = &v + return s +} + +// SetCloudWatchLoggingOptionId sets the CloudWatchLoggingOptionId field's value. +func (s *DeleteApplicationCloudWatchLoggingOptionInput) SetCloudWatchLoggingOptionId(v string) *DeleteApplicationCloudWatchLoggingOptionInput { + s.CloudWatchLoggingOptionId = &v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *DeleteApplicationCloudWatchLoggingOptionInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationCloudWatchLoggingOptionInput { + s.CurrentApplicationVersionId = &v + return s +} + +type DeleteApplicationCloudWatchLoggingOptionOutput struct { + _ struct{} `type:"structure"` + + // The application's Amazon Resource Name (ARN). + ApplicationARN *string `min:"1" type:"string"` + + // The version ID of the application. Kinesis Data Analytics updates the ApplicationVersionId + // each time you change the CloudWatch logging options. + ApplicationVersionId *int64 `min:"1" type:"long"` + + // The descriptions of the remaining CloudWatch logging options for the application. + CloudWatchLoggingOptionDescriptions []*CloudWatchLoggingOptionDescription `type:"list"` +} + +// String returns the string representation +func (s DeleteApplicationCloudWatchLoggingOptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationCloudWatchLoggingOptionOutput) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *DeleteApplicationCloudWatchLoggingOptionOutput) SetApplicationARN(v string) *DeleteApplicationCloudWatchLoggingOptionOutput { + s.ApplicationARN = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *DeleteApplicationCloudWatchLoggingOptionOutput) SetApplicationVersionId(v int64) *DeleteApplicationCloudWatchLoggingOptionOutput { + s.ApplicationVersionId = &v + return s +} + +// SetCloudWatchLoggingOptionDescriptions sets the CloudWatchLoggingOptionDescriptions field's value. +func (s *DeleteApplicationCloudWatchLoggingOptionOutput) SetCloudWatchLoggingOptionDescriptions(v []*CloudWatchLoggingOptionDescription) *DeleteApplicationCloudWatchLoggingOptionOutput { + s.CloudWatchLoggingOptionDescriptions = v + return s +} + +type DeleteApplicationInput struct { + _ struct{} `type:"structure"` + + // The name of the application to delete. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // Use the DescribeApplication operation to get this value. + // + // CreateTimestamp is a required field + CreateTimestamp *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s DeleteApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CreateTimestamp == nil { + invalidParams.Add(request.NewErrParamRequired("CreateTimestamp")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *DeleteApplicationInput) SetApplicationName(v string) *DeleteApplicationInput { + s.ApplicationName = &v + return s +} + +// SetCreateTimestamp sets the CreateTimestamp field's value. +func (s *DeleteApplicationInput) SetCreateTimestamp(v time.Time) *DeleteApplicationInput { + s.CreateTimestamp = &v + return s +} + +type DeleteApplicationInputProcessingConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The application version. You can use the DescribeApplication operation to + // get the current application version. If the version specified is not the + // current version, the ConcurrentModificationException is returned. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // The ID of the input configuration from which to delete the input processing + // configuration. You can get a list of the input IDs for an application by + // using the DescribeApplication operation. + // + // InputId is a required field + InputId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteApplicationInputProcessingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationInputProcessingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApplicationInputProcessingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInputProcessingConfigurationInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + if s.InputId == nil { + invalidParams.Add(request.NewErrParamRequired("InputId")) + } + if s.InputId != nil && len(*s.InputId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *DeleteApplicationInputProcessingConfigurationInput) SetApplicationName(v string) *DeleteApplicationInputProcessingConfigurationInput { + s.ApplicationName = &v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *DeleteApplicationInputProcessingConfigurationInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationInputProcessingConfigurationInput { + s.CurrentApplicationVersionId = &v + return s +} + +// SetInputId sets the InputId field's value. +func (s *DeleteApplicationInputProcessingConfigurationInput) SetInputId(v string) *DeleteApplicationInputProcessingConfigurationInput { + s.InputId = &v + return s +} + +type DeleteApplicationInputProcessingConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the application. + ApplicationARN *string `min:"1" type:"string"` + + // The current application version ID. + ApplicationVersionId *int64 `min:"1" type:"long"` +} + +// String returns the string representation +func (s DeleteApplicationInputProcessingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationInputProcessingConfigurationOutput) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *DeleteApplicationInputProcessingConfigurationOutput) SetApplicationARN(v string) *DeleteApplicationInputProcessingConfigurationOutput { + s.ApplicationARN = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *DeleteApplicationInputProcessingConfigurationOutput) SetApplicationVersionId(v int64) *DeleteApplicationInputProcessingConfigurationOutput { + s.ApplicationVersionId = &v + return s +} + +type DeleteApplicationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationOutput) GoString() string { + return s.String() +} + +type DeleteApplicationOutputInput struct { + _ struct{} `type:"structure"` + + // The application name. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The application version. You can use the DescribeApplication operation to + // get the current application version. If the version specified is not the + // current version, the ConcurrentModificationException is returned. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // The ID of the configuration to delete. Each output configuration that is + // added to the application (either when the application is created or later) + // using the AddApplicationOutput operation has a unique ID. You need to provide + // the ID to uniquely identify the output configuration that you want to delete + // from the application configuration. You can use the DescribeApplication operation + // to get the specific OutputId. + // + // OutputId is a required field + OutputId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteApplicationOutputInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationOutputInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApplicationOutputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationOutputInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + if s.OutputId == nil { + invalidParams.Add(request.NewErrParamRequired("OutputId")) + } + if s.OutputId != nil && len(*s.OutputId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OutputId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *DeleteApplicationOutputInput) SetApplicationName(v string) *DeleteApplicationOutputInput { + s.ApplicationName = &v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *DeleteApplicationOutputInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationOutputInput { + s.CurrentApplicationVersionId = &v + return s +} + +// SetOutputId sets the OutputId field's value. +func (s *DeleteApplicationOutputInput) SetOutputId(v string) *DeleteApplicationOutputInput { + s.OutputId = &v + return s +} + +type DeleteApplicationOutputOutput struct { + _ struct{} `type:"structure"` + + // The application Amazon Resource Name (ARN). + ApplicationARN *string `min:"1" type:"string"` + + // The current application version ID. + ApplicationVersionId *int64 `min:"1" type:"long"` +} + +// String returns the string representation +func (s DeleteApplicationOutputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationOutputOutput) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *DeleteApplicationOutputOutput) SetApplicationARN(v string) *DeleteApplicationOutputOutput { + s.ApplicationARN = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *DeleteApplicationOutputOutput) SetApplicationVersionId(v int64) *DeleteApplicationOutputOutput { + s.ApplicationVersionId = &v + return s +} + +type DeleteApplicationReferenceDataSourceInput struct { + _ struct{} `type:"structure"` + + // The name of an existing application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The current application version. You can use the DescribeApplication operation + // to get the current application version. If the version specified is not the + // current version, the ConcurrentModificationException is returned. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // The ID of the reference data source. When you add a reference data source + // to your application using the AddApplicationReferenceDataSource, Kinesis + // Data Analytics assigns an ID. You can use the DescribeApplication operation + // to get the reference ID. + // + // ReferenceId is a required field + ReferenceId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteApplicationReferenceDataSourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationReferenceDataSourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApplicationReferenceDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationReferenceDataSourceInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + if s.ReferenceId == nil { + invalidParams.Add(request.NewErrParamRequired("ReferenceId")) + } + if s.ReferenceId != nil && len(*s.ReferenceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReferenceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *DeleteApplicationReferenceDataSourceInput) SetApplicationName(v string) *DeleteApplicationReferenceDataSourceInput { + s.ApplicationName = &v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *DeleteApplicationReferenceDataSourceInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationReferenceDataSourceInput { + s.CurrentApplicationVersionId = &v + return s +} + +// SetReferenceId sets the ReferenceId field's value. +func (s *DeleteApplicationReferenceDataSourceInput) SetReferenceId(v string) *DeleteApplicationReferenceDataSourceInput { + s.ReferenceId = &v + return s +} + +type DeleteApplicationReferenceDataSourceOutput struct { + _ struct{} `type:"structure"` + + // The application Amazon Resource Name (ARN). + ApplicationARN *string `min:"1" type:"string"` + + // The updated version ID of the application. + ApplicationVersionId *int64 `min:"1" type:"long"` +} + +// String returns the string representation +func (s DeleteApplicationReferenceDataSourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationReferenceDataSourceOutput) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *DeleteApplicationReferenceDataSourceOutput) SetApplicationARN(v string) *DeleteApplicationReferenceDataSourceOutput { + s.ApplicationARN = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *DeleteApplicationReferenceDataSourceOutput) SetApplicationVersionId(v int64) *DeleteApplicationReferenceDataSourceOutput { + s.ApplicationVersionId = &v + return s +} + +type DeleteApplicationSnapshotInput struct { + _ struct{} `type:"structure"` + + // The name of an existing application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The creation timestamp of the application snapshot to delete. You can retrieve + // this value using or . + // + // SnapshotCreationTimestamp is a required field + SnapshotCreationTimestamp *time.Time `type:"timestamp" required:"true"` + + // The identifier for the snapshot delete. + // + // SnapshotName is a required field + SnapshotName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteApplicationSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApplicationSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationSnapshotInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.SnapshotCreationTimestamp == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotCreationTimestamp")) + } + if s.SnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotName")) + } + if s.SnapshotName != nil && len(*s.SnapshotName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SnapshotName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *DeleteApplicationSnapshotInput) SetApplicationName(v string) *DeleteApplicationSnapshotInput { + s.ApplicationName = &v + return s +} + +// SetSnapshotCreationTimestamp sets the SnapshotCreationTimestamp field's value. +func (s *DeleteApplicationSnapshotInput) SetSnapshotCreationTimestamp(v time.Time) *DeleteApplicationSnapshotInput { + s.SnapshotCreationTimestamp = &v + return s +} + +// SetSnapshotName sets the SnapshotName field's value. +func (s *DeleteApplicationSnapshotInput) SetSnapshotName(v string) *DeleteApplicationSnapshotInput { + s.SnapshotName = &v + return s +} + +type DeleteApplicationSnapshotOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteApplicationSnapshotOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationSnapshotOutput) GoString() string { + return s.String() +} + +type DescribeApplicationInput struct { + _ struct{} `type:"structure"` + + // The name of the application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // Displays verbose information about a Kinesis Data Analytics application, + // including the application's job plan. + IncludeAdditionalDetails *bool `type:"boolean"` +} + +// String returns the string representation +func (s DescribeApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *DescribeApplicationInput) SetApplicationName(v string) *DescribeApplicationInput { + s.ApplicationName = &v + return s +} + +// SetIncludeAdditionalDetails sets the IncludeAdditionalDetails field's value. +func (s *DescribeApplicationInput) SetIncludeAdditionalDetails(v bool) *DescribeApplicationInput { + s.IncludeAdditionalDetails = &v + return s +} + +type DescribeApplicationOutput struct { + _ struct{} `type:"structure"` + + // Provides a description of the application, such as the application's Amazon + // Resource Name (ARN), status, and latest version. + // + // ApplicationDetail is a required field + ApplicationDetail *ApplicationDetail `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeApplicationOutput) GoString() string { + return s.String() +} + +// SetApplicationDetail sets the ApplicationDetail field's value. +func (s *DescribeApplicationOutput) SetApplicationDetail(v *ApplicationDetail) *DescribeApplicationOutput { + s.ApplicationDetail = v + return s +} + +type DescribeApplicationSnapshotInput struct { + _ struct{} `type:"structure"` + + // The name of an existing application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The identifier of an application snapshot. You can retrieve this value using + // . + // + // SnapshotName is a required field + SnapshotName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeApplicationSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeApplicationSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeApplicationSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationSnapshotInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.SnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotName")) + } + if s.SnapshotName != nil && len(*s.SnapshotName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SnapshotName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *DescribeApplicationSnapshotInput) SetApplicationName(v string) *DescribeApplicationSnapshotInput { + s.ApplicationName = &v + return s +} + +// SetSnapshotName sets the SnapshotName field's value. +func (s *DescribeApplicationSnapshotInput) SetSnapshotName(v string) *DescribeApplicationSnapshotInput { + s.SnapshotName = &v + return s +} + +type DescribeApplicationSnapshotOutput struct { + _ struct{} `type:"structure"` + + // An object containing information about the application snapshot. + // + // SnapshotDetails is a required field + SnapshotDetails *SnapshotDetails `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeApplicationSnapshotOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeApplicationSnapshotOutput) GoString() string { + return s.String() +} + +// SetSnapshotDetails sets the SnapshotDetails field's value. +func (s *DescribeApplicationSnapshotOutput) SetSnapshotDetails(v *SnapshotDetails) *DescribeApplicationSnapshotOutput { + s.SnapshotDetails = v + return s +} + +// Describes the data format when records are written to the destination in +// an SQL-based Amazon Kinesis Data Analytics application. +type DestinationSchema struct { + _ struct{} `type:"structure"` + + // Specifies the format of the records on the output stream. + // + // RecordFormatType is a required field + RecordFormatType *string `type:"string" required:"true" enum:"RecordFormatType"` +} + +// String returns the string representation +func (s DestinationSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DestinationSchema) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DestinationSchema) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DestinationSchema"} + if s.RecordFormatType == nil { + invalidParams.Add(request.NewErrParamRequired("RecordFormatType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecordFormatType sets the RecordFormatType field's value. +func (s *DestinationSchema) SetRecordFormatType(v string) *DestinationSchema { + s.RecordFormatType = &v + return s +} + +type DiscoverInputSchemaInput struct { + _ struct{} `type:"structure"` + + // The InputProcessingConfiguration to use to preprocess the records before + // discovering the schema of the records. + InputProcessingConfiguration *InputProcessingConfiguration `type:"structure"` + + // The point at which you want Kinesis Data Analytics to start reading records + // from the specified streaming source discovery purposes. + InputStartingPositionConfiguration *InputStartingPositionConfiguration `type:"structure"` + + // The Amazon Resource Name (ARN) of the streaming source. + ResourceARN *string `min:"1" type:"string"` + + // Specify this parameter to discover a schema from data in an Amazon S3 object. + S3Configuration *S3Configuration `type:"structure"` + + // The ARN of the role that is used to access the streaming source. + // + // ServiceExecutionRole is a required field + ServiceExecutionRole *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DiscoverInputSchemaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DiscoverInputSchemaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DiscoverInputSchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DiscoverInputSchemaInput"} + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.ServiceExecutionRole == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceExecutionRole")) + } + if s.ServiceExecutionRole != nil && len(*s.ServiceExecutionRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceExecutionRole", 1)) + } + if s.InputProcessingConfiguration != nil { + if err := s.InputProcessingConfiguration.Validate(); err != nil { + invalidParams.AddNested("InputProcessingConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.S3Configuration != nil { + if err := s.S3Configuration.Validate(); err != nil { + invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputProcessingConfiguration sets the InputProcessingConfiguration field's value. +func (s *DiscoverInputSchemaInput) SetInputProcessingConfiguration(v *InputProcessingConfiguration) *DiscoverInputSchemaInput { + s.InputProcessingConfiguration = v + return s +} + +// SetInputStartingPositionConfiguration sets the InputStartingPositionConfiguration field's value. +func (s *DiscoverInputSchemaInput) SetInputStartingPositionConfiguration(v *InputStartingPositionConfiguration) *DiscoverInputSchemaInput { + s.InputStartingPositionConfiguration = v + return s +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *DiscoverInputSchemaInput) SetResourceARN(v string) *DiscoverInputSchemaInput { + s.ResourceARN = &v + return s +} + +// SetS3Configuration sets the S3Configuration field's value. +func (s *DiscoverInputSchemaInput) SetS3Configuration(v *S3Configuration) *DiscoverInputSchemaInput { + s.S3Configuration = v + return s +} + +// SetServiceExecutionRole sets the ServiceExecutionRole field's value. +func (s *DiscoverInputSchemaInput) SetServiceExecutionRole(v string) *DiscoverInputSchemaInput { + s.ServiceExecutionRole = &v + return s +} + +type DiscoverInputSchemaOutput struct { + _ struct{} `type:"structure"` + + // The schema inferred from the streaming source. It identifies the format of + // the data in the streaming source and how each data element maps to corresponding + // columns in the in-application stream that you can create. + InputSchema *SourceSchema `type:"structure"` + + // An array of elements, where each element corresponds to a row in a stream + // record (a stream record can have more than one row). + ParsedInputRecords [][]*string `type:"list"` + + // The stream data that was modified by the processor specified in the InputProcessingConfiguration + // parameter. + ProcessedInputRecords []*string `type:"list"` + + // The raw stream data that was sampled to infer the schema. + RawInputRecords []*string `type:"list"` +} + +// String returns the string representation +func (s DiscoverInputSchemaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DiscoverInputSchemaOutput) GoString() string { + return s.String() +} + +// SetInputSchema sets the InputSchema field's value. +func (s *DiscoverInputSchemaOutput) SetInputSchema(v *SourceSchema) *DiscoverInputSchemaOutput { + s.InputSchema = v + return s +} + +// SetParsedInputRecords sets the ParsedInputRecords field's value. +func (s *DiscoverInputSchemaOutput) SetParsedInputRecords(v [][]*string) *DiscoverInputSchemaOutput { + s.ParsedInputRecords = v + return s +} + +// SetProcessedInputRecords sets the ProcessedInputRecords field's value. +func (s *DiscoverInputSchemaOutput) SetProcessedInputRecords(v []*string) *DiscoverInputSchemaOutput { + s.ProcessedInputRecords = v + return s +} + +// SetRawInputRecords sets the RawInputRecords field's value. +func (s *DiscoverInputSchemaOutput) SetRawInputRecords(v []*string) *DiscoverInputSchemaOutput { + s.RawInputRecords = v + return s +} + +// Describes execution properties for a Java-based Kinesis Data Analytics application. +type EnvironmentProperties struct { + _ struct{} `type:"structure"` + + // Describes the execution property groups. + // + // PropertyGroups is a required field + PropertyGroups []*PropertyGroup `type:"list" required:"true"` +} + +// String returns the string representation +func (s EnvironmentProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnvironmentProperties) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnvironmentProperties) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnvironmentProperties"} + if s.PropertyGroups == nil { + invalidParams.Add(request.NewErrParamRequired("PropertyGroups")) + } + if s.PropertyGroups != nil { + for i, v := range s.PropertyGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyGroups", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPropertyGroups sets the PropertyGroups field's value. +func (s *EnvironmentProperties) SetPropertyGroups(v []*PropertyGroup) *EnvironmentProperties { + s.PropertyGroups = v + return s +} + +// Describes the execution properties for a Java-based Amazon Kinesis Data Analytics +// application. +type EnvironmentPropertyDescriptions struct { + _ struct{} `type:"structure"` + + // Describes the execution property groups. + PropertyGroupDescriptions []*PropertyGroup `type:"list"` +} + +// String returns the string representation +func (s EnvironmentPropertyDescriptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnvironmentPropertyDescriptions) GoString() string { + return s.String() +} + +// SetPropertyGroupDescriptions sets the PropertyGroupDescriptions field's value. +func (s *EnvironmentPropertyDescriptions) SetPropertyGroupDescriptions(v []*PropertyGroup) *EnvironmentPropertyDescriptions { + s.PropertyGroupDescriptions = v + return s +} + +// Describes updates to the execution property groups for a Java-based Amazon +// Kinesis Data Analytics application. +type EnvironmentPropertyUpdates struct { + _ struct{} `type:"structure"` + + // Describes updates to the execution property groups. + // + // PropertyGroups is a required field + PropertyGroups []*PropertyGroup `type:"list" required:"true"` +} + +// String returns the string representation +func (s EnvironmentPropertyUpdates) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnvironmentPropertyUpdates) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnvironmentPropertyUpdates) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnvironmentPropertyUpdates"} + if s.PropertyGroups == nil { + invalidParams.Add(request.NewErrParamRequired("PropertyGroups")) + } + if s.PropertyGroups != nil { + for i, v := range s.PropertyGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyGroups", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPropertyGroups sets the PropertyGroups field's value. +func (s *EnvironmentPropertyUpdates) SetPropertyGroups(v []*PropertyGroup) *EnvironmentPropertyUpdates { + s.PropertyGroups = v + return s +} + +// Describes configuration parameters for a Java-based Amazon Kinesis Data Analytics +// application. +type FlinkApplicationConfiguration struct { + _ struct{} `type:"structure"` + + // Describes an application's checkpointing configuration. Checkpointing is + // the process of persisting application state for fault tolerance. For more + // information, see Checkpoints for Fault Tolerance (https://ci.apache.org/projects/flink/flink-docs-release-1.6/concepts/programming-model.html#checkpoints-for-fault-tolerance) + // in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.6/). + CheckpointConfiguration *CheckpointConfiguration `type:"structure"` + + // Describes configuration parameters for Amazon CloudWatch logging for an application. + MonitoringConfiguration *MonitoringConfiguration `type:"structure"` + + // Describes parameters for how an application executes multiple tasks simultaneously. + ParallelismConfiguration *ParallelismConfiguration `type:"structure"` +} + +// String returns the string representation +func (s FlinkApplicationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FlinkApplicationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FlinkApplicationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FlinkApplicationConfiguration"} + if s.CheckpointConfiguration != nil { + if err := s.CheckpointConfiguration.Validate(); err != nil { + invalidParams.AddNested("CheckpointConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.MonitoringConfiguration != nil { + if err := s.MonitoringConfiguration.Validate(); err != nil { + invalidParams.AddNested("MonitoringConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.ParallelismConfiguration != nil { + if err := s.ParallelismConfiguration.Validate(); err != nil { + invalidParams.AddNested("ParallelismConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCheckpointConfiguration sets the CheckpointConfiguration field's value. +func (s *FlinkApplicationConfiguration) SetCheckpointConfiguration(v *CheckpointConfiguration) *FlinkApplicationConfiguration { + s.CheckpointConfiguration = v + return s +} + +// SetMonitoringConfiguration sets the MonitoringConfiguration field's value. +func (s *FlinkApplicationConfiguration) SetMonitoringConfiguration(v *MonitoringConfiguration) *FlinkApplicationConfiguration { + s.MonitoringConfiguration = v + return s +} + +// SetParallelismConfiguration sets the ParallelismConfiguration field's value. +func (s *FlinkApplicationConfiguration) SetParallelismConfiguration(v *ParallelismConfiguration) *FlinkApplicationConfiguration { + s.ParallelismConfiguration = v + return s +} + +// Describes configuration parameters for a Java-based Amazon Kinesis Data Analytics +// application. +type FlinkApplicationConfigurationDescription struct { + _ struct{} `type:"structure"` + + // Describes an application's checkpointing configuration. Checkpointing is + // the process of persisting application state for fault tolerance. + CheckpointConfigurationDescription *CheckpointConfigurationDescription `type:"structure"` + + // The job plan for an application. For more information about the job plan, + // see Jobs and Scheduling (https://ci.apache.org/projects/flink/flink-docs-stable/internals/job_scheduling.html) + // in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.6/). + // To retrieve the job plan for the application, use the DescribeApplicationRequest$IncludeAdditionalDetails + // parameter of the DescribeApplication operation. + JobPlanDescription *string `type:"string"` + + // Describes configuration parameters for Amazon CloudWatch logging for an application. + MonitoringConfigurationDescription *MonitoringConfigurationDescription `type:"structure"` + + // Describes parameters for how an application executes multiple tasks simultaneously. + ParallelismConfigurationDescription *ParallelismConfigurationDescription `type:"structure"` +} + +// String returns the string representation +func (s FlinkApplicationConfigurationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FlinkApplicationConfigurationDescription) GoString() string { + return s.String() +} + +// SetCheckpointConfigurationDescription sets the CheckpointConfigurationDescription field's value. +func (s *FlinkApplicationConfigurationDescription) SetCheckpointConfigurationDescription(v *CheckpointConfigurationDescription) *FlinkApplicationConfigurationDescription { + s.CheckpointConfigurationDescription = v + return s +} + +// SetJobPlanDescription sets the JobPlanDescription field's value. +func (s *FlinkApplicationConfigurationDescription) SetJobPlanDescription(v string) *FlinkApplicationConfigurationDescription { + s.JobPlanDescription = &v + return s +} + +// SetMonitoringConfigurationDescription sets the MonitoringConfigurationDescription field's value. +func (s *FlinkApplicationConfigurationDescription) SetMonitoringConfigurationDescription(v *MonitoringConfigurationDescription) *FlinkApplicationConfigurationDescription { + s.MonitoringConfigurationDescription = v + return s +} + +// SetParallelismConfigurationDescription sets the ParallelismConfigurationDescription field's value. +func (s *FlinkApplicationConfigurationDescription) SetParallelismConfigurationDescription(v *ParallelismConfigurationDescription) *FlinkApplicationConfigurationDescription { + s.ParallelismConfigurationDescription = v + return s +} + +// Describes updates to the configuration parameters for a Java-based Amazon +// Kinesis Data Analytics application. +type FlinkApplicationConfigurationUpdate struct { + _ struct{} `type:"structure"` + + // Describes updates to an application's checkpointing configuration. Checkpointing + // is the process of persisting application state for fault tolerance. + CheckpointConfigurationUpdate *CheckpointConfigurationUpdate `type:"structure"` + + // Describes updates to the configuration parameters for Amazon CloudWatch logging + // for an application. + MonitoringConfigurationUpdate *MonitoringConfigurationUpdate `type:"structure"` + + // Describes updates to the parameters for how an application executes multiple + // tasks simultaneously. + ParallelismConfigurationUpdate *ParallelismConfigurationUpdate `type:"structure"` +} + +// String returns the string representation +func (s FlinkApplicationConfigurationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FlinkApplicationConfigurationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FlinkApplicationConfigurationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FlinkApplicationConfigurationUpdate"} + if s.ParallelismConfigurationUpdate != nil { + if err := s.ParallelismConfigurationUpdate.Validate(); err != nil { + invalidParams.AddNested("ParallelismConfigurationUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCheckpointConfigurationUpdate sets the CheckpointConfigurationUpdate field's value. +func (s *FlinkApplicationConfigurationUpdate) SetCheckpointConfigurationUpdate(v *CheckpointConfigurationUpdate) *FlinkApplicationConfigurationUpdate { + s.CheckpointConfigurationUpdate = v + return s +} + +// SetMonitoringConfigurationUpdate sets the MonitoringConfigurationUpdate field's value. +func (s *FlinkApplicationConfigurationUpdate) SetMonitoringConfigurationUpdate(v *MonitoringConfigurationUpdate) *FlinkApplicationConfigurationUpdate { + s.MonitoringConfigurationUpdate = v + return s +} + +// SetParallelismConfigurationUpdate sets the ParallelismConfigurationUpdate field's value. +func (s *FlinkApplicationConfigurationUpdate) SetParallelismConfigurationUpdate(v *ParallelismConfigurationUpdate) *FlinkApplicationConfigurationUpdate { + s.ParallelismConfigurationUpdate = v + return s +} + +// When you configure the application input for an SQL-based Amazon Kinesis +// Data Analytics application, you specify the streaming source, the in-application +// stream name that is created, and the mapping between the two. +type Input struct { + _ struct{} `type:"structure"` + + // Describes the number of in-application streams to create. + InputParallelism *InputParallelism `type:"structure"` + + // The InputProcessingConfiguration for the input. An input processor transforms + // records as they are received from the stream, before the application's SQL + // code executes. Currently, the only input processing configuration available + // is InputLambdaProcessor. + InputProcessingConfiguration *InputProcessingConfiguration `type:"structure"` + + // Describes the format of the data in the streaming source, and how each data + // element maps to corresponding columns in the in-application stream that is + // being created. + // + // Also used to describe the format of the reference data source. + // + // InputSchema is a required field + InputSchema *SourceSchema `type:"structure" required:"true"` + + // If the streaming source is an Amazon Kinesis Data Firehose delivery stream, + // identifies the delivery stream's ARN. + KinesisFirehoseInput *KinesisFirehoseInput `type:"structure"` + + // If the streaming source is an Amazon Kinesis data stream, identifies the + // stream's Amazon Resource Name (ARN). + KinesisStreamsInput *KinesisStreamsInput `type:"structure"` + + // The name prefix to use when creating an in-application stream. Suppose that + // you specify a prefix "MyInApplicationStream." Kinesis Data Analytics then + // creates one or more (as per the InputParallelism count you specified) in-application + // streams with the names "MyInApplicationStream_001," "MyInApplicationStream_002," + // and so on. + // + // NamePrefix is a required field + NamePrefix *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s Input) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Input) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Input) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Input"} + if s.InputSchema == nil { + invalidParams.Add(request.NewErrParamRequired("InputSchema")) + } + if s.NamePrefix == nil { + invalidParams.Add(request.NewErrParamRequired("NamePrefix")) + } + if s.NamePrefix != nil && len(*s.NamePrefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1)) + } + if s.InputParallelism != nil { + if err := s.InputParallelism.Validate(); err != nil { + invalidParams.AddNested("InputParallelism", err.(request.ErrInvalidParams)) + } + } + if s.InputProcessingConfiguration != nil { + if err := s.InputProcessingConfiguration.Validate(); err != nil { + invalidParams.AddNested("InputProcessingConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.InputSchema != nil { + if err := s.InputSchema.Validate(); err != nil { + invalidParams.AddNested("InputSchema", err.(request.ErrInvalidParams)) + } + } + if s.KinesisFirehoseInput != nil { + if err := s.KinesisFirehoseInput.Validate(); err != nil { + invalidParams.AddNested("KinesisFirehoseInput", err.(request.ErrInvalidParams)) + } + } + if s.KinesisStreamsInput != nil { + if err := s.KinesisStreamsInput.Validate(); err != nil { + invalidParams.AddNested("KinesisStreamsInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputParallelism sets the InputParallelism field's value. +func (s *Input) SetInputParallelism(v *InputParallelism) *Input { + s.InputParallelism = v + return s +} + +// SetInputProcessingConfiguration sets the InputProcessingConfiguration field's value. +func (s *Input) SetInputProcessingConfiguration(v *InputProcessingConfiguration) *Input { + s.InputProcessingConfiguration = v + return s +} + +// SetInputSchema sets the InputSchema field's value. +func (s *Input) SetInputSchema(v *SourceSchema) *Input { + s.InputSchema = v + return s +} + +// SetKinesisFirehoseInput sets the KinesisFirehoseInput field's value. +func (s *Input) SetKinesisFirehoseInput(v *KinesisFirehoseInput) *Input { + s.KinesisFirehoseInput = v + return s +} + +// SetKinesisStreamsInput sets the KinesisStreamsInput field's value. +func (s *Input) SetKinesisStreamsInput(v *KinesisStreamsInput) *Input { + s.KinesisStreamsInput = v + return s +} + +// SetNamePrefix sets the NamePrefix field's value. +func (s *Input) SetNamePrefix(v string) *Input { + s.NamePrefix = &v + return s +} + +// Describes the application input configuration for an SQL-based Amazon Kinesis +// Data Analytics application. +type InputDescription struct { + _ struct{} `type:"structure"` + + // Returns the in-application stream names that are mapped to the stream source. + InAppStreamNames []*string `type:"list"` + + // The input ID that is associated with the application input. This is the ID + // that Kinesis Data Analytics assigns to each input configuration that you + // add to your application. + InputId *string `min:"1" type:"string"` + + // Describes the configured parallelism (number of in-application streams mapped + // to the streaming source). + InputParallelism *InputParallelism `type:"structure"` + + // The description of the preprocessor that executes on records in this input + // before the application's code is run. + InputProcessingConfigurationDescription *InputProcessingConfigurationDescription `type:"structure"` + + // Describes the format of the data in the streaming source, and how each data + // element maps to corresponding columns in the in-application stream that is + // being created. + InputSchema *SourceSchema `type:"structure"` + + // The point at which the application is configured to read from the input stream. + InputStartingPositionConfiguration *InputStartingPositionConfiguration `type:"structure"` + + // If a Kinesis Data Firehose delivery stream is configured as a streaming source, + // provides the delivery stream's ARN. + KinesisFirehoseInputDescription *KinesisFirehoseInputDescription `type:"structure"` + + // If a Kinesis data stream is configured as a streaming source, provides the + // Kinesis data stream's Amazon Resource Name (ARN). + KinesisStreamsInputDescription *KinesisStreamsInputDescription `type:"structure"` + + // The in-application name prefix. + NamePrefix *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s InputDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputDescription) GoString() string { + return s.String() +} + +// SetInAppStreamNames sets the InAppStreamNames field's value. +func (s *InputDescription) SetInAppStreamNames(v []*string) *InputDescription { + s.InAppStreamNames = v + return s +} + +// SetInputId sets the InputId field's value. +func (s *InputDescription) SetInputId(v string) *InputDescription { + s.InputId = &v + return s +} + +// SetInputParallelism sets the InputParallelism field's value. +func (s *InputDescription) SetInputParallelism(v *InputParallelism) *InputDescription { + s.InputParallelism = v + return s +} + +// SetInputProcessingConfigurationDescription sets the InputProcessingConfigurationDescription field's value. +func (s *InputDescription) SetInputProcessingConfigurationDescription(v *InputProcessingConfigurationDescription) *InputDescription { + s.InputProcessingConfigurationDescription = v + return s +} + +// SetInputSchema sets the InputSchema field's value. +func (s *InputDescription) SetInputSchema(v *SourceSchema) *InputDescription { + s.InputSchema = v + return s +} + +// SetInputStartingPositionConfiguration sets the InputStartingPositionConfiguration field's value. +func (s *InputDescription) SetInputStartingPositionConfiguration(v *InputStartingPositionConfiguration) *InputDescription { + s.InputStartingPositionConfiguration = v + return s +} + +// SetKinesisFirehoseInputDescription sets the KinesisFirehoseInputDescription field's value. +func (s *InputDescription) SetKinesisFirehoseInputDescription(v *KinesisFirehoseInputDescription) *InputDescription { + s.KinesisFirehoseInputDescription = v + return s +} + +// SetKinesisStreamsInputDescription sets the KinesisStreamsInputDescription field's value. +func (s *InputDescription) SetKinesisStreamsInputDescription(v *KinesisStreamsInputDescription) *InputDescription { + s.KinesisStreamsInputDescription = v + return s +} + +// SetNamePrefix sets the NamePrefix field's value. +func (s *InputDescription) SetNamePrefix(v string) *InputDescription { + s.NamePrefix = &v + return s +} + +// An object that contains the Amazon Resource Name (ARN) of the AWS Lambda +// function that is used to preprocess records in the stream in an SQL-based +// Amazon Kinesis Data Analytics application. +type InputLambdaProcessor struct { + _ struct{} `type:"structure"` + + // The ARN of the AWS Lambda function that operates on records in the stream. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s InputLambdaProcessor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputLambdaProcessor) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputLambdaProcessor) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputLambdaProcessor"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *InputLambdaProcessor) SetResourceARN(v string) *InputLambdaProcessor { + s.ResourceARN = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, an object that +// contains the Amazon Resource Name (ARN) of the AWS Lambda function that is +// used to preprocess records in the stream. +type InputLambdaProcessorDescription struct { + _ struct{} `type:"structure"` + + // The ARN of the AWS Lambda function that is used to preprocess the records + // in the stream. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The ARN of the IAM role that is used to access the AWS Lambda function. + // + // Provided for backward compatibility. Applications that are created with the + // current API version have an application-level service execution role rather + // than a resource-level role. + RoleARN *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s InputLambdaProcessorDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputLambdaProcessorDescription) GoString() string { + return s.String() +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *InputLambdaProcessorDescription) SetResourceARN(v string) *InputLambdaProcessorDescription { + s.ResourceARN = &v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *InputLambdaProcessorDescription) SetRoleARN(v string) *InputLambdaProcessorDescription { + s.RoleARN = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, represents an +// update to the InputLambdaProcessor that is used to preprocess the records +// in the stream. +type InputLambdaProcessorUpdate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the new AWS Lambda function that is used + // to preprocess the records in the stream. + // + // ResourceARNUpdate is a required field + ResourceARNUpdate *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s InputLambdaProcessorUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputLambdaProcessorUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputLambdaProcessorUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputLambdaProcessorUpdate"} + if s.ResourceARNUpdate == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate")) + } + if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARNUpdate sets the ResourceARNUpdate field's value. +func (s *InputLambdaProcessorUpdate) SetResourceARNUpdate(v string) *InputLambdaProcessorUpdate { + s.ResourceARNUpdate = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, describes the +// number of in-application streams to create for a given streaming source. +type InputParallelism struct { + _ struct{} `type:"structure"` + + // The number of in-application streams to create. + Count *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s InputParallelism) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputParallelism) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputParallelism) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputParallelism"} + if s.Count != nil && *s.Count < 1 { + invalidParams.Add(request.NewErrParamMinValue("Count", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCount sets the Count field's value. +func (s *InputParallelism) SetCount(v int64) *InputParallelism { + s.Count = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, provides updates +// to the parallelism count. +type InputParallelismUpdate struct { + _ struct{} `type:"structure"` + + // The number of in-application streams to create for the specified streaming + // source. + // + // CountUpdate is a required field + CountUpdate *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s InputParallelismUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputParallelismUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputParallelismUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputParallelismUpdate"} + if s.CountUpdate == nil { + invalidParams.Add(request.NewErrParamRequired("CountUpdate")) + } + if s.CountUpdate != nil && *s.CountUpdate < 1 { + invalidParams.Add(request.NewErrParamMinValue("CountUpdate", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCountUpdate sets the CountUpdate field's value. +func (s *InputParallelismUpdate) SetCountUpdate(v int64) *InputParallelismUpdate { + s.CountUpdate = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, describes a processor +// that is used to preprocess the records in the stream before being processed +// by your application code. Currently, the only input processor available is +// AWS Lambda (https://aws.amazon.com/documentation/lambda/). +type InputProcessingConfiguration struct { + _ struct{} `type:"structure"` + + // The InputLambdaProcessor that is used to preprocess the records in the stream + // before being processed by your application code. + // + // InputLambdaProcessor is a required field + InputLambdaProcessor *InputLambdaProcessor `type:"structure" required:"true"` +} + +// String returns the string representation +func (s InputProcessingConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputProcessingConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputProcessingConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputProcessingConfiguration"} + if s.InputLambdaProcessor == nil { + invalidParams.Add(request.NewErrParamRequired("InputLambdaProcessor")) + } + if s.InputLambdaProcessor != nil { + if err := s.InputLambdaProcessor.Validate(); err != nil { + invalidParams.AddNested("InputLambdaProcessor", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputLambdaProcessor sets the InputLambdaProcessor field's value. +func (s *InputProcessingConfiguration) SetInputLambdaProcessor(v *InputLambdaProcessor) *InputProcessingConfiguration { + s.InputLambdaProcessor = v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, provides the +// configuration information about an input processor. Currently, the only input +// processor available is AWS Lambda (https://aws.amazon.com/documentation/lambda/). +type InputProcessingConfigurationDescription struct { + _ struct{} `type:"structure"` + + // Provides configuration information about the associated InputLambdaProcessorDescription + InputLambdaProcessorDescription *InputLambdaProcessorDescription `type:"structure"` +} + +// String returns the string representation +func (s InputProcessingConfigurationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputProcessingConfigurationDescription) GoString() string { + return s.String() +} + +// SetInputLambdaProcessorDescription sets the InputLambdaProcessorDescription field's value. +func (s *InputProcessingConfigurationDescription) SetInputLambdaProcessorDescription(v *InputLambdaProcessorDescription) *InputProcessingConfigurationDescription { + s.InputLambdaProcessorDescription = v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, describes updates +// to an InputProcessingConfiguration. +type InputProcessingConfigurationUpdate struct { + _ struct{} `type:"structure"` + + // Provides update information for an InputLambdaProcessor. + // + // InputLambdaProcessorUpdate is a required field + InputLambdaProcessorUpdate *InputLambdaProcessorUpdate `type:"structure" required:"true"` +} + +// String returns the string representation +func (s InputProcessingConfigurationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputProcessingConfigurationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputProcessingConfigurationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputProcessingConfigurationUpdate"} + if s.InputLambdaProcessorUpdate == nil { + invalidParams.Add(request.NewErrParamRequired("InputLambdaProcessorUpdate")) + } + if s.InputLambdaProcessorUpdate != nil { + if err := s.InputLambdaProcessorUpdate.Validate(); err != nil { + invalidParams.AddNested("InputLambdaProcessorUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputLambdaProcessorUpdate sets the InputLambdaProcessorUpdate field's value. +func (s *InputProcessingConfigurationUpdate) SetInputLambdaProcessorUpdate(v *InputLambdaProcessorUpdate) *InputProcessingConfigurationUpdate { + s.InputLambdaProcessorUpdate = v + return s +} + +// Describes updates for an SQL-based Amazon Kinesis Data Analytics application's +// input schema. +type InputSchemaUpdate struct { + _ struct{} `type:"structure"` + + // A list of RecordColumn objects. Each object describes the mapping of the + // streaming source element to the corresponding column in the in-application + // stream. + RecordColumnUpdates []*RecordColumn `min:"1" type:"list"` + + // Specifies the encoding of the records in the streaming source; for example, + // UTF-8. + RecordEncodingUpdate *string `type:"string"` + + // Specifies the format of the records on the streaming source. + RecordFormatUpdate *RecordFormat `type:"structure"` +} + +// String returns the string representation +func (s InputSchemaUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputSchemaUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputSchemaUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputSchemaUpdate"} + if s.RecordColumnUpdates != nil && len(s.RecordColumnUpdates) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RecordColumnUpdates", 1)) + } + if s.RecordColumnUpdates != nil { + for i, v := range s.RecordColumnUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RecordColumnUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RecordFormatUpdate != nil { + if err := s.RecordFormatUpdate.Validate(); err != nil { + invalidParams.AddNested("RecordFormatUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecordColumnUpdates sets the RecordColumnUpdates field's value. +func (s *InputSchemaUpdate) SetRecordColumnUpdates(v []*RecordColumn) *InputSchemaUpdate { + s.RecordColumnUpdates = v + return s +} + +// SetRecordEncodingUpdate sets the RecordEncodingUpdate field's value. +func (s *InputSchemaUpdate) SetRecordEncodingUpdate(v string) *InputSchemaUpdate { + s.RecordEncodingUpdate = &v + return s +} + +// SetRecordFormatUpdate sets the RecordFormatUpdate field's value. +func (s *InputSchemaUpdate) SetRecordFormatUpdate(v *RecordFormat) *InputSchemaUpdate { + s.RecordFormatUpdate = v + return s +} + +// Describes the point at which the application reads from the streaming source. +type InputStartingPositionConfiguration struct { + _ struct{} `type:"structure"` + + // The starting position on the stream. + // + // * NOW - Start reading just after the most recent record in the stream, + // and start at the request timestamp that the customer issued. + // + // * TRIM_HORIZON - Start reading at the last untrimmed record in the stream, + // which is the oldest record available in the stream. This option is not + // available for an Amazon Kinesis Data Firehose delivery stream. + // + // * LAST_STOPPED_POINT - Resume reading from where the application last + // stopped reading. + InputStartingPosition *string `type:"string" enum:"InputStartingPosition"` +} + +// String returns the string representation +func (s InputStartingPositionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputStartingPositionConfiguration) GoString() string { + return s.String() +} + +// SetInputStartingPosition sets the InputStartingPosition field's value. +func (s *InputStartingPositionConfiguration) SetInputStartingPosition(v string) *InputStartingPositionConfiguration { + s.InputStartingPosition = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, describes updates +// to a specific input configuration (identified by the InputId of an application). +type InputUpdate struct { + _ struct{} `type:"structure"` + + // The input ID of the application input to be updated. + // + // InputId is a required field + InputId *string `min:"1" type:"string" required:"true"` + + // Describes the parallelism updates (the number of in-application streams Kinesis + // Data Analytics creates for the specific streaming source). + InputParallelismUpdate *InputParallelismUpdate `type:"structure"` + + // Describes updates to an InputProcessingConfiguration. + InputProcessingConfigurationUpdate *InputProcessingConfigurationUpdate `type:"structure"` + + // Describes the data format on the streaming source, and how record elements + // on the streaming source map to columns of the in-application stream that + // is created. + InputSchemaUpdate *InputSchemaUpdate `type:"structure"` + + // If a Kinesis Data Firehose delivery stream is the streaming source to be + // updated, provides an updated stream ARN. + KinesisFirehoseInputUpdate *KinesisFirehoseInputUpdate `type:"structure"` + + // If a Kinesis data stream is the streaming source to be updated, provides + // an updated stream Amazon Resource Name (ARN). + KinesisStreamsInputUpdate *KinesisStreamsInputUpdate `type:"structure"` + + // The name prefix for in-application streams that Kinesis Data Analytics creates + // for the specific streaming source. + NamePrefixUpdate *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s InputUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputUpdate"} + if s.InputId == nil { + invalidParams.Add(request.NewErrParamRequired("InputId")) + } + if s.InputId != nil && len(*s.InputId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputId", 1)) + } + if s.NamePrefixUpdate != nil && len(*s.NamePrefixUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NamePrefixUpdate", 1)) + } + if s.InputParallelismUpdate != nil { + if err := s.InputParallelismUpdate.Validate(); err != nil { + invalidParams.AddNested("InputParallelismUpdate", err.(request.ErrInvalidParams)) + } + } + if s.InputProcessingConfigurationUpdate != nil { + if err := s.InputProcessingConfigurationUpdate.Validate(); err != nil { + invalidParams.AddNested("InputProcessingConfigurationUpdate", err.(request.ErrInvalidParams)) + } + } + if s.InputSchemaUpdate != nil { + if err := s.InputSchemaUpdate.Validate(); err != nil { + invalidParams.AddNested("InputSchemaUpdate", err.(request.ErrInvalidParams)) + } + } + if s.KinesisFirehoseInputUpdate != nil { + if err := s.KinesisFirehoseInputUpdate.Validate(); err != nil { + invalidParams.AddNested("KinesisFirehoseInputUpdate", err.(request.ErrInvalidParams)) + } + } + if s.KinesisStreamsInputUpdate != nil { + if err := s.KinesisStreamsInputUpdate.Validate(); err != nil { + invalidParams.AddNested("KinesisStreamsInputUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputId sets the InputId field's value. +func (s *InputUpdate) SetInputId(v string) *InputUpdate { + s.InputId = &v + return s +} + +// SetInputParallelismUpdate sets the InputParallelismUpdate field's value. +func (s *InputUpdate) SetInputParallelismUpdate(v *InputParallelismUpdate) *InputUpdate { + s.InputParallelismUpdate = v + return s +} + +// SetInputProcessingConfigurationUpdate sets the InputProcessingConfigurationUpdate field's value. +func (s *InputUpdate) SetInputProcessingConfigurationUpdate(v *InputProcessingConfigurationUpdate) *InputUpdate { + s.InputProcessingConfigurationUpdate = v + return s +} + +// SetInputSchemaUpdate sets the InputSchemaUpdate field's value. +func (s *InputUpdate) SetInputSchemaUpdate(v *InputSchemaUpdate) *InputUpdate { + s.InputSchemaUpdate = v + return s +} + +// SetKinesisFirehoseInputUpdate sets the KinesisFirehoseInputUpdate field's value. +func (s *InputUpdate) SetKinesisFirehoseInputUpdate(v *KinesisFirehoseInputUpdate) *InputUpdate { + s.KinesisFirehoseInputUpdate = v + return s +} + +// SetKinesisStreamsInputUpdate sets the KinesisStreamsInputUpdate field's value. +func (s *InputUpdate) SetKinesisStreamsInputUpdate(v *KinesisStreamsInputUpdate) *InputUpdate { + s.KinesisStreamsInputUpdate = v + return s +} + +// SetNamePrefixUpdate sets the NamePrefixUpdate field's value. +func (s *InputUpdate) SetNamePrefixUpdate(v string) *InputUpdate { + s.NamePrefixUpdate = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, provides additional +// mapping information when JSON is the record format on the streaming source. +type JSONMappingParameters struct { + _ struct{} `type:"structure"` + + // The path to the top-level parent that contains the records. + // + // RecordRowPath is a required field + RecordRowPath *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s JSONMappingParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JSONMappingParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *JSONMappingParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JSONMappingParameters"} + if s.RecordRowPath == nil { + invalidParams.Add(request.NewErrParamRequired("RecordRowPath")) + } + if s.RecordRowPath != nil && len(*s.RecordRowPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RecordRowPath", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecordRowPath sets the RecordRowPath field's value. +func (s *JSONMappingParameters) SetRecordRowPath(v string) *JSONMappingParameters { + s.RecordRowPath = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, identifies a +// Kinesis Data Firehose delivery stream as the streaming source. You provide +// the delivery stream's Amazon Resource Name (ARN). +type KinesisFirehoseInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the delivery stream. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s KinesisFirehoseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisFirehoseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KinesisFirehoseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *KinesisFirehoseInput) SetResourceARN(v string) *KinesisFirehoseInput { + s.ResourceARN = &v + return s +} + +// Describes the Amazon Kinesis Data Firehose delivery stream that is configured +// as the streaming source in the application input configuration. +type KinesisFirehoseInputDescription struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the delivery stream. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The ARN of the IAM role that Kinesis Data Analytics assumes to access the + // stream. + // + // Provided for backward compatibility. Applications that are created with the + // current API version have an application-level service execution role rather + // than a resource-level role. + RoleARN *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s KinesisFirehoseInputDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisFirehoseInputDescription) GoString() string { + return s.String() +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *KinesisFirehoseInputDescription) SetResourceARN(v string) *KinesisFirehoseInputDescription { + s.ResourceARN = &v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *KinesisFirehoseInputDescription) SetRoleARN(v string) *KinesisFirehoseInputDescription { + s.RoleARN = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, when updating +// application input configuration, provides information about a Kinesis Data +// Firehose delivery stream as the streaming source. +type KinesisFirehoseInputUpdate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the input delivery stream to read. + // + // ResourceARNUpdate is a required field + ResourceARNUpdate *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s KinesisFirehoseInputUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisFirehoseInputUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KinesisFirehoseInputUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseInputUpdate"} + if s.ResourceARNUpdate == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate")) + } + if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARNUpdate sets the ResourceARNUpdate field's value. +func (s *KinesisFirehoseInputUpdate) SetResourceARNUpdate(v string) *KinesisFirehoseInputUpdate { + s.ResourceARNUpdate = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, when configuring +// application output, identifies a Kinesis Data Firehose delivery stream as +// the destination. You provide the stream Amazon Resource Name (ARN) of the +// delivery stream. +type KinesisFirehoseOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the destination delivery stream to write to. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s KinesisFirehoseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisFirehoseOutput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KinesisFirehoseOutput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseOutput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *KinesisFirehoseOutput) SetResourceARN(v string) *KinesisFirehoseOutput { + s.ResourceARN = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application's output, describes +// the Kinesis Data Firehose delivery stream that is configured as its destination. +type KinesisFirehoseOutputDescription struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the delivery stream. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The ARN of the IAM role that Kinesis Data Analytics can assume to access + // the stream. + // + // Provided for backward compatibility. Applications that are created with the + // current API version have an application-level service execution role rather + // than a resource-level role. + RoleARN *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s KinesisFirehoseOutputDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisFirehoseOutputDescription) GoString() string { + return s.String() +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *KinesisFirehoseOutputDescription) SetResourceARN(v string) *KinesisFirehoseOutputDescription { + s.ResourceARN = &v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *KinesisFirehoseOutputDescription) SetRoleARN(v string) *KinesisFirehoseOutputDescription { + s.RoleARN = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, when updating +// an output configuration using the UpdateApplication operation, provides information +// about a Kinesis Data Firehose delivery stream that is configured as the destination. +type KinesisFirehoseOutputUpdate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the delivery stream to write to. + // + // ResourceARNUpdate is a required field + ResourceARNUpdate *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s KinesisFirehoseOutputUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisFirehoseOutputUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KinesisFirehoseOutputUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseOutputUpdate"} + if s.ResourceARNUpdate == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate")) + } + if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARNUpdate sets the ResourceARNUpdate field's value. +func (s *KinesisFirehoseOutputUpdate) SetResourceARNUpdate(v string) *KinesisFirehoseOutputUpdate { + s.ResourceARNUpdate = &v + return s +} + +// Identifies an Amazon Kinesis data stream as the streaming source. You provide +// the stream's Amazon Resource Name (ARN). +type KinesisStreamsInput struct { + _ struct{} `type:"structure"` + + // The ARN of the input Kinesis data stream to read. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s KinesisStreamsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisStreamsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KinesisStreamsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *KinesisStreamsInput) SetResourceARN(v string) *KinesisStreamsInput { + s.ResourceARN = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, describes the +// Kinesis data stream that is configured as the streaming source in the application +// input configuration. +type KinesisStreamsInputDescription struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Kinesis data stream. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The ARN of the IAM role that Kinesis Data Analytics can assume to access + // the stream. + // + // Provided for backward compatibility. Applications that are created with the + // current API version have an application-level service execution role rather + // than a resource-level role. + RoleARN *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s KinesisStreamsInputDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisStreamsInputDescription) GoString() string { + return s.String() +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *KinesisStreamsInputDescription) SetResourceARN(v string) *KinesisStreamsInputDescription { + s.ResourceARN = &v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *KinesisStreamsInputDescription) SetRoleARN(v string) *KinesisStreamsInputDescription { + s.RoleARN = &v + return s +} + +// When you update the input configuration for an SQL-based Amazon Kinesis Data +// Analytics application, provides information about an Amazon Kinesis stream +// as the streaming source. +type KinesisStreamsInputUpdate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the input Kinesis data stream to read. + // + // ResourceARNUpdate is a required field + ResourceARNUpdate *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s KinesisStreamsInputUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisStreamsInputUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KinesisStreamsInputUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsInputUpdate"} + if s.ResourceARNUpdate == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate")) + } + if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARNUpdate sets the ResourceARNUpdate field's value. +func (s *KinesisStreamsInputUpdate) SetResourceARNUpdate(v string) *KinesisStreamsInputUpdate { + s.ResourceARNUpdate = &v + return s +} + +// When you configure an SQL-based Amazon Kinesis Data Analytics application's +// output, identifies a Kinesis data stream as the destination. You provide +// the stream Amazon Resource Name (ARN). +type KinesisStreamsOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the destination Kinesis data stream to write to. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s KinesisStreamsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisStreamsOutput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KinesisStreamsOutput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsOutput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *KinesisStreamsOutput) SetResourceARN(v string) *KinesisStreamsOutput { + s.ResourceARN = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application's output, describes +// the Kinesis data stream that is configured as its destination. +type KinesisStreamsOutputDescription struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Kinesis data stream. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The ARN of the IAM role that Kinesis Data Analytics can assume to access + // the stream. + // + // Provided for backward compatibility. Applications that are created with the + // current API version have an application-level service execution role rather + // than a resource-level role. + RoleARN *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s KinesisStreamsOutputDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisStreamsOutputDescription) GoString() string { + return s.String() +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *KinesisStreamsOutputDescription) SetResourceARN(v string) *KinesisStreamsOutputDescription { + s.ResourceARN = &v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *KinesisStreamsOutputDescription) SetRoleARN(v string) *KinesisStreamsOutputDescription { + s.RoleARN = &v + return s +} + +// When you update an SQL-based Amazon Kinesis Data Analytics application's +// output configuration using the UpdateApplication operation, provides information +// about a Kinesis data stream that is configured as the destination. +type KinesisStreamsOutputUpdate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Kinesis data stream where you want + // to write the output. + // + // ResourceARNUpdate is a required field + ResourceARNUpdate *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s KinesisStreamsOutputUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisStreamsOutputUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KinesisStreamsOutputUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsOutputUpdate"} + if s.ResourceARNUpdate == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate")) + } + if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARNUpdate sets the ResourceARNUpdate field's value. +func (s *KinesisStreamsOutputUpdate) SetResourceARNUpdate(v string) *KinesisStreamsOutputUpdate { + s.ResourceARNUpdate = &v + return s +} + +// When you configure an SQL-based Amazon Kinesis Data Analytics application's +// output, identifies an AWS Lambda function as the destination. You provide +// the function Amazon Resource Name (ARN) of the Lambda function. +type LambdaOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the destination Lambda function to write + // to. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s LambdaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LambdaOutput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaOutput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaOutput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *LambdaOutput) SetResourceARN(v string) *LambdaOutput { + s.ResourceARN = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application output, describes +// the AWS Lambda function that is configured as its destination. +type LambdaOutputDescription struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the destination Lambda function. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The ARN of the IAM role that Kinesis Data Analytics can assume to write to + // the destination function. + // + // Provided for backward compatibility. Applications that are created with the + // current API version have an application-level service execution role rather + // than a resource-level role. + RoleARN *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s LambdaOutputDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LambdaOutputDescription) GoString() string { + return s.String() +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *LambdaOutputDescription) SetResourceARN(v string) *LambdaOutputDescription { + s.ResourceARN = &v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *LambdaOutputDescription) SetRoleARN(v string) *LambdaOutputDescription { + s.RoleARN = &v + return s +} + +// When you update an SQL-based Amazon Kinesis Data Analytics application's +// output configuration using the UpdateApplication operation, provides information +// about an AWS Lambda function that is configured as the destination. +type LambdaOutputUpdate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the destination AWS Lambda function. + // + // ResourceARNUpdate is a required field + ResourceARNUpdate *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s LambdaOutputUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LambdaOutputUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaOutputUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaOutputUpdate"} + if s.ResourceARNUpdate == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate")) + } + if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARNUpdate sets the ResourceARNUpdate field's value. +func (s *LambdaOutputUpdate) SetResourceARNUpdate(v string) *LambdaOutputUpdate { + s.ResourceARNUpdate = &v + return s +} + +type ListApplicationSnapshotsInput struct { + _ struct{} `type:"structure"` + + // The name of an existing application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The maximum number of application snapshots to list. + Limit *int64 `min:"1" type:"integer"` + + // Use this parameter if you receive a NextToken response in a previous request + // that indicates that there is more output available. Set it to the value of + // the previous call's NextToken response to indicate where the output should + // continue from. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListApplicationSnapshotsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationSnapshotsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListApplicationSnapshotsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListApplicationSnapshotsInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *ListApplicationSnapshotsInput) SetApplicationName(v string) *ListApplicationSnapshotsInput { + s.ApplicationName = &v + return s +} + +// SetLimit sets the Limit field's value. +func (s *ListApplicationSnapshotsInput) SetLimit(v int64) *ListApplicationSnapshotsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationSnapshotsInput) SetNextToken(v string) *ListApplicationSnapshotsInput { + s.NextToken = &v + return s +} + +type ListApplicationSnapshotsOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results, or null if there are no additional + // results. + NextToken *string `min:"1" type:"string"` + + // A collection of objects containing information about the application snapshots. + SnapshotSummaries []*SnapshotDetails `type:"list"` +} + +// String returns the string representation +func (s ListApplicationSnapshotsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationSnapshotsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationSnapshotsOutput) SetNextToken(v string) *ListApplicationSnapshotsOutput { + s.NextToken = &v + return s +} + +// SetSnapshotSummaries sets the SnapshotSummaries field's value. +func (s *ListApplicationSnapshotsOutput) SetSnapshotSummaries(v []*SnapshotDetails) *ListApplicationSnapshotsOutput { + s.SnapshotSummaries = v + return s +} + +type ListApplicationsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of applications to list. + Limit *int64 `min:"1" type:"integer"` + + // If a previous command returned a pagination token, pass it into this value + // to retrieve the next set of results. For more information about pagination, + // see Using the AWS Command Line Interface's Pagination Options (https://docs.aws.amazon.com/cli/latest/userguide/pagination.html). + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListApplicationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListApplicationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *ListApplicationsInput) SetLimit(v int64) *ListApplicationsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput { + s.NextToken = &v + return s +} + +type ListApplicationsOutput struct { + _ struct{} `type:"structure"` + + // A list of ApplicationSummary objects. + // + // ApplicationSummaries is a required field + ApplicationSummaries []*ApplicationSummary `type:"list" required:"true"` + + // The pagination token for the next set of results, or null if there are no + // additional results. Pass this token into a subsequent command to retrieve + // the next set of items For more information about pagination, see Using the + // AWS Command Line Interface's Pagination Options (https://docs.aws.amazon.com/cli/latest/userguide/pagination.html). + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListApplicationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationsOutput) GoString() string { + return s.String() +} + +// SetApplicationSummaries sets the ApplicationSummaries field's value. +func (s *ListApplicationsOutput) SetApplicationSummaries(v []*ApplicationSummary) *ListApplicationsOutput { + s.ApplicationSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput { + s.NextToken = &v + return s +} + +// When you configure an SQL-based Amazon Kinesis Data Analytics application's +// input at the time of creating or updating an application, provides additional +// mapping information specific to the record format (such as JSON, CSV, or +// record fields delimited by some delimiter) on the streaming source. +type MappingParameters struct { + _ struct{} `type:"structure"` + + // Provides additional mapping information when the record format uses delimiters + // (for example, CSV). + CSVMappingParameters *CSVMappingParameters `type:"structure"` + + // Provides additional mapping information when JSON is the record format on + // the streaming source. + JSONMappingParameters *JSONMappingParameters `type:"structure"` +} + +// String returns the string representation +func (s MappingParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MappingParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MappingParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MappingParameters"} + if s.CSVMappingParameters != nil { + if err := s.CSVMappingParameters.Validate(); err != nil { + invalidParams.AddNested("CSVMappingParameters", err.(request.ErrInvalidParams)) + } + } + if s.JSONMappingParameters != nil { + if err := s.JSONMappingParameters.Validate(); err != nil { + invalidParams.AddNested("JSONMappingParameters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCSVMappingParameters sets the CSVMappingParameters field's value. +func (s *MappingParameters) SetCSVMappingParameters(v *CSVMappingParameters) *MappingParameters { + s.CSVMappingParameters = v + return s +} + +// SetJSONMappingParameters sets the JSONMappingParameters field's value. +func (s *MappingParameters) SetJSONMappingParameters(v *JSONMappingParameters) *MappingParameters { + s.JSONMappingParameters = v + return s +} + +// Describes configuration parameters for Amazon CloudWatch logging for a Java-based +// Kinesis Data Analytics application. For more information about CloudWatch +// logging, see Monitoring (https://docs.aws.amazon.com/kinesisanalytics/latest/Java/monitoring-overview.html). +type MonitoringConfiguration struct { + _ struct{} `type:"structure"` + + // Describes whether to use the default CloudWatch logging configuration for + // an application. + // + // ConfigurationType is a required field + ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"` + + // Describes the verbosity of the CloudWatch Logs for an application. + LogLevel *string `type:"string" enum:"LogLevel"` + + // Describes the granularity of the CloudWatch Logs for an application. + MetricsLevel *string `type:"string" enum:"MetricsLevel"` +} + +// String returns the string representation +func (s MonitoringConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MonitoringConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MonitoringConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MonitoringConfiguration"} + if s.ConfigurationType == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationType sets the ConfigurationType field's value. +func (s *MonitoringConfiguration) SetConfigurationType(v string) *MonitoringConfiguration { + s.ConfigurationType = &v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *MonitoringConfiguration) SetLogLevel(v string) *MonitoringConfiguration { + s.LogLevel = &v + return s +} + +// SetMetricsLevel sets the MetricsLevel field's value. +func (s *MonitoringConfiguration) SetMetricsLevel(v string) *MonitoringConfiguration { + s.MetricsLevel = &v + return s +} + +// Describes configuration parameters for CloudWatch logging for a Java-based +// Kinesis Data Analytics application. +type MonitoringConfigurationDescription struct { + _ struct{} `type:"structure"` + + // Describes whether to use the default CloudWatch logging configuration for + // an application. + ConfigurationType *string `type:"string" enum:"ConfigurationType"` + + // Describes the verbosity of the CloudWatch Logs for an application. + LogLevel *string `type:"string" enum:"LogLevel"` + + // Describes the granularity of the CloudWatch Logs for an application. + MetricsLevel *string `type:"string" enum:"MetricsLevel"` +} + +// String returns the string representation +func (s MonitoringConfigurationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MonitoringConfigurationDescription) GoString() string { + return s.String() +} + +// SetConfigurationType sets the ConfigurationType field's value. +func (s *MonitoringConfigurationDescription) SetConfigurationType(v string) *MonitoringConfigurationDescription { + s.ConfigurationType = &v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *MonitoringConfigurationDescription) SetLogLevel(v string) *MonitoringConfigurationDescription { + s.LogLevel = &v + return s +} + +// SetMetricsLevel sets the MetricsLevel field's value. +func (s *MonitoringConfigurationDescription) SetMetricsLevel(v string) *MonitoringConfigurationDescription { + s.MetricsLevel = &v + return s +} + +// Describes updates to configuration parameters for Amazon CloudWatch logging +// for a Java-based Kinesis Data Analytics application. +type MonitoringConfigurationUpdate struct { + _ struct{} `type:"structure"` + + // Describes updates to whether to use the default CloudWatch logging configuration + // for an application. + ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"` + + // Describes updates to the verbosity of the CloudWatch Logs for an application. + LogLevelUpdate *string `type:"string" enum:"LogLevel"` + + // Describes updates to the granularity of the CloudWatch Logs for an application. + MetricsLevelUpdate *string `type:"string" enum:"MetricsLevel"` +} + +// String returns the string representation +func (s MonitoringConfigurationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MonitoringConfigurationUpdate) GoString() string { + return s.String() +} + +// SetConfigurationTypeUpdate sets the ConfigurationTypeUpdate field's value. +func (s *MonitoringConfigurationUpdate) SetConfigurationTypeUpdate(v string) *MonitoringConfigurationUpdate { + s.ConfigurationTypeUpdate = &v + return s +} + +// SetLogLevelUpdate sets the LogLevelUpdate field's value. +func (s *MonitoringConfigurationUpdate) SetLogLevelUpdate(v string) *MonitoringConfigurationUpdate { + s.LogLevelUpdate = &v + return s +} + +// SetMetricsLevelUpdate sets the MetricsLevelUpdate field's value. +func (s *MonitoringConfigurationUpdate) SetMetricsLevelUpdate(v string) *MonitoringConfigurationUpdate { + s.MetricsLevelUpdate = &v + return s +} + +// Describes an SQL-based Amazon Kinesis Data Analytics application's output +// configuration, in which you identify an in-application stream and a destination +// where you want the in-application stream data to be written. The destination +// can be a Kinesis data stream or a Kinesis Data Firehose delivery stream. +type Output struct { + _ struct{} `type:"structure"` + + // Describes the data format when records are written to the destination. + // + // DestinationSchema is a required field + DestinationSchema *DestinationSchema `type:"structure" required:"true"` + + // Identifies an Amazon Kinesis Data Firehose delivery stream as the destination. + KinesisFirehoseOutput *KinesisFirehoseOutput `type:"structure"` + + // Identifies an Amazon Kinesis data stream as the destination. + KinesisStreamsOutput *KinesisStreamsOutput `type:"structure"` + + // Identifies an AWS Lambda function as the destination. + LambdaOutput *LambdaOutput `type:"structure"` + + // The name of the in-application stream. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s Output) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Output) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Output) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Output"} + if s.DestinationSchema == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationSchema")) + } + 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.DestinationSchema != nil { + if err := s.DestinationSchema.Validate(); err != nil { + invalidParams.AddNested("DestinationSchema", err.(request.ErrInvalidParams)) + } + } + if s.KinesisFirehoseOutput != nil { + if err := s.KinesisFirehoseOutput.Validate(); err != nil { + invalidParams.AddNested("KinesisFirehoseOutput", err.(request.ErrInvalidParams)) + } + } + if s.KinesisStreamsOutput != nil { + if err := s.KinesisStreamsOutput.Validate(); err != nil { + invalidParams.AddNested("KinesisStreamsOutput", err.(request.ErrInvalidParams)) + } + } + if s.LambdaOutput != nil { + if err := s.LambdaOutput.Validate(); err != nil { + invalidParams.AddNested("LambdaOutput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationSchema sets the DestinationSchema field's value. +func (s *Output) SetDestinationSchema(v *DestinationSchema) *Output { + s.DestinationSchema = v + return s +} + +// SetKinesisFirehoseOutput sets the KinesisFirehoseOutput field's value. +func (s *Output) SetKinesisFirehoseOutput(v *KinesisFirehoseOutput) *Output { + s.KinesisFirehoseOutput = v + return s +} + +// SetKinesisStreamsOutput sets the KinesisStreamsOutput field's value. +func (s *Output) SetKinesisStreamsOutput(v *KinesisStreamsOutput) *Output { + s.KinesisStreamsOutput = v + return s +} + +// SetLambdaOutput sets the LambdaOutput field's value. +func (s *Output) SetLambdaOutput(v *LambdaOutput) *Output { + s.LambdaOutput = v + return s +} + +// SetName sets the Name field's value. +func (s *Output) SetName(v string) *Output { + s.Name = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, describes the +// application output configuration, which includes the in-application stream +// name and the destination where the stream data is written. The destination +// can be a Kinesis data stream or a Kinesis Data Firehose delivery stream. +type OutputDescription struct { + _ struct{} `type:"structure"` + + // The data format used for writing data to the destination. + DestinationSchema *DestinationSchema `type:"structure"` + + // Describes the Kinesis Data Firehose delivery stream that is configured as + // the destination where output is written. + KinesisFirehoseOutputDescription *KinesisFirehoseOutputDescription `type:"structure"` + + // Describes the Kinesis data stream that is configured as the destination where + // output is written. + KinesisStreamsOutputDescription *KinesisStreamsOutputDescription `type:"structure"` + + // Describes the Lambda function that is configured as the destination where + // output is written. + LambdaOutputDescription *LambdaOutputDescription `type:"structure"` + + // The name of the in-application stream that is configured as output. + Name *string `min:"1" type:"string"` + + // A unique identifier for the output configuration. + OutputId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s OutputDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputDescription) GoString() string { + return s.String() +} + +// SetDestinationSchema sets the DestinationSchema field's value. +func (s *OutputDescription) SetDestinationSchema(v *DestinationSchema) *OutputDescription { + s.DestinationSchema = v + return s +} + +// SetKinesisFirehoseOutputDescription sets the KinesisFirehoseOutputDescription field's value. +func (s *OutputDescription) SetKinesisFirehoseOutputDescription(v *KinesisFirehoseOutputDescription) *OutputDescription { + s.KinesisFirehoseOutputDescription = v + return s +} + +// SetKinesisStreamsOutputDescription sets the KinesisStreamsOutputDescription field's value. +func (s *OutputDescription) SetKinesisStreamsOutputDescription(v *KinesisStreamsOutputDescription) *OutputDescription { + s.KinesisStreamsOutputDescription = v + return s +} + +// SetLambdaOutputDescription sets the LambdaOutputDescription field's value. +func (s *OutputDescription) SetLambdaOutputDescription(v *LambdaOutputDescription) *OutputDescription { + s.LambdaOutputDescription = v + return s +} + +// SetName sets the Name field's value. +func (s *OutputDescription) SetName(v string) *OutputDescription { + s.Name = &v + return s +} + +// SetOutputId sets the OutputId field's value. +func (s *OutputDescription) SetOutputId(v string) *OutputDescription { + s.OutputId = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, describes updates +// to the output configuration identified by the OutputId. +type OutputUpdate struct { + _ struct{} `type:"structure"` + + // Describes the data format when records are written to the destination. + DestinationSchemaUpdate *DestinationSchema `type:"structure"` + + // Describes a Kinesis Data Firehose delivery stream as the destination for + // the output. + KinesisFirehoseOutputUpdate *KinesisFirehoseOutputUpdate `type:"structure"` + + // Describes a Kinesis data stream as the destination for the output. + KinesisStreamsOutputUpdate *KinesisStreamsOutputUpdate `type:"structure"` + + // Describes an AWS Lambda function as the destination for the output. + LambdaOutputUpdate *LambdaOutputUpdate `type:"structure"` + + // If you want to specify a different in-application stream for this output + // configuration, use this field to specify the new in-application stream name. + NameUpdate *string `min:"1" type:"string"` + + // Identifies the specific output configuration that you want to update. + // + // OutputId is a required field + OutputId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s OutputUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OutputUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OutputUpdate"} + if s.NameUpdate != nil && len(*s.NameUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NameUpdate", 1)) + } + if s.OutputId == nil { + invalidParams.Add(request.NewErrParamRequired("OutputId")) + } + if s.OutputId != nil && len(*s.OutputId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OutputId", 1)) + } + if s.DestinationSchemaUpdate != nil { + if err := s.DestinationSchemaUpdate.Validate(); err != nil { + invalidParams.AddNested("DestinationSchemaUpdate", err.(request.ErrInvalidParams)) + } + } + if s.KinesisFirehoseOutputUpdate != nil { + if err := s.KinesisFirehoseOutputUpdate.Validate(); err != nil { + invalidParams.AddNested("KinesisFirehoseOutputUpdate", err.(request.ErrInvalidParams)) + } + } + if s.KinesisStreamsOutputUpdate != nil { + if err := s.KinesisStreamsOutputUpdate.Validate(); err != nil { + invalidParams.AddNested("KinesisStreamsOutputUpdate", err.(request.ErrInvalidParams)) + } + } + if s.LambdaOutputUpdate != nil { + if err := s.LambdaOutputUpdate.Validate(); err != nil { + invalidParams.AddNested("LambdaOutputUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationSchemaUpdate sets the DestinationSchemaUpdate field's value. +func (s *OutputUpdate) SetDestinationSchemaUpdate(v *DestinationSchema) *OutputUpdate { + s.DestinationSchemaUpdate = v + return s +} + +// SetKinesisFirehoseOutputUpdate sets the KinesisFirehoseOutputUpdate field's value. +func (s *OutputUpdate) SetKinesisFirehoseOutputUpdate(v *KinesisFirehoseOutputUpdate) *OutputUpdate { + s.KinesisFirehoseOutputUpdate = v + return s +} + +// SetKinesisStreamsOutputUpdate sets the KinesisStreamsOutputUpdate field's value. +func (s *OutputUpdate) SetKinesisStreamsOutputUpdate(v *KinesisStreamsOutputUpdate) *OutputUpdate { + s.KinesisStreamsOutputUpdate = v + return s +} + +// SetLambdaOutputUpdate sets the LambdaOutputUpdate field's value. +func (s *OutputUpdate) SetLambdaOutputUpdate(v *LambdaOutputUpdate) *OutputUpdate { + s.LambdaOutputUpdate = v + return s +} + +// SetNameUpdate sets the NameUpdate field's value. +func (s *OutputUpdate) SetNameUpdate(v string) *OutputUpdate { + s.NameUpdate = &v + return s +} + +// SetOutputId sets the OutputId field's value. +func (s *OutputUpdate) SetOutputId(v string) *OutputUpdate { + s.OutputId = &v + return s +} + +// Describes parameters for how a Java-based Amazon Kinesis Data Analytics application +// executes multiple tasks simultaneously. For more information about parallelism, +// see Parallel Execution (https://ci.apache.org/projects/flink/flink-docs-stable/dev/parallel.html) +// in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.6/). +type ParallelismConfiguration struct { + _ struct{} `type:"structure"` + + // Describes whether the Kinesis Data Analytics service can increase the parallelism + // of the application in response to increased throughput. + AutoScalingEnabled *bool `type:"boolean"` + + // Describes whether the application uses the default parallelism for the Kinesis + // Data Analytics service. + // + // ConfigurationType is a required field + ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"` + + // Describes the initial number of parallel tasks that a Java-based Kinesis + // Data Analytics application can perform. The Kinesis Data Analytics service + // can increase this number automatically if ParallelismConfiguration$AutoScalingEnabled + // is set to true. + Parallelism *int64 `min:"1" type:"integer"` + + // Describes the number of parallel tasks that a Java-based Kinesis Data Analytics + // application can perform per Kinesis Processing Unit (KPU) used by the application. + // For more information about KPUs, see Amazon Kinesis Data Analytics Pricing + // (http://aws.amazon.com/kinesis/data-analytics/pricing/). + ParallelismPerKPU *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s ParallelismConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParallelismConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParallelismConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParallelismConfiguration"} + if s.ConfigurationType == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationType")) + } + if s.Parallelism != nil && *s.Parallelism < 1 { + invalidParams.Add(request.NewErrParamMinValue("Parallelism", 1)) + } + if s.ParallelismPerKPU != nil && *s.ParallelismPerKPU < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParallelismPerKPU", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoScalingEnabled sets the AutoScalingEnabled field's value. +func (s *ParallelismConfiguration) SetAutoScalingEnabled(v bool) *ParallelismConfiguration { + s.AutoScalingEnabled = &v + return s +} + +// SetConfigurationType sets the ConfigurationType field's value. +func (s *ParallelismConfiguration) SetConfigurationType(v string) *ParallelismConfiguration { + s.ConfigurationType = &v + return s +} + +// SetParallelism sets the Parallelism field's value. +func (s *ParallelismConfiguration) SetParallelism(v int64) *ParallelismConfiguration { + s.Parallelism = &v + return s +} + +// SetParallelismPerKPU sets the ParallelismPerKPU field's value. +func (s *ParallelismConfiguration) SetParallelismPerKPU(v int64) *ParallelismConfiguration { + s.ParallelismPerKPU = &v + return s +} + +// Describes parameters for how a Java-based Kinesis Data Analytics application +// executes multiple tasks simultaneously. +type ParallelismConfigurationDescription struct { + _ struct{} `type:"structure"` + + // Describes whether the Kinesis Data Analytics service can increase the parallelism + // of the application in response to increased throughput. + AutoScalingEnabled *bool `type:"boolean"` + + // Describes whether the application uses the default parallelism for the Kinesis + // Data Analytics service. + ConfigurationType *string `type:"string" enum:"ConfigurationType"` + + // Describes the current number of parallel tasks that a Java-based Kinesis + // Data Analytics application can perform. + CurrentParallelism *int64 `min:"1" type:"integer"` + + // Describes the initial number of parallel tasks that a Java-based Kinesis + // Data Analytics application can perform. + Parallelism *int64 `min:"1" type:"integer"` + + // Describes the number of parallel tasks that a Java-based Kinesis Data Analytics + // application can perform per Kinesis Processing Unit (KPU) used by the application. + ParallelismPerKPU *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s ParallelismConfigurationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParallelismConfigurationDescription) GoString() string { + return s.String() +} + +// SetAutoScalingEnabled sets the AutoScalingEnabled field's value. +func (s *ParallelismConfigurationDescription) SetAutoScalingEnabled(v bool) *ParallelismConfigurationDescription { + s.AutoScalingEnabled = &v + return s +} + +// SetConfigurationType sets the ConfigurationType field's value. +func (s *ParallelismConfigurationDescription) SetConfigurationType(v string) *ParallelismConfigurationDescription { + s.ConfigurationType = &v + return s +} + +// SetCurrentParallelism sets the CurrentParallelism field's value. +func (s *ParallelismConfigurationDescription) SetCurrentParallelism(v int64) *ParallelismConfigurationDescription { + s.CurrentParallelism = &v + return s +} + +// SetParallelism sets the Parallelism field's value. +func (s *ParallelismConfigurationDescription) SetParallelism(v int64) *ParallelismConfigurationDescription { + s.Parallelism = &v + return s +} + +// SetParallelismPerKPU sets the ParallelismPerKPU field's value. +func (s *ParallelismConfigurationDescription) SetParallelismPerKPU(v int64) *ParallelismConfigurationDescription { + s.ParallelismPerKPU = &v + return s +} + +// Describes updates to parameters for how a Java-based Kinesis Data Analytics +// application executes multiple tasks simultaneously. +type ParallelismConfigurationUpdate struct { + _ struct{} `type:"structure"` + + // Describes updates to whether the Kinesis Data Analytics service can increase + // the parallelism of the application in response to increased throughput. + AutoScalingEnabledUpdate *bool `type:"boolean"` + + // Describes updates to whether the application uses the default parallelism + // for the Kinesis Data Analytics service, or if a custom parallelism is used. + ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"` + + // Describes updates to the number of parallel tasks an application can perform + // per Kinesis Processing Unit (KPU) used by the application. + ParallelismPerKPUUpdate *int64 `min:"1" type:"integer"` + + // Describes updates to the initial number of parallel tasks an application + // can perform. + ParallelismUpdate *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s ParallelismConfigurationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParallelismConfigurationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParallelismConfigurationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParallelismConfigurationUpdate"} + if s.ParallelismPerKPUUpdate != nil && *s.ParallelismPerKPUUpdate < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParallelismPerKPUUpdate", 1)) + } + if s.ParallelismUpdate != nil && *s.ParallelismUpdate < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParallelismUpdate", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoScalingEnabledUpdate sets the AutoScalingEnabledUpdate field's value. +func (s *ParallelismConfigurationUpdate) SetAutoScalingEnabledUpdate(v bool) *ParallelismConfigurationUpdate { + s.AutoScalingEnabledUpdate = &v + return s +} + +// SetConfigurationTypeUpdate sets the ConfigurationTypeUpdate field's value. +func (s *ParallelismConfigurationUpdate) SetConfigurationTypeUpdate(v string) *ParallelismConfigurationUpdate { + s.ConfigurationTypeUpdate = &v + return s +} + +// SetParallelismPerKPUUpdate sets the ParallelismPerKPUUpdate field's value. +func (s *ParallelismConfigurationUpdate) SetParallelismPerKPUUpdate(v int64) *ParallelismConfigurationUpdate { + s.ParallelismPerKPUUpdate = &v + return s +} + +// SetParallelismUpdate sets the ParallelismUpdate field's value. +func (s *ParallelismConfigurationUpdate) SetParallelismUpdate(v int64) *ParallelismConfigurationUpdate { + s.ParallelismUpdate = &v + return s +} + +// Property key-value pairs passed into a Java-based Kinesis Data Analytics +// application. +type PropertyGroup struct { + _ struct{} `type:"structure"` + + // Describes the key of an application execution property key-value pair. + // + // PropertyGroupId is a required field + PropertyGroupId *string `min:"1" type:"string" required:"true"` + + // Describes the value of an application execution property key-value pair. + // + // PropertyMap is a required field + PropertyMap map[string]*string `min:"1" type:"map" required:"true"` +} + +// String returns the string representation +func (s PropertyGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PropertyGroup) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PropertyGroup) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PropertyGroup"} + if s.PropertyGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("PropertyGroupId")) + } + if s.PropertyGroupId != nil && len(*s.PropertyGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyGroupId", 1)) + } + if s.PropertyMap == nil { + invalidParams.Add(request.NewErrParamRequired("PropertyMap")) + } + if s.PropertyMap != nil && len(s.PropertyMap) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyMap", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPropertyGroupId sets the PropertyGroupId field's value. +func (s *PropertyGroup) SetPropertyGroupId(v string) *PropertyGroup { + s.PropertyGroupId = &v + return s +} + +// SetPropertyMap sets the PropertyMap field's value. +func (s *PropertyGroup) SetPropertyMap(v map[string]*string) *PropertyGroup { + s.PropertyMap = v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, describes the +// mapping of each data element in the streaming source to the corresponding +// column in the in-application stream. +// +// Also used to describe the format of the reference data source. +type RecordColumn struct { + _ struct{} `type:"structure"` + + // A reference to the data element in the streaming input of the reference data + // source. + Mapping *string `type:"string"` + + // The name of the column that is created in the in-application input stream + // or reference table. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The type of column created in the in-application input stream or reference + // table. + // + // SqlType is a required field + SqlType *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s RecordColumn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RecordColumn) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RecordColumn) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RecordColumn"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.SqlType == nil { + invalidParams.Add(request.NewErrParamRequired("SqlType")) + } + if s.SqlType != nil && len(*s.SqlType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SqlType", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMapping sets the Mapping field's value. +func (s *RecordColumn) SetMapping(v string) *RecordColumn { + s.Mapping = &v + return s +} + +// SetName sets the Name field's value. +func (s *RecordColumn) SetName(v string) *RecordColumn { + s.Name = &v + return s +} + +// SetSqlType sets the SqlType field's value. +func (s *RecordColumn) SetSqlType(v string) *RecordColumn { + s.SqlType = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, describes the +// record format and relevant mapping information that should be applied to +// schematize the records on the stream. +type RecordFormat struct { + _ struct{} `type:"structure"` + + // When you configure application input at the time of creating or updating + // an application, provides additional mapping information specific to the record + // format (such as JSON, CSV, or record fields delimited by some delimiter) + // on the streaming source. + MappingParameters *MappingParameters `type:"structure"` + + // The type of record format. + // + // RecordFormatType is a required field + RecordFormatType *string `type:"string" required:"true" enum:"RecordFormatType"` +} + +// String returns the string representation +func (s RecordFormat) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RecordFormat) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RecordFormat) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RecordFormat"} + if s.RecordFormatType == nil { + invalidParams.Add(request.NewErrParamRequired("RecordFormatType")) + } + if s.MappingParameters != nil { + if err := s.MappingParameters.Validate(); err != nil { + invalidParams.AddNested("MappingParameters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMappingParameters sets the MappingParameters field's value. +func (s *RecordFormat) SetMappingParameters(v *MappingParameters) *RecordFormat { + s.MappingParameters = v + return s +} + +// SetRecordFormatType sets the RecordFormatType field's value. +func (s *RecordFormat) SetRecordFormatType(v string) *RecordFormat { + s.RecordFormatType = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, describes the +// reference data source by providing the source information (Amazon S3 bucket +// name and object key name), the resulting in-application table name that is +// created, and the necessary schema to map the data elements in the Amazon +// S3 object to the in-application table. +type ReferenceDataSource struct { + _ struct{} `type:"structure"` + + // Describes the format of the data in the streaming source, and how each data + // element maps to corresponding columns created in the in-application stream. + // + // ReferenceSchema is a required field + ReferenceSchema *SourceSchema `type:"structure" required:"true"` + + // Identifies the S3 bucket and object that contains the reference data. A Kinesis + // Data Analytics application loads reference data only once. If the data changes, + // you call the UpdateApplication operation to trigger reloading of data into + // your application. + S3ReferenceDataSource *S3ReferenceDataSource `type:"structure"` + + // The name of the in-application table to create. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ReferenceDataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReferenceDataSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReferenceDataSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReferenceDataSource"} + if s.ReferenceSchema == nil { + invalidParams.Add(request.NewErrParamRequired("ReferenceSchema")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.ReferenceSchema != nil { + if err := s.ReferenceSchema.Validate(); err != nil { + invalidParams.AddNested("ReferenceSchema", err.(request.ErrInvalidParams)) + } + } + if s.S3ReferenceDataSource != nil { + if err := s.S3ReferenceDataSource.Validate(); err != nil { + invalidParams.AddNested("S3ReferenceDataSource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReferenceSchema sets the ReferenceSchema field's value. +func (s *ReferenceDataSource) SetReferenceSchema(v *SourceSchema) *ReferenceDataSource { + s.ReferenceSchema = v + return s +} + +// SetS3ReferenceDataSource sets the S3ReferenceDataSource field's value. +func (s *ReferenceDataSource) SetS3ReferenceDataSource(v *S3ReferenceDataSource) *ReferenceDataSource { + s.S3ReferenceDataSource = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *ReferenceDataSource) SetTableName(v string) *ReferenceDataSource { + s.TableName = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, describes the +// reference data source configured for an application. +type ReferenceDataSourceDescription struct { + _ struct{} `type:"structure"` + + // The ID of the reference data source. This is the ID that Kinesis Data Analytics + // assigns when you add the reference data source to your application using + // the CreateApplication or UpdateApplication operation. + // + // ReferenceId is a required field + ReferenceId *string `min:"1" type:"string" required:"true"` + + // Describes the format of the data in the streaming source, and how each data + // element maps to corresponding columns created in the in-application stream. + ReferenceSchema *SourceSchema `type:"structure"` + + // Provides the Amazon S3 bucket name, the object key name that contains the + // reference data. + // + // S3ReferenceDataSourceDescription is a required field + S3ReferenceDataSourceDescription *S3ReferenceDataSourceDescription `type:"structure" required:"true"` + + // The in-application table name created by the specific reference data source + // configuration. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ReferenceDataSourceDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReferenceDataSourceDescription) GoString() string { + return s.String() +} + +// SetReferenceId sets the ReferenceId field's value. +func (s *ReferenceDataSourceDescription) SetReferenceId(v string) *ReferenceDataSourceDescription { + s.ReferenceId = &v + return s +} + +// SetReferenceSchema sets the ReferenceSchema field's value. +func (s *ReferenceDataSourceDescription) SetReferenceSchema(v *SourceSchema) *ReferenceDataSourceDescription { + s.ReferenceSchema = v + return s +} + +// SetS3ReferenceDataSourceDescription sets the S3ReferenceDataSourceDescription field's value. +func (s *ReferenceDataSourceDescription) SetS3ReferenceDataSourceDescription(v *S3ReferenceDataSourceDescription) *ReferenceDataSourceDescription { + s.S3ReferenceDataSourceDescription = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *ReferenceDataSourceDescription) SetTableName(v string) *ReferenceDataSourceDescription { + s.TableName = &v + return s +} + +// When you update a reference data source configuration for a SQL-based Amazon +// Kinesis Data Analytics application, this object provides all the updated +// values (such as the source bucket name and object key name), the in-application +// table name that is created, and updated mapping information that maps the +// data in the Amazon S3 object to the in-application reference table that is +// created. +type ReferenceDataSourceUpdate struct { + _ struct{} `type:"structure"` + + // The ID of the reference data source that is being updated. You can use the + // DescribeApplication operation to get this value. + // + // ReferenceId is a required field + ReferenceId *string `min:"1" type:"string" required:"true"` + + // Describes the format of the data in the streaming source, and how each data + // element maps to corresponding columns created in the in-application stream. + ReferenceSchemaUpdate *SourceSchema `type:"structure"` + + // Describes the S3 bucket name, object key name, and IAM role that Kinesis + // Data Analytics can assume to read the Amazon S3 object on your behalf and + // populate the in-application reference table. + S3ReferenceDataSourceUpdate *S3ReferenceDataSourceUpdate `type:"structure"` + + // The in-application table name that is created by this update. + TableNameUpdate *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ReferenceDataSourceUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReferenceDataSourceUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReferenceDataSourceUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReferenceDataSourceUpdate"} + if s.ReferenceId == nil { + invalidParams.Add(request.NewErrParamRequired("ReferenceId")) + } + if s.ReferenceId != nil && len(*s.ReferenceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReferenceId", 1)) + } + if s.TableNameUpdate != nil && len(*s.TableNameUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableNameUpdate", 1)) + } + if s.ReferenceSchemaUpdate != nil { + if err := s.ReferenceSchemaUpdate.Validate(); err != nil { + invalidParams.AddNested("ReferenceSchemaUpdate", err.(request.ErrInvalidParams)) + } + } + if s.S3ReferenceDataSourceUpdate != nil { + if err := s.S3ReferenceDataSourceUpdate.Validate(); err != nil { + invalidParams.AddNested("S3ReferenceDataSourceUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReferenceId sets the ReferenceId field's value. +func (s *ReferenceDataSourceUpdate) SetReferenceId(v string) *ReferenceDataSourceUpdate { + s.ReferenceId = &v + return s +} + +// SetReferenceSchemaUpdate sets the ReferenceSchemaUpdate field's value. +func (s *ReferenceDataSourceUpdate) SetReferenceSchemaUpdate(v *SourceSchema) *ReferenceDataSourceUpdate { + s.ReferenceSchemaUpdate = v + return s +} + +// SetS3ReferenceDataSourceUpdate sets the S3ReferenceDataSourceUpdate field's value. +func (s *ReferenceDataSourceUpdate) SetS3ReferenceDataSourceUpdate(v *S3ReferenceDataSourceUpdate) *ReferenceDataSourceUpdate { + s.S3ReferenceDataSourceUpdate = v + return s +} + +// SetTableNameUpdate sets the TableNameUpdate field's value. +func (s *ReferenceDataSourceUpdate) SetTableNameUpdate(v string) *ReferenceDataSourceUpdate { + s.TableNameUpdate = &v + return s +} + +// Describes the starting parameters for an Amazon Kinesis Data Analytics application. +type RunConfiguration struct { + _ struct{} `type:"structure"` + + // Describes the restore behavior of a restarting application. + ApplicationRestoreConfiguration *ApplicationRestoreConfiguration `type:"structure"` + + // Describes the starting parameters for an SQL-based Kinesis Data Analytics + // application. + SqlRunConfigurations []*SqlRunConfiguration `type:"list"` +} + +// String returns the string representation +func (s RunConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RunConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RunConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RunConfiguration"} + if s.ApplicationRestoreConfiguration != nil { + if err := s.ApplicationRestoreConfiguration.Validate(); err != nil { + invalidParams.AddNested("ApplicationRestoreConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.SqlRunConfigurations != nil { + for i, v := range s.SqlRunConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SqlRunConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationRestoreConfiguration sets the ApplicationRestoreConfiguration field's value. +func (s *RunConfiguration) SetApplicationRestoreConfiguration(v *ApplicationRestoreConfiguration) *RunConfiguration { + s.ApplicationRestoreConfiguration = v + return s +} + +// SetSqlRunConfigurations sets the SqlRunConfigurations field's value. +func (s *RunConfiguration) SetSqlRunConfigurations(v []*SqlRunConfiguration) *RunConfiguration { + s.SqlRunConfigurations = v + return s +} + +// Describes the starting properties for a Kinesis Data Analytics application. +type RunConfigurationDescription struct { + _ struct{} `type:"structure"` + + // Describes the restore behavior of a restarting application. + ApplicationRestoreConfigurationDescription *ApplicationRestoreConfiguration `type:"structure"` +} + +// String returns the string representation +func (s RunConfigurationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RunConfigurationDescription) GoString() string { + return s.String() +} + +// SetApplicationRestoreConfigurationDescription sets the ApplicationRestoreConfigurationDescription field's value. +func (s *RunConfigurationDescription) SetApplicationRestoreConfigurationDescription(v *ApplicationRestoreConfiguration) *RunConfigurationDescription { + s.ApplicationRestoreConfigurationDescription = v + return s +} + +// Describes the updates to the starting parameters for a Kinesis Data Analytics +// application. +type RunConfigurationUpdate struct { + _ struct{} `type:"structure"` + + // Describes updates to the restore behavior of a restarting application. + ApplicationRestoreConfiguration *ApplicationRestoreConfiguration `type:"structure"` +} + +// String returns the string representation +func (s RunConfigurationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RunConfigurationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RunConfigurationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RunConfigurationUpdate"} + if s.ApplicationRestoreConfiguration != nil { + if err := s.ApplicationRestoreConfiguration.Validate(); err != nil { + invalidParams.AddNested("ApplicationRestoreConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationRestoreConfiguration sets the ApplicationRestoreConfiguration field's value. +func (s *RunConfigurationUpdate) SetApplicationRestoreConfiguration(v *ApplicationRestoreConfiguration) *RunConfigurationUpdate { + s.ApplicationRestoreConfiguration = v + return s +} + +// Describes the location of a Java-based Amazon Kinesis Data Analytics application's +// code stored in an S3 bucket. +type S3ApplicationCodeLocationDescription struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the S3 bucket containing the application + // code. + // + // BucketARN is a required field + BucketARN *string `min:"1" type:"string" required:"true"` + + // The file key for the object containing the application code. + // + // FileKey is a required field + FileKey *string `min:"1" type:"string" required:"true"` + + // The version of the object containing the application code. + ObjectVersion *string `type:"string"` +} + +// String returns the string representation +func (s S3ApplicationCodeLocationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3ApplicationCodeLocationDescription) GoString() string { + return s.String() +} + +// SetBucketARN sets the BucketARN field's value. +func (s *S3ApplicationCodeLocationDescription) SetBucketARN(v string) *S3ApplicationCodeLocationDescription { + s.BucketARN = &v + return s +} + +// SetFileKey sets the FileKey field's value. +func (s *S3ApplicationCodeLocationDescription) SetFileKey(v string) *S3ApplicationCodeLocationDescription { + s.FileKey = &v + return s +} + +// SetObjectVersion sets the ObjectVersion field's value. +func (s *S3ApplicationCodeLocationDescription) SetObjectVersion(v string) *S3ApplicationCodeLocationDescription { + s.ObjectVersion = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, provides a description +// of an Amazon S3 data source, including the Amazon Resource Name (ARN) of +// the S3 bucket and the name of the Amazon S3 object that contains the data. +type S3Configuration struct { + _ struct{} `type:"structure"` + + // The ARN of the S3 bucket that contains the data. + // + // BucketARN is a required field + BucketARN *string `min:"1" type:"string" required:"true"` + + // The name of the object that contains the data. + // + // FileKey is a required field + FileKey *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s S3Configuration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3Configuration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3Configuration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Configuration"} + if s.BucketARN == nil { + invalidParams.Add(request.NewErrParamRequired("BucketARN")) + } + if s.BucketARN != nil && len(*s.BucketARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1)) + } + if s.FileKey == nil { + invalidParams.Add(request.NewErrParamRequired("FileKey")) + } + if s.FileKey != nil && len(*s.FileKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucketARN sets the BucketARN field's value. +func (s *S3Configuration) SetBucketARN(v string) *S3Configuration { + s.BucketARN = &v + return s +} + +// SetFileKey sets the FileKey field's value. +func (s *S3Configuration) SetFileKey(v string) *S3Configuration { + s.FileKey = &v + return s +} + +// For a Java-based Amazon Kinesis Data Analytics application, provides a description +// of an Amazon S3 object, including the Amazon Resource Name (ARN) of the S3 +// bucket, the name of the Amazon S3 object that contains the data, and the +// version number of the Amazon S3 object that contains the data. +type S3ContentLocation struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the S3 bucket containing the application + // code. + // + // BucketARN is a required field + BucketARN *string `min:"1" type:"string" required:"true"` + + // The file key for the object containing the application code. + // + // FileKey is a required field + FileKey *string `min:"1" type:"string" required:"true"` + + // The version of the object containing the application code. + ObjectVersion *string `type:"string"` +} + +// String returns the string representation +func (s S3ContentLocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3ContentLocation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3ContentLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3ContentLocation"} + if s.BucketARN == nil { + invalidParams.Add(request.NewErrParamRequired("BucketARN")) + } + if s.BucketARN != nil && len(*s.BucketARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1)) + } + if s.FileKey == nil { + invalidParams.Add(request.NewErrParamRequired("FileKey")) + } + if s.FileKey != nil && len(*s.FileKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucketARN sets the BucketARN field's value. +func (s *S3ContentLocation) SetBucketARN(v string) *S3ContentLocation { + s.BucketARN = &v + return s +} + +// SetFileKey sets the FileKey field's value. +func (s *S3ContentLocation) SetFileKey(v string) *S3ContentLocation { + s.FileKey = &v + return s +} + +// SetObjectVersion sets the ObjectVersion field's value. +func (s *S3ContentLocation) SetObjectVersion(v string) *S3ContentLocation { + s.ObjectVersion = &v + return s +} + +// Describes an update for the Amazon S3 code content location for a Java-based +// Amazon Kinesis Data Analytics application. +type S3ContentLocationUpdate struct { + _ struct{} `type:"structure"` + + // The new Amazon Resource Name (ARN) for the S3 bucket containing the application + // code. + BucketARNUpdate *string `min:"1" type:"string"` + + // The new file key for the object containing the application code. + FileKeyUpdate *string `min:"1" type:"string"` + + // The new version of the object containing the application code. + ObjectVersionUpdate *string `type:"string"` +} + +// String returns the string representation +func (s S3ContentLocationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3ContentLocationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3ContentLocationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3ContentLocationUpdate"} + if s.BucketARNUpdate != nil && len(*s.BucketARNUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BucketARNUpdate", 1)) + } + if s.FileKeyUpdate != nil && len(*s.FileKeyUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileKeyUpdate", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucketARNUpdate sets the BucketARNUpdate field's value. +func (s *S3ContentLocationUpdate) SetBucketARNUpdate(v string) *S3ContentLocationUpdate { + s.BucketARNUpdate = &v + return s +} + +// SetFileKeyUpdate sets the FileKeyUpdate field's value. +func (s *S3ContentLocationUpdate) SetFileKeyUpdate(v string) *S3ContentLocationUpdate { + s.FileKeyUpdate = &v + return s +} + +// SetObjectVersionUpdate sets the ObjectVersionUpdate field's value. +func (s *S3ContentLocationUpdate) SetObjectVersionUpdate(v string) *S3ContentLocationUpdate { + s.ObjectVersionUpdate = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, identifies the +// Amazon S3 bucket and object that contains the reference data. +// +// A Kinesis Data Analytics application loads reference data only once. If the +// data changes, you call the UpdateApplication operation to trigger reloading +// of data into your application. +type S3ReferenceDataSource struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the S3 bucket. + BucketARN *string `min:"1" type:"string"` + + // The object key name containing the reference data. + FileKey *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s S3ReferenceDataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3ReferenceDataSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3ReferenceDataSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3ReferenceDataSource"} + if s.BucketARN != nil && len(*s.BucketARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1)) + } + if s.FileKey != nil && len(*s.FileKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucketARN sets the BucketARN field's value. +func (s *S3ReferenceDataSource) SetBucketARN(v string) *S3ReferenceDataSource { + s.BucketARN = &v + return s +} + +// SetFileKey sets the FileKey field's value. +func (s *S3ReferenceDataSource) SetFileKey(v string) *S3ReferenceDataSource { + s.FileKey = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, provides the +// bucket name and object key name that stores the reference data. +type S3ReferenceDataSourceDescription struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the S3 bucket. + // + // BucketARN is a required field + BucketARN *string `min:"1" type:"string" required:"true"` + + // Amazon S3 object key name. + // + // FileKey is a required field + FileKey *string `min:"1" type:"string" required:"true"` + + // The ARN of the IAM role that Kinesis Data Analytics can assume to read the + // Amazon S3 object on your behalf to populate the in-application reference + // table. + // + // Provided for backward compatibility. Applications that are created with the + // current API version have an application-level service execution role rather + // than a resource-level role. + ReferenceRoleARN *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s S3ReferenceDataSourceDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3ReferenceDataSourceDescription) GoString() string { + return s.String() +} + +// SetBucketARN sets the BucketARN field's value. +func (s *S3ReferenceDataSourceDescription) SetBucketARN(v string) *S3ReferenceDataSourceDescription { + s.BucketARN = &v + return s +} + +// SetFileKey sets the FileKey field's value. +func (s *S3ReferenceDataSourceDescription) SetFileKey(v string) *S3ReferenceDataSourceDescription { + s.FileKey = &v + return s +} + +// SetReferenceRoleARN sets the ReferenceRoleARN field's value. +func (s *S3ReferenceDataSourceDescription) SetReferenceRoleARN(v string) *S3ReferenceDataSourceDescription { + s.ReferenceRoleARN = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, describes the +// Amazon S3 bucket name and object key name for an in-application reference +// table. +type S3ReferenceDataSourceUpdate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the S3 bucket. + BucketARNUpdate *string `min:"1" type:"string"` + + // The object key name. + FileKeyUpdate *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s S3ReferenceDataSourceUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3ReferenceDataSourceUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3ReferenceDataSourceUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3ReferenceDataSourceUpdate"} + if s.BucketARNUpdate != nil && len(*s.BucketARNUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BucketARNUpdate", 1)) + } + if s.FileKeyUpdate != nil && len(*s.FileKeyUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileKeyUpdate", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucketARNUpdate sets the BucketARNUpdate field's value. +func (s *S3ReferenceDataSourceUpdate) SetBucketARNUpdate(v string) *S3ReferenceDataSourceUpdate { + s.BucketARNUpdate = &v + return s +} + +// SetFileKeyUpdate sets the FileKeyUpdate field's value. +func (s *S3ReferenceDataSourceUpdate) SetFileKeyUpdate(v string) *S3ReferenceDataSourceUpdate { + s.FileKeyUpdate = &v + return s +} + +// Provides details about a snapshot of application state. +type SnapshotDetails struct { + _ struct{} `type:"structure"` + + // The current application version ID when the snapshot was created. + // + // ApplicationVersionId is a required field + ApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // The timestamp of the application snapshot. + SnapshotCreationTimestamp *time.Time `type:"timestamp"` + + // The identifier for the application snapshot. + // + // SnapshotName is a required field + SnapshotName *string `min:"1" type:"string" required:"true"` + + // The status of the application snapshot. + // + // SnapshotStatus is a required field + SnapshotStatus *string `type:"string" required:"true" enum:"SnapshotStatus"` +} + +// String returns the string representation +func (s SnapshotDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SnapshotDetails) GoString() string { + return s.String() +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *SnapshotDetails) SetApplicationVersionId(v int64) *SnapshotDetails { + s.ApplicationVersionId = &v + return s +} + +// SetSnapshotCreationTimestamp sets the SnapshotCreationTimestamp field's value. +func (s *SnapshotDetails) SetSnapshotCreationTimestamp(v time.Time) *SnapshotDetails { + s.SnapshotCreationTimestamp = &v + return s +} + +// SetSnapshotName sets the SnapshotName field's value. +func (s *SnapshotDetails) SetSnapshotName(v string) *SnapshotDetails { + s.SnapshotName = &v + return s +} + +// SetSnapshotStatus sets the SnapshotStatus field's value. +func (s *SnapshotDetails) SetSnapshotStatus(v string) *SnapshotDetails { + s.SnapshotStatus = &v + return s +} + +// For an SQL-based Amazon Kinesis Data Analytics application, describes the +// format of the data in the streaming source, and how each data element maps +// to corresponding columns created in the in-application stream. +type SourceSchema struct { + _ struct{} `type:"structure"` + + // A list of RecordColumn objects. + // + // RecordColumns is a required field + RecordColumns []*RecordColumn `min:"1" type:"list" required:"true"` + + // Specifies the encoding of the records in the streaming source. For example, + // UTF-8. + RecordEncoding *string `type:"string"` + + // Specifies the format of the records on the streaming source. + // + // RecordFormat is a required field + RecordFormat *RecordFormat `type:"structure" required:"true"` +} + +// String returns the string representation +func (s SourceSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SourceSchema) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SourceSchema) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SourceSchema"} + if s.RecordColumns == nil { + invalidParams.Add(request.NewErrParamRequired("RecordColumns")) + } + if s.RecordColumns != nil && len(s.RecordColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RecordColumns", 1)) + } + if s.RecordFormat == nil { + invalidParams.Add(request.NewErrParamRequired("RecordFormat")) + } + if s.RecordColumns != nil { + for i, v := range s.RecordColumns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RecordColumns", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RecordFormat != nil { + if err := s.RecordFormat.Validate(); err != nil { + invalidParams.AddNested("RecordFormat", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecordColumns sets the RecordColumns field's value. +func (s *SourceSchema) SetRecordColumns(v []*RecordColumn) *SourceSchema { + s.RecordColumns = v + return s +} + +// SetRecordEncoding sets the RecordEncoding field's value. +func (s *SourceSchema) SetRecordEncoding(v string) *SourceSchema { + s.RecordEncoding = &v + return s +} + +// SetRecordFormat sets the RecordFormat field's value. +func (s *SourceSchema) SetRecordFormat(v *RecordFormat) *SourceSchema { + s.RecordFormat = v + return s +} + +// Describes the inputs, outputs, and reference data sources for an SQL-based +// Kinesis Data Analytics application. +type SqlApplicationConfiguration struct { + _ struct{} `type:"structure"` + + // The array of Input objects describing the input streams used by the application. + Inputs []*Input `type:"list"` + + // The array of Output objects describing the destination streams used by the + // application. + Outputs []*Output `type:"list"` + + // The array of ReferenceDataSource objects describing the reference data sources + // used by the application. + ReferenceDataSources []*ReferenceDataSource `type:"list"` +} + +// String returns the string representation +func (s SqlApplicationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SqlApplicationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SqlApplicationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SqlApplicationConfiguration"} + if s.Inputs != nil { + for i, v := range s.Inputs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Inputs", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Outputs != nil { + for i, v := range s.Outputs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ReferenceDataSources != nil { + for i, v := range s.ReferenceDataSources { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReferenceDataSources", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputs sets the Inputs field's value. +func (s *SqlApplicationConfiguration) SetInputs(v []*Input) *SqlApplicationConfiguration { + s.Inputs = v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *SqlApplicationConfiguration) SetOutputs(v []*Output) *SqlApplicationConfiguration { + s.Outputs = v + return s +} + +// SetReferenceDataSources sets the ReferenceDataSources field's value. +func (s *SqlApplicationConfiguration) SetReferenceDataSources(v []*ReferenceDataSource) *SqlApplicationConfiguration { + s.ReferenceDataSources = v + return s +} + +// Describes the inputs, outputs, and reference data sources for an SQL-based +// Kinesis Data Analytics application. +type SqlApplicationConfigurationDescription struct { + _ struct{} `type:"structure"` + + // The array of InputDescription objects describing the input streams used by + // the application. + InputDescriptions []*InputDescription `type:"list"` + + // The array of OutputDescription objects describing the destination streams + // used by the application. + OutputDescriptions []*OutputDescription `type:"list"` + + // The array of ReferenceDataSourceDescription objects describing the reference + // data sources used by the application. + ReferenceDataSourceDescriptions []*ReferenceDataSourceDescription `type:"list"` +} + +// String returns the string representation +func (s SqlApplicationConfigurationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SqlApplicationConfigurationDescription) GoString() string { + return s.String() +} + +// SetInputDescriptions sets the InputDescriptions field's value. +func (s *SqlApplicationConfigurationDescription) SetInputDescriptions(v []*InputDescription) *SqlApplicationConfigurationDescription { + s.InputDescriptions = v + return s +} + +// SetOutputDescriptions sets the OutputDescriptions field's value. +func (s *SqlApplicationConfigurationDescription) SetOutputDescriptions(v []*OutputDescription) *SqlApplicationConfigurationDescription { + s.OutputDescriptions = v + return s +} + +// SetReferenceDataSourceDescriptions sets the ReferenceDataSourceDescriptions field's value. +func (s *SqlApplicationConfigurationDescription) SetReferenceDataSourceDescriptions(v []*ReferenceDataSourceDescription) *SqlApplicationConfigurationDescription { + s.ReferenceDataSourceDescriptions = v + return s +} + +// Describes updates to the input streams, destination streams, and reference +// data sources for an SQL-based Kinesis Data Analytics application. +type SqlApplicationConfigurationUpdate struct { + _ struct{} `type:"structure"` + + // The array of InputUpdate objects describing the new input streams used by + // the application. + InputUpdates []*InputUpdate `type:"list"` + + // The array of OutputUpdate objects describing the new destination streams + // used by the application. + OutputUpdates []*OutputUpdate `type:"list"` + + // The array of ReferenceDataSourceUpdate objects describing the new reference + // data sources used by the application. + ReferenceDataSourceUpdates []*ReferenceDataSourceUpdate `type:"list"` +} + +// String returns the string representation +func (s SqlApplicationConfigurationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SqlApplicationConfigurationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SqlApplicationConfigurationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SqlApplicationConfigurationUpdate"} + if s.InputUpdates != nil { + for i, v := range s.InputUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + if s.OutputUpdates != nil { + for i, v := range s.OutputUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ReferenceDataSourceUpdates != nil { + for i, v := range s.ReferenceDataSourceUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReferenceDataSourceUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputUpdates sets the InputUpdates field's value. +func (s *SqlApplicationConfigurationUpdate) SetInputUpdates(v []*InputUpdate) *SqlApplicationConfigurationUpdate { + s.InputUpdates = v + return s +} + +// SetOutputUpdates sets the OutputUpdates field's value. +func (s *SqlApplicationConfigurationUpdate) SetOutputUpdates(v []*OutputUpdate) *SqlApplicationConfigurationUpdate { + s.OutputUpdates = v + return s +} + +// SetReferenceDataSourceUpdates sets the ReferenceDataSourceUpdates field's value. +func (s *SqlApplicationConfigurationUpdate) SetReferenceDataSourceUpdates(v []*ReferenceDataSourceUpdate) *SqlApplicationConfigurationUpdate { + s.ReferenceDataSourceUpdates = v + return s +} + +// Describes the starting parameters for an SQL-based Kinesis Data Analytics +// application. +type SqlRunConfiguration struct { + _ struct{} `type:"structure"` + + // The input source ID. You can get this ID by calling the DescribeApplication + // operation. + // + // InputId is a required field + InputId *string `min:"1" type:"string" required:"true"` + + // The point at which you want the application to start processing records from + // the streaming source. + // + // InputStartingPositionConfiguration is a required field + InputStartingPositionConfiguration *InputStartingPositionConfiguration `type:"structure" required:"true"` +} + +// String returns the string representation +func (s SqlRunConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SqlRunConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SqlRunConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SqlRunConfiguration"} + if s.InputId == nil { + invalidParams.Add(request.NewErrParamRequired("InputId")) + } + if s.InputId != nil && len(*s.InputId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputId", 1)) + } + if s.InputStartingPositionConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("InputStartingPositionConfiguration")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputId sets the InputId field's value. +func (s *SqlRunConfiguration) SetInputId(v string) *SqlRunConfiguration { + s.InputId = &v + return s +} + +// SetInputStartingPositionConfiguration sets the InputStartingPositionConfiguration field's value. +func (s *SqlRunConfiguration) SetInputStartingPositionConfiguration(v *InputStartingPositionConfiguration) *SqlRunConfiguration { + s.InputStartingPositionConfiguration = v + return s +} + +type StartApplicationInput struct { + _ struct{} `type:"structure"` + + // The name of the application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // Identifies the run configuration (start parameters) of a Kinesis Data Analytics + // application. + // + // RunConfiguration is a required field + RunConfiguration *RunConfiguration `type:"structure" required:"true"` +} + +// String returns the string representation +func (s StartApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartApplicationInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.RunConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("RunConfiguration")) + } + if s.RunConfiguration != nil { + if err := s.RunConfiguration.Validate(); err != nil { + invalidParams.AddNested("RunConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *StartApplicationInput) SetApplicationName(v string) *StartApplicationInput { + s.ApplicationName = &v + return s +} + +// SetRunConfiguration sets the RunConfiguration field's value. +func (s *StartApplicationInput) SetRunConfiguration(v *RunConfiguration) *StartApplicationInput { + s.RunConfiguration = v + return s +} + +type StartApplicationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StartApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartApplicationOutput) GoString() string { + return s.String() +} + +type StopApplicationInput struct { + _ struct{} `type:"structure"` + + // The name of the running application to stop. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopApplicationInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *StopApplicationInput) SetApplicationName(v string) *StopApplicationInput { + s.ApplicationName = &v + return s +} + +type StopApplicationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopApplicationOutput) GoString() string { + return s.String() +} + +type UpdateApplicationInput struct { + _ struct{} `type:"structure"` + + // Describes application configuration updates. + ApplicationConfigurationUpdate *ApplicationConfigurationUpdate `type:"structure"` + + // The name of the application to update. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // Describes application Amazon CloudWatch logging option updates. You can only + // update existing CloudWatch logging options with this action. To add a new + // CloudWatch logging option, use AddApplicationCloudWatchLoggingOption. + CloudWatchLoggingOptionUpdates []*CloudWatchLoggingOptionUpdate `type:"list"` + + // The current application version ID. You can retrieve the application version + // ID using DescribeApplication. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // Describes updates to the application's starting parameters. + RunConfigurationUpdate *RunConfigurationUpdate `type:"structure"` + + // Describes updates to the service execution role. + ServiceExecutionRoleUpdate *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + if s.ServiceExecutionRoleUpdate != nil && len(*s.ServiceExecutionRoleUpdate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceExecutionRoleUpdate", 1)) + } + if s.ApplicationConfigurationUpdate != nil { + if err := s.ApplicationConfigurationUpdate.Validate(); err != nil { + invalidParams.AddNested("ApplicationConfigurationUpdate", err.(request.ErrInvalidParams)) + } + } + if s.CloudWatchLoggingOptionUpdates != nil { + for i, v := range s.CloudWatchLoggingOptionUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CloudWatchLoggingOptionUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RunConfigurationUpdate != nil { + if err := s.RunConfigurationUpdate.Validate(); err != nil { + invalidParams.AddNested("RunConfigurationUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationConfigurationUpdate sets the ApplicationConfigurationUpdate field's value. +func (s *UpdateApplicationInput) SetApplicationConfigurationUpdate(v *ApplicationConfigurationUpdate) *UpdateApplicationInput { + s.ApplicationConfigurationUpdate = v + return s +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *UpdateApplicationInput) SetApplicationName(v string) *UpdateApplicationInput { + s.ApplicationName = &v + return s +} + +// SetCloudWatchLoggingOptionUpdates sets the CloudWatchLoggingOptionUpdates field's value. +func (s *UpdateApplicationInput) SetCloudWatchLoggingOptionUpdates(v []*CloudWatchLoggingOptionUpdate) *UpdateApplicationInput { + s.CloudWatchLoggingOptionUpdates = v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *UpdateApplicationInput) SetCurrentApplicationVersionId(v int64) *UpdateApplicationInput { + s.CurrentApplicationVersionId = &v + return s +} + +// SetRunConfigurationUpdate sets the RunConfigurationUpdate field's value. +func (s *UpdateApplicationInput) SetRunConfigurationUpdate(v *RunConfigurationUpdate) *UpdateApplicationInput { + s.RunConfigurationUpdate = v + return s +} + +// SetServiceExecutionRoleUpdate sets the ServiceExecutionRoleUpdate field's value. +func (s *UpdateApplicationInput) SetServiceExecutionRoleUpdate(v string) *UpdateApplicationInput { + s.ServiceExecutionRoleUpdate = &v + return s +} + +type UpdateApplicationOutput struct { + _ struct{} `type:"structure"` + + // Describes application updates. + // + // ApplicationDetail is a required field + ApplicationDetail *ApplicationDetail `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApplicationOutput) GoString() string { + return s.String() +} + +// SetApplicationDetail sets the ApplicationDetail field's value. +func (s *UpdateApplicationOutput) SetApplicationDetail(v *ApplicationDetail) *UpdateApplicationOutput { + s.ApplicationDetail = v + return s +} + +const ( + // ApplicationRestoreTypeSkipRestoreFromSnapshot is a ApplicationRestoreType enum value + ApplicationRestoreTypeSkipRestoreFromSnapshot = "SKIP_RESTORE_FROM_SNAPSHOT" + + // ApplicationRestoreTypeRestoreFromLatestSnapshot is a ApplicationRestoreType enum value + ApplicationRestoreTypeRestoreFromLatestSnapshot = "RESTORE_FROM_LATEST_SNAPSHOT" + + // ApplicationRestoreTypeRestoreFromCustomSnapshot is a ApplicationRestoreType enum value + ApplicationRestoreTypeRestoreFromCustomSnapshot = "RESTORE_FROM_CUSTOM_SNAPSHOT" +) + +const ( + // ApplicationStatusDeleting is a ApplicationStatus enum value + ApplicationStatusDeleting = "DELETING" + + // ApplicationStatusStarting is a ApplicationStatus enum value + ApplicationStatusStarting = "STARTING" + + // ApplicationStatusStopping is a ApplicationStatus enum value + ApplicationStatusStopping = "STOPPING" + + // ApplicationStatusReady is a ApplicationStatus enum value + ApplicationStatusReady = "READY" + + // ApplicationStatusRunning is a ApplicationStatus enum value + ApplicationStatusRunning = "RUNNING" + + // ApplicationStatusUpdating is a ApplicationStatus enum value + ApplicationStatusUpdating = "UPDATING" +) + +const ( + // CodeContentTypePlaintext is a CodeContentType enum value + CodeContentTypePlaintext = "PLAINTEXT" + + // CodeContentTypeZipfile is a CodeContentType enum value + CodeContentTypeZipfile = "ZIPFILE" +) + +const ( + // ConfigurationTypeDefault is a ConfigurationType enum value + ConfigurationTypeDefault = "DEFAULT" + + // ConfigurationTypeCustom is a ConfigurationType enum value + ConfigurationTypeCustom = "CUSTOM" +) + +const ( + // InputStartingPositionNow is a InputStartingPosition enum value + InputStartingPositionNow = "NOW" + + // InputStartingPositionTrimHorizon is a InputStartingPosition enum value + InputStartingPositionTrimHorizon = "TRIM_HORIZON" + + // InputStartingPositionLastStoppedPoint is a InputStartingPosition enum value + InputStartingPositionLastStoppedPoint = "LAST_STOPPED_POINT" +) + +const ( + // LogLevelInfo is a LogLevel enum value + LogLevelInfo = "INFO" + + // LogLevelWarn is a LogLevel enum value + LogLevelWarn = "WARN" + + // LogLevelError is a LogLevel enum value + LogLevelError = "ERROR" + + // LogLevelDebug is a LogLevel enum value + LogLevelDebug = "DEBUG" +) + +const ( + // MetricsLevelApplication is a MetricsLevel enum value + MetricsLevelApplication = "APPLICATION" + + // MetricsLevelTask is a MetricsLevel enum value + MetricsLevelTask = "TASK" + + // MetricsLevelOperator is a MetricsLevel enum value + MetricsLevelOperator = "OPERATOR" + + // MetricsLevelParallelism is a MetricsLevel enum value + MetricsLevelParallelism = "PARALLELISM" +) + +const ( + // RecordFormatTypeJson is a RecordFormatType enum value + RecordFormatTypeJson = "JSON" + + // RecordFormatTypeCsv is a RecordFormatType enum value + RecordFormatTypeCsv = "CSV" +) + +const ( + // RuntimeEnvironmentSql10 is a RuntimeEnvironment enum value + RuntimeEnvironmentSql10 = "SQL-1_0" + + // RuntimeEnvironmentFlink16 is a RuntimeEnvironment enum value + RuntimeEnvironmentFlink16 = "FLINK-1_6" +) + +const ( + // SnapshotStatusCreating is a SnapshotStatus enum value + SnapshotStatusCreating = "CREATING" + + // SnapshotStatusReady is a SnapshotStatus enum value + SnapshotStatusReady = "READY" + + // SnapshotStatusDeleting is a SnapshotStatus enum value + SnapshotStatusDeleting = "DELETING" + + // SnapshotStatusFailed is a SnapshotStatus enum value + SnapshotStatusFailed = "FAILED" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/doc.go new file mode 100644 index 00000000000..7237721b25f --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package kinesisanalyticsv2 provides the client and types for making API +// requests to Amazon Kinesis Analytics. +// +// Documentation for Kinesis Data Analytics API v2 +// +// See https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23 for more information on this service. +// +// See kinesisanalyticsv2 package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/kinesisanalyticsv2/ +// +// Using the Client +// +// To contact Amazon Kinesis Analytics 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 Kinesis Analytics client KinesisAnalyticsV2 for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/kinesisanalyticsv2/#New +package kinesisanalyticsv2 diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/errors.go new file mode 100644 index 00000000000..defe252c7d9 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/errors.go @@ -0,0 +1,86 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package kinesisanalyticsv2 + +const ( + + // ErrCodeCodeValidationException for service response error code + // "CodeValidationException". + // + // The user-provided application code (query) is not valid. This can be a simple + // syntax error. + ErrCodeCodeValidationException = "CodeValidationException" + + // ErrCodeConcurrentModificationException for service response error code + // "ConcurrentModificationException". + // + // Exception thrown as a result of concurrent modifications to an application. + // This error can be the result of attempting to modify an application without + // using the current application ID. + ErrCodeConcurrentModificationException = "ConcurrentModificationException" + + // ErrCodeInvalidApplicationConfigurationException for service response error code + // "InvalidApplicationConfigurationException". + // + // The user-provided application configuration is not valid. + ErrCodeInvalidApplicationConfigurationException = "InvalidApplicationConfigurationException" + + // ErrCodeInvalidArgumentException for service response error code + // "InvalidArgumentException". + // + // The specified input parameter value is not valid. + ErrCodeInvalidArgumentException = "InvalidArgumentException" + + // ErrCodeInvalidRequestException for service response error code + // "InvalidRequestException". + // + // The request JSON is not valid for the operation. + ErrCodeInvalidRequestException = "InvalidRequestException" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // The number of allowed resources has been exceeded. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeResourceInUseException for service response error code + // "ResourceInUseException". + // + // The application is not available for this operation. + ErrCodeResourceInUseException = "ResourceInUseException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Specified application can't be found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeResourceProvisionedThroughputExceededException for service response error code + // "ResourceProvisionedThroughputExceededException". + // + // Discovery failed to get a record from the streaming source because of the + // Amazon Kinesis Streams ProvisionedThroughputExceededException. For more information, + // see GetRecords (http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) + // in the Amazon Kinesis Streams API Reference. + ErrCodeResourceProvisionedThroughputExceededException = "ResourceProvisionedThroughputExceededException" + + // ErrCodeServiceUnavailableException for service response error code + // "ServiceUnavailableException". + // + // The service cannot complete the request. + ErrCodeServiceUnavailableException = "ServiceUnavailableException" + + // ErrCodeUnableToDetectSchemaException for service response error code + // "UnableToDetectSchemaException". + // + // The data format is not valid. Amazon Kinesis Data Analytics cannot detect + // the schema for the given streaming source. + ErrCodeUnableToDetectSchemaException = "UnableToDetectSchemaException" + + // ErrCodeUnsupportedOperationException for service response error code + // "UnsupportedOperationException". + // + // The request was rejected because a specified parameter is not supported or + // a specified resource is not valid for this operation. + ErrCodeUnsupportedOperationException = "UnsupportedOperationException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/service.go new file mode 100644 index 00000000000..d066c2e6c70 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/service.go @@ -0,0 +1,100 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package kinesisanalyticsv2 + +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" +) + +// KinesisAnalyticsV2 provides the API operation methods for making requests to +// Amazon Kinesis Analytics. See this package's package overview docs +// for details on the service. +// +// KinesisAnalyticsV2 methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type KinesisAnalyticsV2 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 = "Kinesis Analytics V2" // Name of service. + EndpointsID = "kinesisanalytics" // ID to lookup a service endpoint with. + ServiceID = "Kinesis Analytics V2" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the KinesisAnalyticsV2 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 KinesisAnalyticsV2 client from just a session. +// svc := kinesisanalyticsv2.New(mySession) +// +// // Create a KinesisAnalyticsV2 client with additional configuration +// svc := kinesisanalyticsv2.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *KinesisAnalyticsV2 { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "kinesisanalytics" + } + 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) *KinesisAnalyticsV2 { + svc := &KinesisAnalyticsV2{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-05-23", + JSONVersion: "1.1", + TargetPrefix: "KinesisAnalytics_20180523", + }, + 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 KinesisAnalyticsV2 operation and runs any +// custom request initialization. +func (c *KinesisAnalyticsV2) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go index fbbb32e8ac8..26ee07ff733 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go @@ -57,10 +57,11 @@ func (c *Lambda) AddLayerVersionPermissionRequest(input *AddLayerVersionPermissi // AddLayerVersionPermission API operation for AWS Lambda. // -// Adds permissions to the resource-based policy of a version of a function -// layer. Use this action to grant layer usage permission to other accounts. -// You can grant permission to a single account, all AWS accounts, or all accounts -// in an organization. +// Adds permissions to the resource-based policy of a version of an AWS Lambda +// layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). +// Use this action to grant layer usage permission to other accounts. You can +// grant permission to a single account, all AWS accounts, or all accounts in +// an organization. // // To revoke permission, call RemoveLayerVersionPermission with the statement // ID that you specified when you added it. @@ -84,7 +85,7 @@ func (c *Lambda) AddLayerVersionPermissionRequest(input *AddLayerVersionPermissi // The resource already exists. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -165,20 +166,23 @@ func (c *Lambda) AddPermissionRequest(input *AddPermissionInput) (req *request.R // AddPermission API operation for AWS Lambda. // -// Adds a permission to the resource policy associated with the specified AWS -// Lambda function. You use resource policies to grant permissions to event -// sources that use the push model. In a push model, event sources (such as -// Amazon S3 and custom applications) invoke your Lambda function. Each permission -// you add to the resource policy allows an event source permission to invoke -// the Lambda function. +// Grants an AWS service or another account permission to use a function. You +// can apply the policy at the function level, or specify a qualifier to restrict +// access to a single version or alias. If you use a qualifier, the invoker +// must use the full Amazon Resource Name (ARN) of that version or alias to +// invoke the function. // -// Permissions apply to the Amazon Resource Name (ARN) used to invoke the function, -// which can be unqualified (the unpublished version of the function), or include -// a version or alias. If a client uses a version or alias to invoke a function, -// use the Qualifier parameter to apply permissions to that ARN. For more information -// about versioning, see AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). +// To grant permission to another account, specify the account ID as the Principal. +// For AWS services, the principal is a domain-style identifier defined by the +// service, like s3.amazonaws.com or sns.amazonaws.com. For AWS services, you +// can also specify the ARN or owning account of the associated resource as +// the SourceArn or SourceAccount. If you grant permission to a service principal +// without specifying the source, other accounts could potentially configure +// resources in their account to invoke your Lambda function. // -// This operation requires permission for the lambda:AddPermission action. +// This action adds a statement to a resource-based permission policy for the +// function. For more information about function policies, see Lambda Function +// Policies (https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.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 @@ -207,7 +211,7 @@ func (c *Lambda) AddPermissionRequest(input *AddPermissionInput) (req *request.R // Lambda function access policy is limited to 20 KB. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -280,11 +284,13 @@ func (c *Lambda) CreateAliasRequest(input *CreateAliasInput) (req *request.Reque // CreateAlias API operation for AWS Lambda. // -// Creates an alias that points to the specified Lambda function version. For -// more information, see Introduction to AWS Lambda Aliases (http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html). +// Creates an alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html) +// for a Lambda function version. Use aliases to provide clients with a function +// identifier that you can update to invoke a different version. // -// Alias names are unique for a given function. This requires permission for -// the lambda:CreateAlias action. +// You can also map an alias to split invocation requests between two versions. +// Use the RoutingConfig parameter to specify a second version and the percentage +// of invocation requests that it receives. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -310,7 +316,7 @@ func (c *Lambda) CreateAliasRequest(input *CreateAliasInput) (req *request.Reque // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAlias func (c *Lambda) CreateAlias(input *CreateAliasInput) (*AliasConfiguration, error) { @@ -383,11 +389,11 @@ func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMapping // // For details about each event source type, see the following topics. // -// * Using AWS Lambda with Amazon Kinesis (http://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) +// * Using AWS Lambda with Amazon Kinesis (https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) // -// * Using AWS Lambda with Amazon SQS (http://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) +// * Using AWS Lambda with Amazon SQS (https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) // -// * Using AWS Lambda with Amazon DynamoDB (http://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html) +// * Using AWS Lambda with Amazon DynamoDB (https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.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 @@ -409,7 +415,7 @@ func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMapping // The resource already exists. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The resource (for example, a Lambda function or access policy statement) @@ -481,11 +487,35 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request // CreateFunction API operation for AWS Lambda. // -// Creates a new Lambda function. The function configuration is created from -// the request parameters, and the code for the function is provided by a .zip -// file. The function name is case-sensitive. +// Creates a Lambda function. To create a function, you need a deployment package +// (https://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html) +// and an execution role (https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role). +// The deployment package contains your function code. The execution role grants +// the function permission to use AWS services, such as Amazon CloudWatch Logs +// for log streaming and AWS X-Ray for request tracing. +// +// A function has an unpublished version, and can have published versions and +// aliases. The unpublished version changes when you update your function's +// code and configuration. A published version is a snapshot of your function +// code and configuration that can't be changed. An alias is a named resource +// that maps to a version, and can be changed to map to a different version. +// Use the Publish parameter to create version 1 of your function from its initial +// configuration. +// +// The other parameters let you configure version-specific and function-level +// settings. You can modify version-specific settings later with UpdateFunctionConfiguration. +// Function-level settings apply to both the unpublished and published versions +// of the function, and include tags (TagResource) and per-function concurrency +// limits (PutFunctionConcurrency). // -// This operation requires permission for the lambda:CreateFunction action. +// If another account or an AWS service invokes your function, use AddPermission +// to grant permission by creating a resource-based IAM policy. You can grant +// permissions at the function level, on a version, or on an alias. +// +// To invoke your function directly, use Invoke. To invoke your function in +// response to events in other AWS services, create an event source mapping +// (CreateEventSourceMapping), or configure a function trigger in the other +// service. For more information, see Invoking Functions (https://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-functions.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 @@ -511,10 +541,10 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request // The resource already exists. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" -// You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) +// You have exceeded your maximum total code size per account. Limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction func (c *Lambda) CreateFunction(input *CreateFunctionInput) (*FunctionConfiguration, error) { @@ -583,10 +613,7 @@ func (c *Lambda) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Reque // DeleteAlias API operation for AWS Lambda. // -// Deletes the specified Lambda function alias. For more information, see Introduction -// to AWS Lambda Aliases (http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html). -// -// This requires permission for the lambda:DeleteAlias action. +// Deletes a Lambda function alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.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 @@ -605,7 +632,7 @@ func (c *Lambda) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Reque // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAlias func (c *Lambda) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) { @@ -673,7 +700,8 @@ func (c *Lambda) DeleteEventSourceMappingRequest(input *DeleteEventSourceMapping // DeleteEventSourceMapping API operation for AWS Lambda. // -// Deletes an event source mapping. +// Deletes an event source mapping (https://docs.aws.amazon.com/lambda/latest/dg/intro-invocation-modes.html). +// You can get the identifier of a mapping from the output of ListEventSourceMappings. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -696,12 +724,12 @@ func (c *Lambda) DeleteEventSourceMappingRequest(input *DeleteEventSourceMapping // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeResourceInUseException "ResourceInUseException" // The operation conflicts with the resource's availability. For example, you -// attempted to update an EventSoure Mapping in CREATING, or tried to delete -// a EventSoure mapping currently in the UPDATING state. +// attempted to update an EventSource Mapping in CREATING, or tried to delete +// a EventSource mapping currently in the UPDATING state. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping func (c *Lambda) DeleteEventSourceMapping(input *DeleteEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { @@ -771,10 +799,11 @@ func (c *Lambda) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request // DeleteFunction API operation for AWS Lambda. // // Deletes a Lambda function. To delete a specific function version, use the -// Qualifier parameter. Otherwise, all versions and aliases are deleted. Event -// source mappings are not deleted. +// Qualifier parameter. Otherwise, all versions and aliases are deleted. // -// This operation requires permission for the lambda:DeleteFunction action. +// To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping. +// For AWS services and resources that invoke your function directly, delete +// the trigger in the service where you originally configured it. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -792,7 +821,7 @@ func (c *Lambda) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -869,8 +898,7 @@ func (c *Lambda) DeleteFunctionConcurrencyRequest(input *DeleteFunctionConcurren // DeleteFunctionConcurrency API operation for AWS Lambda. // -// Removes concurrent execution limits from this function. For more information, -// see Managing Concurrency (http://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html). +// Removes a concurrent execution limit from a function. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -888,7 +916,7 @@ func (c *Lambda) DeleteFunctionConcurrencyRequest(input *DeleteFunctionConcurren // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -962,9 +990,10 @@ func (c *Lambda) DeleteLayerVersionRequest(input *DeleteLayerVersionInput) (req // DeleteLayerVersion API operation for AWS Lambda. // -// Deletes a version of a function layer. Deleted versions can no longer be -// viewed or added to functions. However, a copy of the version remains in Lambda -// until no functions refer to it. +// Deletes a version of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). +// Deleted versions can no longer be viewed or added to functions. To avoid +// breaking functions, a copy of the version remains in Lambda until no functions +// refer to it. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -978,7 +1007,7 @@ func (c *Lambda) DeleteLayerVersionRequest(input *DeleteLayerVersionInput) (req // The AWS Lambda service encountered an internal error. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteLayerVersion func (c *Lambda) DeleteLayerVersion(input *DeleteLayerVersionInput) (*DeleteLayerVersionOutput, error) { @@ -1046,8 +1075,8 @@ func (c *Lambda) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req // GetAccountSettings API operation for AWS Lambda. // -// Retrieves details about your account's limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) -// and usage in a region. +// Retrieves details about your account's limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) +// and usage in an AWS Region. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1058,7 +1087,7 @@ func (c *Lambda) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req // // Returned Error Codes: // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeServiceException "ServiceException" // The AWS Lambda service encountered an internal error. @@ -1129,11 +1158,7 @@ func (c *Lambda) GetAliasRequest(input *GetAliasInput) (req *request.Request, ou // GetAlias API operation for AWS Lambda. // -// Returns the specified alias information such as the alias ARN, description, -// and function version it is pointing to. For more information, see Introduction -// to AWS Lambda Aliases (http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html). -// -// This requires permission for the lambda:GetAlias action. +// Returns details about a Lambda function alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.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 @@ -1156,7 +1181,7 @@ func (c *Lambda) GetAliasRequest(input *GetAliasInput) (req *request.Request, ou // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAlias func (c *Lambda) GetAlias(input *GetAliasInput) (*AliasConfiguration, error) { @@ -1224,7 +1249,8 @@ func (c *Lambda) GetEventSourceMappingRequest(input *GetEventSourceMappingInput) // GetEventSourceMapping API operation for AWS Lambda. // -// Returns details about an event source mapping. +// Returns details about an event source mapping. You can get the identifier +// of a mapping from the output of ListEventSourceMappings. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1247,7 +1273,7 @@ func (c *Lambda) GetEventSourceMappingRequest(input *GetEventSourceMappingInput) // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping func (c *Lambda) GetEventSourceMapping(input *GetEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { @@ -1315,17 +1341,9 @@ func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Reque // GetFunction API operation for AWS Lambda. // -// Returns the configuration information of the Lambda function and a presigned -// URL link to the .zip file you uploaded with CreateFunction so you can download -// the .zip file. Note that the URL is valid for up to 10 minutes. The configuration -// information is the same information you provided as parameters when uploading -// the function. -// -// Use the Qualifier parameter to retrieve a published version of the function. -// Otherwise, returns the unpublished version ($LATEST). For more information, -// see AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). -// -// This operation requires permission for the lambda:GetFunction action. +// Returns information about the function or function version, with a link to +// download the deployment package that's valid for 10 minutes. If you specify +// a function version, only details that are specific to that version are 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 @@ -1343,7 +1361,7 @@ func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Reque // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -1416,19 +1434,12 @@ func (c *Lambda) GetFunctionConfigurationRequest(input *GetFunctionConfiguration // GetFunctionConfiguration API operation for AWS Lambda. // -// Returns the configuration information of the Lambda function. This the same -// information you provided as parameters when uploading the function by using -// CreateFunction. -// -// If you are using the versioning feature, you can retrieve this information -// for a specific function version by using the optional Qualifier parameter -// and specifying the function version or alias that points to it. If you don't -// provide it, the API returns information about the $LATEST version of the -// function. For more information about versioning, see AWS Lambda Function -// Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). +// Returns the version-specific settings of a Lambda function or version. The +// output includes only options that can vary between versions of a function. +// To modify these settings, use UpdateFunctionConfiguration. // -// This operation requires permission for the lambda:GetFunctionConfiguration -// operation. +// To get all of a function's details, including function-level settings, use +// GetFunction. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1446,7 +1457,7 @@ func (c *Lambda) GetFunctionConfigurationRequest(input *GetFunctionConfiguration // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -1519,8 +1530,8 @@ func (c *Lambda) GetLayerVersionRequest(input *GetLayerVersionInput) (req *reque // GetLayerVersion API operation for AWS Lambda. // -// Returns information about a version of a function layer, with a link to download -// the layer archive that's valid for 10 minutes. +// Returns information about a version of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html), +// with a link to download the layer archive that's valid for 10 minutes. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1539,7 +1550,7 @@ func (c *Lambda) GetLayerVersionRequest(input *GetLayerVersionInput) (req *reque // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The resource (for example, a Lambda function or access policy statement) @@ -1611,8 +1622,8 @@ func (c *Lambda) GetLayerVersionPolicyRequest(input *GetLayerVersionPolicyInput) // GetLayerVersionPolicy API operation for AWS Lambda. // -// Returns the permission policy for a layer version. For more information, -// see AddLayerVersionPermission. +// Returns the permission policy for a version of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). +// For more information, see AddLayerVersionPermission. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1630,7 +1641,7 @@ func (c *Lambda) GetLayerVersionPolicyRequest(input *GetLayerVersionPolicyInput) // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -1703,9 +1714,8 @@ func (c *Lambda) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, // GetPolicy API operation for AWS Lambda. // -// Returns the resource policy associated with the specified Lambda function. -// -// This action requires permission for the lambda:GetPolicy action. +// Returns the resource-based IAM policy (https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) +// for a function, version, or alias. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1723,7 +1733,7 @@ func (c *Lambda) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -1796,32 +1806,32 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // Invoke API operation for AWS Lambda. // -// Invokes a Lambda function. For an example, see Create the Lambda Function -// and Test It Manually (http://docs.aws.amazon.com/lambda/latest/dg/with-dynamodb-create-function.html#with-dbb-invoke-manually). -// -// Specify just a function name to invoke the latest version of the function. -// To invoke a published version, use the Qualifier parameter to specify a version -// or alias (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). -// -// If you use the RequestResponse (synchronous) invocation option, the function -// will be invoked only once. If you use the Event (asynchronous) invocation -// option, the function will be invoked at least once in response to an event -// and the function must be idempotent to handle this. -// -// For functions with a long timeout, your client may be disconnected during +// Invokes a Lambda function. You can invoke a function synchronously (and wait +// for the response), or asynchronously. To invoke a function asynchronously, +// set InvocationType to Event. +// +// For synchronous invocation, details about the function response, including +// errors, are included in the response body and headers. For either invocation +// type, you can find more information in the execution log (https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html) +// and trace (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html). To record +// function errors for asynchronous invocations, configure your function with +// a dead letter queue (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html). +// +// The status code in the API response doesn't reflect function errors. Error +// codes are reserved for errors that prevent your function from executing, +// such as permissions errors, limit errors (https://docs.aws.amazon.com/lambda/latest/dg/limits.html), +// or issues with your function's code and configuration. For example, Lambda +// returns TooManyRequestsException if executing the function would cause you +// to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) +// or function level (ReservedFunctionConcurrentInvocationLimitExceeded). +// +// For functions with a long timeout, your client might be disconnected during // synchronous invocation while it waits for a response. Configure your HTTP // client, SDK, firewall, proxy, or operating system to allow for long connections // with timeout or keep-alive settings. // // This operation requires permission for the lambda:InvokeFunction action. // -// The TooManyRequestsException noted below will return the following: ConcurrentInvocationLimitExceeded -// will be returned if you have no functions with reserved concurrency and have -// exceeded your account concurrent limit or if a function without reserved -// concurrency exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// will be returned when a function with reserved concurrency exceeds its configured -// concurrency limit. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1842,13 +1852,13 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // // * ErrCodeRequestTooLargeException "RequestTooLargeException" // The request payload exceeded the Invoke request body JSON input limit. For -// more information, see Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html). +// more information, see Limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html). // // * ErrCodeUnsupportedMediaTypeException "UnsupportedMediaTypeException" // The content type of the Invoke request body is not JSON. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -1977,11 +1987,7 @@ func (c *Lambda) InvokeAsyncRequest(input *InvokeAsyncInput) (req *request.Reque // // For asynchronous function invocation, use Invoke. // -// Submits an invocation request to AWS Lambda. Upon receiving the request, -// Lambda executes the specified function asynchronously. To see the logs generated -// by the Lambda function execution, see the CloudWatch Logs console. -// -// This operation requires permission for the lambda:InvokeFunction action. +// Invokes a function asynchronously. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2074,12 +2080,8 @@ func (c *Lambda) ListAliasesRequest(input *ListAliasesInput) (req *request.Reque // ListAliases API operation for AWS Lambda. // -// Returns list of aliases created for a Lambda function. For each alias, the -// response includes information such as the alias ARN, description, alias name, -// and the function version to which it points. For more information, see Introduction -// to AWS Lambda Aliases (http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html). -// -// This requires permission for the lambda:ListAliases action. +// Returns a list of aliases (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html) +// for a Lambda function. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2102,7 +2104,7 @@ func (c *Lambda) ListAliasesRequest(input *ListAliasesInput) (req *request.Reque // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliases func (c *Lambda) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) { @@ -2200,7 +2202,7 @@ func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsIn // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings func (c *Lambda) ListEventSourceMappings(input *ListEventSourceMappingsInput) (*ListEventSourceMappingsOutput, error) { @@ -2324,15 +2326,12 @@ func (c *Lambda) ListFunctionsRequest(input *ListFunctionsInput) (req *request.R // ListFunctions API operation for AWS Lambda. // -// Returns a list of your Lambda functions. For each function, the response -// includes the function configuration information. You must use GetFunction -// to retrieve the code for your function. -// -// This operation requires permission for the lambda:ListFunctions action. +// Returns a list of Lambda functions, with the version-specific configuration +// of each. // -// If you are using the versioning feature, you can list all of your functions -// or only $LATEST versions. For information about the versioning feature, see -// AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). +// Set FunctionVersion to ALL to include all published versions of each function +// in addition to the unpublished version. To get more information about a function +// or version, use GetFunction. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2346,7 +2345,7 @@ func (c *Lambda) ListFunctionsRequest(input *ListFunctionsInput) (req *request.R // The AWS Lambda service encountered an internal error. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -2469,9 +2468,10 @@ func (c *Lambda) ListLayerVersionsRequest(input *ListLayerVersionsInput) (req *r // ListLayerVersions API operation for AWS Lambda. // -// Lists the versions of a function layer. Versions that have been deleted aren't -// listed. Specify a runtime identifier (http://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) -// to list only versions that indicate that they're compatible with that runtime. +// Lists the versions of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). +// Versions that have been deleted aren't listed. Specify a runtime identifier +// (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) to list +// only versions that indicate that they're compatible with that runtime. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2494,7 +2494,7 @@ func (c *Lambda) ListLayerVersionsRequest(input *ListLayerVersionsInput) (req *r // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayerVersions func (c *Lambda) ListLayerVersions(input *ListLayerVersionsInput) (*ListLayerVersionsOutput, error) { @@ -2562,8 +2562,9 @@ func (c *Lambda) ListLayersRequest(input *ListLayersInput) (req *request.Request // ListLayers API operation for AWS Lambda. // -// Lists function layers and shows information about the latest version of each. -// Specify a runtime identifier (http://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) +// Lists AWS Lambda layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) +// and shows information about the latest version of each. Specify a runtime +// identifier (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) // to list only layers that indicate that they're compatible with that runtime. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2583,7 +2584,7 @@ func (c *Lambda) ListLayersRequest(input *ListLayersInput) (req *request.Request // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayers func (c *Lambda) ListLayers(input *ListLayersInput) (*ListLayersOutput, error) { @@ -2651,10 +2652,8 @@ func (c *Lambda) ListTagsRequest(input *ListTagsInput) (req *request.Request, ou // ListTags API operation for AWS Lambda. // -// Returns a list of tags assigned to a function when supplied the function -// ARN (Amazon Resource Name). For more information on Tagging, see Tagging -// Lambda Functions (http://docs.aws.amazon.com/lambda/latest/dg/tagging.html) -// in the AWS Lambda Developer Guide. +// Returns a function's tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html). +// You can also view tags with GetFunction. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2677,7 +2676,7 @@ func (c *Lambda) ListTagsRequest(input *ListTagsInput) (req *request.Request, ou // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTags func (c *Lambda) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { @@ -2745,8 +2744,8 @@ func (c *Lambda) ListVersionsByFunctionRequest(input *ListVersionsByFunctionInpu // ListVersionsByFunction API operation for AWS Lambda. // -// Lists all versions of a function. For information about versioning, see AWS -// Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). +// Returns a list of versions (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html), +// with the version-specific configuration of each. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2769,7 +2768,7 @@ func (c *Lambda) ListVersionsByFunctionRequest(input *ListVersionsByFunctionInpu // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction func (c *Lambda) ListVersionsByFunction(input *ListVersionsByFunctionInput) (*ListVersionsByFunctionOutput, error) { @@ -2837,8 +2836,9 @@ func (c *Lambda) PublishLayerVersionRequest(input *PublishLayerVersionInput) (re // PublishLayerVersion API operation for AWS Lambda. // -// Creates a function layer from a ZIP archive. Each time you call PublishLayerVersion -// with the same version name, a new version is created. +// Creates an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) +// from a ZIP archive. Each time you call PublishLayerVersion with the same +// version name, a new version is created. // // Add layers to your function with CreateFunction or UpdateFunctionConfiguration. // @@ -2858,7 +2858,7 @@ func (c *Lambda) PublishLayerVersionRequest(input *PublishLayerVersionInput) (re // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -2866,7 +2866,7 @@ func (c *Lambda) PublishLayerVersionRequest(input *PublishLayerVersionInput) (re // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" -// You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) +// You have exceeded your maximum total code size per account. Limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishLayerVersion func (c *Lambda) PublishLayerVersion(input *PublishLayerVersionInput) (*PublishLayerVersionOutput, error) { @@ -2934,11 +2934,16 @@ func (c *Lambda) PublishVersionRequest(input *PublishVersionInput) (req *request // PublishVersion API operation for AWS Lambda. // -// Publishes a version of your function from the current snapshot of $LATEST. -// That is, AWS Lambda takes a snapshot of the function code and configuration -// information from $LATEST and publishes a new version. The code and configuration -// cannot be modified after publication. For information about the versioning -// feature, see AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). +// Creates a version (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html) +// from the current code and configuration of a function. Use versions to create +// a snapshot of your function code and configuration that doesn't change. +// +// AWS Lambda doesn't publish a version if the function's configuration and +// code haven't changed since the last version. Use UpdateFunctionCode or UpdateFunctionConfiguration +// to update the function before publishing a version. +// +// Clients can invoke versions directly or with an alias. To create an alias, +// use CreateAlias. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2961,10 +2966,10 @@ func (c *Lambda) PublishVersionRequest(input *PublishVersionInput) (req *request // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" -// You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) +// You have exceeded your maximum total code size per account. Limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -3037,12 +3042,20 @@ func (c *Lambda) PutFunctionConcurrencyRequest(input *PutFunctionConcurrencyInpu // PutFunctionConcurrency API operation for AWS Lambda. // -// Sets a limit on the number of concurrent executions available to this function. -// It is a subset of your account's total concurrent execution limit per region. -// Note that Lambda automatically reserves a buffer of 100 concurrent executions -// for functions without any reserved concurrency limit. This means if your -// account limit is 1000, you have a total of 900 available to allocate to individual -// functions. For more information, see Managing Concurrency (http://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html). +// Sets the maximum number of simultaneous executions for a function, and reserves +// capacity for that concurrency level. +// +// Concurrency settings apply to the function as a whole, including all published +// versions and the unpublished version. Reserving concurrency both ensures +// that your function has capacity to process the specified number of events +// simultaneously, and prevents it from scaling beyond that level. Use GetFunction +// to see the current setting for a function. +// +// Use GetAccountSettings to see your regional concurrency limit. You can reserve +// concurrency for as many functions as you like, as long as you leave at least +// 100 simultaneous executions unreserved for functions that aren't configured +// with a per-function limit. For more information, see Managing Concurrency +// (https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.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 @@ -3065,7 +3078,7 @@ func (c *Lambda) PutFunctionConcurrencyRequest(input *PutFunctionConcurrencyInpu // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionConcurrency func (c *Lambda) PutFunctionConcurrency(input *PutFunctionConcurrencyInput) (*PutFunctionConcurrencyOutput, error) { @@ -3134,8 +3147,9 @@ func (c *Lambda) RemoveLayerVersionPermissionRequest(input *RemoveLayerVersionPe // RemoveLayerVersionPermission API operation for AWS Lambda. // -// Removes a statement from the permissions policy for a layer version. For -// more information, see AddLayerVersionPermission. +// Removes a statement from the permissions policy for a version of an AWS Lambda +// layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). +// For more information, see AddLayerVersionPermission. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3158,7 +3172,7 @@ func (c *Lambda) RemoveLayerVersionPermissionRequest(input *RemoveLayerVersionPe // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -3232,19 +3246,8 @@ func (c *Lambda) RemovePermissionRequest(input *RemovePermissionInput) (req *req // RemovePermission API operation for AWS Lambda. // -// Removes permissions from a function. You can remove individual permissions -// from an resource policy associated with a Lambda function by providing a -// statement ID that you provided when you added the permission. When you remove -// permissions, disable the event source mapping or trigger configuration first -// to avoid errors. -// -// Permissions apply to the Amazon Resource Name (ARN) used to invoke the function, -// which can be unqualified (the unpublished version of the function), or include -// a version or alias. If a client uses a version or alias to invoke a function, -// use the Qualifier parameter to apply permissions to that ARN. For more information -// about versioning, see AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). -// -// You need permission for the lambda:RemovePermission action. +// Revokes function-use permission from an AWS service or another account. You +// can get the ID of the statement from the output of GetPolicy. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3267,7 +3270,7 @@ func (c *Lambda) RemovePermissionRequest(input *RemovePermissionInput) (req *req // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -3341,11 +3344,8 @@ func (c *Lambda) TagResourceRequest(input *TagResourceInput) (req *request.Reque // TagResource API operation for AWS Lambda. // -// Creates a list of tags (key-value pairs) on the Lambda function. Requires -// the Lambda function ARN (Amazon Resource Name). If a key is specified without -// a value, Lambda creates a tag with the specified key and a value of null. -// For more information, see Tagging Lambda Functions (http://docs.aws.amazon.com/lambda/latest/dg/tagging.html) -// in the AWS Lambda Developer Guide. +// Adds tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to +// a function. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3368,7 +3368,7 @@ func (c *Lambda) TagResourceRequest(input *TagResourceInput) (req *request.Reque // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResource func (c *Lambda) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { @@ -3437,9 +3437,8 @@ func (c *Lambda) UntagResourceRequest(input *UntagResourceInput) (req *request.R // UntagResource API operation for AWS Lambda. // -// Removes tags from a Lambda function. Requires the function ARN (Amazon Resource -// Name). For more information, see Tagging Lambda Functions (http://docs.aws.amazon.com/lambda/latest/dg/tagging.html) -// in the AWS Lambda Developer Guide. +// Removes tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) +// from a function. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3462,7 +3461,7 @@ func (c *Lambda) UntagResourceRequest(input *UntagResourceInput) (req *request.R // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResource func (c *Lambda) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { @@ -3530,11 +3529,7 @@ func (c *Lambda) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Reque // UpdateAlias API operation for AWS Lambda. // -// Using this API you can update the function version to which the alias points -// and the alias description. For more information, see Introduction to AWS -// Lambda Aliases (http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html). -// -// This requires permission for the lambda:UpdateAlias action. +// Updates the configuration of a Lambda function alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.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 @@ -3557,7 +3552,7 @@ func (c *Lambda) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Reque // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -3654,15 +3649,15 @@ func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMapping // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeResourceConflictException "ResourceConflictException" // The resource already exists. // // * ErrCodeResourceInUseException "ResourceInUseException" // The operation conflicts with the resource's availability. For example, you -// attempted to update an EventSoure Mapping in CREATING, or tried to delete -// a EventSoure mapping currently in the UPDATING state. +// attempted to update an EventSource Mapping in CREATING, or tried to delete +// a EventSource mapping currently in the UPDATING state. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMapping func (c *Lambda) UpdateEventSourceMapping(input *UpdateEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { @@ -3730,15 +3725,10 @@ func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req // UpdateFunctionCode API operation for AWS Lambda. // -// Updates the code for the specified Lambda function. This operation must only -// be used on an existing Lambda function and cannot be used to update the function -// configuration. -// -// If you are using the versioning feature, note this API will always update -// the $LATEST version of your Lambda function. For information about the versioning -// feature, see AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). +// Updates a Lambda function's code. // -// This operation requires permission for the lambda:UpdateFunctionCode action. +// The function's code is locked when you publish a version. You can't modify +// the code of a published version, only the unpublished version. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3761,10 +3751,10 @@ func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" -// You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) +// You have exceeded your maximum total code size per account. Limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -3837,17 +3827,14 @@ func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigu // UpdateFunctionConfiguration API operation for AWS Lambda. // -// Updates the configuration parameters for the specified Lambda function by -// using the values provided in the request. You provide only the parameters -// you want to change. This operation must only be used on an existing Lambda -// function and cannot be used to update the function's code. +// Modify the version-specifc settings of a Lambda function. // -// If you are using the versioning feature, note this API will always update -// the $LATEST version of your Lambda function. For information about the versioning -// feature, see AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). +// These settings can vary between versions of a function and are locked when +// you publish a version. You can't modify the configuration of a published +// version, only the unpublished version. // -// This operation requires permission for the lambda:UpdateFunctionConfiguration -// action. +// To configure function concurrency, use PutFunctionConcurrency. To grant invoke +// permissions to an account or AWS service, use AddPermission. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3870,7 +3857,7 @@ func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigu // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded +// Request throughput limit exceeded. // // * ErrCodeResourceConflictException "ResourceConflictException" // The resource already exists. @@ -3902,31 +3889,27 @@ func (c *Lambda) UpdateFunctionConfigurationWithContext(ctx aws.Context, input * return out, req.Send() } -// Provides limits of code size and concurrency associated with the current -// account and region. For more information or to request a limit increase for -// concurrent executions, see Lambda Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html). +// Limits that are related to concurrency and code storage. All file and storage +// sizes are in bytes. type AccountLimit struct { _ struct{} `type:"structure"` - // Size, in bytes, of code/dependencies that you can zip into a deployment package - // (uncompressed zip/jar size) for uploading. The default limit is 250 MB. + // The maximum size of your function's code and layers when they're extracted. CodeSizeUnzipped *int64 `type:"long"` - // Size, in bytes, of a single zipped code/dependencies package you can upload - // for your Lambda function(.zip/.jar file). Try using Amazon S3 for uploading - // larger files. Default limit is 50 MB. + // The maximum size of a deployment package when it's uploaded directly to AWS + // Lambda. Use Amazon S3 for larger files. CodeSizeZipped *int64 `type:"long"` - // Number of simultaneous executions of your function per region. The default - // limit is 1000. + // The maximum number of simultaneous function executions. ConcurrentExecutions *int64 `type:"integer"` - // Maximum size, in bytes, of a code package you can upload per region. The - // default size is 75 GB. + // The amount of storage space that you can use for all deployment packages + // and layer archives. TotalCodeSize *int64 `type:"long"` - // The number of concurrent executions available to functions that do not have - // concurrency limits set. For more information, see Managing Concurrency (http://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html). + // The maximum number of simultaneous function executions, minus the capacity + // that's reserved for individual functions with PutFunctionConcurrency. UnreservedConcurrentExecutions *int64 `type:"integer"` } @@ -3970,15 +3953,15 @@ func (s *AccountLimit) SetUnreservedConcurrentExecutions(v int64) *AccountLimit return s } -// Provides code size usage and function count associated with the current account -// and region. +// The number of functions and amount of storage in use. type AccountUsage struct { _ struct{} `type:"structure"` - // The number of your account's existing functions per region. + // The number of Lambda functions. FunctionCount *int64 `type:"long"` - // Total size, in bytes, of the account's deployment packages per region. + // The amount of storage space, in bytes, that's being used by deployment packages + // and layer archives. TotalCodeSize *int64 `type:"long"` } @@ -4012,7 +3995,7 @@ type AddLayerVersionPermissionInput struct { // Action is a required field Action *string `type:"string" required:"true"` - // The name of the layer. + // The name or Amazon Resource Name (ARN) of the layer. // // LayerName is a required field LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"` @@ -4160,39 +4143,35 @@ func (s *AddLayerVersionPermissionOutput) SetStatement(v string) *AddLayerVersio type AddPermissionInput struct { _ struct{} `type:"structure"` - // The AWS Lambda action you want to allow in this statement. Each Lambda action - // is a string starting with lambda: followed by the API name . For example, - // lambda:CreateFunction. You can use wildcard (lambda:*) to grant permission - // for all AWS Lambda actions. + // The action that the principal can use on the function. For example, lambda:InvokeFunction + // or lambda:GetFunction. // // Action is a required field Action *string `type:"string" required:"true"` - // A unique token that must be supplied by the principal invoking the function. - // This is currently only used for Alexa Smart Home functions. + // For Alexa Smart Home functions, a token that must be supplied by the invoker. EventSourceToken *string `type:"string"` - // The name of the Lambda function. + // The name of the Lambda function, version, or alias. // // Name formats // - // * Function name - MyFunction. + // * Function name - my-function (name-only), my-function:v1 (with alias). // - // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. // - // * Partial ARN - 123456789012:function:MyFunction. + // * Partial ARN - 123456789012:function:my-function. // - // The length constraint applies only to the full ARN. If you specify only the - // function name, it is limited to 64 characters in length. + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. // // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // The principal who is getting this permission. The principal can be an AWS - // service (e.g. s3.amazonaws.com or sns.amazonaws.com) for service triggers, - // or an account ID for cross-account access. If you specify a service as a - // principal, use the SourceArn parameter to limit who can invoke the function - // through that service. + // The AWS service or account that invokes the function. If you specify a service, + // use SourceArn or SourceAccount to limit who can invoke the function through + // that service. // // Principal is a required field Principal *string `type:"string" required:"true"` @@ -4201,30 +4180,25 @@ type AddPermissionInput struct { // function. Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` - // An optional value you can use to ensure you are updating the latest update - // of the function version or alias. If the RevisionID you pass doesn't match - // the latest RevisionId of the function or alias, it will fail with an error - // message, advising you to retrieve the latest function version or alias RevisionID - // using either GetFunction or GetAlias + // Only update the policy if the revision ID matches the ID that's specified. + // Use this option to avoid modifying a policy that has changed since you last + // read it. RevisionId *string `type:"string"` - // This parameter is used for S3 and SES. The AWS account ID (without a hyphen) - // of the source owner. For example, if the SourceArn identifies a bucket, then - // this is the bucket owner's account ID. You can use this additional condition - // to ensure the bucket you specify is owned by a specific account (it is possible - // the bucket owner deleted the bucket and some other AWS account created the - // bucket). You can also use this condition to specify all sources (that is, - // you don't specify the SourceArn) owned by a specific account. + // For AWS services, the ID of the account that owns the resource. Use this + // instead of SourceArn to grant permission to resources that are owned by another + // account (for example, all of an account's Amazon S3 buckets). Or use it together + // with SourceArn to ensure that the resource is owned by the specified account. + // For example, an Amazon S3 bucket could be deleted by its owner and recreated + // by another account. SourceAccount *string `type:"string"` - // The Amazon Resource Name of the invoker. - // - // If you add a permission to a service principal without providing the source - // ARN, any AWS account that creates a mapping to your function ARN can invoke - // your Lambda function. + // For AWS services, the ARN of the AWS resource that invokes the function. + // For example, an Amazon S3 bucket or Amazon SNS topic. SourceArn *string `type:"string"` - // A unique statement identifier. + // A statement identifier that differentiates the statement from others in the + // same policy. // // StatementId is a required field StatementId *string `min:"1" type:"string" required:"true"` @@ -4328,9 +4302,7 @@ func (s *AddPermissionInput) SetStatementId(v string) *AddPermissionInput { type AddPermissionOutput struct { _ struct{} `type:"structure"` - // The permission statement you specified in the request. The response returns - // the same as a string using a backslash ("\") as an escape character in the - // JSON. + // The permission statement that's added to the function policy. Statement *string `type:"string"` } @@ -4350,29 +4322,27 @@ func (s *AddPermissionOutput) SetStatement(v string) *AddPermissionOutput { return s } -// Provides configuration information about a Lambda function version alias. +// Provides configuration information about a Lambda function alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). type AliasConfiguration struct { _ struct{} `type:"structure"` - // Lambda function ARN that is qualified using the alias name as the suffix. - // For example, if you create an alias called BETA that points to a helloworld - // function version, the ARN is arn:aws:lambda:aws-regions:acct-id:function:helloworld:BETA. + // The Amazon Resource Name (ARN) of the alias. AliasArn *string `type:"string"` - // Alias description. + // A description of the alias. Description *string `type:"string"` - // Function version to which the alias points. + // The function version that the alias invokes. FunctionVersion *string `min:"1" type:"string"` - // Alias name. + // The name of the alias. Name *string `min:"1" type:"string"` - // Represents the latest updated revision of the function or alias. + // A unique identifier that changes when you update the alias. RevisionId *string `type:"string"` - // Specifies an additional function versions the alias points to, allowing you - // to dictate what percentage of traffic will invoke each version. + // The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html) + // of the alias. RoutingConfig *AliasRoutingConfiguration `type:"structure"` } @@ -4422,12 +4392,12 @@ func (s *AliasConfiguration) SetRoutingConfig(v *AliasRoutingConfiguration) *Ali return s } -// The alias's traffic shifting (http://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html) -// configuration. +// The traffic-shifting (https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html) +// configuration of a Lambda function alias. type AliasRoutingConfiguration struct { _ struct{} `type:"structure"` - // The name of the second alias, and the percentage of traffic that is routed + // The name of the second alias, and the percentage of traffic that's routed // to it. AdditionalVersionWeights map[string]*float64 `type:"map"` } @@ -4451,10 +4421,10 @@ func (s *AliasRoutingConfiguration) SetAdditionalVersionWeights(v map[string]*fl type CreateAliasInput struct { _ struct{} `type:"structure"` - // Description of the alias. + // A description of the alias. Description *string `type:"string"` - // The name of the lambda function. + // The name of the Lambda function. // // Name formats // @@ -4470,19 +4440,18 @@ type CreateAliasInput struct { // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // Lambda function version for which you are creating the alias. + // The function version that the alias invokes. // // FunctionVersion is a required field FunctionVersion *string `min:"1" type:"string" required:"true"` - // Name for the alias you are creating. + // The name of the alias. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // Specifies an additional version your alias can point to, allowing you to - // dictate what percentage of traffic will invoke each version. For more information, - // see Traffic Shifting Using Aliases (http://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html). + // The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html) + // of the alias. RoutingConfig *AliasRoutingConfiguration `type:"structure"` } @@ -4603,8 +4572,7 @@ type CreateEventSourceMappingInput struct { // for Amazon Kinesis streams. StartingPosition *string `type:"string" enum:"EventSourcePosition"` - // With StartingPosition set to AT_TIMESTAMP, the Unix time in seconds from - // which to start reading. + // With StartingPosition set to AT_TIMESTAMP, the time from which to start reading. StartingPositionTimestamp *time.Time `type:"timestamp"` } @@ -4686,7 +4654,7 @@ type CreateFunctionInput struct { // A dead letter queue configuration that specifies the queue or topic where // Lambda sends asynchronous events when they fail processing. For more information, - // see Dead Letter Queues (http://docs.aws.amazon.com/lambda/latest/dg/dlq.html). + // see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html). DeadLetterConfig *DeadLetterConfig `type:"structure"` // A description of the function. @@ -4699,11 +4667,11 @@ type CreateFunctionInput struct { // // Name formats // - // * Function name - MyFunction. + // * Function name - my-function. // - // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. // - // * Partial ARN - 123456789012:function:MyFunction. + // * Partial ARN - 123456789012:function:my-function. // // The length constraint applies only to the full ARN. If you specify only the // function name, it is limited to 64 characters in length. @@ -4712,54 +4680,57 @@ type CreateFunctionInput struct { FunctionName *string `min:"1" type:"string" required:"true"` // The name of the method within your code that Lambda calls to execute your - // function. For more information, see Programming Model (http://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html). + // function. The format includes the file name. It can also include namespaces + // and other qualifiers, depending on the runtime. For more information, see + // Programming Model (https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html). // // Handler is a required field Handler *string `type:"string" required:"true"` - // The ARN of the KMS key used to encrypt your function's environment variables. - // If not provided, AWS Lambda will use a default service key. + // The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt + // your function's environment variables. If it's not provided, AWS Lambda uses + // a default service key. KMSKeyArn *string `type:"string"` - // A list of function layers (http://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) - // to add to the function's execution environment. + // A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) + // to add to the function's execution environment. Specify each layer by its + // ARN, including the version. Layers []*string `type:"list"` // The amount of memory that your function has access to. Increasing the function's - // memory also increases it's CPU allocation. The default value is 128 MB. The + // memory also increases its CPU allocation. The default value is 128 MB. The // value must be a multiple of 64 MB. MemorySize *int64 `min:"128" type:"integer"` // Set to true to publish the first version of the function during creation. Publish *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the function's execution role (http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role). + // The Amazon Resource Name (ARN) of the function's execution role. // // Role is a required field Role *string `type:"string" required:"true"` - // The runtime version for the function. + // The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). // // Runtime is a required field Runtime *string `type:"string" required:"true" enum:"Runtime"` - // The list of tags (key-value pairs) assigned to the new function. For more - // information, see Tagging Lambda Functions (http://docs.aws.amazon.com/lambda/latest/dg/tagging.html) - // in the AWS Lambda Developer Guide. + // A list of tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) + // to apply to the function. Tags map[string]*string `type:"map"` - // The amount of time that Lambda allows a function to run before terminating - // it. The default is 3 seconds. The maximum allowed value is 900 seconds. + // The amount of time that Lambda allows a function to run before stopping it. + // The default is 3 seconds. The maximum allowed value is 900 seconds. Timeout *int64 `min:"1" type:"integer"` // Set Mode to Active to sample and trace a subset of incoming requests with // AWS X-Ray. TracingConfig *TracingConfig `type:"structure"` - // If your Lambda function accesses resources in a VPC, you provide this parameter - // identifying the list of security group IDs and subnet IDs. These must belong - // to the same VPC. You must provide at least one security group and one subnet - // ID. + // For network connectivity to AWS resources in a VPC, specify a list of security + // groups and subnets in the VPC. When you connect a function to a VPC, it can + // only access resources and the internet through that VPC. For more information, + // see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/vpc.html). VpcConfig *VpcConfig `type:"structure"` } @@ -4908,7 +4879,7 @@ func (s *CreateFunctionInput) SetVpcConfig(v *VpcConfig) *CreateFunctionInput { return s } -// The dead letter queue (http://docs.aws.amazon.com/lambda/latest/dg/dlq.html) +// The dead letter queue (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html) // for failed asynchronous invocations. type DeadLetterConfig struct { _ struct{} `type:"structure"` @@ -4936,7 +4907,7 @@ func (s *DeadLetterConfig) SetTargetArn(v string) *DeadLetterConfig { type DeleteAliasInput struct { _ struct{} `type:"structure"` - // The name of the lambda function. + // The name of the Lambda function. // // Name formats // @@ -4952,7 +4923,7 @@ type DeleteAliasInput struct { // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // Name of the alias to delete. + // The name of the alias. // // Name is a required field Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` @@ -5064,11 +5035,11 @@ type DeleteFunctionConcurrencyInput struct { // // Name formats // - // * Function name - MyFunction. + // * Function name - my-function. // - // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. // - // * Partial ARN - 123456789012:function:MyFunction. + // * Partial ARN - 123456789012:function:my-function. // // The length constraint applies only to the full ARN. If you specify only the // function name, it is limited to 64 characters in length. @@ -5126,23 +5097,24 @@ func (s DeleteFunctionConcurrencyOutput) GoString() string { type DeleteFunctionInput struct { _ struct{} `type:"structure"` - // The name of the Lambda function. + // The name of the Lambda function or version. // // Name formats // - // * Function name - MyFunction. + // * Function name - my-function (name-only), my-function:1 (with version). // - // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. // - // * Partial ARN - 123456789012:function:MyFunction. + // * Partial ARN - 123456789012:function:my-function. // - // The length constraint applies only to the full ARN. If you specify only the - // function name, it is limited to 64 characters in length. + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. // // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // Specify a version to delete. You cannot delete a version that is referenced + // Specify a version to delete. You can't delete a version that's referenced // by an alias. Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` } @@ -5205,7 +5177,7 @@ func (s DeleteFunctionOutput) GoString() string { type DeleteLayerVersionInput struct { _ struct{} `type:"structure"` - // The name of the layer. + // The name or Amazon Resource Name (ARN) of the layer. // // LayerName is a required field LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"` @@ -5295,7 +5267,7 @@ func (s *Environment) SetVariables(v map[string]*string) *Environment { return s } -// Error messages for environment variables that could not be applied. +// Error messages for environment variables that couldn't be applied. type EnvironmentError struct { _ struct{} `type:"structure"` @@ -5332,7 +5304,7 @@ func (s *EnvironmentError) SetMessage(v string) *EnvironmentError { type EnvironmentResponse struct { _ struct{} `type:"structure"` - // Error messages for environment variables that could not be applied. + // Error messages for environment variables that couldn't be applied. Error *EnvironmentError `type:"structure"` // Environment variable key-value pairs. @@ -5375,7 +5347,7 @@ type EventSourceMappingConfiguration struct { // The ARN of the Lambda function. FunctionArn *string `type:"string"` - // The date that the event source mapping was last updated, in Unix time seconds. + // The date that the event source mapping was last updated. LastModified *time.Time `type:"timestamp"` // The result of the last AWS Lambda invocation of your Lambda function. @@ -5450,12 +5422,13 @@ func (s *EventSourceMappingConfiguration) SetUUID(v string) *EventSourceMappingC return s } -// The code for the Lambda function. You can specify either an S3 location, -// or upload a deployment package directly. +// The code for the Lambda function. You can specify either an object in Amazon +// S3, or upload a deployment package directly. type FunctionCode struct { _ struct{} `type:"structure"` - // An Amazon S3 bucket in the same region as your function. + // An Amazon S3 bucket in the same AWS Region as your function. The bucket can + // be in a different AWS account. S3Bucket *string `min:"3" type:"string"` // The Amazon S3 key of the deployment package. @@ -5464,8 +5437,8 @@ type FunctionCode struct { // For versioned objects, the version of the deployment package object to use. S3ObjectVersion *string `min:"1" type:"string"` - // The base64-encoded contents of your zip file containing your deployment package. - // AWS SDK and AWS CLI clients handle the encoding for you. + // The base64-encoded contents of the deployment package. AWS SDK and AWS CLI + // clients handle the encoding for you. // // ZipFile is automatically base64 encoded/decoded by the SDK. ZipFile []byte `type:"blob" sensitive:"true"` @@ -5524,15 +5497,14 @@ func (s *FunctionCode) SetZipFile(v []byte) *FunctionCode { return s } -// The object for the Lambda function location. +// Details about a function's deployment package. type FunctionCodeLocation struct { _ struct{} `type:"structure"` - // The presigned URL you can use to download the function's .zip file that you - // previously uploaded. The URL is valid for up to 10 minutes. + // A presigned URL that you can use to download the deployment package. Location *string `type:"string"` - // The repository from which you can download the function. + // The service that's hosting the file. RepositoryType *string `type:"string"` } @@ -5558,14 +5530,14 @@ func (s *FunctionCodeLocation) SetRepositoryType(v string) *FunctionCodeLocation return s } -// A Lambda function's configuration settings. +// Details about a function's configuration. type FunctionConfiguration struct { _ struct{} `type:"structure"` // The SHA256 hash of the function's deployment package. CodeSha256 *string `type:"string"` - // The size of the function's deployment package in bytes. + // The size of the function's deployment package, in bytes. CodeSize *int64 `type:"long"` // The function's dead letter queue. @@ -5577,33 +5549,33 @@ type FunctionConfiguration struct { // The function's environment variables. Environment *EnvironmentResponse `type:"structure"` - // The function's Amazon Resource Name. + // The function's Amazon Resource Name (ARN). FunctionArn *string `type:"string"` // The name of the function. FunctionName *string `min:"1" type:"string"` - // The function Lambda calls to begin executing your function. + // The function that Lambda calls to begin executing your function. Handler *string `type:"string"` - // The KMS key used to encrypt the function's environment variables. Only returned - // if you've configured a customer managed CMK. + // The KMS key that's used to encrypt the function's environment variables. + // This key is only returned if you've configured a customer-managed CMK. KMSKeyArn *string `type:"string"` // The date and time that the function was last updated, in ISO-8601 format // (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD). LastModified *string `type:"string"` - // A list of function layers (http://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). + // The function's layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). Layers []*Layer `type:"list"` - // The ARN of the master function. + // For Lambda@Edge functions, the ARN of the master function. MasterArn *string `type:"string"` - // The memory allocated to the function + // The memory that's allocated to the function. MemorySize *int64 `min:"128" type:"integer"` - // Represents the latest updated revision of the function or alias. + // The latest updated revision of the function or alias. RevisionId *string `type:"string"` // The function's execution role. @@ -5612,8 +5584,7 @@ type FunctionConfiguration struct { // The runtime environment for the Lambda function. Runtime *string `type:"string" enum:"Runtime"` - // The amount of time that Lambda allows a function to run before terminating - // it. + // The amount of time that Lambda allows a function to run before stopping it. Timeout *int64 `min:"1" type:"integer"` // The function's AWS X-Ray tracing configuration. @@ -5773,7 +5744,7 @@ func (s GetAccountSettingsInput) GoString() string { type GetAccountSettingsOutput struct { _ struct{} `type:"structure"` - // Limits related to concurrency and code storage. + // Limits that are related to concurrency and code storage. AccountLimit *AccountLimit `type:"structure"` // The number of functions and amount of storage in use. @@ -5805,7 +5776,7 @@ func (s *GetAccountSettingsOutput) SetAccountUsage(v *AccountUsage) *GetAccountS type GetAliasInput struct { _ struct{} `type:"structure"` - // The name of the lambda function. + // The name of the Lambda function. // // Name formats // @@ -5821,7 +5792,7 @@ type GetAliasInput struct { // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // Name of the alias for which you want to retrieve information. + // The name of the alias. // // Name is a required field Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` @@ -5915,18 +5886,19 @@ func (s *GetEventSourceMappingInput) SetUUID(v string) *GetEventSourceMappingInp type GetFunctionConfigurationInput struct { _ struct{} `type:"structure"` - // The name of the Lambda function. + // The name of the Lambda function, version, or alias. // // Name formats // - // * Function name - MyFunction. + // * Function name - my-function (name-only), my-function:v1 (with alias). // - // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. // - // * Partial ARN - 123456789012:function:MyFunction. + // * Partial ARN - 123456789012:function:my-function. // - // The length constraint applies only to the full ARN. If you specify only the - // function name, it is limited to 64 characters in length. + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. // // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` @@ -5980,18 +5952,19 @@ func (s *GetFunctionConfigurationInput) SetQualifier(v string) *GetFunctionConfi type GetFunctionInput struct { _ struct{} `type:"structure"` - // The name of the Lambda function. + // The name of the Lambda function, version, or alias. // // Name formats // - // * Function name - MyFunction. + // * Function name - my-function (name-only), my-function:v1 (with alias). // - // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. // - // * Partial ARN - 123456789012:function:MyFunction. + // * Partial ARN - 123456789012:function:my-function. // - // The length constraint applies only to the full ARN. If you specify only the - // function name, it is limited to 64 characters in length. + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. // // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` @@ -6042,23 +6015,19 @@ func (s *GetFunctionInput) SetQualifier(v string) *GetFunctionInput { return s } -// This response contains the object for the Lambda function location (see FunctionCodeLocation. type GetFunctionOutput struct { _ struct{} `type:"structure"` - // The function's code. + // The deployment package of the function or version. Code *FunctionCodeLocation `type:"structure"` - // The concurrent execution limit set for this function. For more information, - // see Managing Concurrency (http://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html). + // The function's reserved concurrency (https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html). Concurrency *PutFunctionConcurrencyOutput `type:"structure"` - // The function's configuration. + // The configuration of the function or version. Configuration *FunctionConfiguration `type:"structure"` - // Returns the list of tags associated with the function. For more information, - // see Tagging Lambda Functions (http://docs.aws.amazon.com/lambda/latest/dg/tagging.html) - // in the AWS Lambda Developer Guide. + // The function's tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html). Tags map[string]*string `type:"map"` } @@ -6099,7 +6068,7 @@ func (s *GetFunctionOutput) SetTags(v map[string]*string) *GetFunctionOutput { type GetLayerVersionInput struct { _ struct{} `type:"structure"` - // The name of the layer. + // The name or Amazon Resource Name (ARN) of the layer. // // LayerName is a required field LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"` @@ -6167,7 +6136,7 @@ type GetLayerVersionOutput struct { // The description of the version. Description *string `type:"string"` - // The Amazon Resource Name (ARN) of the function layer. + // The ARN of the layer. LayerArn *string `min:"1" type:"string"` // The ARN of the layer version. @@ -6241,7 +6210,7 @@ func (s *GetLayerVersionOutput) SetVersion(v int64) *GetLayerVersionOutput { type GetLayerVersionPolicyInput struct { _ struct{} `type:"structure"` - // The name of the layer. + // The name or Amazon Resource Name (ARN) of the layer. // // LayerName is a required field LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"` @@ -6328,26 +6297,24 @@ func (s *GetLayerVersionPolicyOutput) SetRevisionId(v string) *GetLayerVersionPo type GetPolicyInput struct { _ struct{} `type:"structure"` - // The name of the lambda function. + // The name of the Lambda function, version, or alias. // // Name formats // - // * Function name - MyFunction. + // * Function name - my-function (name-only), my-function:v1 (with alias). // - // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. // - // * Partial ARN - 123456789012:function:MyFunction. + // * Partial ARN - 123456789012:function:my-function. // - // The length constraint applies only to the full ARN. If you specify only the - // function name, it is limited to 64 characters in length. + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. // // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // You can specify this optional query parameter to specify a function version - // or an alias name in which case this API will return all permissions associated - // with the specific qualified ARN. If you don't provide this parameter, the - // API will return permissions that apply to the unqualified function ARN. + // Specify a version or alias to get the policy for that resource. Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` } @@ -6395,12 +6362,10 @@ func (s *GetPolicyInput) SetQualifier(v string) *GetPolicyInput { type GetPolicyOutput struct { _ struct{} `type:"structure"` - // The resource policy associated with the specified function. The response - // returns the same as a string using a backslash ("\") as an escape character - // in the JSON. + // The resource-based policy. Policy *string `type:"string"` - // Represents the latest updated revision of the function or alias. + // A unique identifier for the current revision of the policy. RevisionId *string `type:"string"` } @@ -6434,11 +6399,11 @@ type InvokeAsyncInput struct { // // Name formats // - // * Function name - MyFunction. + // * Function name - my-function. // - // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. // - // * Partial ARN - 123456789012:function:MyFunction. + // * Partial ARN - 123456789012:function:my-function. // // The length constraint applies only to the full ARN. If you specify only the // function name, it is limited to 64 characters in length. @@ -6446,7 +6411,7 @@ type InvokeAsyncInput struct { // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // JSON that you want to provide to your Lambda function as input. + // The JSON that you want to provide to your Lambda function as input. // // InvokeArgs is a required field InvokeArgs io.ReadSeeker `type:"blob" required:"true"` @@ -6493,13 +6458,14 @@ func (s *InvokeAsyncInput) SetInvokeArgs(v io.ReadSeeker) *InvokeAsyncInput { return s } -// Upon success, it returns empty response. Otherwise, throws an exception. +// A success response (202 Accepted) indicates that the request is queued for +// invocation. // // Deprecated: InvokeAsyncOutput has been deprecated type InvokeAsyncOutput struct { _ struct{} `deprecated:"true" type:"structure"` - // It will be 202 upon success. + // The status code. Status *int64 `location:"statusCode" type:"integer"` } @@ -6522,31 +6488,23 @@ func (s *InvokeAsyncOutput) SetStatus(v int64) *InvokeAsyncOutput { type InvokeInput struct { _ struct{} `type:"structure" payload:"Payload"` - // Using the ClientContext you can pass client-specific information to the Lambda - // function you are invoking. You can then process the client information in - // your Lambda function as you choose through the context variable. For an example - // of a ClientContext JSON, see PutEvents (http://docs.aws.amazon.com/mobileanalytics/latest/ug/PutEvents.html) - // in the Amazon Mobile Analytics API Reference and User Guide. - // - // The ClientContext JSON must be base64-encoded and has a maximum size of 3583 - // bytes. - // - // ClientContext information is returned only if you use the synchronous (RequestResponse) - // invocation type. + // Up to 3583 bytes of base64-encoded data about the invoking client to pass + // to the function in the context object. ClientContext *string `location:"header" locationName:"X-Amz-Client-Context" type:"string"` - // The name of the Lambda function. + // The name of the Lambda function, version, or alias. // // Name formats // - // * Function name - MyFunction. + // * Function name - my-function (name-only), my-function:v1 (with alias). // - // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. // - // * Partial ARN - 123456789012:function:MyFunction. + // * Partial ARN - 123456789012:function:my-function. // - // The length constraint applies only to the full ARN. If you specify only the - // function name, it is limited to 64 characters in length. + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. // // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` @@ -6555,21 +6513,20 @@ type InvokeInput struct { // // * RequestResponse (default) - Invoke the function synchronously. Keep // the connection open until the function returns a response or times out. + // The API response includes the function response and additional data. // // * Event - Invoke the function asynchronously. Send events that fail multiple - // times to the function's dead-letter queue (if configured). + // times to the function's dead-letter queue (if it's configured). The API + // response only includes a status code. // // * DryRun - Validate parameter values and verify that the user or role // has permission to invoke the function. InvocationType *string `location:"header" locationName:"X-Amz-Invocation-Type" type:"string" enum:"InvocationType"` - // You can set this optional parameter to Tail in the request only if you specify - // the InvocationType parameter with value RequestResponse. In this case, AWS - // Lambda returns the base64-encoded last 4 KB of log data produced by your - // Lambda function in the x-amz-log-result header. + // Set to Tail to include the execution log in the response. LogType *string `location:"header" locationName:"X-Amz-Log-Type" type:"string" enum:"LogType"` - // JSON that you want to provide to your Lambda function as input. + // The JSON that you want to provide to your Lambda function as input. Payload []byte `type:"blob" sensitive:"true"` // Specify a version or alias to invoke a published version of the function. @@ -6641,40 +6598,33 @@ func (s *InvokeInput) SetQualifier(v string) *InvokeInput { return s } -// Upon success, returns an empty response. Otherwise, throws an exception. type InvokeOutput struct { _ struct{} `type:"structure" payload:"Payload"` - // The function version that has been executed. This value is returned only - // if the invocation type is RequestResponse. For more information, see Traffic - // Shifting Using Aliases (http://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html). + // The version of the function that executed. When you invoke a function with + // an alias, this indicates which version the alias resolved to. ExecutedVersion *string `location:"header" locationName:"X-Amz-Executed-Version" min:"1" type:"string"` - // Indicates whether an error occurred while executing the Lambda function. - // If an error occurred this field will have one of two values; Handled or Unhandled. - // Handled errors are errors that are reported by the function while the Unhandled - // errors are those detected and reported by AWS Lambda. Unhandled errors include - // out of memory errors and function timeouts. For information about how to - // report an Handled error, see Programming Model (http://docs.aws.amazon.com/lambda/latest/dg/programming-model.html). + // If present, indicates that an error occurred during function execution. Details + // about the error are included in the response payload. + // + // * Handled - The runtime caught an error thrown by the function and formatted + // it into a JSON document. + // + // * Unhandled - The runtime didn't handle the error. For example, the function + // ran out of memory or timed out. FunctionError *string `location:"header" locationName:"X-Amz-Function-Error" type:"string"` - // It is the base64-encoded logs for the Lambda function invocation. This is - // present only if the invocation type is RequestResponse and the logs were - // requested. + // The last 4 KB of the execution log, which is base64 encoded. LogResult *string `location:"header" locationName:"X-Amz-Log-Result" type:"string"` - // It is the JSON representation of the object returned by the Lambda function. - // This is present only if the invocation type is RequestResponse. - // - // In the event of a function error this field contains a message describing - // the error. For the Handled errors the Lambda function will report this message. - // For Unhandled errors AWS Lambda reports the message. + // The response from the function, or an error object. Payload []byte `type:"blob" sensitive:"true"` - // The HTTP status code will be in the 200 range for successful request. For - // the RequestResponse invocation type this status code will be 200. For the - // Event invocation type this status code will be 202. For the DryRun invocation - // type the status code will be 204. + // The HTTP status code is in the 200 range for a successful request. For the + // RequestResponse invocation type, this status code is 200. For the Event invocation + // type, this status code is 202. For the DryRun invocation type, the status + // code is 204. StatusCode *int64 `location:"statusCode" type:"integer"` } @@ -6718,7 +6668,7 @@ func (s *InvokeOutput) SetStatusCode(v int64) *InvokeOutput { return s } -// A function layer. +// An AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). type Layer struct { _ struct{} `type:"structure"` @@ -6751,8 +6701,8 @@ func (s *Layer) SetCodeSize(v int64) *Layer { return s } -// A ZIP archive that contains the contents of the function layer. You can specify -// either an Amazon S3 location, or upload a layer archive directly. +// A ZIP archive that contains the contents of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). +// You can specify either an Amazon S3 location, or upload a layer archive directly. type LayerVersionContentInput struct { _ struct{} `type:"structure"` @@ -6825,7 +6775,7 @@ func (s *LayerVersionContentInput) SetZipFile(v []byte) *LayerVersionContentInpu return s } -// Details about a layer version. +// Details about a version of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). type LayerVersionContentOutput struct { _ struct{} `type:"structure"` @@ -6867,7 +6817,7 @@ func (s *LayerVersionContentOutput) SetLocation(v string) *LayerVersionContentOu return s } -// Details about a layer version. +// Details about a version of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). type LayerVersionsListItem struct { _ struct{} `type:"structure"` @@ -6936,7 +6886,7 @@ func (s *LayerVersionsListItem) SetVersion(v int64) *LayerVersionsListItem { return s } -// Details about a function layer. +// Details about an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). type LayersListItem struct { _ struct{} `type:"structure"` @@ -6981,7 +6931,7 @@ func (s *LayersListItem) SetLayerName(v string) *LayersListItem { type ListAliasesInput struct { _ struct{} `type:"structure"` - // The name of the lambda function. + // The name of the Lambda function. // // Name formats // @@ -6997,17 +6947,14 @@ type ListAliasesInput struct { // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // If you specify this optional parameter, the API returns only the aliases - // that are pointing to the specific Lambda function version, otherwise the - // API returns all of the aliases created for the Lambda function. + // Specify a function version to only list aliases that invoke that version. FunctionVersion *string `location:"querystring" locationName:"FunctionVersion" min:"1" type:"string"` - // Optional string. An opaque pagination token returned from a previous ListAliases - // operation. If present, indicates where to continue the listing. + // Specify the pagination token that's returned by a previous request to retrieve + // the next page of results. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // Optional integer. Specifies the maximum number of aliases to return in response. - // This parameter value must be greater than 0. + // Limit the number of aliases returned. MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` } @@ -7073,7 +7020,7 @@ type ListAliasesOutput struct { // A list of aliases. Aliases []*AliasConfiguration `type:"list"` - // A string, present if there are more aliases. + // The pagination token that's included if more results are available. NextMarker *string `type:"string"` } @@ -7220,22 +7167,19 @@ func (s *ListEventSourceMappingsOutput) SetNextMarker(v string) *ListEventSource type ListFunctionsInput struct { _ struct{} `type:"structure"` - // Set to ALL to list all published versions. If not specified, only the latest - // unpublished version ARN is returned. + // Set to ALL to include entries for all published versions of each function. FunctionVersion *string `location:"querystring" locationName:"FunctionVersion" type:"string" enum:"FunctionVersion"` - // Optional string. An opaque pagination token returned from a previous ListFunctions - // operation. If present, indicates where to continue the listing. + // Specify the pagination token that's returned by a previous request to retrieve + // the next page of results. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // Specify a region (e.g. us-east-2) to only list functions that were created - // in that region, or ALL to include functions replicated from any region. If - // specified, you also must specify the FunctionVersion. + // For Lambda@Edge functions, the AWS Region of the master function. For example, + // us-east-2 or ALL. If specified, you must set FunctionVersion to ALL. MasterRegion *string `location:"querystring" locationName:"MasterRegion" type:"string"` - // Optional integer. Specifies the maximum number of AWS Lambda functions to - // return in response. This parameter value must be greater than 0. The absolute - // maximum of AWS Lambda functions that can be returned is 50. + // Specify a value between 1 and 50 to limit the number of functions in the + // response. MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` } @@ -7293,7 +7237,7 @@ type ListFunctionsOutput struct { // A list of Lambda functions. Functions []*FunctionConfiguration `type:"list"` - // A string, present if there are more functions. + // The pagination token that's included if more results are available. NextMarker *string `type:"string"` } @@ -7325,7 +7269,7 @@ type ListLayerVersionsInput struct { // A runtime identifier. For example, go1.x. CompatibleRuntime *string `location:"querystring" locationName:"CompatibleRuntime" type:"string" enum:"Runtime"` - // The name of the layer. + // The name or Amazon Resource Name (ARN) of the layer. // // LayerName is a required field LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"` @@ -7511,9 +7455,7 @@ func (s *ListLayersOutput) SetNextMarker(v string) *ListLayersOutput { type ListTagsInput struct { _ struct{} `type:"structure"` - // The ARN (Amazon Resource Name) of the function. For more information, see - // Tagging Lambda Functions (http://docs.aws.amazon.com/lambda/latest/dg/tagging.html) - // in the AWS Lambda Developer Guide. + // The function's Amazon Resource Name (ARN). // // Resource is a required field Resource *string `location:"uri" locationName:"ARN" type:"string" required:"true"` @@ -7554,9 +7496,7 @@ func (s *ListTagsInput) SetResource(v string) *ListTagsInput { type ListTagsOutput struct { _ struct{} `type:"structure"` - // The list of tags assigned to the function. For more information, see Tagging - // Lambda Functions (http://docs.aws.amazon.com/lambda/latest/dg/tagging.html) - // in the AWS Lambda Developer Guide. + // The function's tags. Tags map[string]*string `type:"map"` } @@ -7579,7 +7519,7 @@ func (s *ListTagsOutput) SetTags(v map[string]*string) *ListTagsOutput { type ListVersionsByFunctionInput struct { _ struct{} `type:"structure"` - // The name of the lambda function. + // The name of the Lambda function. // // Name formats // @@ -7595,12 +7535,11 @@ type ListVersionsByFunctionInput struct { // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // Optional string. An opaque pagination token returned from a previous ListVersionsByFunction - // operation. If present, indicates where to continue the listing. + // Specify the pagination token that's returned by a previous request to retrieve + // the next page of results. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // Optional integer. Specifies the maximum number of AWS Lambda function versions - // to return in response. This parameter value must be greater than 0. + // Limit the number of versions that are returned. MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` } @@ -7654,7 +7593,7 @@ func (s *ListVersionsByFunctionInput) SetMaxItems(v int64) *ListVersionsByFuncti type ListVersionsByFunctionOutput struct { _ struct{} `type:"structure"` - // A string, present if there are more function versions. + // The pagination token that's included if more results are available. NextMarker *string `type:"string"` // A list of Lambda function versions. @@ -7686,7 +7625,7 @@ func (s *ListVersionsByFunctionOutput) SetVersions(v []*FunctionConfiguration) * type PublishLayerVersionInput struct { _ struct{} `type:"structure"` - // A list of compatible function runtimes (http://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). + // A list of compatible function runtimes (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). // Used for filtering with ListLayers and ListLayerVersions. CompatibleRuntimes []*string `type:"list"` @@ -7698,7 +7637,7 @@ type PublishLayerVersionInput struct { // The description of the version. Description *string `type:"string"` - // The name of the layer. + // The name or Amazon Resource Name (ARN) of the layer. // // LayerName is a required field LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"` @@ -7794,7 +7733,7 @@ type PublishLayerVersionOutput struct { // The description of the version. Description *string `type:"string"` - // The Amazon Resource Name (ARN) of the function layer. + // The ARN of the layer. LayerArn *string `min:"1" type:"string"` // The ARN of the layer version. @@ -7868,18 +7807,17 @@ func (s *PublishLayerVersionOutput) SetVersion(v int64) *PublishLayerVersionOutp type PublishVersionInput struct { _ struct{} `type:"structure"` - // The SHA256 hash of the deployment package you want to publish. This provides - // validation on the code you are publishing. If you provide this parameter, - // the value must match the SHA256 of the $LATEST version for the publication - // to succeed. You can use the DryRun parameter of UpdateFunctionCode to verify - // the hash value that will be returned before publishing your new version. + // Only publish a version if the hash value matches the value that's specified. + // Use this option to avoid publishing a version if the function code has changed + // since you last updated it. You can get the hash for the version that you + // uploaded from the output of UpdateFunctionCode. CodeSha256 *string `type:"string"` - // The description for the version you are publishing. If not provided, AWS - // Lambda copies the description from the $LATEST version. + // A description for the version to override the description in the function + // configuration. Description *string `type:"string"` - // The name of the lambda function. + // The name of the Lambda function. // // Name formats // @@ -7895,11 +7833,9 @@ type PublishVersionInput struct { // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // An optional value you can use to ensure you are updating the latest update - // of the function version or alias. If the RevisionID you pass doesn't match - // the latest RevisionId of the function or alias, it will fail with an error - // message, advising you retrieve the latest function version or alias RevisionID - // using either GetFunction or GetAlias. + // Only update the function if the revision ID matches the ID that's specified. + // Use this option to avoid publishing a version if the function configuration + // has changed since you last updated it. RevisionId *string `type:"string"` } @@ -7960,11 +7896,11 @@ type PutFunctionConcurrencyInput struct { // // Name formats // - // * Function name - MyFunction. + // * Function name - my-function. // - // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. // - // * Partial ARN - 123456789012:function:MyFunction. + // * Partial ARN - 123456789012:function:my-function. // // The length constraint applies only to the full ARN. If you specify only the // function name, it is limited to 64 characters in length. @@ -7972,7 +7908,7 @@ type PutFunctionConcurrencyInput struct { // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // The concurrent execution limit reserved for this function. + // The number of simultaneous executions to reserve for the function. // // ReservedConcurrentExecutions is a required field ReservedConcurrentExecutions *int64 `type:"integer" required:"true"` @@ -8022,8 +7958,8 @@ func (s *PutFunctionConcurrencyInput) SetReservedConcurrentExecutions(v int64) * type PutFunctionConcurrencyOutput struct { _ struct{} `type:"structure"` - // The number of concurrent executions reserved for this function. For more - // information, see Managing Concurrency (http://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html). + // The number of concurrent executions that are reserved for this function. + // For more information, see Managing Concurrency (https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html). ReservedConcurrentExecutions *int64 `type:"integer"` } @@ -8046,7 +7982,7 @@ func (s *PutFunctionConcurrencyOutput) SetReservedConcurrentExecutions(v int64) type RemoveLayerVersionPermissionInput struct { _ struct{} `type:"structure"` - // The name of the layer. + // The name or Amazon Resource Name (ARN) of the layer. // // LayerName is a required field LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"` @@ -8142,18 +8078,19 @@ func (s RemoveLayerVersionPermissionOutput) GoString() string { type RemovePermissionInput struct { _ struct{} `type:"structure"` - // The name of the Lambda function. + // The name of the Lambda function, version, or alias. // // Name formats // - // * Function name - MyFunction. + // * Function name - my-function (name-only), my-function:v1 (with alias). // - // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. // - // * Partial ARN - 123456789012:function:MyFunction. + // * Partial ARN - 123456789012:function:my-function. // - // The length constraint applies only to the full ARN. If you specify only the - // function name, it is limited to 64 characters in length. + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. // // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` @@ -8162,11 +8099,9 @@ type RemovePermissionInput struct { // of the function. Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` - // An optional value you can use to ensure you are updating the latest update - // of the function version or alias. If the RevisionID you pass doesn't match - // the latest RevisionId of the function or alias, it will fail with an error - // message, advising you to retrieve the latest function version or alias RevisionID - // using either GetFunction or GetAlias. + // Only update the policy if the revision ID matches the ID that's specified. + // Use this option to avoid modifying a policy that has changed since you last + // read it. RevisionId *string `location:"querystring" locationName:"RevisionId" type:"string"` // Statement ID of the permission to remove. @@ -8251,16 +8186,12 @@ func (s RemovePermissionOutput) GoString() string { type TagResourceInput struct { _ struct{} `type:"structure"` - // The ARN (Amazon Resource Name) of the Lambda function. For more information, - // see Tagging Lambda Functions (http://docs.aws.amazon.com/lambda/latest/dg/tagging.html) - // in the AWS Lambda Developer Guide. + // The function's Amazon Resource Name (ARN). // // Resource is a required field Resource *string `location:"uri" locationName:"ARN" type:"string" required:"true"` - // The list of tags (key-value pairs) you are assigning to the Lambda function. - // For more information, see Tagging Lambda Functions (http://docs.aws.amazon.com/lambda/latest/dg/tagging.html) - // in the AWS Lambda Developer Guide. + // A list of tags to apply to the function. // // Tags is a required field Tags map[string]*string `type:"map" required:"true"` @@ -8372,16 +8303,12 @@ func (s *TracingConfigResponse) SetMode(v string) *TracingConfigResponse { type UntagResourceInput struct { _ struct{} `type:"structure"` - // The ARN (Amazon Resource Name) of the function. For more information, see - // Tagging Lambda Functions (http://docs.aws.amazon.com/lambda/latest/dg/tagging.html) - // in the AWS Lambda Developer Guide. + // The function's Amazon Resource Name (ARN). // // Resource is a required field Resource *string `location:"uri" locationName:"ARN" type:"string" required:"true"` - // The list of tag keys to be deleted from the function. For more information, - // see Tagging Lambda Functions (http://docs.aws.amazon.com/lambda/latest/dg/tagging.html) - // in the AWS Lambda Developer Guide. + // A list of tag keys to remove from the function. // // TagKeys is a required field TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` @@ -8445,10 +8372,10 @@ func (s UntagResourceOutput) GoString() string { type UpdateAliasInput struct { _ struct{} `type:"structure"` - // You can change the description of the alias using this parameter. + // A description of the alias. Description *string `type:"string"` - // The name of the lambda function. + // The name of the Lambda function. // // Name formats // @@ -8464,25 +8391,21 @@ type UpdateAliasInput struct { // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // Using this parameter you can change the Lambda function version to which - // the alias points. + // The function version that the alias invokes. FunctionVersion *string `min:"1" type:"string"` - // The alias name. + // The name of the alias. // // Name is a required field Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` - // An optional value you can use to ensure you are updating the latest update - // of the function version or alias. If the RevisionID you pass doesn't match - // the latest RevisionId of the function or alias, it will fail with an error - // message, advising you retrieve the latest function version or alias RevisionID - // using either GetFunction or GetAlias. + // Only update the alias if the revision ID matches the ID that's specified. + // Use this option to avoid modifying an alias that has changed since you last + // read it. RevisionId *string `type:"string"` - // Specifies an additional version your alias can point to, allowing you to - // dictate what percentage of traffic will invoke each version. For more information, - // see Traffic Shifting Using Aliases (http://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html). + // The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html) + // of the alias. RoutingConfig *AliasRoutingConfiguration `type:"structure"` } @@ -8653,23 +8576,19 @@ func (s *UpdateEventSourceMappingInput) SetUUID(v string) *UpdateEventSourceMapp type UpdateFunctionCodeInput struct { _ struct{} `type:"structure"` - // This boolean parameter can be used to test your request to AWS Lambda to - // update the Lambda function and publish a version as an atomic operation. - // It will do all necessary computation and validation of your code but will - // not upload it or a publish a version. Each time this operation is invoked, - // the CodeSha256 hash value of the provided code will also be computed and - // returned in the response. + // Set to true to validate the request parameters and access permissions without + // modifying the function code. DryRun *bool `type:"boolean"` // The name of the Lambda function. // // Name formats // - // * Function name - MyFunction. + // * Function name - my-function. // - // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. // - // * Partial ARN - 123456789012:function:MyFunction. + // * Partial ARN - 123456789012:function:my-function. // // The length constraint applies only to the full ARN. If you specify only the // function name, it is limited to 64 characters in length. @@ -8677,33 +8596,27 @@ type UpdateFunctionCodeInput struct { // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // This boolean parameter can be used to request AWS Lambda to update the Lambda - // function and publish a version as an atomic operation. + // Set to true to publish a new version of the function after updating the code. + // This has the same effect as calling PublishVersion separately. Publish *bool `type:"boolean"` - // An optional value you can use to ensure you are updating the latest update - // of the function version or alias. If the RevisionID you pass doesn't match - // the latest RevisionId of the function or alias, it will fail with an error - // message, advising you to retrieve the latest function version or alias RevisionID - // using either using using either GetFunction or GetAlias. + // Only update the function if the revision ID matches the ID that's specified. + // Use this option to avoid modifying a function that has changed since you + // last read it. RevisionId *string `type:"string"` - // Amazon S3 bucket name where the .zip file containing your deployment package - // is stored. This bucket must reside in the same AWS Region where you are creating - // the Lambda function. + // An Amazon S3 bucket in the same AWS Region as your function. The bucket can + // be in a different AWS account. S3Bucket *string `min:"3" type:"string"` - // The Amazon S3 object (the deployment package) key name you want to upload. + // The Amazon S3 key of the deployment package. S3Key *string `min:"1" type:"string"` - // The Amazon S3 object (the deployment package) version you want to upload. + // For versioned objects, the version of the deployment package object to use. S3ObjectVersion *string `min:"1" type:"string"` - // The contents of your zip file containing your deployment package. If you - // are using the web API directly, the contents of the zip file must be base64-encoded. - // If you are using the AWS SDKs or the AWS CLI, the SDKs or CLI will do the - // encoding for you. For more information about creating a .zip file, see Execution - // Permissions (http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role.html). + // The base64-encoded contents of the deployment package. AWS SDK and AWS CLI + // clients handle the encoding for you. // // ZipFile is automatically base64 encoded/decoded by the SDK. ZipFile []byte `type:"blob" sensitive:"true"` @@ -8797,25 +8710,24 @@ type UpdateFunctionConfigurationInput struct { // A dead letter queue configuration that specifies the queue or topic where // Lambda sends asynchronous events when they fail processing. For more information, - // see Dead Letter Queues (http://docs.aws.amazon.com/lambda/latest/dg/dlq.html). + // see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html). DeadLetterConfig *DeadLetterConfig `type:"structure"` - // A short user-defined function description. AWS Lambda does not use this value. - // Assign a meaningful description as you see fit. + // A description of the function. Description *string `type:"string"` - // The parent object that contains your environment's configuration settings. + // Environment variables that are accessible from function code during execution. Environment *Environment `type:"structure"` // The name of the Lambda function. // // Name formats // - // * Function name - MyFunction. + // * Function name - my-function. // - // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. // - // * Partial ARN - 123456789012:function:MyFunction. + // * Partial ARN - 123456789012:function:my-function. // // The length constraint applies only to the full ARN. If you specify only the // function name, it is limited to 64 characters in length. @@ -8823,51 +8735,50 @@ type UpdateFunctionConfigurationInput struct { // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // The function that Lambda calls to begin executing your function. For Node.js, - // it is the module-name.export value in your function. + // The name of the method within your code that Lambda calls to execute your + // function. The format includes the file name. It can also include namespaces + // and other qualifiers, depending on the runtime. For more information, see + // Programming Model (https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html). Handler *string `type:"string"` - // The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's - // environment variables. If you elect to use the AWS Lambda default service - // key, pass in an empty string ("") for this parameter. + // The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt + // your function's environment variables. If it's not provided, AWS Lambda uses + // a default service key. KMSKeyArn *string `type:"string"` - // A list of function layers (http://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) - // to add to the function's execution environment. + // A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) + // to add to the function's execution environment. Specify each layer by its + // ARN, including the version. Layers []*string `type:"list"` - // The amount of memory, in MB, your Lambda function is given. AWS Lambda uses - // this memory size to infer the amount of CPU allocated to your function. Your - // function use-case determines your CPU and memory requirements. For example, - // a database operation might need less memory compared to an image processing - // function. The default value is 128 MB. The value must be a multiple of 64 - // MB. + // The amount of memory that your function has access to. Increasing the function's + // memory also increases its CPU allocation. The default value is 128 MB. The + // value must be a multiple of 64 MB. MemorySize *int64 `min:"128" type:"integer"` - // An optional value you can use to ensure you are updating the latest update - // of the function version or alias. If the RevisionID you pass doesn't match - // the latest RevisionId of the function or alias, it will fail with an error - // message, advising you to retrieve the latest function version or alias RevisionID - // using either GetFunction or GetAlias. + // Only update the function if the revision ID matches the ID that's specified. + // Use this option to avoid modifying a function that has changed since you + // last read it. RevisionId *string `type:"string"` - // The Amazon Resource Name (ARN) of the IAM role that Lambda will assume when - // it executes your function. + // The Amazon Resource Name (ARN) of the function's execution role. Role *string `type:"string"` - // The runtime version for the function. + // The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime *string `type:"string" enum:"Runtime"` - // The amount of time that Lambda allows a function to run before terminating - // it. The default is 3 seconds. The maximum allowed value is 900 seconds. + // The amount of time that Lambda allows a function to run before stopping it. + // The default is 3 seconds. The maximum allowed value is 900 seconds. Timeout *int64 `min:"1" type:"integer"` // Set Mode to Active to sample and trace a subset of incoming requests with // AWS X-Ray. TracingConfig *TracingConfig `type:"structure"` - // Specify security groups and subnets in a VPC to which your Lambda function - // needs access. + // For network connectivity to AWS resources in a VPC, specify a list of security + // groups and subnets in the VPC. When you connect a function to a VPC, it can + // only access resources and the internet through that VPC. For more information, + // see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/vpc.html). VpcConfig *VpcConfig `type:"structure"` } @@ -8987,7 +8898,7 @@ func (s *UpdateFunctionConfigurationInput) SetVpcConfig(v *VpcConfig) *UpdateFun return s } -// The VPC security groups and subnets attached to a Lambda function. +// The VPC security groups and subnets that are attached to a Lambda function. type VpcConfig struct { _ struct{} `type:"structure"` @@ -9020,7 +8931,7 @@ func (s *VpcConfig) SetSubnetIds(v []*string) *VpcConfig { return s } -// The VPC security groups and subnets attached to a Lambda function. +// The VPC security groups and subnets that are attached to a Lambda function. type VpcConfigResponse struct { _ struct{} `type:"structure"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lambda/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lambda/doc.go index 58946ac3395..02825cc1f4d 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lambda/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lambda/doc.go @@ -7,8 +7,8 @@ // // This is the AWS Lambda API Reference. The AWS Lambda Developer Guide provides // additional information. For the service overview, see What is AWS Lambda -// (http://docs.aws.amazon.com/lambda/latest/dg/welcome.html), and for information -// about how the service works, see AWS Lambda: How it Works (http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html) +// (https://docs.aws.amazon.com/lambda/latest/dg/welcome.html), and for information +// about how the service works, see AWS Lambda: How it Works (https://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html) // in the AWS Lambda Developer Guide. // // See https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31 for more information on this service. diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go index 4e12ca08f76..8f7a5796b7d 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go @@ -7,7 +7,7 @@ const ( // ErrCodeCodeStorageExceededException for service response error code // "CodeStorageExceededException". // - // You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) + // You have exceeded your maximum total code size per account. Limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) ErrCodeCodeStorageExceededException = "CodeStorageExceededException" // ErrCodeEC2AccessDeniedException for service response error code @@ -123,7 +123,7 @@ const ( // "RequestTooLargeException". // // The request payload exceeded the Invoke request body JSON input limit. For - // more information, see Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html). + // more information, see Limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html). ErrCodeRequestTooLargeException = "RequestTooLargeException" // ErrCodeResourceConflictException for service response error code @@ -136,8 +136,8 @@ const ( // "ResourceInUseException". // // The operation conflicts with the resource's availability. For example, you - // attempted to update an EventSoure Mapping in CREATING, or tried to delete - // a EventSoure mapping currently in the UPDATING state. + // attempted to update an EventSource Mapping in CREATING, or tried to delete + // a EventSource mapping currently in the UPDATING state. ErrCodeResourceInUseException = "ResourceInUseException" // ErrCodeResourceNotFoundException for service response error code @@ -163,7 +163,7 @@ const ( // ErrCodeTooManyRequestsException for service response error code // "TooManyRequestsException". // - // Request throughput limit exceeded + // Request throughput limit exceeded. ErrCodeTooManyRequestsException = "TooManyRequestsException" // ErrCodeUnsupportedMediaTypeException for service response error code diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/licensemanager/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/licensemanager/api.go new file mode 100644 index 00000000000..d292b8956f7 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/licensemanager/api.go @@ -0,0 +1,3443 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package licensemanager + +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 opCreateLicenseConfiguration = "CreateLicenseConfiguration" + +// CreateLicenseConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateLicenseConfiguration 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 CreateLicenseConfiguration for more information on using the CreateLicenseConfiguration +// 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 CreateLicenseConfigurationRequest method. +// req, resp := client.CreateLicenseConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/CreateLicenseConfiguration +func (c *LicenseManager) CreateLicenseConfigurationRequest(input *CreateLicenseConfigurationInput) (req *request.Request, output *CreateLicenseConfigurationOutput) { + op := &request.Operation{ + Name: opCreateLicenseConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateLicenseConfigurationInput{} + } + + output = &CreateLicenseConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateLicenseConfiguration API operation for AWS License Manager. +// +// Creates a new license configuration object. A license configuration is an +// abstraction of a customer license agreement that can be consumed and enforced +// by License Manager. Components include specifications for the license type +// (licensing by instance, socket, CPU, or VCPU), tenancy (shared tenancy, Amazon +// EC2 Dedicated Instance, Amazon EC2 Dedicated Host, or any of these), host +// affinity (how long a VM must be associated with a host), the number of licenses +// purchased and used. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 License Manager's +// API operation CreateLicenseConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeResourceLimitExceededException "ResourceLimitExceededException" +// Your resource limits have been exceeded. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/CreateLicenseConfiguration +func (c *LicenseManager) CreateLicenseConfiguration(input *CreateLicenseConfigurationInput) (*CreateLicenseConfigurationOutput, error) { + req, out := c.CreateLicenseConfigurationRequest(input) + return out, req.Send() +} + +// CreateLicenseConfigurationWithContext is the same as CreateLicenseConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateLicenseConfiguration 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 *LicenseManager) CreateLicenseConfigurationWithContext(ctx aws.Context, input *CreateLicenseConfigurationInput, opts ...request.Option) (*CreateLicenseConfigurationOutput, error) { + req, out := c.CreateLicenseConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteLicenseConfiguration = "DeleteLicenseConfiguration" + +// DeleteLicenseConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLicenseConfiguration 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 DeleteLicenseConfiguration for more information on using the DeleteLicenseConfiguration +// 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 DeleteLicenseConfigurationRequest method. +// req, resp := client.DeleteLicenseConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/DeleteLicenseConfiguration +func (c *LicenseManager) DeleteLicenseConfigurationRequest(input *DeleteLicenseConfigurationInput) (req *request.Request, output *DeleteLicenseConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteLicenseConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteLicenseConfigurationInput{} + } + + output = &DeleteLicenseConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteLicenseConfiguration API operation for AWS License Manager. +// +// Deletes an existing license configuration. This action fails if the configuration +// is in 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 AWS License Manager's +// API operation DeleteLicenseConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/DeleteLicenseConfiguration +func (c *LicenseManager) DeleteLicenseConfiguration(input *DeleteLicenseConfigurationInput) (*DeleteLicenseConfigurationOutput, error) { + req, out := c.DeleteLicenseConfigurationRequest(input) + return out, req.Send() +} + +// DeleteLicenseConfigurationWithContext is the same as DeleteLicenseConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteLicenseConfiguration 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 *LicenseManager) DeleteLicenseConfigurationWithContext(ctx aws.Context, input *DeleteLicenseConfigurationInput, opts ...request.Option) (*DeleteLicenseConfigurationOutput, error) { + req, out := c.DeleteLicenseConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetLicenseConfiguration = "GetLicenseConfiguration" + +// GetLicenseConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetLicenseConfiguration 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 GetLicenseConfiguration for more information on using the GetLicenseConfiguration +// 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 GetLicenseConfigurationRequest method. +// req, resp := client.GetLicenseConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/GetLicenseConfiguration +func (c *LicenseManager) GetLicenseConfigurationRequest(input *GetLicenseConfigurationInput) (req *request.Request, output *GetLicenseConfigurationOutput) { + op := &request.Operation{ + Name: opGetLicenseConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetLicenseConfigurationInput{} + } + + output = &GetLicenseConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetLicenseConfiguration API operation for AWS License Manager. +// +// Returns a detailed description of a license configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS License Manager's +// API operation GetLicenseConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/GetLicenseConfiguration +func (c *LicenseManager) GetLicenseConfiguration(input *GetLicenseConfigurationInput) (*GetLicenseConfigurationOutput, error) { + req, out := c.GetLicenseConfigurationRequest(input) + return out, req.Send() +} + +// GetLicenseConfigurationWithContext is the same as GetLicenseConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetLicenseConfiguration 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 *LicenseManager) GetLicenseConfigurationWithContext(ctx aws.Context, input *GetLicenseConfigurationInput, opts ...request.Option) (*GetLicenseConfigurationOutput, error) { + req, out := c.GetLicenseConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetServiceSettings = "GetServiceSettings" + +// GetServiceSettingsRequest generates a "aws/request.Request" representing the +// client's request for the GetServiceSettings 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 GetServiceSettings for more information on using the GetServiceSettings +// 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 GetServiceSettingsRequest method. +// req, resp := client.GetServiceSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/GetServiceSettings +func (c *LicenseManager) GetServiceSettingsRequest(input *GetServiceSettingsInput) (req *request.Request, output *GetServiceSettingsOutput) { + op := &request.Operation{ + Name: opGetServiceSettings, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetServiceSettingsInput{} + } + + output = &GetServiceSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetServiceSettings API operation for AWS License Manager. +// +// Gets License Manager settings for a region. Exposes the configured S3 bucket, +// SNS topic, etc., for inspection. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 License Manager's +// API operation GetServiceSettings for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/GetServiceSettings +func (c *LicenseManager) GetServiceSettings(input *GetServiceSettingsInput) (*GetServiceSettingsOutput, error) { + req, out := c.GetServiceSettingsRequest(input) + return out, req.Send() +} + +// GetServiceSettingsWithContext is the same as GetServiceSettings with the addition of +// the ability to pass a context and additional request options. +// +// See GetServiceSettings 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 *LicenseManager) GetServiceSettingsWithContext(ctx aws.Context, input *GetServiceSettingsInput, opts ...request.Option) (*GetServiceSettingsOutput, error) { + req, out := c.GetServiceSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListAssociationsForLicenseConfiguration = "ListAssociationsForLicenseConfiguration" + +// ListAssociationsForLicenseConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the ListAssociationsForLicenseConfiguration 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 ListAssociationsForLicenseConfiguration for more information on using the ListAssociationsForLicenseConfiguration +// 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 ListAssociationsForLicenseConfigurationRequest method. +// req, resp := client.ListAssociationsForLicenseConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListAssociationsForLicenseConfiguration +func (c *LicenseManager) ListAssociationsForLicenseConfigurationRequest(input *ListAssociationsForLicenseConfigurationInput) (req *request.Request, output *ListAssociationsForLicenseConfigurationOutput) { + op := &request.Operation{ + Name: opListAssociationsForLicenseConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListAssociationsForLicenseConfigurationInput{} + } + + output = &ListAssociationsForLicenseConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAssociationsForLicenseConfiguration API operation for AWS License Manager. +// +// Lists the resource associations for a license configuration. Resource associations +// need not consume licenses from a license configuration. For example, an AMI +// or a stopped instance may not consume a license (depending on the license +// rules). Use this operation to find all resources associated with a license +// configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS License Manager's +// API operation ListAssociationsForLicenseConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeFilterLimitExceededException "FilterLimitExceededException" +// The request uses too many filters or too many filter values. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListAssociationsForLicenseConfiguration +func (c *LicenseManager) ListAssociationsForLicenseConfiguration(input *ListAssociationsForLicenseConfigurationInput) (*ListAssociationsForLicenseConfigurationOutput, error) { + req, out := c.ListAssociationsForLicenseConfigurationRequest(input) + return out, req.Send() +} + +// ListAssociationsForLicenseConfigurationWithContext is the same as ListAssociationsForLicenseConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See ListAssociationsForLicenseConfiguration 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 *LicenseManager) ListAssociationsForLicenseConfigurationWithContext(ctx aws.Context, input *ListAssociationsForLicenseConfigurationInput, opts ...request.Option) (*ListAssociationsForLicenseConfigurationOutput, error) { + req, out := c.ListAssociationsForLicenseConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListLicenseConfigurations = "ListLicenseConfigurations" + +// ListLicenseConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListLicenseConfigurations 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 ListLicenseConfigurations for more information on using the ListLicenseConfigurations +// 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 ListLicenseConfigurationsRequest method. +// req, resp := client.ListLicenseConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListLicenseConfigurations +func (c *LicenseManager) ListLicenseConfigurationsRequest(input *ListLicenseConfigurationsInput) (req *request.Request, output *ListLicenseConfigurationsOutput) { + op := &request.Operation{ + Name: opListLicenseConfigurations, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListLicenseConfigurationsInput{} + } + + output = &ListLicenseConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListLicenseConfigurations API operation for AWS License Manager. +// +// Lists license configuration objects for an account, each containing the name, +// description, license type, and other license terms modeled from a license +// agreement. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 License Manager's +// API operation ListLicenseConfigurations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeFilterLimitExceededException "FilterLimitExceededException" +// The request uses too many filters or too many filter values. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListLicenseConfigurations +func (c *LicenseManager) ListLicenseConfigurations(input *ListLicenseConfigurationsInput) (*ListLicenseConfigurationsOutput, error) { + req, out := c.ListLicenseConfigurationsRequest(input) + return out, req.Send() +} + +// ListLicenseConfigurationsWithContext is the same as ListLicenseConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See ListLicenseConfigurations 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 *LicenseManager) ListLicenseConfigurationsWithContext(ctx aws.Context, input *ListLicenseConfigurationsInput, opts ...request.Option) (*ListLicenseConfigurationsOutput, error) { + req, out := c.ListLicenseConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListLicenseSpecificationsForResource = "ListLicenseSpecificationsForResource" + +// ListLicenseSpecificationsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListLicenseSpecificationsForResource 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 ListLicenseSpecificationsForResource for more information on using the ListLicenseSpecificationsForResource +// 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 ListLicenseSpecificationsForResourceRequest method. +// req, resp := client.ListLicenseSpecificationsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListLicenseSpecificationsForResource +func (c *LicenseManager) ListLicenseSpecificationsForResourceRequest(input *ListLicenseSpecificationsForResourceInput) (req *request.Request, output *ListLicenseSpecificationsForResourceOutput) { + op := &request.Operation{ + Name: opListLicenseSpecificationsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListLicenseSpecificationsForResourceInput{} + } + + output = &ListLicenseSpecificationsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListLicenseSpecificationsForResource API operation for AWS License Manager. +// +// Returns the license configuration for a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS License Manager's +// API operation ListLicenseSpecificationsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListLicenseSpecificationsForResource +func (c *LicenseManager) ListLicenseSpecificationsForResource(input *ListLicenseSpecificationsForResourceInput) (*ListLicenseSpecificationsForResourceOutput, error) { + req, out := c.ListLicenseSpecificationsForResourceRequest(input) + return out, req.Send() +} + +// ListLicenseSpecificationsForResourceWithContext is the same as ListLicenseSpecificationsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListLicenseSpecificationsForResource 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 *LicenseManager) ListLicenseSpecificationsForResourceWithContext(ctx aws.Context, input *ListLicenseSpecificationsForResourceInput, opts ...request.Option) (*ListLicenseSpecificationsForResourceOutput, error) { + req, out := c.ListLicenseSpecificationsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListResourceInventory = "ListResourceInventory" + +// ListResourceInventoryRequest generates a "aws/request.Request" representing the +// client's request for the ListResourceInventory 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 ListResourceInventory for more information on using the ListResourceInventory +// 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 ListResourceInventoryRequest method. +// req, resp := client.ListResourceInventoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListResourceInventory +func (c *LicenseManager) ListResourceInventoryRequest(input *ListResourceInventoryInput) (req *request.Request, output *ListResourceInventoryOutput) { + op := &request.Operation{ + Name: opListResourceInventory, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListResourceInventoryInput{} + } + + output = &ListResourceInventoryOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResourceInventory API operation for AWS License Manager. +// +// Returns a detailed list of resources. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 License Manager's +// API operation ListResourceInventory for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeFilterLimitExceededException "FilterLimitExceededException" +// The request uses too many filters or too many filter values. +// +// * ErrCodeFailedDependencyException "FailedDependencyException" +// A dependency required to run the API is missing. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListResourceInventory +func (c *LicenseManager) ListResourceInventory(input *ListResourceInventoryInput) (*ListResourceInventoryOutput, error) { + req, out := c.ListResourceInventoryRequest(input) + return out, req.Send() +} + +// ListResourceInventoryWithContext is the same as ListResourceInventory with the addition of +// the ability to pass a context and additional request options. +// +// See ListResourceInventory 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 *LicenseManager) ListResourceInventoryWithContext(ctx aws.Context, input *ListResourceInventoryInput, opts ...request.Option) (*ListResourceInventoryOutput, error) { + req, out := c.ListResourceInventoryRequest(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/license-manager-2018-08-01/ListTagsForResource +func (c *LicenseManager) 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 AWS License Manager. +// +// Lists tags attached to a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS License Manager's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListTagsForResource +func (c *LicenseManager) 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 *LicenseManager) 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 opListUsageForLicenseConfiguration = "ListUsageForLicenseConfiguration" + +// ListUsageForLicenseConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the ListUsageForLicenseConfiguration 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 ListUsageForLicenseConfiguration for more information on using the ListUsageForLicenseConfiguration +// 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 ListUsageForLicenseConfigurationRequest method. +// req, resp := client.ListUsageForLicenseConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListUsageForLicenseConfiguration +func (c *LicenseManager) ListUsageForLicenseConfigurationRequest(input *ListUsageForLicenseConfigurationInput) (req *request.Request, output *ListUsageForLicenseConfigurationOutput) { + op := &request.Operation{ + Name: opListUsageForLicenseConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListUsageForLicenseConfigurationInput{} + } + + output = &ListUsageForLicenseConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListUsageForLicenseConfiguration API operation for AWS License Manager. +// +// Lists all license usage records for a license configuration, displaying license +// consumption details by resource at a selected point in time. Use this action +// to audit the current license consumption for any license inventory and configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS License Manager's +// API operation ListUsageForLicenseConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeFilterLimitExceededException "FilterLimitExceededException" +// The request uses too many filters or too many filter values. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListUsageForLicenseConfiguration +func (c *LicenseManager) ListUsageForLicenseConfiguration(input *ListUsageForLicenseConfigurationInput) (*ListUsageForLicenseConfigurationOutput, error) { + req, out := c.ListUsageForLicenseConfigurationRequest(input) + return out, req.Send() +} + +// ListUsageForLicenseConfigurationWithContext is the same as ListUsageForLicenseConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See ListUsageForLicenseConfiguration 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 *LicenseManager) ListUsageForLicenseConfigurationWithContext(ctx aws.Context, input *ListUsageForLicenseConfigurationInput, opts ...request.Option) (*ListUsageForLicenseConfigurationOutput, error) { + req, out := c.ListUsageForLicenseConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/TagResource +func (c *LicenseManager) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS License Manager. +// +// Attach one of more tags to any resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS License Manager's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/TagResource +func (c *LicenseManager) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *LicenseManager) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UntagResource +func (c *LicenseManager) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS License Manager. +// +// Remove tags from a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS License Manager's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UntagResource +func (c *LicenseManager) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *LicenseManager) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLicenseConfiguration = "UpdateLicenseConfiguration" + +// UpdateLicenseConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLicenseConfiguration 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 UpdateLicenseConfiguration for more information on using the UpdateLicenseConfiguration +// 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 UpdateLicenseConfigurationRequest method. +// req, resp := client.UpdateLicenseConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateLicenseConfiguration +func (c *LicenseManager) UpdateLicenseConfigurationRequest(input *UpdateLicenseConfigurationInput) (req *request.Request, output *UpdateLicenseConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateLicenseConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateLicenseConfigurationInput{} + } + + output = &UpdateLicenseConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateLicenseConfiguration API operation for AWS License Manager. +// +// Modifies the attributes of an existing license configuration object. A license +// configuration is an abstraction of a customer license agreement that can +// be consumed and enforced by License Manager. Components include specifications +// for the license type (Instances, cores, sockets, VCPUs), tenancy (shared +// or Dedicated Host), host affinity (how long a VM is associated with a host), +// the number of licenses purchased and used. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 License Manager's +// API operation UpdateLicenseConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateLicenseConfiguration +func (c *LicenseManager) UpdateLicenseConfiguration(input *UpdateLicenseConfigurationInput) (*UpdateLicenseConfigurationOutput, error) { + req, out := c.UpdateLicenseConfigurationRequest(input) + return out, req.Send() +} + +// UpdateLicenseConfigurationWithContext is the same as UpdateLicenseConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLicenseConfiguration 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 *LicenseManager) UpdateLicenseConfigurationWithContext(ctx aws.Context, input *UpdateLicenseConfigurationInput, opts ...request.Option) (*UpdateLicenseConfigurationOutput, error) { + req, out := c.UpdateLicenseConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLicenseSpecificationsForResource = "UpdateLicenseSpecificationsForResource" + +// UpdateLicenseSpecificationsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLicenseSpecificationsForResource 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 UpdateLicenseSpecificationsForResource for more information on using the UpdateLicenseSpecificationsForResource +// 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 UpdateLicenseSpecificationsForResourceRequest method. +// req, resp := client.UpdateLicenseSpecificationsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateLicenseSpecificationsForResource +func (c *LicenseManager) UpdateLicenseSpecificationsForResourceRequest(input *UpdateLicenseSpecificationsForResourceInput) (req *request.Request, output *UpdateLicenseSpecificationsForResourceOutput) { + op := &request.Operation{ + Name: opUpdateLicenseSpecificationsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateLicenseSpecificationsForResourceInput{} + } + + output = &UpdateLicenseSpecificationsForResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateLicenseSpecificationsForResource API operation for AWS License Manager. +// +// Adds or removes license configurations for a specified AWS resource. This +// operation currently supports updating the license specifications of AMIs, +// instances, and hosts. Launch templates and AWS CloudFormation templates are +// not managed from this operation as those resources send the license configurations +// directly to a resource creation operation, such as RunInstances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 License Manager's +// API operation UpdateLicenseSpecificationsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeInvalidResourceStateException "InvalidResourceStateException" +// License Manager cannot allocate a license to a resource because of its state. +// +// For example, you cannot allocate a license to an instance in the process +// of shutting down. +// +// * ErrCodeLicenseUsageException "LicenseUsageException" +// You do not have enough licenses available to support a new resource launch. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateLicenseSpecificationsForResource +func (c *LicenseManager) UpdateLicenseSpecificationsForResource(input *UpdateLicenseSpecificationsForResourceInput) (*UpdateLicenseSpecificationsForResourceOutput, error) { + req, out := c.UpdateLicenseSpecificationsForResourceRequest(input) + return out, req.Send() +} + +// UpdateLicenseSpecificationsForResourceWithContext is the same as UpdateLicenseSpecificationsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLicenseSpecificationsForResource 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 *LicenseManager) UpdateLicenseSpecificationsForResourceWithContext(ctx aws.Context, input *UpdateLicenseSpecificationsForResourceInput, opts ...request.Option) (*UpdateLicenseSpecificationsForResourceOutput, error) { + req, out := c.UpdateLicenseSpecificationsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateServiceSettings = "UpdateServiceSettings" + +// UpdateServiceSettingsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateServiceSettings 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 UpdateServiceSettings for more information on using the UpdateServiceSettings +// 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 UpdateServiceSettingsRequest method. +// req, resp := client.UpdateServiceSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateServiceSettings +func (c *LicenseManager) UpdateServiceSettingsRequest(input *UpdateServiceSettingsInput) (req *request.Request, output *UpdateServiceSettingsOutput) { + op := &request.Operation{ + Name: opUpdateServiceSettings, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateServiceSettingsInput{} + } + + output = &UpdateServiceSettingsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateServiceSettings API operation for AWS License Manager. +// +// Updates License Manager service settings. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 License Manager's +// API operation UpdateServiceSettings for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateServiceSettings +func (c *LicenseManager) UpdateServiceSettings(input *UpdateServiceSettingsInput) (*UpdateServiceSettingsOutput, error) { + req, out := c.UpdateServiceSettingsRequest(input) + return out, req.Send() +} + +// UpdateServiceSettingsWithContext is the same as UpdateServiceSettings with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateServiceSettings 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 *LicenseManager) UpdateServiceSettingsWithContext(ctx aws.Context, input *UpdateServiceSettingsInput, opts ...request.Option) (*UpdateServiceSettingsOutput, error) { + req, out := c.UpdateServiceSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Details about license consumption. +type ConsumedLicenseSummary struct { + _ struct{} `type:"structure"` + + // Number of licenses consumed by a resource. + ConsumedLicenses *int64 `type:"long"` + + // Resource type of the resource consuming a license (instance, host, or AMI). + ResourceType *string `type:"string" enum:"ResourceType"` +} + +// String returns the string representation +func (s ConsumedLicenseSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConsumedLicenseSummary) GoString() string { + return s.String() +} + +// SetConsumedLicenses sets the ConsumedLicenses field's value. +func (s *ConsumedLicenseSummary) SetConsumedLicenses(v int64) *ConsumedLicenseSummary { + s.ConsumedLicenses = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ConsumedLicenseSummary) SetResourceType(v string) *ConsumedLicenseSummary { + s.ResourceType = &v + return s +} + +type CreateLicenseConfigurationInput struct { + _ struct{} `type:"structure"` + + // Human-friendly description of the license configuration. + Description *string `type:"string"` + + // Number of licenses managed by the license configuration. + LicenseCount *int64 `type:"long"` + + // Flag indicating whether hard or soft license enforcement is used. Exceeding + // a hard limit results in the blocked deployment of new instances. + LicenseCountHardLimit *bool `type:"boolean"` + + // Dimension to use to track the license inventory. + // + // LicenseCountingType is a required field + LicenseCountingType *string `type:"string" required:"true" enum:"LicenseCountingType"` + + // Array of configured License Manager rules. + LicenseRules []*string `type:"list"` + + // Name of the license configuration. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The tags to apply to the resources during launch. You can only tag instances + // and volumes on launch. The specified tags are applied to all instances or + // volumes that are created during launch. To tag a resource after it has been + // created, see CreateTags . + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateLicenseConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLicenseConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLicenseConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLicenseConfigurationInput"} + if s.LicenseCountingType == nil { + invalidParams.Add(request.NewErrParamRequired("LicenseCountingType")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateLicenseConfigurationInput) SetDescription(v string) *CreateLicenseConfigurationInput { + s.Description = &v + return s +} + +// SetLicenseCount sets the LicenseCount field's value. +func (s *CreateLicenseConfigurationInput) SetLicenseCount(v int64) *CreateLicenseConfigurationInput { + s.LicenseCount = &v + return s +} + +// SetLicenseCountHardLimit sets the LicenseCountHardLimit field's value. +func (s *CreateLicenseConfigurationInput) SetLicenseCountHardLimit(v bool) *CreateLicenseConfigurationInput { + s.LicenseCountHardLimit = &v + return s +} + +// SetLicenseCountingType sets the LicenseCountingType field's value. +func (s *CreateLicenseConfigurationInput) SetLicenseCountingType(v string) *CreateLicenseConfigurationInput { + s.LicenseCountingType = &v + return s +} + +// SetLicenseRules sets the LicenseRules field's value. +func (s *CreateLicenseConfigurationInput) SetLicenseRules(v []*string) *CreateLicenseConfigurationInput { + s.LicenseRules = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateLicenseConfigurationInput) SetName(v string) *CreateLicenseConfigurationInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateLicenseConfigurationInput) SetTags(v []*Tag) *CreateLicenseConfigurationInput { + s.Tags = v + return s +} + +type CreateLicenseConfigurationOutput struct { + _ struct{} `type:"structure"` + + // ARN of the license configuration object after its creation. + LicenseConfigurationArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateLicenseConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLicenseConfigurationOutput) GoString() string { + return s.String() +} + +// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value. +func (s *CreateLicenseConfigurationOutput) SetLicenseConfigurationArn(v string) *CreateLicenseConfigurationOutput { + s.LicenseConfigurationArn = &v + return s +} + +type DeleteLicenseConfigurationInput struct { + _ struct{} `type:"structure"` + + // Unique ID of the configuration object to delete. + // + // LicenseConfigurationArn is a required field + LicenseConfigurationArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteLicenseConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteLicenseConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteLicenseConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLicenseConfigurationInput"} + if s.LicenseConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value. +func (s *DeleteLicenseConfigurationInput) SetLicenseConfigurationArn(v string) *DeleteLicenseConfigurationInput { + s.LicenseConfigurationArn = &v + return s +} + +type DeleteLicenseConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteLicenseConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteLicenseConfigurationOutput) GoString() string { + return s.String() +} + +// A filter name and value pair that is used to return a more specific list +// of results from a describe operation. Filters can be used to match a set +// of resources by specific criteria, such as tags, attributes, or IDs. The +// filters supported by a Describe operation are documented with the Describe +// operation. +type Filter struct { + _ struct{} `type:"structure"` + + // Name of the filter. Filter names are case-sensitive. + Name *string `type:"string"` + + // One or more filter values. Filter values are case-sensitive. + Values []*string `type:"list"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v + return s +} + +type GetLicenseConfigurationInput struct { + _ struct{} `type:"structure"` + + // ARN of the license configuration being requested. + // + // LicenseConfigurationArn is a required field + LicenseConfigurationArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetLicenseConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetLicenseConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetLicenseConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetLicenseConfigurationInput"} + if s.LicenseConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value. +func (s *GetLicenseConfigurationInput) SetLicenseConfigurationArn(v string) *GetLicenseConfigurationInput { + s.LicenseConfigurationArn = &v + return s +} + +type GetLicenseConfigurationOutput struct { + _ struct{} `type:"structure"` + + // List of summaries for consumed licenses used by various resources. + ConsumedLicenseSummaryList []*ConsumedLicenseSummary `type:"list"` + + // Number of licenses assigned to resources. + ConsumedLicenses *int64 `type:"long"` + + // Description of the license configuration. + Description *string `type:"string"` + + // ARN of the license configuration requested. + LicenseConfigurationArn *string `type:"string"` + + // Unique ID for the license configuration. + LicenseConfigurationId *string `type:"string"` + + // Number of available licenses. + LicenseCount *int64 `type:"long"` + + // Sets the number of available licenses as a hard limit. + LicenseCountHardLimit *bool `type:"boolean"` + + // Dimension on which the licenses are counted (for example, instances, cores, + // sockets, or VCPUs). + LicenseCountingType *string `type:"string" enum:"LicenseCountingType"` + + // List of flexible text strings designating license rules. + LicenseRules []*string `type:"list"` + + // List of summaries of managed resources. + ManagedResourceSummaryList []*ManagedResourceSummary `type:"list"` + + // Name of the license configuration. + Name *string `type:"string"` + + // Owner account ID for the license configuration. + OwnerAccountId *string `type:"string"` + + // License configuration status (active, etc.). + Status *string `type:"string"` + + // List of tags attached to the license configuration. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s GetLicenseConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetLicenseConfigurationOutput) GoString() string { + return s.String() +} + +// SetConsumedLicenseSummaryList sets the ConsumedLicenseSummaryList field's value. +func (s *GetLicenseConfigurationOutput) SetConsumedLicenseSummaryList(v []*ConsumedLicenseSummary) *GetLicenseConfigurationOutput { + s.ConsumedLicenseSummaryList = v + return s +} + +// SetConsumedLicenses sets the ConsumedLicenses field's value. +func (s *GetLicenseConfigurationOutput) SetConsumedLicenses(v int64) *GetLicenseConfigurationOutput { + s.ConsumedLicenses = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetLicenseConfigurationOutput) SetDescription(v string) *GetLicenseConfigurationOutput { + s.Description = &v + return s +} + +// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value. +func (s *GetLicenseConfigurationOutput) SetLicenseConfigurationArn(v string) *GetLicenseConfigurationOutput { + s.LicenseConfigurationArn = &v + return s +} + +// SetLicenseConfigurationId sets the LicenseConfigurationId field's value. +func (s *GetLicenseConfigurationOutput) SetLicenseConfigurationId(v string) *GetLicenseConfigurationOutput { + s.LicenseConfigurationId = &v + return s +} + +// SetLicenseCount sets the LicenseCount field's value. +func (s *GetLicenseConfigurationOutput) SetLicenseCount(v int64) *GetLicenseConfigurationOutput { + s.LicenseCount = &v + return s +} + +// SetLicenseCountHardLimit sets the LicenseCountHardLimit field's value. +func (s *GetLicenseConfigurationOutput) SetLicenseCountHardLimit(v bool) *GetLicenseConfigurationOutput { + s.LicenseCountHardLimit = &v + return s +} + +// SetLicenseCountingType sets the LicenseCountingType field's value. +func (s *GetLicenseConfigurationOutput) SetLicenseCountingType(v string) *GetLicenseConfigurationOutput { + s.LicenseCountingType = &v + return s +} + +// SetLicenseRules sets the LicenseRules field's value. +func (s *GetLicenseConfigurationOutput) SetLicenseRules(v []*string) *GetLicenseConfigurationOutput { + s.LicenseRules = v + return s +} + +// SetManagedResourceSummaryList sets the ManagedResourceSummaryList field's value. +func (s *GetLicenseConfigurationOutput) SetManagedResourceSummaryList(v []*ManagedResourceSummary) *GetLicenseConfigurationOutput { + s.ManagedResourceSummaryList = v + return s +} + +// SetName sets the Name field's value. +func (s *GetLicenseConfigurationOutput) SetName(v string) *GetLicenseConfigurationOutput { + s.Name = &v + return s +} + +// SetOwnerAccountId sets the OwnerAccountId field's value. +func (s *GetLicenseConfigurationOutput) SetOwnerAccountId(v string) *GetLicenseConfigurationOutput { + s.OwnerAccountId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetLicenseConfigurationOutput) SetStatus(v string) *GetLicenseConfigurationOutput { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetLicenseConfigurationOutput) SetTags(v []*Tag) *GetLicenseConfigurationOutput { + s.Tags = v + return s +} + +type GetServiceSettingsInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetServiceSettingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetServiceSettingsInput) GoString() string { + return s.String() +} + +type GetServiceSettingsOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether cross-account discovery has been enabled. + EnableCrossAccountsDiscovery *bool `type:"boolean"` + + // Indicates whether AWS Organizations has been integrated with License Manager + // for cross-account discovery. + OrganizationConfiguration *OrganizationConfiguration `type:"structure"` + + // Regional S3 bucket path for storing reports, license trail event data, discovery + // data, etc. + S3BucketArn *string `type:"string"` + + // SNS topic configured to receive notifications from License Manager. + SnsTopicArn *string `type:"string"` +} + +// String returns the string representation +func (s GetServiceSettingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetServiceSettingsOutput) GoString() string { + return s.String() +} + +// SetEnableCrossAccountsDiscovery sets the EnableCrossAccountsDiscovery field's value. +func (s *GetServiceSettingsOutput) SetEnableCrossAccountsDiscovery(v bool) *GetServiceSettingsOutput { + s.EnableCrossAccountsDiscovery = &v + return s +} + +// SetOrganizationConfiguration sets the OrganizationConfiguration field's value. +func (s *GetServiceSettingsOutput) SetOrganizationConfiguration(v *OrganizationConfiguration) *GetServiceSettingsOutput { + s.OrganizationConfiguration = v + return s +} + +// SetS3BucketArn sets the S3BucketArn field's value. +func (s *GetServiceSettingsOutput) SetS3BucketArn(v string) *GetServiceSettingsOutput { + s.S3BucketArn = &v + return s +} + +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *GetServiceSettingsOutput) SetSnsTopicArn(v string) *GetServiceSettingsOutput { + s.SnsTopicArn = &v + return s +} + +// An inventory filter object. +type InventoryFilter struct { + _ struct{} `type:"structure"` + + // The condition of the filter. + // + // Condition is a required field + Condition *string `type:"string" required:"true" enum:"InventoryFilterCondition"` + + // The name of the filter. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // Value of the filter. + Value *string `type:"string"` +} + +// 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.Condition == nil { + invalidParams.Add(request.NewErrParamRequired("Condition")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCondition sets the Condition field's value. +func (s *InventoryFilter) SetCondition(v string) *InventoryFilter { + s.Condition = &v + return s +} + +// SetName sets the Name field's value. +func (s *InventoryFilter) SetName(v string) *InventoryFilter { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *InventoryFilter) SetValue(v string) *InventoryFilter { + s.Value = &v + return s +} + +// A license configuration is an abstraction of a customer license agreement +// that can be consumed and enforced by License Manager. Components include +// specifications for the license type (licensing by instance, socket, CPU, +// or VCPU), tenancy (shared tenancy, Amazon EC2 Dedicated Instance, Amazon +// EC2 Dedicated Host, or any of these), host affinity (how long a VM must be +// associated with a host), the number of licenses purchased and used. +type LicenseConfiguration struct { + _ struct{} `type:"structure"` + + // List of summaries for licenses consumed by various resources. + ConsumedLicenseSummaryList []*ConsumedLicenseSummary `type:"list"` + + // Number of licenses consumed. + ConsumedLicenses *int64 `type:"long"` + + // Description of the license configuration. + Description *string `type:"string"` + + // ARN of the LicenseConfiguration object. + LicenseConfigurationArn *string `type:"string"` + + // Unique ID of the LicenseConfiguration object. + LicenseConfigurationId *string `type:"string"` + + // Number of licenses managed by the license configuration. + LicenseCount *int64 `type:"long"` + + // Sets the number of available licenses as a hard limit. + LicenseCountHardLimit *bool `type:"boolean"` + + // Dimension to use to track license inventory. + LicenseCountingType *string `type:"string" enum:"LicenseCountingType"` + + // Array of configured License Manager rules. + LicenseRules []*string `type:"list"` + + // List of summaries for managed resources. + ManagedResourceSummaryList []*ManagedResourceSummary `type:"list"` + + // Name of the license configuration. + Name *string `type:"string"` + + // Account ID of the license configuration's owner. + OwnerAccountId *string `type:"string"` + + // Status of the license configuration. + Status *string `type:"string"` +} + +// String returns the string representation +func (s LicenseConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LicenseConfiguration) GoString() string { + return s.String() +} + +// SetConsumedLicenseSummaryList sets the ConsumedLicenseSummaryList field's value. +func (s *LicenseConfiguration) SetConsumedLicenseSummaryList(v []*ConsumedLicenseSummary) *LicenseConfiguration { + s.ConsumedLicenseSummaryList = v + return s +} + +// SetConsumedLicenses sets the ConsumedLicenses field's value. +func (s *LicenseConfiguration) SetConsumedLicenses(v int64) *LicenseConfiguration { + s.ConsumedLicenses = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *LicenseConfiguration) SetDescription(v string) *LicenseConfiguration { + s.Description = &v + return s +} + +// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value. +func (s *LicenseConfiguration) SetLicenseConfigurationArn(v string) *LicenseConfiguration { + s.LicenseConfigurationArn = &v + return s +} + +// SetLicenseConfigurationId sets the LicenseConfigurationId field's value. +func (s *LicenseConfiguration) SetLicenseConfigurationId(v string) *LicenseConfiguration { + s.LicenseConfigurationId = &v + return s +} + +// SetLicenseCount sets the LicenseCount field's value. +func (s *LicenseConfiguration) SetLicenseCount(v int64) *LicenseConfiguration { + s.LicenseCount = &v + return s +} + +// SetLicenseCountHardLimit sets the LicenseCountHardLimit field's value. +func (s *LicenseConfiguration) SetLicenseCountHardLimit(v bool) *LicenseConfiguration { + s.LicenseCountHardLimit = &v + return s +} + +// SetLicenseCountingType sets the LicenseCountingType field's value. +func (s *LicenseConfiguration) SetLicenseCountingType(v string) *LicenseConfiguration { + s.LicenseCountingType = &v + return s +} + +// SetLicenseRules sets the LicenseRules field's value. +func (s *LicenseConfiguration) SetLicenseRules(v []*string) *LicenseConfiguration { + s.LicenseRules = v + return s +} + +// SetManagedResourceSummaryList sets the ManagedResourceSummaryList field's value. +func (s *LicenseConfiguration) SetManagedResourceSummaryList(v []*ManagedResourceSummary) *LicenseConfiguration { + s.ManagedResourceSummaryList = v + return s +} + +// SetName sets the Name field's value. +func (s *LicenseConfiguration) SetName(v string) *LicenseConfiguration { + s.Name = &v + return s +} + +// SetOwnerAccountId sets the OwnerAccountId field's value. +func (s *LicenseConfiguration) SetOwnerAccountId(v string) *LicenseConfiguration { + s.OwnerAccountId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *LicenseConfiguration) SetStatus(v string) *LicenseConfiguration { + s.Status = &v + return s +} + +// Describes a server resource that is associated with a license configuration. +type LicenseConfigurationAssociation struct { + _ struct{} `type:"structure"` + + // Time when the license configuration was associated with the resource. + AssociationTime *time.Time `type:"timestamp"` + + // ARN of the resource associated with the license configuration. + ResourceArn *string `type:"string"` + + // ID of the AWS account that owns the resource consuming licenses. + ResourceOwnerId *string `type:"string"` + + // Type of server resource. + ResourceType *string `type:"string" enum:"ResourceType"` +} + +// String returns the string representation +func (s LicenseConfigurationAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LicenseConfigurationAssociation) GoString() string { + return s.String() +} + +// SetAssociationTime sets the AssociationTime field's value. +func (s *LicenseConfigurationAssociation) SetAssociationTime(v time.Time) *LicenseConfigurationAssociation { + s.AssociationTime = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *LicenseConfigurationAssociation) SetResourceArn(v string) *LicenseConfigurationAssociation { + s.ResourceArn = &v + return s +} + +// SetResourceOwnerId sets the ResourceOwnerId field's value. +func (s *LicenseConfigurationAssociation) SetResourceOwnerId(v string) *LicenseConfigurationAssociation { + s.ResourceOwnerId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *LicenseConfigurationAssociation) SetResourceType(v string) *LicenseConfigurationAssociation { + s.ResourceType = &v + return s +} + +// Contains details of the usage of each resource from the license pool. +type LicenseConfigurationUsage struct { + _ struct{} `type:"structure"` + + // Time when the license configuration was initially associated with a resource. + AssociationTime *time.Time `type:"timestamp"` + + // Number of licenses consumed out of the total provisioned in the license configuration. + ConsumedLicenses *int64 `type:"long"` + + // ARN of the resource associated with a license configuration. + ResourceArn *string `type:"string"` + + // ID of the account that owns a resource that is associated with the license + // configuration. + ResourceOwnerId *string `type:"string"` + + // Status of a resource associated with the license configuration. + ResourceStatus *string `type:"string"` + + // Type of resource associated with athe license configuration. + ResourceType *string `type:"string" enum:"ResourceType"` +} + +// String returns the string representation +func (s LicenseConfigurationUsage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LicenseConfigurationUsage) GoString() string { + return s.String() +} + +// SetAssociationTime sets the AssociationTime field's value. +func (s *LicenseConfigurationUsage) SetAssociationTime(v time.Time) *LicenseConfigurationUsage { + s.AssociationTime = &v + return s +} + +// SetConsumedLicenses sets the ConsumedLicenses field's value. +func (s *LicenseConfigurationUsage) SetConsumedLicenses(v int64) *LicenseConfigurationUsage { + s.ConsumedLicenses = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *LicenseConfigurationUsage) SetResourceArn(v string) *LicenseConfigurationUsage { + s.ResourceArn = &v + return s +} + +// SetResourceOwnerId sets the ResourceOwnerId field's value. +func (s *LicenseConfigurationUsage) SetResourceOwnerId(v string) *LicenseConfigurationUsage { + s.ResourceOwnerId = &v + return s +} + +// SetResourceStatus sets the ResourceStatus field's value. +func (s *LicenseConfigurationUsage) SetResourceStatus(v string) *LicenseConfigurationUsage { + s.ResourceStatus = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *LicenseConfigurationUsage) SetResourceType(v string) *LicenseConfigurationUsage { + s.ResourceType = &v + return s +} + +// Object used for associating a license configuration with a resource. +type LicenseSpecification struct { + _ struct{} `type:"structure"` + + // ARN of the LicenseConfiguration object. + // + // LicenseConfigurationArn is a required field + LicenseConfigurationArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s LicenseSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LicenseSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LicenseSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LicenseSpecification"} + if s.LicenseConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value. +func (s *LicenseSpecification) SetLicenseConfigurationArn(v string) *LicenseSpecification { + s.LicenseConfigurationArn = &v + return s +} + +type ListAssociationsForLicenseConfigurationInput struct { + _ struct{} `type:"structure"` + + // ARN of a LicenseConfiguration object. + // + // LicenseConfigurationArn is a required field + LicenseConfigurationArn *string `type:"string" required:"true"` + + // Maximum number of results to return in a single call. To retrieve the remaining + // results, make another call with the returned NextToken value. + MaxResults *int64 `type:"integer"` + + // Token for the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListAssociationsForLicenseConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAssociationsForLicenseConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAssociationsForLicenseConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAssociationsForLicenseConfigurationInput"} + if s.LicenseConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value. +func (s *ListAssociationsForLicenseConfigurationInput) SetLicenseConfigurationArn(v string) *ListAssociationsForLicenseConfigurationInput { + s.LicenseConfigurationArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAssociationsForLicenseConfigurationInput) SetMaxResults(v int64) *ListAssociationsForLicenseConfigurationInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAssociationsForLicenseConfigurationInput) SetNextToken(v string) *ListAssociationsForLicenseConfigurationInput { + s.NextToken = &v + return s +} + +type ListAssociationsForLicenseConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Lists association objects for the license configuration, each containing + // the association time, number of consumed licenses, resource ARN, resource + // ID, account ID that owns the resource, resource size, and resource type. + LicenseConfigurationAssociations []*LicenseConfigurationAssociation `type:"list"` + + // Token for the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListAssociationsForLicenseConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAssociationsForLicenseConfigurationOutput) GoString() string { + return s.String() +} + +// SetLicenseConfigurationAssociations sets the LicenseConfigurationAssociations field's value. +func (s *ListAssociationsForLicenseConfigurationOutput) SetLicenseConfigurationAssociations(v []*LicenseConfigurationAssociation) *ListAssociationsForLicenseConfigurationOutput { + s.LicenseConfigurationAssociations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAssociationsForLicenseConfigurationOutput) SetNextToken(v string) *ListAssociationsForLicenseConfigurationOutput { + s.NextToken = &v + return s +} + +type ListLicenseConfigurationsInput struct { + _ struct{} `type:"structure"` + + // One or more filters. + Filters []*Filter `type:"list"` + + // An array of ARNs for the calling account’s license configurations. + LicenseConfigurationArns []*string `type:"list"` + + // Maximum number of results to return in a single call. To retrieve the remaining + // results, make another call with the returned NextToken value. + MaxResults *int64 `type:"integer"` + + // Token for the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListLicenseConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLicenseConfigurationsInput) GoString() string { + return s.String() +} + +// SetFilters sets the Filters field's value. +func (s *ListLicenseConfigurationsInput) SetFilters(v []*Filter) *ListLicenseConfigurationsInput { + s.Filters = v + return s +} + +// SetLicenseConfigurationArns sets the LicenseConfigurationArns field's value. +func (s *ListLicenseConfigurationsInput) SetLicenseConfigurationArns(v []*string) *ListLicenseConfigurationsInput { + s.LicenseConfigurationArns = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListLicenseConfigurationsInput) SetMaxResults(v int64) *ListLicenseConfigurationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLicenseConfigurationsInput) SetNextToken(v string) *ListLicenseConfigurationsInput { + s.NextToken = &v + return s +} + +type ListLicenseConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // Array of license configuration objects. + LicenseConfigurations []*LicenseConfiguration `type:"list"` + + // Token for the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListLicenseConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLicenseConfigurationsOutput) GoString() string { + return s.String() +} + +// SetLicenseConfigurations sets the LicenseConfigurations field's value. +func (s *ListLicenseConfigurationsOutput) SetLicenseConfigurations(v []*LicenseConfiguration) *ListLicenseConfigurationsOutput { + s.LicenseConfigurations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLicenseConfigurationsOutput) SetNextToken(v string) *ListLicenseConfigurationsOutput { + s.NextToken = &v + return s +} + +type ListLicenseSpecificationsForResourceInput struct { + _ struct{} `type:"structure"` + + // Maximum number of results to return in a single call. To retrieve the remaining + // results, make another call with the returned NextToken value. + MaxResults *int64 `type:"integer"` + + // Token for the next set of results. + NextToken *string `type:"string"` + + // ARN of an AMI or Amazon EC2 instance that has an associated license configuration. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListLicenseSpecificationsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLicenseSpecificationsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListLicenseSpecificationsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLicenseSpecificationsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListLicenseSpecificationsForResourceInput) SetMaxResults(v int64) *ListLicenseSpecificationsForResourceInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLicenseSpecificationsForResourceInput) SetNextToken(v string) *ListLicenseSpecificationsForResourceInput { + s.NextToken = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListLicenseSpecificationsForResourceInput) SetResourceArn(v string) *ListLicenseSpecificationsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListLicenseSpecificationsForResourceOutput struct { + _ struct{} `type:"structure"` + + // License configurations associated with a resource. + LicenseSpecifications []*LicenseSpecification `type:"list"` + + // Token for the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListLicenseSpecificationsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLicenseSpecificationsForResourceOutput) GoString() string { + return s.String() +} + +// SetLicenseSpecifications sets the LicenseSpecifications field's value. +func (s *ListLicenseSpecificationsForResourceOutput) SetLicenseSpecifications(v []*LicenseSpecification) *ListLicenseSpecificationsForResourceOutput { + s.LicenseSpecifications = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLicenseSpecificationsForResourceOutput) SetNextToken(v string) *ListLicenseSpecificationsForResourceOutput { + s.NextToken = &v + return s +} + +type ListResourceInventoryInput struct { + _ struct{} `type:"structure"` + + // One or more filters. + Filters []*InventoryFilter `type:"list"` + + // Maximum number of results to return in a single call. To retrieve the remaining + // results, make another call with the returned NextToken value. + MaxResults *int64 `type:"integer"` + + // Token for the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListResourceInventoryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResourceInventoryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListResourceInventoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResourceInventoryInput"} + 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 *ListResourceInventoryInput) SetFilters(v []*InventoryFilter) *ListResourceInventoryInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResourceInventoryInput) SetMaxResults(v int64) *ListResourceInventoryInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResourceInventoryInput) SetNextToken(v string) *ListResourceInventoryInput { + s.NextToken = &v + return s +} + +type ListResourceInventoryOutput struct { + _ struct{} `type:"structure"` + + // Token for the next set of results. + NextToken *string `type:"string"` + + // The detailed list of resources. + ResourceInventoryList []*ResourceInventory `type:"list"` +} + +// String returns the string representation +func (s ListResourceInventoryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResourceInventoryOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResourceInventoryOutput) SetNextToken(v string) *ListResourceInventoryOutput { + s.NextToken = &v + return s +} + +// SetResourceInventoryList sets the ResourceInventoryList field's value. +func (s *ListResourceInventoryOutput) SetResourceInventoryList(v []*ResourceInventory) *ListResourceInventoryOutput { + s.ResourceInventoryList = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // ARN for the resource. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` +} + +// 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.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // List of tags attached to the resource. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ListUsageForLicenseConfigurationInput struct { + _ struct{} `type:"structure"` + + // List of filters to apply. + Filters []*Filter `type:"list"` + + // ARN of the targeted LicenseConfiguration object. + // + // LicenseConfigurationArn is a required field + LicenseConfigurationArn *string `type:"string" required:"true"` + + // Maximum number of results to return in a single call. To retrieve the remaining + // results, make another call with the returned NextToken value. + MaxResults *int64 `type:"integer"` + + // Token for the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListUsageForLicenseConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListUsageForLicenseConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListUsageForLicenseConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUsageForLicenseConfigurationInput"} + if s.LicenseConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *ListUsageForLicenseConfigurationInput) SetFilters(v []*Filter) *ListUsageForLicenseConfigurationInput { + s.Filters = v + return s +} + +// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value. +func (s *ListUsageForLicenseConfigurationInput) SetLicenseConfigurationArn(v string) *ListUsageForLicenseConfigurationInput { + s.LicenseConfigurationArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListUsageForLicenseConfigurationInput) SetMaxResults(v int64) *ListUsageForLicenseConfigurationInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUsageForLicenseConfigurationInput) SetNextToken(v string) *ListUsageForLicenseConfigurationInput { + s.NextToken = &v + return s +} + +type ListUsageForLicenseConfigurationOutput struct { + _ struct{} `type:"structure"` + + // An array of LicenseConfigurationUsage objects. + LicenseConfigurationUsageList []*LicenseConfigurationUsage `type:"list"` + + // Token for the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListUsageForLicenseConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListUsageForLicenseConfigurationOutput) GoString() string { + return s.String() +} + +// SetLicenseConfigurationUsageList sets the LicenseConfigurationUsageList field's value. +func (s *ListUsageForLicenseConfigurationOutput) SetLicenseConfigurationUsageList(v []*LicenseConfigurationUsage) *ListUsageForLicenseConfigurationOutput { + s.LicenseConfigurationUsageList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUsageForLicenseConfigurationOutput) SetNextToken(v string) *ListUsageForLicenseConfigurationOutput { + s.NextToken = &v + return s +} + +// Summary for a resource. +type ManagedResourceSummary struct { + _ struct{} `type:"structure"` + + // Number of resources associated with licenses. + AssociationCount *int64 `type:"long"` + + // Type of resource associated with a license (instance, host, or AMI). + ResourceType *string `type:"string" enum:"ResourceType"` +} + +// String returns the string representation +func (s ManagedResourceSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ManagedResourceSummary) GoString() string { + return s.String() +} + +// SetAssociationCount sets the AssociationCount field's value. +func (s *ManagedResourceSummary) SetAssociationCount(v int64) *ManagedResourceSummary { + s.AssociationCount = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ManagedResourceSummary) SetResourceType(v string) *ManagedResourceSummary { + s.ResourceType = &v + return s +} + +// Object containing configuration information for AWS Organizations. +type OrganizationConfiguration struct { + _ struct{} `type:"structure"` + + // Flag to activate AWS Organization integration. + // + // EnableIntegration is a required field + EnableIntegration *bool `type:"boolean" required:"true"` +} + +// String returns the string representation +func (s OrganizationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OrganizationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OrganizationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OrganizationConfiguration"} + if s.EnableIntegration == nil { + invalidParams.Add(request.NewErrParamRequired("EnableIntegration")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnableIntegration sets the EnableIntegration field's value. +func (s *OrganizationConfiguration) SetEnableIntegration(v bool) *OrganizationConfiguration { + s.EnableIntegration = &v + return s +} + +// A set of attributes that describe a resource. +type ResourceInventory struct { + _ struct{} `type:"structure"` + + // The platform of the resource. + Platform *string `type:"string"` + + // Platform version of the resource in the inventory. + PlatformVersion *string `type:"string"` + + // The ARN of the resource. + ResourceArn *string `type:"string"` + + // Unique ID of the resource. + ResourceId *string `type:"string"` + + // Unique ID of the account that owns the resource. + ResourceOwningAccountId *string `type:"string"` + + // The type of resource. + ResourceType *string `type:"string" enum:"ResourceType"` +} + +// String returns the string representation +func (s ResourceInventory) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceInventory) GoString() string { + return s.String() +} + +// SetPlatform sets the Platform field's value. +func (s *ResourceInventory) SetPlatform(v string) *ResourceInventory { + s.Platform = &v + return s +} + +// SetPlatformVersion sets the PlatformVersion field's value. +func (s *ResourceInventory) SetPlatformVersion(v string) *ResourceInventory { + s.PlatformVersion = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ResourceInventory) SetResourceArn(v string) *ResourceInventory { + s.ResourceArn = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *ResourceInventory) SetResourceId(v string) *ResourceInventory { + s.ResourceId = &v + return s +} + +// SetResourceOwningAccountId sets the ResourceOwningAccountId field's value. +func (s *ResourceInventory) SetResourceOwningAccountId(v string) *ResourceInventory { + s.ResourceOwningAccountId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResourceInventory) SetResourceType(v string) *ResourceInventory { + s.ResourceType = &v + return s +} + +// Tag for a resource in a key-value format. +type Tag struct { + _ struct{} `type:"structure"` + + // Key for the resource tag. + Key *string `type:"string"` + + // Value for the resource tag. + Value *string `type:"string"` +} + +// 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() +} + +// 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 +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // Resource of the ARN to be tagged. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` + + // Names of the tags to attach to the resource. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // ARN of the resource. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` + + // List keys identifying tags to remove. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateLicenseConfigurationInput struct { + _ struct{} `type:"structure"` + + // New human-friendly description of the license configuration. + Description *string `type:"string"` + + // ARN for a license configuration. + // + // LicenseConfigurationArn is a required field + LicenseConfigurationArn *string `type:"string" required:"true"` + + // New status of the license configuration (ACTIVE or INACTIVE). + LicenseConfigurationStatus *string `type:"string" enum:"LicenseConfigurationStatus"` + + // New number of licenses managed by the license configuration. + LicenseCount *int64 `type:"long"` + + // Sets the number of available licenses as a hard limit. + LicenseCountHardLimit *bool `type:"boolean"` + + // List of flexible text strings designating license rules. + LicenseRules []*string `type:"list"` + + // New name of the license configuration. + Name *string `type:"string"` +} + +// String returns the string representation +func (s UpdateLicenseConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLicenseConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateLicenseConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLicenseConfigurationInput"} + if s.LicenseConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateLicenseConfigurationInput) SetDescription(v string) *UpdateLicenseConfigurationInput { + s.Description = &v + return s +} + +// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value. +func (s *UpdateLicenseConfigurationInput) SetLicenseConfigurationArn(v string) *UpdateLicenseConfigurationInput { + s.LicenseConfigurationArn = &v + return s +} + +// SetLicenseConfigurationStatus sets the LicenseConfigurationStatus field's value. +func (s *UpdateLicenseConfigurationInput) SetLicenseConfigurationStatus(v string) *UpdateLicenseConfigurationInput { + s.LicenseConfigurationStatus = &v + return s +} + +// SetLicenseCount sets the LicenseCount field's value. +func (s *UpdateLicenseConfigurationInput) SetLicenseCount(v int64) *UpdateLicenseConfigurationInput { + s.LicenseCount = &v + return s +} + +// SetLicenseCountHardLimit sets the LicenseCountHardLimit field's value. +func (s *UpdateLicenseConfigurationInput) SetLicenseCountHardLimit(v bool) *UpdateLicenseConfigurationInput { + s.LicenseCountHardLimit = &v + return s +} + +// SetLicenseRules sets the LicenseRules field's value. +func (s *UpdateLicenseConfigurationInput) SetLicenseRules(v []*string) *UpdateLicenseConfigurationInput { + s.LicenseRules = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateLicenseConfigurationInput) SetName(v string) *UpdateLicenseConfigurationInput { + s.Name = &v + return s +} + +type UpdateLicenseConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateLicenseConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLicenseConfigurationOutput) GoString() string { + return s.String() +} + +type UpdateLicenseSpecificationsForResourceInput struct { + _ struct{} `type:"structure"` + + // License configuration ARNs to be added to a resource. + AddLicenseSpecifications []*LicenseSpecification `type:"list"` + + // License configuration ARNs to be removed from a resource. + RemoveLicenseSpecifications []*LicenseSpecification `type:"list"` + + // ARN for an AWS server resource. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateLicenseSpecificationsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLicenseSpecificationsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateLicenseSpecificationsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLicenseSpecificationsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.AddLicenseSpecifications != nil { + for i, v := range s.AddLicenseSpecifications { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddLicenseSpecifications", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RemoveLicenseSpecifications != nil { + for i, v := range s.RemoveLicenseSpecifications { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RemoveLicenseSpecifications", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddLicenseSpecifications sets the AddLicenseSpecifications field's value. +func (s *UpdateLicenseSpecificationsForResourceInput) SetAddLicenseSpecifications(v []*LicenseSpecification) *UpdateLicenseSpecificationsForResourceInput { + s.AddLicenseSpecifications = v + return s +} + +// SetRemoveLicenseSpecifications sets the RemoveLicenseSpecifications field's value. +func (s *UpdateLicenseSpecificationsForResourceInput) SetRemoveLicenseSpecifications(v []*LicenseSpecification) *UpdateLicenseSpecificationsForResourceInput { + s.RemoveLicenseSpecifications = v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UpdateLicenseSpecificationsForResourceInput) SetResourceArn(v string) *UpdateLicenseSpecificationsForResourceInput { + s.ResourceArn = &v + return s +} + +type UpdateLicenseSpecificationsForResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateLicenseSpecificationsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLicenseSpecificationsForResourceOutput) GoString() string { + return s.String() +} + +type UpdateServiceSettingsInput struct { + _ struct{} `type:"structure"` + + // Activates cross-account discovery. + EnableCrossAccountsDiscovery *bool `type:"boolean"` + + // Integrates AWS Organizations with License Manager for cross-account discovery. + OrganizationConfiguration *OrganizationConfiguration `type:"structure"` + + // ARN of the Amazon S3 bucket where License Manager information is stored. + S3BucketArn *string `type:"string"` + + // ARN of the Amazon SNS topic used for License Manager alerts. + SnsTopicArn *string `type:"string"` +} + +// String returns the string representation +func (s UpdateServiceSettingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateServiceSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateServiceSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateServiceSettingsInput"} + if s.OrganizationConfiguration != nil { + if err := s.OrganizationConfiguration.Validate(); err != nil { + invalidParams.AddNested("OrganizationConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnableCrossAccountsDiscovery sets the EnableCrossAccountsDiscovery field's value. +func (s *UpdateServiceSettingsInput) SetEnableCrossAccountsDiscovery(v bool) *UpdateServiceSettingsInput { + s.EnableCrossAccountsDiscovery = &v + return s +} + +// SetOrganizationConfiguration sets the OrganizationConfiguration field's value. +func (s *UpdateServiceSettingsInput) SetOrganizationConfiguration(v *OrganizationConfiguration) *UpdateServiceSettingsInput { + s.OrganizationConfiguration = v + return s +} + +// SetS3BucketArn sets the S3BucketArn field's value. +func (s *UpdateServiceSettingsInput) SetS3BucketArn(v string) *UpdateServiceSettingsInput { + s.S3BucketArn = &v + return s +} + +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *UpdateServiceSettingsInput) SetSnsTopicArn(v string) *UpdateServiceSettingsInput { + s.SnsTopicArn = &v + return s +} + +type UpdateServiceSettingsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateServiceSettingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateServiceSettingsOutput) GoString() string { + return s.String() +} + +const ( + // InventoryFilterConditionEquals is a InventoryFilterCondition enum value + InventoryFilterConditionEquals = "EQUALS" + + // InventoryFilterConditionNotEquals is a InventoryFilterCondition enum value + InventoryFilterConditionNotEquals = "NOT_EQUALS" + + // InventoryFilterConditionBeginsWith is a InventoryFilterCondition enum value + InventoryFilterConditionBeginsWith = "BEGINS_WITH" + + // InventoryFilterConditionContains is a InventoryFilterCondition enum value + InventoryFilterConditionContains = "CONTAINS" +) + +const ( + // LicenseConfigurationStatusAvailable is a LicenseConfigurationStatus enum value + LicenseConfigurationStatusAvailable = "AVAILABLE" + + // LicenseConfigurationStatusDisabled is a LicenseConfigurationStatus enum value + LicenseConfigurationStatusDisabled = "DISABLED" +) + +const ( + // LicenseCountingTypeVCpu is a LicenseCountingType enum value + LicenseCountingTypeVCpu = "vCPU" + + // LicenseCountingTypeInstance is a LicenseCountingType enum value + LicenseCountingTypeInstance = "Instance" + + // LicenseCountingTypeCore is a LicenseCountingType enum value + LicenseCountingTypeCore = "Core" + + // LicenseCountingTypeSocket is a LicenseCountingType enum value + LicenseCountingTypeSocket = "Socket" +) + +const ( + // ResourceTypeEc2Instance is a ResourceType enum value + ResourceTypeEc2Instance = "EC2_INSTANCE" + + // ResourceTypeEc2Host is a ResourceType enum value + ResourceTypeEc2Host = "EC2_HOST" + + // ResourceTypeEc2Ami is a ResourceType enum value + ResourceTypeEc2Ami = "EC2_AMI" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/licensemanager/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/licensemanager/doc.go new file mode 100644 index 00000000000..14e09f5e4fb --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/licensemanager/doc.go @@ -0,0 +1,35 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package licensemanager provides the client and types for making API +// requests to AWS License Manager. +// +// This is the AWS License Manager API Reference. It provides descriptions, +// syntax, and usage examples for each of the actions and data types for License +// Manager. The topic for each action shows the Query API request parameters +// and the XML response. You can also view the XML request elements in the WSDL. +// +// Alternatively, you can use one of the AWS SDKs to access an API that's tailored +// to the programming language or platform that you're using. For more information, +// see AWS SDKs (http://aws.amazon.com/tools/#SDKs). +// +// See https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01 for more information on this service. +// +// See licensemanager package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/licensemanager/ +// +// Using the Client +// +// To contact AWS License Manager 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 License Manager client LicenseManager for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/licensemanager/#New +package licensemanager diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/licensemanager/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/licensemanager/errors.go new file mode 100644 index 00000000000..7a6816be97e --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/licensemanager/errors.go @@ -0,0 +1,70 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package licensemanager + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // Access to resource denied. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeAuthorizationException for service response error code + // "AuthorizationException". + // + // The AWS user account does not have permission to perform the action. Check + // the IAM policy associated with this account. + ErrCodeAuthorizationException = "AuthorizationException" + + // ErrCodeFailedDependencyException for service response error code + // "FailedDependencyException". + // + // A dependency required to run the API is missing. + ErrCodeFailedDependencyException = "FailedDependencyException" + + // ErrCodeFilterLimitExceededException for service response error code + // "FilterLimitExceededException". + // + // The request uses too many filters or too many filter values. + ErrCodeFilterLimitExceededException = "FilterLimitExceededException" + + // ErrCodeInvalidParameterValueException for service response error code + // "InvalidParameterValueException". + // + // One or more parameter values are not valid. + ErrCodeInvalidParameterValueException = "InvalidParameterValueException" + + // ErrCodeInvalidResourceStateException for service response error code + // "InvalidResourceStateException". + // + // License Manager cannot allocate a license to a resource because of its state. + // + // For example, you cannot allocate a license to an instance in the process + // of shutting down. + ErrCodeInvalidResourceStateException = "InvalidResourceStateException" + + // ErrCodeLicenseUsageException for service response error code + // "LicenseUsageException". + // + // You do not have enough licenses available to support a new resource launch. + ErrCodeLicenseUsageException = "LicenseUsageException" + + // ErrCodeRateLimitExceededException for service response error code + // "RateLimitExceededException". + // + // Too many requests have been submitted. Try again after a brief wait. + ErrCodeRateLimitExceededException = "RateLimitExceededException" + + // ErrCodeResourceLimitExceededException for service response error code + // "ResourceLimitExceededException". + // + // Your resource limits have been exceeded. + ErrCodeResourceLimitExceededException = "ResourceLimitExceededException" + + // ErrCodeServerInternalException for service response error code + // "ServerInternalException". + // + // The server experienced an internal error. Try again. + ErrCodeServerInternalException = "ServerInternalException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/licensemanager/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/licensemanager/service.go new file mode 100644 index 00000000000..5a8fc996539 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/licensemanager/service.go @@ -0,0 +1,97 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package licensemanager + +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" +) + +// LicenseManager provides the API operation methods for making requests to +// AWS License Manager. See this package's package overview docs +// for details on the service. +// +// LicenseManager methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type LicenseManager 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 = "License Manager" // Name of service. + EndpointsID = "license-manager" // ID to lookup a service endpoint with. + ServiceID = "License Manager" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the LicenseManager 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 LicenseManager client from just a session. +// svc := licensemanager.New(mySession) +// +// // Create a LicenseManager client with additional configuration +// svc := licensemanager.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *LicenseManager { + 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) *LicenseManager { + svc := &LicenseManager{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-08-01", + JSONVersion: "1.1", + TargetPrefix: "AWSLicenseManager", + }, + 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 LicenseManager operation and runs any +// custom request initialization. +func (c *LicenseManager) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go index 47e0f353d5b..c838d773434 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go @@ -1159,6 +1159,16 @@ func (c *Lightsail) CreateDiskSnapshotRequest(input *CreateDiskSnapshotInput) (r // snapshot. You may remount and use your disk while the snapshot status is // pending. // +// You can also use this operation to create a snapshot of an instance's system +// volume. You might want to do this, for example, to recover data from the +// system volume of a botched instance or to create a backup of the system volume +// like you would for a block storage disk. To create a snapshot of a system +// volume, just define the instance name parameter when issuing the snapshot +// command, and a snapshot of the defined instance's system volume will be created. +// After the snapshot is available, you can create a block storage disk from +// the snapshot and attach it to a running instance to access the data on the +// disk. +// // The create disk snapshot operation supports tag-based access control via // request tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // @@ -4099,7 +4109,7 @@ func (c *Lightsail) ExportSnapshotRequest(input *ExportSnapshotInput) (req *requ // ExportSnapshot API operation for Amazon Lightsail. // -// Exports a Amazon Lightsail instance or block storage disk snapshot to Amazon +// Exports an Amazon Lightsail instance or block storage disk snapshot to Amazon // Elastic Compute Cloud (Amazon EC2). This operation results in an export snapshot // record that can be used with the create cloud formation stack operation to // create new Amazon EC2 instances. @@ -9287,10 +9297,7 @@ func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *requ // RebootInstance API operation for Amazon Lightsail. // -// Restarts a specific instance. When your Amazon Lightsail instance is finished -// rebooting, Lightsail assigns a new public IP address. To use the same IP -// address after restarting, create a static IP address and attach it to the -// instance. +// Restarts a specific instance. // // The reboot instance operation supports tag-based access control via resource // tags applied to the resource identified by instanceName. For more information, @@ -9613,6 +9620,11 @@ func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *reques // Starts a specific Amazon Lightsail instance from a stopped state. To restart // an instance, use the reboot instance operation. // +// When you start a stopped instance, Lightsail assigns a new public IP address +// to the instance. To use the same IP address after stopping and starting an +// instance, create a static IP address and attach it to the instance. For more +// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip). +// // The start instance operation supports tag-based access control via resource // tags applied to the resource identified by instanceName. For more information, // see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). @@ -9830,6 +9842,11 @@ func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request. // // Stops a specific Amazon Lightsail instance that is currently running. // +// When you start a stopped instance, Lightsail assigns a new public IP address +// to the instance. To use the same IP address after stopping and starting an +// instance, create a static IP address and attach it to the instance. For more +// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip). +// // The stop instance operation supports tag-based access control via resource // tags applied to the resource identified by instanceName. For more information, // see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). @@ -12045,10 +12062,11 @@ func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput { type CreateDiskSnapshotInput struct { _ struct{} `type:"structure"` - // The unique name of the source disk (e.g., my-source-disk). + // The unique name of the source disk (e.g., Disk-Virginia-1). // - // DiskName is a required field - DiskName *string `locationName:"diskName" type:"string" required:"true"` + // This parameter cannot be defined together with the instance name parameter. + // The disk name and instance name parameters are mutually exclusive. + DiskName *string `locationName:"diskName" type:"string"` // The name of the destination disk snapshot (e.g., my-disk-snapshot) based // on the source disk. @@ -12056,6 +12074,13 @@ type CreateDiskSnapshotInput struct { // DiskSnapshotName is a required field DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"` + // The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1). + // When this is defined, a snapshot of the instance's system volume is created. + // + // This parameter cannot be defined together with the disk name parameter. The + // instance name and disk name parameters are mutually exclusive. + InstanceName *string `locationName:"instanceName" type:"string"` + // The tag keys and optional values to add to the resource during create. // // To tag a resource after it has been created, see the tag resource operation. @@ -12075,9 +12100,6 @@ func (s CreateDiskSnapshotInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateDiskSnapshotInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"} - if s.DiskName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskName")) - } if s.DiskSnapshotName == nil { invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName")) } @@ -12100,6 +12122,12 @@ func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnaps return s } +// SetInstanceName sets the InstanceName field's value. +func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput { + s.InstanceName = &v + return s +} + // SetTags sets the Tags field's value. func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput { s.Tags = v @@ -14816,13 +14844,21 @@ type DiskSnapshot struct { // The date when the disk snapshot was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - // The Amazon Resource Name (ARN) of the source disk from which you are creating - // the disk snapshot. + // The Amazon Resource Name (ARN) of the source disk from which the disk snapshot + // was created. FromDiskArn *string `locationName:"fromDiskArn" type:"string"` - // The unique name of the source disk from which you are creating the disk snapshot. + // The unique name of the source disk from which the disk snapshot was created. FromDiskName *string `locationName:"fromDiskName" type:"string"` + // The Amazon Resource Name (ARN) of the source instance from which the disk + // (system volume) snapshot was created. + FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"` + + // The unique name of the source instance from which the disk (system volume) + // snapshot was created. + FromInstanceName *string `locationName:"fromInstanceName" type:"string"` + // The AWS Region and Availability Zone where the disk snapshot was created. Location *ResourceLocation `locationName:"location" type:"structure"` @@ -14885,6 +14921,18 @@ func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot { return s } +// SetFromInstanceArn sets the FromInstanceArn field's value. +func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot { + s.FromInstanceArn = &v + return s +} + +// SetFromInstanceName sets the FromInstanceName field's value. +func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot { + s.FromInstanceName = &v + return s +} + // SetLocation sets the Location field's value. func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot { s.Location = v @@ -19104,6 +19152,8 @@ type InstanceEntry struct { // // * NONE — Default to Amazon EC2. // + // * CLOSED — All ports closed. + // // PortInfoSource is a required field PortInfoSource *string `locationName:"portInfoSource" type:"string" required:"true" enum:"PortInfoSourceType"` @@ -23825,6 +23875,9 @@ const ( // PortInfoSourceTypeNone is a PortInfoSourceType enum value PortInfoSourceTypeNone = "NONE" + + // PortInfoSourceTypeClosed is a PortInfoSourceType enum value + PortInfoSourceTypeClosed = "CLOSED" ) const ( diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/api.go new file mode 100644 index 00000000000..9f5c8a306b7 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/api.go @@ -0,0 +1,4571 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediaconnect + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opAddFlowOutputs = "AddFlowOutputs" + +// AddFlowOutputsRequest generates a "aws/request.Request" representing the +// client's request for the AddFlowOutputs 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 AddFlowOutputs for more information on using the AddFlowOutputs +// 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 AddFlowOutputsRequest method. +// req, resp := client.AddFlowOutputsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowOutputs +func (c *MediaConnect) AddFlowOutputsRequest(input *AddFlowOutputsInput) (req *request.Request, output *AddFlowOutputsOutput) { + op := &request.Operation{ + Name: opAddFlowOutputs, + HTTPMethod: "POST", + HTTPPath: "/v1/flows/{flowArn}/outputs", + } + + if input == nil { + input = &AddFlowOutputsInput{} + } + + output = &AddFlowOutputsOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddFlowOutputs API operation for AWS MediaConnect. +// +// Adds outputs to an existing flow. You can create up to 20 outputs per flow. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 MediaConnect's +// API operation AddFlowOutputs for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAddFlowOutputs420Exception "AddFlowOutputs420Exception" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowOutputs +func (c *MediaConnect) AddFlowOutputs(input *AddFlowOutputsInput) (*AddFlowOutputsOutput, error) { + req, out := c.AddFlowOutputsRequest(input) + return out, req.Send() +} + +// AddFlowOutputsWithContext is the same as AddFlowOutputs with the addition of +// the ability to pass a context and additional request options. +// +// See AddFlowOutputs 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 *MediaConnect) AddFlowOutputsWithContext(ctx aws.Context, input *AddFlowOutputsInput, opts ...request.Option) (*AddFlowOutputsOutput, error) { + req, out := c.AddFlowOutputsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateFlow = "CreateFlow" + +// CreateFlowRequest generates a "aws/request.Request" representing the +// client's request for the CreateFlow 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 CreateFlow for more information on using the CreateFlow +// 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 CreateFlowRequest method. +// req, resp := client.CreateFlowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/CreateFlow +func (c *MediaConnect) CreateFlowRequest(input *CreateFlowInput) (req *request.Request, output *CreateFlowOutput) { + op := &request.Operation{ + Name: opCreateFlow, + HTTPMethod: "POST", + HTTPPath: "/v1/flows", + } + + if input == nil { + input = &CreateFlowInput{} + } + + output = &CreateFlowOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateFlow API operation for AWS MediaConnect. +// +// Creates a new flow. The request must include one source. The request optionally +// can include outputs (up to 20) and entitlements (up to 50). +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 MediaConnect's +// API operation CreateFlow for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCreateFlow420Exception "CreateFlow420Exception" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/CreateFlow +func (c *MediaConnect) CreateFlow(input *CreateFlowInput) (*CreateFlowOutput, error) { + req, out := c.CreateFlowRequest(input) + return out, req.Send() +} + +// CreateFlowWithContext is the same as CreateFlow with the addition of +// the ability to pass a context and additional request options. +// +// See CreateFlow 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 *MediaConnect) CreateFlowWithContext(ctx aws.Context, input *CreateFlowInput, opts ...request.Option) (*CreateFlowOutput, error) { + req, out := c.CreateFlowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteFlow = "DeleteFlow" + +// DeleteFlowRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFlow 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 DeleteFlow for more information on using the DeleteFlow +// 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 DeleteFlowRequest method. +// req, resp := client.DeleteFlowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DeleteFlow +func (c *MediaConnect) DeleteFlowRequest(input *DeleteFlowInput) (req *request.Request, output *DeleteFlowOutput) { + op := &request.Operation{ + Name: opDeleteFlow, + HTTPMethod: "DELETE", + HTTPPath: "/v1/flows/{flowArn}", + } + + if input == nil { + input = &DeleteFlowInput{} + } + + output = &DeleteFlowOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteFlow API operation for AWS MediaConnect. +// +// Deletes a flow. Before you can delete a flow, you must stop the flow. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 MediaConnect's +// API operation DeleteFlow for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DeleteFlow +func (c *MediaConnect) DeleteFlow(input *DeleteFlowInput) (*DeleteFlowOutput, error) { + req, out := c.DeleteFlowRequest(input) + return out, req.Send() +} + +// DeleteFlowWithContext is the same as DeleteFlow with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteFlow 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 *MediaConnect) DeleteFlowWithContext(ctx aws.Context, input *DeleteFlowInput, opts ...request.Option) (*DeleteFlowOutput, error) { + req, out := c.DeleteFlowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeFlow = "DescribeFlow" + +// DescribeFlowRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFlow 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 DescribeFlow for more information on using the DescribeFlow +// 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 DescribeFlowRequest method. +// req, resp := client.DescribeFlowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DescribeFlow +func (c *MediaConnect) DescribeFlowRequest(input *DescribeFlowInput) (req *request.Request, output *DescribeFlowOutput) { + op := &request.Operation{ + Name: opDescribeFlow, + HTTPMethod: "GET", + HTTPPath: "/v1/flows/{flowArn}", + } + + if input == nil { + input = &DescribeFlowInput{} + } + + output = &DescribeFlowOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFlow API operation for AWS MediaConnect. +// +// Displays the details of a flow. The response includes the flow ARN, name, +// and Availability Zone, as well as details about the source, outputs, and +// entitlements. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 MediaConnect's +// API operation DescribeFlow for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DescribeFlow +func (c *MediaConnect) DescribeFlow(input *DescribeFlowInput) (*DescribeFlowOutput, error) { + req, out := c.DescribeFlowRequest(input) + return out, req.Send() +} + +// DescribeFlowWithContext is the same as DescribeFlow with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFlow 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 *MediaConnect) DescribeFlowWithContext(ctx aws.Context, input *DescribeFlowInput, opts ...request.Option) (*DescribeFlowOutput, error) { + req, out := c.DescribeFlowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGrantFlowEntitlements = "GrantFlowEntitlements" + +// GrantFlowEntitlementsRequest generates a "aws/request.Request" representing the +// client's request for the GrantFlowEntitlements 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 GrantFlowEntitlements for more information on using the GrantFlowEntitlements +// 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 GrantFlowEntitlementsRequest method. +// req, resp := client.GrantFlowEntitlementsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/GrantFlowEntitlements +func (c *MediaConnect) GrantFlowEntitlementsRequest(input *GrantFlowEntitlementsInput) (req *request.Request, output *GrantFlowEntitlementsOutput) { + op := &request.Operation{ + Name: opGrantFlowEntitlements, + HTTPMethod: "POST", + HTTPPath: "/v1/flows/{flowArn}/entitlements", + } + + if input == nil { + input = &GrantFlowEntitlementsInput{} + } + + output = &GrantFlowEntitlementsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GrantFlowEntitlements API operation for AWS MediaConnect. +// +// Grants entitlements to an existing flow. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 MediaConnect's +// API operation GrantFlowEntitlements for usage and error information. +// +// Returned Error Codes: +// * ErrCodeGrantFlowEntitlements420Exception "GrantFlowEntitlements420Exception" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/GrantFlowEntitlements +func (c *MediaConnect) GrantFlowEntitlements(input *GrantFlowEntitlementsInput) (*GrantFlowEntitlementsOutput, error) { + req, out := c.GrantFlowEntitlementsRequest(input) + return out, req.Send() +} + +// GrantFlowEntitlementsWithContext is the same as GrantFlowEntitlements with the addition of +// the ability to pass a context and additional request options. +// +// See GrantFlowEntitlements 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 *MediaConnect) GrantFlowEntitlementsWithContext(ctx aws.Context, input *GrantFlowEntitlementsInput, opts ...request.Option) (*GrantFlowEntitlementsOutput, error) { + req, out := c.GrantFlowEntitlementsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListEntitlements = "ListEntitlements" + +// ListEntitlementsRequest generates a "aws/request.Request" representing the +// client's request for the ListEntitlements 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 ListEntitlements for more information on using the ListEntitlements +// 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 ListEntitlementsRequest method. +// req, resp := client.ListEntitlementsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListEntitlements +func (c *MediaConnect) ListEntitlementsRequest(input *ListEntitlementsInput) (req *request.Request, output *ListEntitlementsOutput) { + op := &request.Operation{ + Name: opListEntitlements, + HTTPMethod: "GET", + HTTPPath: "/v1/entitlements", + } + + if input == nil { + input = &ListEntitlementsInput{} + } + + output = &ListEntitlementsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEntitlements API operation for AWS MediaConnect. +// +// Displays a list of all entitlements that have been granted to this account. +// This request returns 20 results per page. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 MediaConnect's +// API operation ListEntitlements for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListEntitlements +func (c *MediaConnect) ListEntitlements(input *ListEntitlementsInput) (*ListEntitlementsOutput, error) { + req, out := c.ListEntitlementsRequest(input) + return out, req.Send() +} + +// ListEntitlementsWithContext is the same as ListEntitlements with the addition of +// the ability to pass a context and additional request options. +// +// See ListEntitlements 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 *MediaConnect) ListEntitlementsWithContext(ctx aws.Context, input *ListEntitlementsInput, opts ...request.Option) (*ListEntitlementsOutput, error) { + req, out := c.ListEntitlementsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListFlows = "ListFlows" + +// ListFlowsRequest generates a "aws/request.Request" representing the +// client's request for the ListFlows 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 ListFlows for more information on using the ListFlows +// 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 ListFlowsRequest method. +// req, resp := client.ListFlowsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListFlows +func (c *MediaConnect) ListFlowsRequest(input *ListFlowsInput) (req *request.Request, output *ListFlowsOutput) { + op := &request.Operation{ + Name: opListFlows, + HTTPMethod: "GET", + HTTPPath: "/v1/flows", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListFlowsInput{} + } + + output = &ListFlowsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFlows API operation for AWS MediaConnect. +// +// Displays a list of flows that are associated with this account. This request +// returns a paginated result. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS MediaConnect's +// API operation ListFlows for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListFlows +func (c *MediaConnect) ListFlows(input *ListFlowsInput) (*ListFlowsOutput, error) { + req, out := c.ListFlowsRequest(input) + return out, req.Send() +} + +// ListFlowsWithContext is the same as ListFlows with the addition of +// the ability to pass a context and additional request options. +// +// See ListFlows 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 *MediaConnect) ListFlowsWithContext(ctx aws.Context, input *ListFlowsInput, opts ...request.Option) (*ListFlowsOutput, error) { + req, out := c.ListFlowsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListFlowsPages iterates over the pages of a ListFlows operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFlows 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 ListFlows operation. +// pageNum := 0 +// err := client.ListFlowsPages(params, +// func(page *ListFlowsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaConnect) ListFlowsPages(input *ListFlowsInput, fn func(*ListFlowsOutput, bool) bool) error { + return c.ListFlowsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListFlowsPagesWithContext same as ListFlowsPages 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 *MediaConnect) ListFlowsPagesWithContext(ctx aws.Context, input *ListFlowsInput, fn func(*ListFlowsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFlowsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFlowsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListFlowsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListTagsForResource +func (c *MediaConnect) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS MediaConnect. +// +// Lists all tags associated with the resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS MediaConnect's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListTagsForResource +func (c *MediaConnect) 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 *MediaConnect) 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 opRemoveFlowOutput = "RemoveFlowOutput" + +// RemoveFlowOutputRequest generates a "aws/request.Request" representing the +// client's request for the RemoveFlowOutput 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 RemoveFlowOutput for more information on using the RemoveFlowOutput +// 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 RemoveFlowOutputRequest method. +// req, resp := client.RemoveFlowOutputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowOutput +func (c *MediaConnect) RemoveFlowOutputRequest(input *RemoveFlowOutputInput) (req *request.Request, output *RemoveFlowOutputOutput) { + op := &request.Operation{ + Name: opRemoveFlowOutput, + HTTPMethod: "DELETE", + HTTPPath: "/v1/flows/{flowArn}/outputs/{outputArn}", + } + + if input == nil { + input = &RemoveFlowOutputInput{} + } + + output = &RemoveFlowOutputOutput{} + req = c.newRequest(op, input, output) + return +} + +// RemoveFlowOutput API operation for AWS MediaConnect. +// +// Removes an output from an existing flow. This request can be made only on +// an output that does not have an entitlement associated with it. If the output +// has an entitlement, you must revoke the entitlement instead. When an entitlement +// is revoked from a flow, the service automatically removes the associated +// 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 AWS MediaConnect's +// API operation RemoveFlowOutput for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowOutput +func (c *MediaConnect) RemoveFlowOutput(input *RemoveFlowOutputInput) (*RemoveFlowOutputOutput, error) { + req, out := c.RemoveFlowOutputRequest(input) + return out, req.Send() +} + +// RemoveFlowOutputWithContext is the same as RemoveFlowOutput with the addition of +// the ability to pass a context and additional request options. +// +// See RemoveFlowOutput 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 *MediaConnect) RemoveFlowOutputWithContext(ctx aws.Context, input *RemoveFlowOutputInput, opts ...request.Option) (*RemoveFlowOutputOutput, error) { + req, out := c.RemoveFlowOutputRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRevokeFlowEntitlement = "RevokeFlowEntitlement" + +// RevokeFlowEntitlementRequest generates a "aws/request.Request" representing the +// client's request for the RevokeFlowEntitlement 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 RevokeFlowEntitlement for more information on using the RevokeFlowEntitlement +// 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 RevokeFlowEntitlementRequest method. +// req, resp := client.RevokeFlowEntitlementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RevokeFlowEntitlement +func (c *MediaConnect) RevokeFlowEntitlementRequest(input *RevokeFlowEntitlementInput) (req *request.Request, output *RevokeFlowEntitlementOutput) { + op := &request.Operation{ + Name: opRevokeFlowEntitlement, + HTTPMethod: "DELETE", + HTTPPath: "/v1/flows/{flowArn}/entitlements/{entitlementArn}", + } + + if input == nil { + input = &RevokeFlowEntitlementInput{} + } + + output = &RevokeFlowEntitlementOutput{} + req = c.newRequest(op, input, output) + return +} + +// RevokeFlowEntitlement API operation for AWS MediaConnect. +// +// Revokes an entitlement from a flow. Once an entitlement is revoked, the content +// becomes unavailable to the subscriber and the associated output is removed. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 MediaConnect's +// API operation RevokeFlowEntitlement for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RevokeFlowEntitlement +func (c *MediaConnect) RevokeFlowEntitlement(input *RevokeFlowEntitlementInput) (*RevokeFlowEntitlementOutput, error) { + req, out := c.RevokeFlowEntitlementRequest(input) + return out, req.Send() +} + +// RevokeFlowEntitlementWithContext is the same as RevokeFlowEntitlement with the addition of +// the ability to pass a context and additional request options. +// +// See RevokeFlowEntitlement 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 *MediaConnect) RevokeFlowEntitlementWithContext(ctx aws.Context, input *RevokeFlowEntitlementInput, opts ...request.Option) (*RevokeFlowEntitlementOutput, error) { + req, out := c.RevokeFlowEntitlementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartFlow = "StartFlow" + +// StartFlowRequest generates a "aws/request.Request" representing the +// client's request for the StartFlow 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 StartFlow for more information on using the StartFlow +// 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 StartFlowRequest method. +// req, resp := client.StartFlowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/StartFlow +func (c *MediaConnect) StartFlowRequest(input *StartFlowInput) (req *request.Request, output *StartFlowOutput) { + op := &request.Operation{ + Name: opStartFlow, + HTTPMethod: "POST", + HTTPPath: "/v1/flows/start/{flowArn}", + } + + if input == nil { + input = &StartFlowInput{} + } + + output = &StartFlowOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartFlow API operation for AWS MediaConnect. +// +// Starts a flow. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 MediaConnect's +// API operation StartFlow for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/StartFlow +func (c *MediaConnect) StartFlow(input *StartFlowInput) (*StartFlowOutput, error) { + req, out := c.StartFlowRequest(input) + return out, req.Send() +} + +// StartFlowWithContext is the same as StartFlow with the addition of +// the ability to pass a context and additional request options. +// +// See StartFlow 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 *MediaConnect) StartFlowWithContext(ctx aws.Context, input *StartFlowInput, opts ...request.Option) (*StartFlowOutput, error) { + req, out := c.StartFlowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopFlow = "StopFlow" + +// StopFlowRequest generates a "aws/request.Request" representing the +// client's request for the StopFlow 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 StopFlow for more information on using the StopFlow +// 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 StopFlowRequest method. +// req, resp := client.StopFlowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/StopFlow +func (c *MediaConnect) StopFlowRequest(input *StopFlowInput) (req *request.Request, output *StopFlowOutput) { + op := &request.Operation{ + Name: opStopFlow, + HTTPMethod: "POST", + HTTPPath: "/v1/flows/stop/{flowArn}", + } + + if input == nil { + input = &StopFlowInput{} + } + + output = &StopFlowOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopFlow API operation for AWS MediaConnect. +// +// Stops a flow. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 MediaConnect's +// API operation StopFlow for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/StopFlow +func (c *MediaConnect) StopFlow(input *StopFlowInput) (*StopFlowOutput, error) { + req, out := c.StopFlowRequest(input) + return out, req.Send() +} + +// StopFlowWithContext is the same as StopFlow with the addition of +// the ability to pass a context and additional request options. +// +// See StopFlow 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 *MediaConnect) StopFlowWithContext(ctx aws.Context, input *StopFlowInput, opts ...request.Option) (*StopFlowOutput, error) { + req, out := c.StopFlowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/TagResource +func (c *MediaConnect) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS MediaConnect. +// +// Associates the specified tags to a resource. If the request does not mention +// an existing tag associated with the resource, that tag is not changed. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 MediaConnect's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/TagResource +func (c *MediaConnect) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaConnect) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UntagResource +func (c *MediaConnect) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS MediaConnect. +// +// Deletes the specified tags from a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS MediaConnect's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UntagResource +func (c *MediaConnect) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaConnect) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateFlowEntitlement = "UpdateFlowEntitlement" + +// UpdateFlowEntitlementRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFlowEntitlement 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 UpdateFlowEntitlement for more information on using the UpdateFlowEntitlement +// 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 UpdateFlowEntitlementRequest method. +// req, resp := client.UpdateFlowEntitlementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowEntitlement +func (c *MediaConnect) UpdateFlowEntitlementRequest(input *UpdateFlowEntitlementInput) (req *request.Request, output *UpdateFlowEntitlementOutput) { + op := &request.Operation{ + Name: opUpdateFlowEntitlement, + HTTPMethod: "PUT", + HTTPPath: "/v1/flows/{flowArn}/entitlements/{entitlementArn}", + } + + if input == nil { + input = &UpdateFlowEntitlementInput{} + } + + output = &UpdateFlowEntitlementOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFlowEntitlement API operation for AWS MediaConnect. +// +// You can change an entitlement's description, subscribers, and encryption. +// If you change the subscribers, the service will remove the outputs that are +// are used by the subscribers that are removed. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 MediaConnect's +// API operation UpdateFlowEntitlement for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowEntitlement +func (c *MediaConnect) UpdateFlowEntitlement(input *UpdateFlowEntitlementInput) (*UpdateFlowEntitlementOutput, error) { + req, out := c.UpdateFlowEntitlementRequest(input) + return out, req.Send() +} + +// UpdateFlowEntitlementWithContext is the same as UpdateFlowEntitlement with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFlowEntitlement 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 *MediaConnect) UpdateFlowEntitlementWithContext(ctx aws.Context, input *UpdateFlowEntitlementInput, opts ...request.Option) (*UpdateFlowEntitlementOutput, error) { + req, out := c.UpdateFlowEntitlementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateFlowOutput = "UpdateFlowOutput" + +// UpdateFlowOutputRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFlowOutput 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 UpdateFlowOutput for more information on using the UpdateFlowOutput +// 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 UpdateFlowOutputRequest method. +// req, resp := client.UpdateFlowOutputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowOutput +func (c *MediaConnect) UpdateFlowOutputRequest(input *UpdateFlowOutputInput) (req *request.Request, output *UpdateFlowOutputOutput) { + op := &request.Operation{ + Name: opUpdateFlowOutput, + HTTPMethod: "PUT", + HTTPPath: "/v1/flows/{flowArn}/outputs/{outputArn}", + } + + if input == nil { + input = &UpdateFlowOutputInput{} + } + + output = &UpdateFlowOutputOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFlowOutput API operation for AWS MediaConnect. +// +// Updates an existing flow 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 AWS MediaConnect's +// API operation UpdateFlowOutput for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowOutput +func (c *MediaConnect) UpdateFlowOutput(input *UpdateFlowOutputInput) (*UpdateFlowOutputOutput, error) { + req, out := c.UpdateFlowOutputRequest(input) + return out, req.Send() +} + +// UpdateFlowOutputWithContext is the same as UpdateFlowOutput with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFlowOutput 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 *MediaConnect) UpdateFlowOutputWithContext(ctx aws.Context, input *UpdateFlowOutputInput, opts ...request.Option) (*UpdateFlowOutputOutput, error) { + req, out := c.UpdateFlowOutputRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateFlowSource = "UpdateFlowSource" + +// UpdateFlowSourceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFlowSource 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 UpdateFlowSource for more information on using the UpdateFlowSource +// 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 UpdateFlowSourceRequest method. +// req, resp := client.UpdateFlowSourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowSource +func (c *MediaConnect) UpdateFlowSourceRequest(input *UpdateFlowSourceInput) (req *request.Request, output *UpdateFlowSourceOutput) { + op := &request.Operation{ + Name: opUpdateFlowSource, + HTTPMethod: "PUT", + HTTPPath: "/v1/flows/{flowArn}/source/{sourceArn}", + } + + if input == nil { + input = &UpdateFlowSourceInput{} + } + + output = &UpdateFlowSourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFlowSource API operation for AWS MediaConnect. +// +// Updates the source of a flow. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 MediaConnect's +// API operation UpdateFlowSource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowSource +func (c *MediaConnect) UpdateFlowSource(input *UpdateFlowSourceInput) (*UpdateFlowSourceOutput, error) { + req, out := c.UpdateFlowSourceRequest(input) + return out, req.Send() +} + +// UpdateFlowSourceWithContext is the same as UpdateFlowSource with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFlowSource 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 *MediaConnect) UpdateFlowSourceWithContext(ctx aws.Context, input *UpdateFlowSourceInput, opts ...request.Option) (*UpdateFlowSourceOutput, error) { + req, out := c.UpdateFlowSourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Adds outputs to an existing flow. You can create up to 20 outputs per flow. +type AddFlowOutputsInput struct { + _ struct{} `type:"structure"` + + // FlowArn is a required field + FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` + + // A list of outputs that you want to add. + // + // Outputs is a required field + Outputs []*AddOutputRequest `locationName:"outputs" type:"list" required:"true"` +} + +// String returns the string representation +func (s AddFlowOutputsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddFlowOutputsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddFlowOutputsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddFlowOutputsInput"} + if s.FlowArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowArn")) + } + if s.FlowArn != nil && len(*s.FlowArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1)) + } + if s.Outputs == nil { + invalidParams.Add(request.NewErrParamRequired("Outputs")) + } + if s.Outputs != nil { + for i, v := range s.Outputs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFlowArn sets the FlowArn field's value. +func (s *AddFlowOutputsInput) SetFlowArn(v string) *AddFlowOutputsInput { + s.FlowArn = &v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *AddFlowOutputsInput) SetOutputs(v []*AddOutputRequest) *AddFlowOutputsInput { + s.Outputs = v + return s +} + +// The result of a successful AddOutput request. The response includes the details +// of the newly added outputs. +type AddFlowOutputsOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the flow that these outputs were added to. + FlowArn *string `locationName:"flowArn" type:"string"` + + // The details of the newly added outputs. + Outputs []*Output `locationName:"outputs" type:"list"` +} + +// String returns the string representation +func (s AddFlowOutputsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddFlowOutputsOutput) GoString() string { + return s.String() +} + +// SetFlowArn sets the FlowArn field's value. +func (s *AddFlowOutputsOutput) SetFlowArn(v string) *AddFlowOutputsOutput { + s.FlowArn = &v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *AddFlowOutputsOutput) SetOutputs(v []*Output) *AddFlowOutputsOutput { + s.Outputs = v + return s +} + +// The output that you want to add to this flow. +type AddOutputRequest struct { + _ struct{} `type:"structure"` + + // A description of the output. This description appears only on the AWS Elemental + // MediaConnect console and will not be seen by the end user. + Description *string `locationName:"description" type:"string"` + + // The IP address from which video will be sent to output destinations. + // + // Destination is a required field + Destination *string `locationName:"destination" type:"string" required:"true"` + + // The type of key used for the encryption. If no keyType is provided, the service + // will use the default setting (static-key). + Encryption *Encryption `locationName:"encryption" type:"structure"` + + // The maximum latency in milliseconds for Zixi-based streams. + MaxLatency *int64 `locationName:"maxLatency" type:"integer"` + + // The name of the output. This value must be unique within the current flow. + Name *string `locationName:"name" type:"string"` + + // The port to use when content is distributed to this output. + // + // Port is a required field + Port *int64 `locationName:"port" type:"integer" required:"true"` + + // The protocol to use for the output. + // + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"Protocol"` + + // The smoothing latency in milliseconds for RTP and RTP-FEC streams. + SmoothingLatency *int64 `locationName:"smoothingLatency" type:"integer"` + + // The stream ID that you want to use for this transport. This parameter applies + // only to Zixi-based streams. + StreamId *string `locationName:"streamId" type:"string"` +} + +// String returns the string representation +func (s AddOutputRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddOutputRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddOutputRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddOutputRequest"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.Encryption != nil { + if err := s.Encryption.Validate(); err != nil { + invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *AddOutputRequest) SetDescription(v string) *AddOutputRequest { + s.Description = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *AddOutputRequest) SetDestination(v string) *AddOutputRequest { + s.Destination = &v + return s +} + +// SetEncryption sets the Encryption field's value. +func (s *AddOutputRequest) SetEncryption(v *Encryption) *AddOutputRequest { + s.Encryption = v + return s +} + +// SetMaxLatency sets the MaxLatency field's value. +func (s *AddOutputRequest) SetMaxLatency(v int64) *AddOutputRequest { + s.MaxLatency = &v + return s +} + +// SetName sets the Name field's value. +func (s *AddOutputRequest) SetName(v string) *AddOutputRequest { + s.Name = &v + return s +} + +// SetPort sets the Port field's value. +func (s *AddOutputRequest) SetPort(v int64) *AddOutputRequest { + s.Port = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *AddOutputRequest) SetProtocol(v string) *AddOutputRequest { + s.Protocol = &v + return s +} + +// SetSmoothingLatency sets the SmoothingLatency field's value. +func (s *AddOutputRequest) SetSmoothingLatency(v int64) *AddOutputRequest { + s.SmoothingLatency = &v + return s +} + +// SetStreamId sets the StreamId field's value. +func (s *AddOutputRequest) SetStreamId(v string) *AddOutputRequest { + s.StreamId = &v + return s +} + +// Creates a new flow. The request must include one source. The request optionally +// can include outputs (up to 20) and one entitlement. +type CreateFlowInput struct { + _ struct{} `type:"structure"` + + // The Availability Zone that you want to create the flow in. These options + // are limited to the Availability Zones within the current AWS Region. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + + // The entitlements that you want to grant on a flow. + Entitlements []*GrantEntitlementRequest `locationName:"entitlements" type:"list"` + + // The name of the flow. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The outputs that you want to add to this flow. + Outputs []*AddOutputRequest `locationName:"outputs" type:"list"` + + // The settings for the source of the flow. + // + // Source is a required field + Source *SetSourceRequest `locationName:"source" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateFlowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFlowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFlowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFlowInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.Entitlements != nil { + for i, v := range s.Entitlements { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entitlements", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Outputs != nil { + for i, v := range s.Outputs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Source != nil { + if err := s.Source.Validate(); err != nil { + invalidParams.AddNested("Source", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateFlowInput) SetAvailabilityZone(v string) *CreateFlowInput { + s.AvailabilityZone = &v + return s +} + +// SetEntitlements sets the Entitlements field's value. +func (s *CreateFlowInput) SetEntitlements(v []*GrantEntitlementRequest) *CreateFlowInput { + s.Entitlements = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateFlowInput) SetName(v string) *CreateFlowInput { + s.Name = &v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *CreateFlowInput) SetOutputs(v []*AddOutputRequest) *CreateFlowInput { + s.Outputs = v + return s +} + +// SetSource sets the Source field's value. +func (s *CreateFlowInput) SetSource(v *SetSourceRequest) *CreateFlowInput { + s.Source = v + return s +} + +// The result of a successful CreateFlow request. +type CreateFlowOutput struct { + _ struct{} `type:"structure"` + + // The settings for a flow, including its source, outputs, and entitlements. + Flow *Flow `locationName:"flow" type:"structure"` +} + +// String returns the string representation +func (s CreateFlowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFlowOutput) GoString() string { + return s.String() +} + +// SetFlow sets the Flow field's value. +func (s *CreateFlowOutput) SetFlow(v *Flow) *CreateFlowOutput { + s.Flow = v + return s +} + +type DeleteFlowInput struct { + _ struct{} `type:"structure"` + + // FlowArn is a required field + FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteFlowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFlowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFlowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFlowInput"} + if s.FlowArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowArn")) + } + if s.FlowArn != nil && len(*s.FlowArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFlowArn sets the FlowArn field's value. +func (s *DeleteFlowInput) SetFlowArn(v string) *DeleteFlowInput { + s.FlowArn = &v + return s +} + +// The result of a successful DeleteFlow request. +type DeleteFlowOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the flow that was deleted. + FlowArn *string `locationName:"flowArn" type:"string"` + + // The status of the flow when the DeleteFlow process begins. + Status *string `locationName:"status" type:"string" enum:"Status"` +} + +// String returns the string representation +func (s DeleteFlowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFlowOutput) GoString() string { + return s.String() +} + +// SetFlowArn sets the FlowArn field's value. +func (s *DeleteFlowOutput) SetFlowArn(v string) *DeleteFlowOutput { + s.FlowArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteFlowOutput) SetStatus(v string) *DeleteFlowOutput { + s.Status = &v + return s +} + +type DescribeFlowInput struct { + _ struct{} `type:"structure"` + + // FlowArn is a required field + FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeFlowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFlowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFlowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFlowInput"} + if s.FlowArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowArn")) + } + if s.FlowArn != nil && len(*s.FlowArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFlowArn sets the FlowArn field's value. +func (s *DescribeFlowInput) SetFlowArn(v string) *DescribeFlowInput { + s.FlowArn = &v + return s +} + +// The result of a successful DescribeFlow request. +type DescribeFlowOutput struct { + _ struct{} `type:"structure"` + + // The settings for a flow, including its source, outputs, and entitlements. + Flow *Flow `locationName:"flow" type:"structure"` + + // Messages that provide the state of the flow. + Messages *Messages `locationName:"messages" type:"structure"` +} + +// String returns the string representation +func (s DescribeFlowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFlowOutput) GoString() string { + return s.String() +} + +// SetFlow sets the Flow field's value. +func (s *DescribeFlowOutput) SetFlow(v *Flow) *DescribeFlowOutput { + s.Flow = v + return s +} + +// SetMessages sets the Messages field's value. +func (s *DescribeFlowOutput) SetMessages(v *Messages) *DescribeFlowOutput { + s.Messages = v + return s +} + +// Information about the encryption of the flow. +type Encryption struct { + _ struct{} `type:"structure"` + + // The type of algorithm that is used for the encryption (such as aes128, aes192, + // or aes256). + // + // Algorithm is a required field + Algorithm *string `locationName:"algorithm" type:"string" required:"true" enum:"Algorithm"` + + // The type of key that is used for the encryption. If no keyType is provided, + // the service will use the default setting (static-key). + KeyType *string `locationName:"keyType" type:"string" enum:"KeyType"` + + // The ARN of the role that you created during setup (when you set up AWS Elemental + // MediaConnect as a trusted entity). + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` + + // The ARN that was assigned to the secret that you created in AWS Secrets Manager + // to store the encryption key. + // + // SecretArn is a required field + SecretArn *string `locationName:"secretArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s Encryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Encryption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Encryption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Encryption"} + if s.Algorithm == nil { + invalidParams.Add(request.NewErrParamRequired("Algorithm")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.SecretArn == nil { + invalidParams.Add(request.NewErrParamRequired("SecretArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlgorithm sets the Algorithm field's value. +func (s *Encryption) SetAlgorithm(v string) *Encryption { + s.Algorithm = &v + return s +} + +// SetKeyType sets the KeyType field's value. +func (s *Encryption) SetKeyType(v string) *Encryption { + s.KeyType = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *Encryption) SetRoleArn(v string) *Encryption { + s.RoleArn = &v + return s +} + +// SetSecretArn sets the SecretArn field's value. +func (s *Encryption) SetSecretArn(v string) *Encryption { + s.SecretArn = &v + return s +} + +// The settings for a flow entitlement. +type Entitlement struct { + _ struct{} `type:"structure"` + + // A description of the entitlement. + Description *string `locationName:"description" type:"string"` + + // The type of encryption that will be used on the output that is associated + // with this entitlement. + Encryption *Encryption `locationName:"encryption" type:"structure"` + + // The ARN of the entitlement. + // + // EntitlementArn is a required field + EntitlementArn *string `locationName:"entitlementArn" type:"string" required:"true"` + + // The name of the entitlement. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The AWS account IDs that you want to share your content with. The receiving + // accounts (subscribers) will be allowed to create their own flow using your + // content as the source. + // + // Subscribers is a required field + Subscribers []*string `locationName:"subscribers" type:"list" required:"true"` +} + +// String returns the string representation +func (s Entitlement) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Entitlement) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *Entitlement) SetDescription(v string) *Entitlement { + s.Description = &v + return s +} + +// SetEncryption sets the Encryption field's value. +func (s *Entitlement) SetEncryption(v *Encryption) *Entitlement { + s.Encryption = v + return s +} + +// SetEntitlementArn sets the EntitlementArn field's value. +func (s *Entitlement) SetEntitlementArn(v string) *Entitlement { + s.EntitlementArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *Entitlement) SetName(v string) *Entitlement { + s.Name = &v + return s +} + +// SetSubscribers sets the Subscribers field's value. +func (s *Entitlement) SetSubscribers(v []*string) *Entitlement { + s.Subscribers = v + return s +} + +// The settings for a flow, including its source, outputs, and entitlements. +type Flow struct { + _ struct{} `type:"structure"` + + // The Availability Zone that you want to create the flow in. These options + // are limited to the Availability Zones within the current AWS. + // + // AvailabilityZone is a required field + AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` + + // A description of the flow. This value is not used or seen outside of the + // current AWS Elemental MediaConnect account. + Description *string `locationName:"description" type:"string"` + + // The IP address from which video will be sent to output destinations. + EgressIp *string `locationName:"egressIp" type:"string"` + + // The entitlements in this flow. + // + // Entitlements is a required field + Entitlements []*Entitlement `locationName:"entitlements" type:"list" required:"true"` + + // The Amazon Resource Name (ARN), a unique identifier for any AWS resource, + // of the flow. + // + // FlowArn is a required field + FlowArn *string `locationName:"flowArn" type:"string" required:"true"` + + // The name of the flow. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The outputs in this flow. + // + // Outputs is a required field + Outputs []*Output `locationName:"outputs" type:"list" required:"true"` + + // The settings for the source of the flow. + // + // Source is a required field + Source *Source `locationName:"source" type:"structure" required:"true"` + + // The current status of the flow. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"Status"` +} + +// String returns the string representation +func (s Flow) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Flow) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *Flow) SetAvailabilityZone(v string) *Flow { + s.AvailabilityZone = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Flow) SetDescription(v string) *Flow { + s.Description = &v + return s +} + +// SetEgressIp sets the EgressIp field's value. +func (s *Flow) SetEgressIp(v string) *Flow { + s.EgressIp = &v + return s +} + +// SetEntitlements sets the Entitlements field's value. +func (s *Flow) SetEntitlements(v []*Entitlement) *Flow { + s.Entitlements = v + return s +} + +// SetFlowArn sets the FlowArn field's value. +func (s *Flow) SetFlowArn(v string) *Flow { + s.FlowArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *Flow) SetName(v string) *Flow { + s.Name = &v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *Flow) SetOutputs(v []*Output) *Flow { + s.Outputs = v + return s +} + +// SetSource sets the Source field's value. +func (s *Flow) SetSource(v *Source) *Flow { + s.Source = v + return s +} + +// SetStatus sets the Status field's value. +func (s *Flow) SetStatus(v string) *Flow { + s.Status = &v + return s +} + +// The entitlements that you want to grant on a flow. +type GrantEntitlementRequest struct { + _ struct{} `type:"structure"` + + // A description of the entitlement. This description appears only on the AWS + // Elemental MediaConnect console and will not be seen by the subscriber or + // end user. + Description *string `locationName:"description" type:"string"` + + // The type of encryption that will be used on the output that is associated + // with this entitlement. + Encryption *Encryption `locationName:"encryption" type:"structure"` + + // The name of the entitlement. This value must be unique within the current + // flow. + Name *string `locationName:"name" type:"string"` + + // The AWS account IDs that you want to share your content with. The receiving + // accounts (subscribers) will be allowed to create their own flows using your + // content as the source. + // + // Subscribers is a required field + Subscribers []*string `locationName:"subscribers" type:"list" required:"true"` +} + +// String returns the string representation +func (s GrantEntitlementRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GrantEntitlementRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GrantEntitlementRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrantEntitlementRequest"} + if s.Subscribers == nil { + invalidParams.Add(request.NewErrParamRequired("Subscribers")) + } + if s.Encryption != nil { + if err := s.Encryption.Validate(); err != nil { + invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *GrantEntitlementRequest) SetDescription(v string) *GrantEntitlementRequest { + s.Description = &v + return s +} + +// SetEncryption sets the Encryption field's value. +func (s *GrantEntitlementRequest) SetEncryption(v *Encryption) *GrantEntitlementRequest { + s.Encryption = v + return s +} + +// SetName sets the Name field's value. +func (s *GrantEntitlementRequest) SetName(v string) *GrantEntitlementRequest { + s.Name = &v + return s +} + +// SetSubscribers sets the Subscribers field's value. +func (s *GrantEntitlementRequest) SetSubscribers(v []*string) *GrantEntitlementRequest { + s.Subscribers = v + return s +} + +// Grants an entitlement on a flow. +type GrantFlowEntitlementsInput struct { + _ struct{} `type:"structure"` + + // The list of entitlements that you want to grant. + // + // Entitlements is a required field + Entitlements []*GrantEntitlementRequest `locationName:"entitlements" type:"list" required:"true"` + + // FlowArn is a required field + FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GrantFlowEntitlementsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GrantFlowEntitlementsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GrantFlowEntitlementsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrantFlowEntitlementsInput"} + if s.Entitlements == nil { + invalidParams.Add(request.NewErrParamRequired("Entitlements")) + } + if s.FlowArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowArn")) + } + if s.FlowArn != nil && len(*s.FlowArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1)) + } + if s.Entitlements != nil { + for i, v := range s.Entitlements { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entitlements", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEntitlements sets the Entitlements field's value. +func (s *GrantFlowEntitlementsInput) SetEntitlements(v []*GrantEntitlementRequest) *GrantFlowEntitlementsInput { + s.Entitlements = v + return s +} + +// SetFlowArn sets the FlowArn field's value. +func (s *GrantFlowEntitlementsInput) SetFlowArn(v string) *GrantFlowEntitlementsInput { + s.FlowArn = &v + return s +} + +// The entitlements that were just granted. +type GrantFlowEntitlementsOutput struct { + _ struct{} `type:"structure"` + + // The entitlements that were just granted. + Entitlements []*Entitlement `locationName:"entitlements" type:"list"` + + // The ARN of the flow that these entitlements were granted to. + FlowArn *string `locationName:"flowArn" type:"string"` +} + +// String returns the string representation +func (s GrantFlowEntitlementsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GrantFlowEntitlementsOutput) GoString() string { + return s.String() +} + +// SetEntitlements sets the Entitlements field's value. +func (s *GrantFlowEntitlementsOutput) SetEntitlements(v []*Entitlement) *GrantFlowEntitlementsOutput { + s.Entitlements = v + return s +} + +// SetFlowArn sets the FlowArn field's value. +func (s *GrantFlowEntitlementsOutput) SetFlowArn(v string) *GrantFlowEntitlementsOutput { + s.FlowArn = &v + return s +} + +type ListEntitlementsInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListEntitlementsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEntitlementsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEntitlementsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEntitlementsInput"} + 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 *ListEntitlementsInput) SetMaxResults(v int64) *ListEntitlementsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEntitlementsInput) SetNextToken(v string) *ListEntitlementsInput { + s.NextToken = &v + return s +} + +// The result of a successful ListEntitlements request. The response includes +// the ARN of each entitlement, the name of the associated flow, and the NextToken +// to use in a subsequent ListEntitlements request. +type ListEntitlementsOutput struct { + _ struct{} `type:"structure"` + + // A list of entitlements that have been granted to you from other AWS accounts. + Entitlements []*ListedEntitlement `locationName:"entitlements" type:"list"` + + // The token that identifies which batch of results that you want to see. For + // example, you submit a ListEntitlements request with MaxResults set at 5. + // The service returns the first batch of results (up to 5) and a NextToken + // value. To see the next batch of results, you can submit the ListEntitlements + // request a second time and specify the NextToken value. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListEntitlementsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEntitlementsOutput) GoString() string { + return s.String() +} + +// SetEntitlements sets the Entitlements field's value. +func (s *ListEntitlementsOutput) SetEntitlements(v []*ListedEntitlement) *ListEntitlementsOutput { + s.Entitlements = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEntitlementsOutput) SetNextToken(v string) *ListEntitlementsOutput { + s.NextToken = &v + return s +} + +type ListFlowsInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListFlowsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFlowsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFlowsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFlowsInput"} + 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 *ListFlowsInput) SetMaxResults(v int64) *ListFlowsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFlowsInput) SetNextToken(v string) *ListFlowsInput { + s.NextToken = &v + return s +} + +// The result of a successful ListFlows request. The response includes flow +// summaries and the NextToken to use in a subsequent ListFlows request. +type ListFlowsOutput struct { + _ struct{} `type:"structure"` + + // A list of flow summaries. + Flows []*ListedFlow `locationName:"flows" type:"list"` + + // The token that identifies which batch of results that you want to see. For + // example, you submit a ListFlows request with MaxResults set at 5. The service + // returns the first batch of results (up to 5) and a NextToken value. To see + // the next batch of results, you can submit the ListFlows request a second + // time and specify the NextToken value. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListFlowsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFlowsOutput) GoString() string { + return s.String() +} + +// SetFlows sets the Flows field's value. +func (s *ListFlowsOutput) SetFlows(v []*ListedFlow) *ListFlowsOutput { + s.Flows = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFlowsOutput) SetNextToken(v string) *ListFlowsOutput { + s.NextToken = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` +} + +// 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.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +// AWS Elemental MediaConnect listed the tags associated with the resource. +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // A map from tag keys to values. Tag keys can have a maximum character length + // of 128 characters, and tag values can have a maximum length of 256 characters. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// 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() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// An entitlement that has been granted to you from other AWS accounts. +type ListedEntitlement struct { + _ struct{} `type:"structure"` + + // The ARN of the entitlement. + // + // EntitlementArn is a required field + EntitlementArn *string `locationName:"entitlementArn" type:"string" required:"true"` + + // The name of the entitlement. + // + // EntitlementName is a required field + EntitlementName *string `locationName:"entitlementName" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListedEntitlement) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListedEntitlement) GoString() string { + return s.String() +} + +// SetEntitlementArn sets the EntitlementArn field's value. +func (s *ListedEntitlement) SetEntitlementArn(v string) *ListedEntitlement { + s.EntitlementArn = &v + return s +} + +// SetEntitlementName sets the EntitlementName field's value. +func (s *ListedEntitlement) SetEntitlementName(v string) *ListedEntitlement { + s.EntitlementName = &v + return s +} + +// Provides a summary of a flow, including its ARN, Availability Zone, and source +// type. +type ListedFlow struct { + _ struct{} `type:"structure"` + + // The Availability Zone that the flow was created in. + // + // AvailabilityZone is a required field + AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` + + // A description of the flow. + // + // Description is a required field + Description *string `locationName:"description" type:"string" required:"true"` + + // The ARN of the flow. + // + // FlowArn is a required field + FlowArn *string `locationName:"flowArn" type:"string" required:"true"` + + // The name of the flow. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The type of source. This value is either owned (originated somewhere other + // than an AWS Elemental MediaConnect flow owned by another AWS account) or + // entitled (originated at an AWS Elemental MediaConnect flow owned by another + // AWS account). + // + // SourceType is a required field + SourceType *string `locationName:"sourceType" type:"string" required:"true" enum:"SourceType"` + + // The current status of the flow. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"Status"` +} + +// String returns the string representation +func (s ListedFlow) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListedFlow) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *ListedFlow) SetAvailabilityZone(v string) *ListedFlow { + s.AvailabilityZone = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ListedFlow) SetDescription(v string) *ListedFlow { + s.Description = &v + return s +} + +// SetFlowArn sets the FlowArn field's value. +func (s *ListedFlow) SetFlowArn(v string) *ListedFlow { + s.FlowArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *ListedFlow) SetName(v string) *ListedFlow { + s.Name = &v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *ListedFlow) SetSourceType(v string) *ListedFlow { + s.SourceType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListedFlow) SetStatus(v string) *ListedFlow { + s.Status = &v + return s +} + +// Messages that provide the state of the flow. +type Messages struct { + _ struct{} `type:"structure"` + + // A list of errors that might have been generated from processes on this flow. + // + // Errors is a required field + Errors []*string `locationName:"errors" type:"list" required:"true"` +} + +// String returns the string representation +func (s Messages) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Messages) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *Messages) SetErrors(v []*string) *Messages { + s.Errors = v + return s +} + +// The settings for an output. +type Output struct { + _ struct{} `type:"structure"` + + // A description of the output. + Description *string `locationName:"description" type:"string"` + + // The address where you want to send the output. + Destination *string `locationName:"destination" type:"string"` + + // The type of key used for the encryption. If no keyType is provided, the service + // will use the default setting (static-key). + Encryption *Encryption `locationName:"encryption" type:"structure"` + + // The ARN of the entitlement on the originator''s flow. This value is relevant + // only on entitled flows. + EntitlementArn *string `locationName:"entitlementArn" type:"string"` + + // The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant + // only for outputs that were added by creating a MediaLive input. + MediaLiveInputArn *string `locationName:"mediaLiveInputArn" type:"string"` + + // The name of the output. This value must be unique within the current flow. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The ARN of the output. + // + // OutputArn is a required field + OutputArn *string `locationName:"outputArn" type:"string" required:"true"` + + // The port to use when content is distributed to this output. + Port *int64 `locationName:"port" type:"integer"` + + // Attributes related to the transport stream that are used in the output. + Transport *Transport `locationName:"transport" type:"structure"` +} + +// String returns the string representation +func (s Output) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Output) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *Output) SetDescription(v string) *Output { + s.Description = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *Output) SetDestination(v string) *Output { + s.Destination = &v + return s +} + +// SetEncryption sets the Encryption field's value. +func (s *Output) SetEncryption(v *Encryption) *Output { + s.Encryption = v + return s +} + +// SetEntitlementArn sets the EntitlementArn field's value. +func (s *Output) SetEntitlementArn(v string) *Output { + s.EntitlementArn = &v + return s +} + +// SetMediaLiveInputArn sets the MediaLiveInputArn field's value. +func (s *Output) SetMediaLiveInputArn(v string) *Output { + s.MediaLiveInputArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *Output) SetName(v string) *Output { + s.Name = &v + return s +} + +// SetOutputArn sets the OutputArn field's value. +func (s *Output) SetOutputArn(v string) *Output { + s.OutputArn = &v + return s +} + +// SetPort sets the Port field's value. +func (s *Output) SetPort(v int64) *Output { + s.Port = &v + return s +} + +// SetTransport sets the Transport field's value. +func (s *Output) SetTransport(v *Transport) *Output { + s.Transport = v + return s +} + +type RemoveFlowOutputInput struct { + _ struct{} `type:"structure"` + + // FlowArn is a required field + FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` + + // OutputArn is a required field + OutputArn *string `location:"uri" locationName:"outputArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s RemoveFlowOutputInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveFlowOutputInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemoveFlowOutputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveFlowOutputInput"} + if s.FlowArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowArn")) + } + if s.FlowArn != nil && len(*s.FlowArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1)) + } + if s.OutputArn == nil { + invalidParams.Add(request.NewErrParamRequired("OutputArn")) + } + if s.OutputArn != nil && len(*s.OutputArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OutputArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFlowArn sets the FlowArn field's value. +func (s *RemoveFlowOutputInput) SetFlowArn(v string) *RemoveFlowOutputInput { + s.FlowArn = &v + return s +} + +// SetOutputArn sets the OutputArn field's value. +func (s *RemoveFlowOutputInput) SetOutputArn(v string) *RemoveFlowOutputInput { + s.OutputArn = &v + return s +} + +// The result of a successful RemoveFlowOutput request including the flow ARN +// and the output ARN that was removed. +type RemoveFlowOutputOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the flow that is associated with the output you removed. + FlowArn *string `locationName:"flowArn" type:"string"` + + // The ARN of the output that was removed. + OutputArn *string `locationName:"outputArn" type:"string"` +} + +// String returns the string representation +func (s RemoveFlowOutputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveFlowOutputOutput) GoString() string { + return s.String() +} + +// SetFlowArn sets the FlowArn field's value. +func (s *RemoveFlowOutputOutput) SetFlowArn(v string) *RemoveFlowOutputOutput { + s.FlowArn = &v + return s +} + +// SetOutputArn sets the OutputArn field's value. +func (s *RemoveFlowOutputOutput) SetOutputArn(v string) *RemoveFlowOutputOutput { + s.OutputArn = &v + return s +} + +type RevokeFlowEntitlementInput struct { + _ struct{} `type:"structure"` + + // EntitlementArn is a required field + EntitlementArn *string `location:"uri" locationName:"entitlementArn" type:"string" required:"true"` + + // FlowArn is a required field + FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s RevokeFlowEntitlementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RevokeFlowEntitlementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RevokeFlowEntitlementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RevokeFlowEntitlementInput"} + if s.EntitlementArn == nil { + invalidParams.Add(request.NewErrParamRequired("EntitlementArn")) + } + if s.EntitlementArn != nil && len(*s.EntitlementArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntitlementArn", 1)) + } + if s.FlowArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowArn")) + } + if s.FlowArn != nil && len(*s.FlowArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEntitlementArn sets the EntitlementArn field's value. +func (s *RevokeFlowEntitlementInput) SetEntitlementArn(v string) *RevokeFlowEntitlementInput { + s.EntitlementArn = &v + return s +} + +// SetFlowArn sets the FlowArn field's value. +func (s *RevokeFlowEntitlementInput) SetFlowArn(v string) *RevokeFlowEntitlementInput { + s.FlowArn = &v + return s +} + +// The result of a successful RevokeFlowEntitlement request. The response includes +// the ARN of the flow that was updated and the ARN of the entitlement that +// was revoked. +type RevokeFlowEntitlementOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the entitlement that was revoked. + EntitlementArn *string `locationName:"entitlementArn" type:"string"` + + // The ARN of the flow that the entitlement was revoked from. + FlowArn *string `locationName:"flowArn" type:"string"` +} + +// String returns the string representation +func (s RevokeFlowEntitlementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RevokeFlowEntitlementOutput) GoString() string { + return s.String() +} + +// SetEntitlementArn sets the EntitlementArn field's value. +func (s *RevokeFlowEntitlementOutput) SetEntitlementArn(v string) *RevokeFlowEntitlementOutput { + s.EntitlementArn = &v + return s +} + +// SetFlowArn sets the FlowArn field's value. +func (s *RevokeFlowEntitlementOutput) SetFlowArn(v string) *RevokeFlowEntitlementOutput { + s.FlowArn = &v + return s +} + +// The settings for the source of the flow. +type SetSourceRequest struct { + _ struct{} `type:"structure"` + + // The type of encryption that is used on the content ingested from this source. + Decryption *Encryption `locationName:"decryption" type:"structure"` + + // A description for the source. This value is not used or seen outside of the + // current AWS Elemental MediaConnect account. + Description *string `locationName:"description" type:"string"` + + // The ARN of the entitlement that allows you to subscribe to this flow. The + // entitlement is set by the flow originator, and the ARN is generated as part + // of the originator's flow. + EntitlementArn *string `locationName:"entitlementArn" type:"string"` + + // The port that the flow will be listening on for incoming content. + IngestPort *int64 `locationName:"ingestPort" type:"integer"` + + // The smoothing max bitrate for RTP and RTP-FEC streams. + MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"` + + // The maximum latency in milliseconds for Zixi-based streams. + MaxLatency *int64 `locationName:"maxLatency" type:"integer"` + + // The name of the source. + Name *string `locationName:"name" type:"string"` + + // The protocol that is used by the source. + Protocol *string `locationName:"protocol" type:"string" enum:"Protocol"` + + // The stream ID that you want to use for this transport. This parameter applies + // only to Zixi-based streams. + StreamId *string `locationName:"streamId" type:"string"` + + // The range of IP addresses that should be allowed to contribute content to + // your source. These IP addresses should in the form of a Classless Inter-Domain + // Routing (CIDR) block; for example, 10.0.0.0/16. + WhitelistCidr *string `locationName:"whitelistCidr" type:"string"` +} + +// String returns the string representation +func (s SetSourceRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetSourceRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetSourceRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetSourceRequest"} + if s.Decryption != nil { + if err := s.Decryption.Validate(); err != nil { + invalidParams.AddNested("Decryption", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDecryption sets the Decryption field's value. +func (s *SetSourceRequest) SetDecryption(v *Encryption) *SetSourceRequest { + s.Decryption = v + return s +} + +// SetDescription sets the Description field's value. +func (s *SetSourceRequest) SetDescription(v string) *SetSourceRequest { + s.Description = &v + return s +} + +// SetEntitlementArn sets the EntitlementArn field's value. +func (s *SetSourceRequest) SetEntitlementArn(v string) *SetSourceRequest { + s.EntitlementArn = &v + return s +} + +// SetIngestPort sets the IngestPort field's value. +func (s *SetSourceRequest) SetIngestPort(v int64) *SetSourceRequest { + s.IngestPort = &v + return s +} + +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *SetSourceRequest) SetMaxBitrate(v int64) *SetSourceRequest { + s.MaxBitrate = &v + return s +} + +// SetMaxLatency sets the MaxLatency field's value. +func (s *SetSourceRequest) SetMaxLatency(v int64) *SetSourceRequest { + s.MaxLatency = &v + return s +} + +// SetName sets the Name field's value. +func (s *SetSourceRequest) SetName(v string) *SetSourceRequest { + s.Name = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *SetSourceRequest) SetProtocol(v string) *SetSourceRequest { + s.Protocol = &v + return s +} + +// SetStreamId sets the StreamId field's value. +func (s *SetSourceRequest) SetStreamId(v string) *SetSourceRequest { + s.StreamId = &v + return s +} + +// SetWhitelistCidr sets the WhitelistCidr field's value. +func (s *SetSourceRequest) SetWhitelistCidr(v string) *SetSourceRequest { + s.WhitelistCidr = &v + return s +} + +// The settings for the source of the flow. +type Source struct { + _ struct{} `type:"structure"` + + // The type of encryption that is used on the content ingested from this source. + Decryption *Encryption `locationName:"decryption" type:"structure"` + + // A description for the source. This value is not used or seen outside of the + // current AWS Elemental MediaConnect account. + Description *string `locationName:"description" type:"string"` + + // The ARN of the entitlement that allows you to subscribe to content that comes + // from another AWS account. The entitlement is set by the content originator + // and the ARN is generated as part of the originator's flow. + EntitlementArn *string `locationName:"entitlementArn" type:"string"` + + // The IP address that the flow will be listening on for incoming content. + IngestIp *string `locationName:"ingestIp" type:"string"` + + // The port that the flow will be listening on for incoming content. + IngestPort *int64 `locationName:"ingestPort" type:"integer"` + + // The name of the source. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The ARN of the source. + // + // SourceArn is a required field + SourceArn *string `locationName:"sourceArn" type:"string" required:"true"` + + // Attributes related to the transport stream that are used in the source. + Transport *Transport `locationName:"transport" type:"structure"` + + // The range of IP addresses that should be allowed to contribute content to + // your source. These IP addresses should in the form of a Classless Inter-Domain + // Routing (CIDR) block; for example, 10.0.0.0/16. + WhitelistCidr *string `locationName:"whitelistCidr" type:"string"` +} + +// String returns the string representation +func (s Source) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Source) GoString() string { + return s.String() +} + +// SetDecryption sets the Decryption field's value. +func (s *Source) SetDecryption(v *Encryption) *Source { + s.Decryption = v + return s +} + +// SetDescription sets the Description field's value. +func (s *Source) SetDescription(v string) *Source { + s.Description = &v + return s +} + +// SetEntitlementArn sets the EntitlementArn field's value. +func (s *Source) SetEntitlementArn(v string) *Source { + s.EntitlementArn = &v + return s +} + +// SetIngestIp sets the IngestIp field's value. +func (s *Source) SetIngestIp(v string) *Source { + s.IngestIp = &v + return s +} + +// SetIngestPort sets the IngestPort field's value. +func (s *Source) SetIngestPort(v int64) *Source { + s.IngestPort = &v + return s +} + +// SetName sets the Name field's value. +func (s *Source) SetName(v string) *Source { + s.Name = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *Source) SetSourceArn(v string) *Source { + s.SourceArn = &v + return s +} + +// SetTransport sets the Transport field's value. +func (s *Source) SetTransport(v *Transport) *Source { + s.Transport = v + return s +} + +// SetWhitelistCidr sets the WhitelistCidr field's value. +func (s *Source) SetWhitelistCidr(v string) *Source { + s.WhitelistCidr = &v + return s +} + +type StartFlowInput struct { + _ struct{} `type:"structure"` + + // FlowArn is a required field + FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartFlowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartFlowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartFlowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartFlowInput"} + if s.FlowArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowArn")) + } + if s.FlowArn != nil && len(*s.FlowArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFlowArn sets the FlowArn field's value. +func (s *StartFlowInput) SetFlowArn(v string) *StartFlowInput { + s.FlowArn = &v + return s +} + +// The result of a successful StartFlow request. +type StartFlowOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the flow that you started. + FlowArn *string `locationName:"flowArn" type:"string"` + + // The status of the flow when the StartFlow process begins. + Status *string `locationName:"status" type:"string" enum:"Status"` +} + +// String returns the string representation +func (s StartFlowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartFlowOutput) GoString() string { + return s.String() +} + +// SetFlowArn sets the FlowArn field's value. +func (s *StartFlowOutput) SetFlowArn(v string) *StartFlowOutput { + s.FlowArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *StartFlowOutput) SetStatus(v string) *StartFlowOutput { + s.Status = &v + return s +} + +type StopFlowInput struct { + _ struct{} `type:"structure"` + + // FlowArn is a required field + FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopFlowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopFlowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopFlowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopFlowInput"} + if s.FlowArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowArn")) + } + if s.FlowArn != nil && len(*s.FlowArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFlowArn sets the FlowArn field's value. +func (s *StopFlowInput) SetFlowArn(v string) *StopFlowInput { + s.FlowArn = &v + return s +} + +// The result of a successful StopFlow request. +type StopFlowOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the flow that you stopped. + FlowArn *string `locationName:"flowArn" type:"string"` + + // The status of the flow when the StopFlow process begins. + Status *string `locationName:"status" type:"string" enum:"Status"` +} + +// String returns the string representation +func (s StopFlowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopFlowOutput) GoString() string { + return s.String() +} + +// SetFlowArn sets the FlowArn field's value. +func (s *StopFlowOutput) SetFlowArn(v string) *StopFlowOutput { + s.FlowArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *StopFlowOutput) SetStatus(v string) *StopFlowOutput { + s.Status = &v + return s +} + +// The tags to add to the resource. Tag keys can have a maximum character length +// of 128 characters, and tag values can have a maximum length of 256 characters. +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // A map from tag keys to values. Tag keys can have a maximum character length + // of 128 characters, and tag values can have a maximum length of 256 characters. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// Attributes related to the transport stream that are used in a source or output. +type Transport struct { + _ struct{} `type:"structure"` + + // The smoothing max bitrate for RTP and RTP-FEC streams. + MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"` + + // The maximum latency in milliseconds for Zixi-based streams. + MaxLatency *int64 `locationName:"maxLatency" type:"integer"` + + // The protocol that is used by the source or output. + // + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"Protocol"` + + // The smoothing latency in milliseconds for RTP and RTP-FEC streams. + SmoothingLatency *int64 `locationName:"smoothingLatency" type:"integer"` + + // The stream ID that you want to use for this transport. This parameter applies + // only to Zixi-based streams. + StreamId *string `locationName:"streamId" type:"string"` +} + +// String returns the string representation +func (s Transport) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Transport) GoString() string { + return s.String() +} + +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *Transport) SetMaxBitrate(v int64) *Transport { + s.MaxBitrate = &v + return s +} + +// SetMaxLatency sets the MaxLatency field's value. +func (s *Transport) SetMaxLatency(v int64) *Transport { + s.MaxLatency = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *Transport) SetProtocol(v string) *Transport { + s.Protocol = &v + return s +} + +// SetSmoothingLatency sets the SmoothingLatency field's value. +func (s *Transport) SetSmoothingLatency(v int64) *Transport { + s.SmoothingLatency = &v + return s +} + +// SetStreamId sets the StreamId field's value. +func (s *Transport) SetStreamId(v string) *Transport { + s.StreamId = &v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +// Information about the encryption of the flow. +type UpdateEncryption struct { + _ struct{} `type:"structure"` + + // The type of algorithm that is used for the encryption (such as aes128, aes192, + // or aes256). + Algorithm *string `locationName:"algorithm" type:"string" enum:"Algorithm"` + + // The type of key that is used for the encryption. If no keyType is provided, + // the service will use the default setting (static-key). + KeyType *string `locationName:"keyType" type:"string" enum:"KeyType"` + + // The ARN of the role that you created during setup (when you set up AWS Elemental + // MediaConnect as a trusted entity). + RoleArn *string `locationName:"roleArn" type:"string"` + + // The ARN that was assigned to the secret that you created in AWS Secrets Manager + // to store the encryption key. + SecretArn *string `locationName:"secretArn" type:"string"` +} + +// String returns the string representation +func (s UpdateEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEncryption) GoString() string { + return s.String() +} + +// SetAlgorithm sets the Algorithm field's value. +func (s *UpdateEncryption) SetAlgorithm(v string) *UpdateEncryption { + s.Algorithm = &v + return s +} + +// SetKeyType sets the KeyType field's value. +func (s *UpdateEncryption) SetKeyType(v string) *UpdateEncryption { + s.KeyType = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *UpdateEncryption) SetRoleArn(v string) *UpdateEncryption { + s.RoleArn = &v + return s +} + +// SetSecretArn sets the SecretArn field's value. +func (s *UpdateEncryption) SetSecretArn(v string) *UpdateEncryption { + s.SecretArn = &v + return s +} + +// The updates that you want to make to a specific entitlement. +type UpdateFlowEntitlementInput struct { + _ struct{} `type:"structure"` + + // A description of the entitlement. This description appears only on the AWS + // Elemental MediaConnect console and will not be seen by the subscriber or + // end user. + Description *string `locationName:"description" type:"string"` + + // The type of encryption that will be used on the output associated with this + // entitlement. + Encryption *UpdateEncryption `locationName:"encryption" type:"structure"` + + // EntitlementArn is a required field + EntitlementArn *string `location:"uri" locationName:"entitlementArn" type:"string" required:"true"` + + // FlowArn is a required field + FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` + + // The AWS account IDs that you want to share your content with. The receiving + // accounts (subscribers) will be allowed to create their own flow using your + // content as the source. + Subscribers []*string `locationName:"subscribers" type:"list"` +} + +// String returns the string representation +func (s UpdateFlowEntitlementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFlowEntitlementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFlowEntitlementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFlowEntitlementInput"} + if s.EntitlementArn == nil { + invalidParams.Add(request.NewErrParamRequired("EntitlementArn")) + } + if s.EntitlementArn != nil && len(*s.EntitlementArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntitlementArn", 1)) + } + if s.FlowArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowArn")) + } + if s.FlowArn != nil && len(*s.FlowArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateFlowEntitlementInput) SetDescription(v string) *UpdateFlowEntitlementInput { + s.Description = &v + return s +} + +// SetEncryption sets the Encryption field's value. +func (s *UpdateFlowEntitlementInput) SetEncryption(v *UpdateEncryption) *UpdateFlowEntitlementInput { + s.Encryption = v + return s +} + +// SetEntitlementArn sets the EntitlementArn field's value. +func (s *UpdateFlowEntitlementInput) SetEntitlementArn(v string) *UpdateFlowEntitlementInput { + s.EntitlementArn = &v + return s +} + +// SetFlowArn sets the FlowArn field's value. +func (s *UpdateFlowEntitlementInput) SetFlowArn(v string) *UpdateFlowEntitlementInput { + s.FlowArn = &v + return s +} + +// SetSubscribers sets the Subscribers field's value. +func (s *UpdateFlowEntitlementInput) SetSubscribers(v []*string) *UpdateFlowEntitlementInput { + s.Subscribers = v + return s +} + +// The result of a successful UpdateFlowEntitlement request. The response includes +// the ARN of the flow that was updated and the updated entitlement configuration. +type UpdateFlowEntitlementOutput struct { + _ struct{} `type:"structure"` + + // The settings for a flow entitlement. + Entitlement *Entitlement `locationName:"entitlement" type:"structure"` + + // The ARN of the flow that this entitlement was granted on. + FlowArn *string `locationName:"flowArn" type:"string"` +} + +// String returns the string representation +func (s UpdateFlowEntitlementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFlowEntitlementOutput) GoString() string { + return s.String() +} + +// SetEntitlement sets the Entitlement field's value. +func (s *UpdateFlowEntitlementOutput) SetEntitlement(v *Entitlement) *UpdateFlowEntitlementOutput { + s.Entitlement = v + return s +} + +// SetFlowArn sets the FlowArn field's value. +func (s *UpdateFlowEntitlementOutput) SetFlowArn(v string) *UpdateFlowEntitlementOutput { + s.FlowArn = &v + return s +} + +// The updates that you want to make to an existing output of an existing flow. +type UpdateFlowOutputInput struct { + _ struct{} `type:"structure"` + + // A description of the output. This description appears only on the AWS Elemental + // MediaConnect console and will not be seen by the end user. + Description *string `locationName:"description" type:"string"` + + // The IP address where you want to send the output. + Destination *string `locationName:"destination" type:"string"` + + // The type of key used for the encryption. If no keyType is provided, the service + // will use the default setting (static-key). + Encryption *UpdateEncryption `locationName:"encryption" type:"structure"` + + // FlowArn is a required field + FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` + + // The maximum latency in milliseconds for Zixi-based streams. + MaxLatency *int64 `locationName:"maxLatency" type:"integer"` + + // OutputArn is a required field + OutputArn *string `location:"uri" locationName:"outputArn" type:"string" required:"true"` + + // The port to use when content is distributed to this output. + Port *int64 `locationName:"port" type:"integer"` + + // The protocol to use for the output. + Protocol *string `locationName:"protocol" type:"string" enum:"Protocol"` + + // The smoothing latency in milliseconds for RTP and RTP-FEC streams. + SmoothingLatency *int64 `locationName:"smoothingLatency" type:"integer"` + + // The stream ID that you want to use for this transport. This parameter applies + // only to Zixi-based streams. + StreamId *string `locationName:"streamId" type:"string"` +} + +// String returns the string representation +func (s UpdateFlowOutputInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFlowOutputInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFlowOutputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFlowOutputInput"} + if s.FlowArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowArn")) + } + if s.FlowArn != nil && len(*s.FlowArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1)) + } + if s.OutputArn == nil { + invalidParams.Add(request.NewErrParamRequired("OutputArn")) + } + if s.OutputArn != nil && len(*s.OutputArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OutputArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateFlowOutputInput) SetDescription(v string) *UpdateFlowOutputInput { + s.Description = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *UpdateFlowOutputInput) SetDestination(v string) *UpdateFlowOutputInput { + s.Destination = &v + return s +} + +// SetEncryption sets the Encryption field's value. +func (s *UpdateFlowOutputInput) SetEncryption(v *UpdateEncryption) *UpdateFlowOutputInput { + s.Encryption = v + return s +} + +// SetFlowArn sets the FlowArn field's value. +func (s *UpdateFlowOutputInput) SetFlowArn(v string) *UpdateFlowOutputInput { + s.FlowArn = &v + return s +} + +// SetMaxLatency sets the MaxLatency field's value. +func (s *UpdateFlowOutputInput) SetMaxLatency(v int64) *UpdateFlowOutputInput { + s.MaxLatency = &v + return s +} + +// SetOutputArn sets the OutputArn field's value. +func (s *UpdateFlowOutputInput) SetOutputArn(v string) *UpdateFlowOutputInput { + s.OutputArn = &v + return s +} + +// SetPort sets the Port field's value. +func (s *UpdateFlowOutputInput) SetPort(v int64) *UpdateFlowOutputInput { + s.Port = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *UpdateFlowOutputInput) SetProtocol(v string) *UpdateFlowOutputInput { + s.Protocol = &v + return s +} + +// SetSmoothingLatency sets the SmoothingLatency field's value. +func (s *UpdateFlowOutputInput) SetSmoothingLatency(v int64) *UpdateFlowOutputInput { + s.SmoothingLatency = &v + return s +} + +// SetStreamId sets the StreamId field's value. +func (s *UpdateFlowOutputInput) SetStreamId(v string) *UpdateFlowOutputInput { + s.StreamId = &v + return s +} + +// The result of a successful UpdateFlowOutput request including the flow ARN +// and the updated output. +type UpdateFlowOutputOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the flow that is associated with the updated output. + FlowArn *string `locationName:"flowArn" type:"string"` + + // The settings for an output. + Output *Output `locationName:"output" type:"structure"` +} + +// String returns the string representation +func (s UpdateFlowOutputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFlowOutputOutput) GoString() string { + return s.String() +} + +// SetFlowArn sets the FlowArn field's value. +func (s *UpdateFlowOutputOutput) SetFlowArn(v string) *UpdateFlowOutputOutput { + s.FlowArn = &v + return s +} + +// SetOutput sets the Output field's value. +func (s *UpdateFlowOutputOutput) SetOutput(v *Output) *UpdateFlowOutputOutput { + s.Output = v + return s +} + +// The settings for the updated source of the flow. +type UpdateFlowSourceInput struct { + _ struct{} `type:"structure"` + + // The type of encryption used on the content ingested from this source. + Decryption *UpdateEncryption `locationName:"decryption" type:"structure"` + + // A description for the source. This value is not used or seen outside of the + // current AWS Elemental MediaConnect account. + Description *string `locationName:"description" type:"string"` + + // The ARN of the entitlement that allows you to subscribe to this flow. The + // entitlement is set by the flow originator, and the ARN is generated as part + // of the originator's flow. + EntitlementArn *string `locationName:"entitlementArn" type:"string"` + + // FlowArn is a required field + FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` + + // The port that the flow will be listening on for incoming content. + IngestPort *int64 `locationName:"ingestPort" type:"integer"` + + // The smoothing max bitrate for RTP and RTP-FEC streams. + MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"` + + // The maximum latency in milliseconds for Zixi-based streams. + MaxLatency *int64 `locationName:"maxLatency" type:"integer"` + + // The protocol that is used by the source. + Protocol *string `locationName:"protocol" type:"string" enum:"Protocol"` + + // SourceArn is a required field + SourceArn *string `location:"uri" locationName:"sourceArn" type:"string" required:"true"` + + // The stream ID that you want to use for this transport. This parameter applies + // only to Zixi-based streams. + StreamId *string `locationName:"streamId" type:"string"` + + // The range of IP addresses that should be allowed to contribute content to + // your source. These IP addresses should in the form of a Classless Inter-Domain + // Routing (CIDR) block; for example, 10.0.0.0/16. + WhitelistCidr *string `locationName:"whitelistCidr" type:"string"` +} + +// String returns the string representation +func (s UpdateFlowSourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFlowSourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFlowSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFlowSourceInput"} + if s.FlowArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowArn")) + } + if s.FlowArn != nil && len(*s.FlowArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1)) + } + if s.SourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("SourceArn")) + } + if s.SourceArn != nil && len(*s.SourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDecryption sets the Decryption field's value. +func (s *UpdateFlowSourceInput) SetDecryption(v *UpdateEncryption) *UpdateFlowSourceInput { + s.Decryption = v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateFlowSourceInput) SetDescription(v string) *UpdateFlowSourceInput { + s.Description = &v + return s +} + +// SetEntitlementArn sets the EntitlementArn field's value. +func (s *UpdateFlowSourceInput) SetEntitlementArn(v string) *UpdateFlowSourceInput { + s.EntitlementArn = &v + return s +} + +// SetFlowArn sets the FlowArn field's value. +func (s *UpdateFlowSourceInput) SetFlowArn(v string) *UpdateFlowSourceInput { + s.FlowArn = &v + return s +} + +// SetIngestPort sets the IngestPort field's value. +func (s *UpdateFlowSourceInput) SetIngestPort(v int64) *UpdateFlowSourceInput { + s.IngestPort = &v + return s +} + +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *UpdateFlowSourceInput) SetMaxBitrate(v int64) *UpdateFlowSourceInput { + s.MaxBitrate = &v + return s +} + +// SetMaxLatency sets the MaxLatency field's value. +func (s *UpdateFlowSourceInput) SetMaxLatency(v int64) *UpdateFlowSourceInput { + s.MaxLatency = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *UpdateFlowSourceInput) SetProtocol(v string) *UpdateFlowSourceInput { + s.Protocol = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *UpdateFlowSourceInput) SetSourceArn(v string) *UpdateFlowSourceInput { + s.SourceArn = &v + return s +} + +// SetStreamId sets the StreamId field's value. +func (s *UpdateFlowSourceInput) SetStreamId(v string) *UpdateFlowSourceInput { + s.StreamId = &v + return s +} + +// SetWhitelistCidr sets the WhitelistCidr field's value. +func (s *UpdateFlowSourceInput) SetWhitelistCidr(v string) *UpdateFlowSourceInput { + s.WhitelistCidr = &v + return s +} + +// The result of a successful UpdateFlowSource request. The response includes +// the ARN of the flow that was updated and the updated source configuration. +type UpdateFlowSourceOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the flow that you want to update. + FlowArn *string `locationName:"flowArn" type:"string"` + + // The settings for the source of the flow. + Source *Source `locationName:"source" type:"structure"` +} + +// String returns the string representation +func (s UpdateFlowSourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFlowSourceOutput) GoString() string { + return s.String() +} + +// SetFlowArn sets the FlowArn field's value. +func (s *UpdateFlowSourceOutput) SetFlowArn(v string) *UpdateFlowSourceOutput { + s.FlowArn = &v + return s +} + +// SetSource sets the Source field's value. +func (s *UpdateFlowSourceOutput) SetSource(v *Source) *UpdateFlowSourceOutput { + s.Source = v + return s +} + +const ( + // AlgorithmAes128 is a Algorithm enum value + AlgorithmAes128 = "aes128" + + // AlgorithmAes192 is a Algorithm enum value + AlgorithmAes192 = "aes192" + + // AlgorithmAes256 is a Algorithm enum value + AlgorithmAes256 = "aes256" +) + +const ( + // KeyTypeStaticKey is a KeyType enum value + KeyTypeStaticKey = "static-key" +) + +const ( + // ProtocolZixiPush is a Protocol enum value + ProtocolZixiPush = "zixi-push" + + // ProtocolRtpFec is a Protocol enum value + ProtocolRtpFec = "rtp-fec" + + // ProtocolRtp is a Protocol enum value + ProtocolRtp = "rtp" +) + +const ( + // SourceTypeOwned is a SourceType enum value + SourceTypeOwned = "OWNED" + + // SourceTypeEntitled is a SourceType enum value + SourceTypeEntitled = "ENTITLED" +) + +const ( + // StatusStandby is a Status enum value + StatusStandby = "STANDBY" + + // StatusActive is a Status enum value + StatusActive = "ACTIVE" + + // StatusUpdating is a Status enum value + StatusUpdating = "UPDATING" + + // StatusDeleting is a Status enum value + StatusDeleting = "DELETING" + + // StatusStarting is a Status enum value + StatusStarting = "STARTING" + + // StatusStopping is a Status enum value + StatusStopping = "STOPPING" + + // StatusError is a Status enum value + StatusError = "ERROR" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/doc.go new file mode 100644 index 00000000000..95de09e77ba --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package mediaconnect provides the client and types for making API +// requests to AWS MediaConnect. +// +// API for AWS Elemental MediaConnect +// +// See https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14 for more information on this service. +// +// See mediaconnect package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mediaconnect/ +// +// Using the Client +// +// To contact AWS MediaConnect 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 MediaConnect client MediaConnect for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mediaconnect/#New +package mediaconnect diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/errors.go new file mode 100644 index 00000000000..c6f36c1e53f --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/errors.go @@ -0,0 +1,78 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediaconnect + +const ( + + // ErrCodeAddFlowOutputs420Exception for service response error code + // "AddFlowOutputs420Exception". + // + // Exception raised by AWS Elemental MediaConnect. See the error message and + // documentation for the operation for more information on the cause of this + // exception. + ErrCodeAddFlowOutputs420Exception = "AddFlowOutputs420Exception" + + // ErrCodeBadRequestException for service response error code + // "BadRequestException". + // + // Exception raised by AWS Elemental MediaConnect. See the error message and + // documentation for the operation for more information on the cause of this + // exception. + ErrCodeBadRequestException = "BadRequestException" + + // ErrCodeCreateFlow420Exception for service response error code + // "CreateFlow420Exception". + // + // Exception raised by AWS Elemental MediaConnect. See the error message and + // documentation for the operation for more information on the cause of this + // exception. + ErrCodeCreateFlow420Exception = "CreateFlow420Exception" + + // ErrCodeForbiddenException for service response error code + // "ForbiddenException". + // + // Exception raised by AWS Elemental MediaConnect. See the error message and + // documentation for the operation for more information on the cause of this + // exception. + ErrCodeForbiddenException = "ForbiddenException" + + // ErrCodeGrantFlowEntitlements420Exception for service response error code + // "GrantFlowEntitlements420Exception". + // + // Exception raised by AWS Elemental MediaConnect. See the error message and + // documentation for the operation for more information on the cause of this + // exception. + ErrCodeGrantFlowEntitlements420Exception = "GrantFlowEntitlements420Exception" + + // ErrCodeInternalServerErrorException for service response error code + // "InternalServerErrorException". + // + // Exception raised by AWS Elemental MediaConnect. See the error message and + // documentation for the operation for more information on the cause of this + // exception. + ErrCodeInternalServerErrorException = "InternalServerErrorException" + + // ErrCodeNotFoundException for service response error code + // "NotFoundException". + // + // Exception raised by AWS Elemental MediaConnect. See the error message and + // documentation for the operation for more information on the cause of this + // exception. + ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeServiceUnavailableException for service response error code + // "ServiceUnavailableException". + // + // Exception raised by AWS Elemental MediaConnect. See the error message and + // documentation for the operation for more information on the cause of this + // exception. + ErrCodeServiceUnavailableException = "ServiceUnavailableException" + + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + // + // Exception raised by AWS Elemental MediaConnect. See the error message and + // documentation for the operation for more information on the cause of this + // exception. + ErrCodeTooManyRequestsException = "TooManyRequestsException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/service.go new file mode 100644 index 00000000000..4cafa7df3e5 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/service.go @@ -0,0 +1,99 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediaconnect + +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/restjson" +) + +// MediaConnect provides the API operation methods for making requests to +// AWS MediaConnect. See this package's package overview docs +// for details on the service. +// +// MediaConnect methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type MediaConnect 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 = "MediaConnect" // Name of service. + EndpointsID = "mediaconnect" // ID to lookup a service endpoint with. + ServiceID = "MediaConnect" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the MediaConnect 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 MediaConnect client from just a session. +// svc := mediaconnect.New(mySession) +// +// // Create a MediaConnect client with additional configuration +// svc := mediaconnect.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *MediaConnect { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "mediaconnect" + } + 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) *MediaConnect { + svc := &MediaConnect{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-11-14", + JSONVersion: "1.1", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a MediaConnect operation and runs any +// custom request initialization. +func (c *MediaConnect) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go new file mode 100644 index 00000000000..af2e66c3049 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go @@ -0,0 +1,19552 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediaconvert + +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/restjson" +) + +const opAssociateCertificate = "AssociateCertificate" + +// AssociateCertificateRequest generates a "aws/request.Request" representing the +// client's request for the AssociateCertificate 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 AssociateCertificate for more information on using the AssociateCertificate +// 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 AssociateCertificateRequest method. +// req, resp := client.AssociateCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/AssociateCertificate +func (c *MediaConvert) AssociateCertificateRequest(input *AssociateCertificateInput) (req *request.Request, output *AssociateCertificateOutput) { + op := &request.Operation{ + Name: opAssociateCertificate, + HTTPMethod: "POST", + HTTPPath: "/2017-08-29/certificates", + } + + if input == nil { + input = &AssociateCertificateInput{} + } + + output = &AssociateCertificateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateCertificate API operation for AWS Elemental MediaConvert. +// +// Associates an AWS Certificate Manager (ACM) Amazon Resource Name (ARN) with +// AWS Elemental MediaConvert. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation AssociateCertificate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/AssociateCertificate +func (c *MediaConvert) AssociateCertificate(input *AssociateCertificateInput) (*AssociateCertificateOutput, error) { + req, out := c.AssociateCertificateRequest(input) + return out, req.Send() +} + +// AssociateCertificateWithContext is the same as AssociateCertificate with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateCertificate 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 *MediaConvert) AssociateCertificateWithContext(ctx aws.Context, input *AssociateCertificateInput, opts ...request.Option) (*AssociateCertificateOutput, error) { + req, out := c.AssociateCertificateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCancelJob = "CancelJob" + +// CancelJobRequest generates a "aws/request.Request" representing the +// client's request for the CancelJob 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 CancelJob for more information on using the CancelJob +// 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 CancelJobRequest method. +// req, resp := client.CancelJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CancelJob +func (c *MediaConvert) CancelJobRequest(input *CancelJobInput) (req *request.Request, output *CancelJobOutput) { + op := &request.Operation{ + Name: opCancelJob, + HTTPMethod: "DELETE", + HTTPPath: "/2017-08-29/jobs/{id}", + } + + if input == nil { + input = &CancelJobInput{} + } + + output = &CancelJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CancelJob API operation for AWS Elemental MediaConvert. +// +// Permanently cancel a job. Once you have canceled a job, you can't start it +// again. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation CancelJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CancelJob +func (c *MediaConvert) CancelJob(input *CancelJobInput) (*CancelJobOutput, error) { + req, out := c.CancelJobRequest(input) + return out, req.Send() +} + +// CancelJobWithContext is the same as CancelJob with the addition of +// the ability to pass a context and additional request options. +// +// See CancelJob 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 *MediaConvert) CancelJobWithContext(ctx aws.Context, input *CancelJobInput, opts ...request.Option) (*CancelJobOutput, error) { + req, out := c.CancelJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateJob = "CreateJob" + +// CreateJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateJob 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 CreateJob for more information on using the CreateJob +// 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 CreateJobRequest method. +// req, resp := client.CreateJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateJob +func (c *MediaConvert) CreateJobRequest(input *CreateJobInput) (req *request.Request, output *CreateJobOutput) { + op := &request.Operation{ + Name: opCreateJob, + HTTPMethod: "POST", + HTTPPath: "/2017-08-29/jobs", + } + + if input == nil { + input = &CreateJobInput{} + } + + output = &CreateJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateJob API operation for AWS Elemental MediaConvert. +// +// Create a new transcoding job. For information about jobs and job settings, +// see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.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 AWS Elemental MediaConvert's +// API operation CreateJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateJob +func (c *MediaConvert) CreateJob(input *CreateJobInput) (*CreateJobOutput, error) { + req, out := c.CreateJobRequest(input) + return out, req.Send() +} + +// CreateJobWithContext is the same as CreateJob with the addition of +// the ability to pass a context and additional request options. +// +// See CreateJob 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 *MediaConvert) CreateJobWithContext(ctx aws.Context, input *CreateJobInput, opts ...request.Option) (*CreateJobOutput, error) { + req, out := c.CreateJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateJobTemplate = "CreateJobTemplate" + +// CreateJobTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateJobTemplate 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 CreateJobTemplate for more information on using the CreateJobTemplate +// 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 CreateJobTemplateRequest method. +// req, resp := client.CreateJobTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateJobTemplate +func (c *MediaConvert) CreateJobTemplateRequest(input *CreateJobTemplateInput) (req *request.Request, output *CreateJobTemplateOutput) { + op := &request.Operation{ + Name: opCreateJobTemplate, + HTTPMethod: "POST", + HTTPPath: "/2017-08-29/jobTemplates", + } + + if input == nil { + input = &CreateJobTemplateInput{} + } + + output = &CreateJobTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateJobTemplate API operation for AWS Elemental MediaConvert. +// +// Create a new job template. For information about job templates see the User +// Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.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 AWS Elemental MediaConvert's +// API operation CreateJobTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateJobTemplate +func (c *MediaConvert) CreateJobTemplate(input *CreateJobTemplateInput) (*CreateJobTemplateOutput, error) { + req, out := c.CreateJobTemplateRequest(input) + return out, req.Send() +} + +// CreateJobTemplateWithContext is the same as CreateJobTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateJobTemplate 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 *MediaConvert) CreateJobTemplateWithContext(ctx aws.Context, input *CreateJobTemplateInput, opts ...request.Option) (*CreateJobTemplateOutput, error) { + req, out := c.CreateJobTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreatePreset = "CreatePreset" + +// CreatePresetRequest generates a "aws/request.Request" representing the +// client's request for the CreatePreset 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 CreatePreset for more information on using the CreatePreset +// 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 CreatePresetRequest method. +// req, resp := client.CreatePresetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreatePreset +func (c *MediaConvert) CreatePresetRequest(input *CreatePresetInput) (req *request.Request, output *CreatePresetOutput) { + op := &request.Operation{ + Name: opCreatePreset, + HTTPMethod: "POST", + HTTPPath: "/2017-08-29/presets", + } + + if input == nil { + input = &CreatePresetInput{} + } + + output = &CreatePresetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePreset API operation for AWS Elemental MediaConvert. +// +// Create a new preset. For information about job templates see the User Guide +// at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.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 AWS Elemental MediaConvert's +// API operation CreatePreset for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreatePreset +func (c *MediaConvert) CreatePreset(input *CreatePresetInput) (*CreatePresetOutput, error) { + req, out := c.CreatePresetRequest(input) + return out, req.Send() +} + +// CreatePresetWithContext is the same as CreatePreset with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePreset 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 *MediaConvert) CreatePresetWithContext(ctx aws.Context, input *CreatePresetInput, opts ...request.Option) (*CreatePresetOutput, error) { + req, out := c.CreatePresetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateQueue = "CreateQueue" + +// CreateQueueRequest generates a "aws/request.Request" representing the +// client's request for the CreateQueue 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 CreateQueue for more information on using the CreateQueue +// 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 CreateQueueRequest method. +// req, resp := client.CreateQueueRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateQueue +func (c *MediaConvert) CreateQueueRequest(input *CreateQueueInput) (req *request.Request, output *CreateQueueOutput) { + op := &request.Operation{ + Name: opCreateQueue, + HTTPMethod: "POST", + HTTPPath: "/2017-08-29/queues", + } + + if input == nil { + input = &CreateQueueInput{} + } + + output = &CreateQueueOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateQueue API operation for AWS Elemental MediaConvert. +// +// Create a new transcoding queue. For information about queues, see Working +// With Queues in the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.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 AWS Elemental MediaConvert's +// API operation CreateQueue for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateQueue +func (c *MediaConvert) CreateQueue(input *CreateQueueInput) (*CreateQueueOutput, error) { + req, out := c.CreateQueueRequest(input) + return out, req.Send() +} + +// CreateQueueWithContext is the same as CreateQueue with the addition of +// the ability to pass a context and additional request options. +// +// See CreateQueue 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 *MediaConvert) CreateQueueWithContext(ctx aws.Context, input *CreateQueueInput, opts ...request.Option) (*CreateQueueOutput, error) { + req, out := c.CreateQueueRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteJobTemplate = "DeleteJobTemplate" + +// DeleteJobTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteJobTemplate 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 DeleteJobTemplate for more information on using the DeleteJobTemplate +// 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 DeleteJobTemplateRequest method. +// req, resp := client.DeleteJobTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeleteJobTemplate +func (c *MediaConvert) DeleteJobTemplateRequest(input *DeleteJobTemplateInput) (req *request.Request, output *DeleteJobTemplateOutput) { + op := &request.Operation{ + Name: opDeleteJobTemplate, + HTTPMethod: "DELETE", + HTTPPath: "/2017-08-29/jobTemplates/{name}", + } + + if input == nil { + input = &DeleteJobTemplateInput{} + } + + output = &DeleteJobTemplateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteJobTemplate API operation for AWS Elemental MediaConvert. +// +// Permanently delete a job template you have created. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation DeleteJobTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeleteJobTemplate +func (c *MediaConvert) DeleteJobTemplate(input *DeleteJobTemplateInput) (*DeleteJobTemplateOutput, error) { + req, out := c.DeleteJobTemplateRequest(input) + return out, req.Send() +} + +// DeleteJobTemplateWithContext is the same as DeleteJobTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteJobTemplate 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 *MediaConvert) DeleteJobTemplateWithContext(ctx aws.Context, input *DeleteJobTemplateInput, opts ...request.Option) (*DeleteJobTemplateOutput, error) { + req, out := c.DeleteJobTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeletePreset = "DeletePreset" + +// DeletePresetRequest generates a "aws/request.Request" representing the +// client's request for the DeletePreset 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 DeletePreset for more information on using the DeletePreset +// 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 DeletePresetRequest method. +// req, resp := client.DeletePresetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeletePreset +func (c *MediaConvert) DeletePresetRequest(input *DeletePresetInput) (req *request.Request, output *DeletePresetOutput) { + op := &request.Operation{ + Name: opDeletePreset, + HTTPMethod: "DELETE", + HTTPPath: "/2017-08-29/presets/{name}", + } + + if input == nil { + input = &DeletePresetInput{} + } + + output = &DeletePresetOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePreset API operation for AWS Elemental MediaConvert. +// +// Permanently delete a preset you have created. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation DeletePreset for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeletePreset +func (c *MediaConvert) DeletePreset(input *DeletePresetInput) (*DeletePresetOutput, error) { + req, out := c.DeletePresetRequest(input) + return out, req.Send() +} + +// DeletePresetWithContext is the same as DeletePreset with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePreset 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 *MediaConvert) DeletePresetWithContext(ctx aws.Context, input *DeletePresetInput, opts ...request.Option) (*DeletePresetOutput, error) { + req, out := c.DeletePresetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteQueue = "DeleteQueue" + +// DeleteQueueRequest generates a "aws/request.Request" representing the +// client's request for the DeleteQueue 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 DeleteQueue for more information on using the DeleteQueue +// 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 DeleteQueueRequest method. +// req, resp := client.DeleteQueueRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeleteQueue +func (c *MediaConvert) DeleteQueueRequest(input *DeleteQueueInput) (req *request.Request, output *DeleteQueueOutput) { + op := &request.Operation{ + Name: opDeleteQueue, + HTTPMethod: "DELETE", + HTTPPath: "/2017-08-29/queues/{name}", + } + + if input == nil { + input = &DeleteQueueInput{} + } + + output = &DeleteQueueOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteQueue API operation for AWS Elemental MediaConvert. +// +// Permanently delete a queue you have created. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation DeleteQueue for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeleteQueue +func (c *MediaConvert) DeleteQueue(input *DeleteQueueInput) (*DeleteQueueOutput, error) { + req, out := c.DeleteQueueRequest(input) + return out, req.Send() +} + +// DeleteQueueWithContext is the same as DeleteQueue with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteQueue 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 *MediaConvert) DeleteQueueWithContext(ctx aws.Context, input *DeleteQueueInput, opts ...request.Option) (*DeleteQueueOutput, error) { + req, out := c.DeleteQueueRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeEndpoints = "DescribeEndpoints" + +// DescribeEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEndpoints 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 DescribeEndpoints for more information on using the DescribeEndpoints +// 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 DescribeEndpointsRequest method. +// req, resp := client.DescribeEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DescribeEndpoints +func (c *MediaConvert) DescribeEndpointsRequest(input *DescribeEndpointsInput) (req *request.Request, output *DescribeEndpointsOutput) { + op := &request.Operation{ + Name: opDescribeEndpoints, + HTTPMethod: "POST", + HTTPPath: "/2017-08-29/endpoints", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeEndpointsInput{} + } + + output = &DescribeEndpointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEndpoints API operation for AWS Elemental MediaConvert. +// +// Send an request with an empty body to the regional API endpoint to get your +// account API endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaConvert's +// API operation DescribeEndpoints for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DescribeEndpoints +func (c *MediaConvert) DescribeEndpoints(input *DescribeEndpointsInput) (*DescribeEndpointsOutput, error) { + req, out := c.DescribeEndpointsRequest(input) + return out, req.Send() +} + +// DescribeEndpointsWithContext is the same as DescribeEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEndpoints 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 *MediaConvert) DescribeEndpointsWithContext(ctx aws.Context, input *DescribeEndpointsInput, opts ...request.Option) (*DescribeEndpointsOutput, error) { + req, out := c.DescribeEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeEndpointsPages iterates over the pages of a DescribeEndpoints operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEndpoints 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 DescribeEndpoints operation. +// pageNum := 0 +// err := client.DescribeEndpointsPages(params, +// func(page *DescribeEndpointsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaConvert) DescribeEndpointsPages(input *DescribeEndpointsInput, fn func(*DescribeEndpointsOutput, bool) bool) error { + return c.DescribeEndpointsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeEndpointsPagesWithContext same as DescribeEndpointsPages 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 *MediaConvert) DescribeEndpointsPagesWithContext(ctx aws.Context, input *DescribeEndpointsInput, fn func(*DescribeEndpointsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeEndpointsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEndpointsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeEndpointsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDisassociateCertificate = "DisassociateCertificate" + +// DisassociateCertificateRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateCertificate 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 DisassociateCertificate for more information on using the DisassociateCertificate +// 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 DisassociateCertificateRequest method. +// req, resp := client.DisassociateCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DisassociateCertificate +func (c *MediaConvert) DisassociateCertificateRequest(input *DisassociateCertificateInput) (req *request.Request, output *DisassociateCertificateOutput) { + op := &request.Operation{ + Name: opDisassociateCertificate, + HTTPMethod: "DELETE", + HTTPPath: "/2017-08-29/certificates/{arn}", + } + + if input == nil { + input = &DisassociateCertificateInput{} + } + + output = &DisassociateCertificateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateCertificate API operation for AWS Elemental MediaConvert. +// +// Removes an association between the Amazon Resource Name (ARN) of an AWS Certificate +// Manager (ACM) certificate and an AWS Elemental MediaConvert resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaConvert's +// API operation DisassociateCertificate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DisassociateCertificate +func (c *MediaConvert) DisassociateCertificate(input *DisassociateCertificateInput) (*DisassociateCertificateOutput, error) { + req, out := c.DisassociateCertificateRequest(input) + return out, req.Send() +} + +// DisassociateCertificateWithContext is the same as DisassociateCertificate with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateCertificate 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 *MediaConvert) DisassociateCertificateWithContext(ctx aws.Context, input *DisassociateCertificateInput, opts ...request.Option) (*DisassociateCertificateOutput, error) { + req, out := c.DisassociateCertificateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetJob = "GetJob" + +// GetJobRequest generates a "aws/request.Request" representing the +// client's request for the GetJob 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 GetJob for more information on using the GetJob +// 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 GetJobRequest method. +// req, resp := client.GetJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetJob +func (c *MediaConvert) GetJobRequest(input *GetJobInput) (req *request.Request, output *GetJobOutput) { + op := &request.Operation{ + Name: opGetJob, + HTTPMethod: "GET", + HTTPPath: "/2017-08-29/jobs/{id}", + } + + if input == nil { + input = &GetJobInput{} + } + + output = &GetJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetJob API operation for AWS Elemental MediaConvert. +// +// Retrieve the JSON for a specific completed transcoding job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaConvert's +// API operation GetJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetJob +func (c *MediaConvert) GetJob(input *GetJobInput) (*GetJobOutput, error) { + req, out := c.GetJobRequest(input) + return out, req.Send() +} + +// GetJobWithContext is the same as GetJob with the addition of +// the ability to pass a context and additional request options. +// +// See GetJob 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 *MediaConvert) GetJobWithContext(ctx aws.Context, input *GetJobInput, opts ...request.Option) (*GetJobOutput, error) { + req, out := c.GetJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetJobTemplate = "GetJobTemplate" + +// GetJobTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetJobTemplate 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 GetJobTemplate for more information on using the GetJobTemplate +// 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 GetJobTemplateRequest method. +// req, resp := client.GetJobTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetJobTemplate +func (c *MediaConvert) GetJobTemplateRequest(input *GetJobTemplateInput) (req *request.Request, output *GetJobTemplateOutput) { + op := &request.Operation{ + Name: opGetJobTemplate, + HTTPMethod: "GET", + HTTPPath: "/2017-08-29/jobTemplates/{name}", + } + + if input == nil { + input = &GetJobTemplateInput{} + } + + output = &GetJobTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetJobTemplate API operation for AWS Elemental MediaConvert. +// +// Retrieve the JSON for a specific job template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation GetJobTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetJobTemplate +func (c *MediaConvert) GetJobTemplate(input *GetJobTemplateInput) (*GetJobTemplateOutput, error) { + req, out := c.GetJobTemplateRequest(input) + return out, req.Send() +} + +// GetJobTemplateWithContext is the same as GetJobTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetJobTemplate 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 *MediaConvert) GetJobTemplateWithContext(ctx aws.Context, input *GetJobTemplateInput, opts ...request.Option) (*GetJobTemplateOutput, error) { + req, out := c.GetJobTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPreset = "GetPreset" + +// GetPresetRequest generates a "aws/request.Request" representing the +// client's request for the GetPreset 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 GetPreset for more information on using the GetPreset +// 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 GetPresetRequest method. +// req, resp := client.GetPresetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetPreset +func (c *MediaConvert) GetPresetRequest(input *GetPresetInput) (req *request.Request, output *GetPresetOutput) { + op := &request.Operation{ + Name: opGetPreset, + HTTPMethod: "GET", + HTTPPath: "/2017-08-29/presets/{name}", + } + + if input == nil { + input = &GetPresetInput{} + } + + output = &GetPresetOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPreset API operation for AWS Elemental MediaConvert. +// +// Retrieve the JSON for a specific preset. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation GetPreset for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetPreset +func (c *MediaConvert) GetPreset(input *GetPresetInput) (*GetPresetOutput, error) { + req, out := c.GetPresetRequest(input) + return out, req.Send() +} + +// GetPresetWithContext is the same as GetPreset with the addition of +// the ability to pass a context and additional request options. +// +// See GetPreset 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 *MediaConvert) GetPresetWithContext(ctx aws.Context, input *GetPresetInput, opts ...request.Option) (*GetPresetOutput, error) { + req, out := c.GetPresetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetQueue = "GetQueue" + +// GetQueueRequest generates a "aws/request.Request" representing the +// client's request for the GetQueue 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 GetQueue for more information on using the GetQueue +// 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 GetQueueRequest method. +// req, resp := client.GetQueueRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetQueue +func (c *MediaConvert) GetQueueRequest(input *GetQueueInput) (req *request.Request, output *GetQueueOutput) { + op := &request.Operation{ + Name: opGetQueue, + HTTPMethod: "GET", + HTTPPath: "/2017-08-29/queues/{name}", + } + + if input == nil { + input = &GetQueueInput{} + } + + output = &GetQueueOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetQueue API operation for AWS Elemental MediaConvert. +// +// Retrieve the JSON for a specific queue. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation GetQueue for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetQueue +func (c *MediaConvert) GetQueue(input *GetQueueInput) (*GetQueueOutput, error) { + req, out := c.GetQueueRequest(input) + return out, req.Send() +} + +// GetQueueWithContext is the same as GetQueue with the addition of +// the ability to pass a context and additional request options. +// +// See GetQueue 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 *MediaConvert) GetQueueWithContext(ctx aws.Context, input *GetQueueInput, opts ...request.Option) (*GetQueueOutput, error) { + req, out := c.GetQueueRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListJobTemplates = "ListJobTemplates" + +// ListJobTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListJobTemplates 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 ListJobTemplates for more information on using the ListJobTemplates +// 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 ListJobTemplatesRequest method. +// req, resp := client.ListJobTemplatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListJobTemplates +func (c *MediaConvert) ListJobTemplatesRequest(input *ListJobTemplatesInput) (req *request.Request, output *ListJobTemplatesOutput) { + op := &request.Operation{ + Name: opListJobTemplates, + HTTPMethod: "GET", + HTTPPath: "/2017-08-29/jobTemplates", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListJobTemplatesInput{} + } + + output = &ListJobTemplatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListJobTemplates API operation for AWS Elemental MediaConvert. +// +// Retrieve a JSON array of up to twenty of your job templates. This will return +// the templates themselves, not just a list of them. To retrieve the next twenty +// templates, use the nextToken string returned with the array +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation ListJobTemplates for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListJobTemplates +func (c *MediaConvert) ListJobTemplates(input *ListJobTemplatesInput) (*ListJobTemplatesOutput, error) { + req, out := c.ListJobTemplatesRequest(input) + return out, req.Send() +} + +// ListJobTemplatesWithContext is the same as ListJobTemplates with the addition of +// the ability to pass a context and additional request options. +// +// See ListJobTemplates 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 *MediaConvert) ListJobTemplatesWithContext(ctx aws.Context, input *ListJobTemplatesInput, opts ...request.Option) (*ListJobTemplatesOutput, error) { + req, out := c.ListJobTemplatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListJobTemplatesPages iterates over the pages of a ListJobTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListJobTemplates 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 ListJobTemplates operation. +// pageNum := 0 +// err := client.ListJobTemplatesPages(params, +// func(page *ListJobTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaConvert) ListJobTemplatesPages(input *ListJobTemplatesInput, fn func(*ListJobTemplatesOutput, bool) bool) error { + return c.ListJobTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListJobTemplatesPagesWithContext same as ListJobTemplatesPages 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 *MediaConvert) ListJobTemplatesPagesWithContext(ctx aws.Context, input *ListJobTemplatesInput, fn func(*ListJobTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListJobTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListJobTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListJobTemplatesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListJobs = "ListJobs" + +// ListJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListJobs 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 ListJobs for more information on using the ListJobs +// 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 ListJobsRequest method. +// req, resp := client.ListJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListJobs +func (c *MediaConvert) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) { + op := &request.Operation{ + Name: opListJobs, + HTTPMethod: "GET", + HTTPPath: "/2017-08-29/jobs", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListJobsInput{} + } + + output = &ListJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListJobs API operation for AWS Elemental MediaConvert. +// +// Retrieve a JSON array of up to twenty of your most recently created jobs. +// This array includes in-process, completed, and errored jobs. This will return +// the jobs themselves, not just a list of the jobs. To retrieve the twenty +// next most recent jobs, use the nextToken string returned with the array. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation ListJobs for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListJobs +func (c *MediaConvert) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) { + req, out := c.ListJobsRequest(input) + return out, req.Send() +} + +// ListJobsWithContext is the same as ListJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListJobs 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 *MediaConvert) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) { + req, out := c.ListJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListJobsPages iterates over the pages of a ListJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListJobs 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 ListJobs operation. +// pageNum := 0 +// err := client.ListJobsPages(params, +// func(page *ListJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaConvert) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error { + return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListJobsPagesWithContext same as ListJobsPages 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 *MediaConvert) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListPresets = "ListPresets" + +// ListPresetsRequest generates a "aws/request.Request" representing the +// client's request for the ListPresets 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 ListPresets for more information on using the ListPresets +// 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 ListPresetsRequest method. +// req, resp := client.ListPresetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListPresets +func (c *MediaConvert) ListPresetsRequest(input *ListPresetsInput) (req *request.Request, output *ListPresetsOutput) { + op := &request.Operation{ + Name: opListPresets, + HTTPMethod: "GET", + HTTPPath: "/2017-08-29/presets", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPresetsInput{} + } + + output = &ListPresetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPresets API operation for AWS Elemental MediaConvert. +// +// Retrieve a JSON array of up to twenty of your presets. This will return the +// presets themselves, not just a list of them. To retrieve the next twenty +// presets, use the nextToken string returned with the array. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation ListPresets for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListPresets +func (c *MediaConvert) ListPresets(input *ListPresetsInput) (*ListPresetsOutput, error) { + req, out := c.ListPresetsRequest(input) + return out, req.Send() +} + +// ListPresetsWithContext is the same as ListPresets with the addition of +// the ability to pass a context and additional request options. +// +// See ListPresets 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 *MediaConvert) ListPresetsWithContext(ctx aws.Context, input *ListPresetsInput, opts ...request.Option) (*ListPresetsOutput, error) { + req, out := c.ListPresetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPresetsPages iterates over the pages of a ListPresets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPresets 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 ListPresets operation. +// pageNum := 0 +// err := client.ListPresetsPages(params, +// func(page *ListPresetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaConvert) ListPresetsPages(input *ListPresetsInput, fn func(*ListPresetsOutput, bool) bool) error { + return c.ListPresetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPresetsPagesWithContext same as ListPresetsPages 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 *MediaConvert) ListPresetsPagesWithContext(ctx aws.Context, input *ListPresetsInput, fn func(*ListPresetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPresetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPresetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListPresetsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListQueues = "ListQueues" + +// ListQueuesRequest generates a "aws/request.Request" representing the +// client's request for the ListQueues 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 ListQueues for more information on using the ListQueues +// 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 ListQueuesRequest method. +// req, resp := client.ListQueuesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListQueues +func (c *MediaConvert) ListQueuesRequest(input *ListQueuesInput) (req *request.Request, output *ListQueuesOutput) { + op := &request.Operation{ + Name: opListQueues, + HTTPMethod: "GET", + HTTPPath: "/2017-08-29/queues", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListQueuesInput{} + } + + output = &ListQueuesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListQueues API operation for AWS Elemental MediaConvert. +// +// Retrieve a JSON array of up to twenty of your queues. This will return the +// queues themselves, not just a list of them. To retrieve the next twenty queues, +// use the nextToken string returned with the array. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation ListQueues for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListQueues +func (c *MediaConvert) ListQueues(input *ListQueuesInput) (*ListQueuesOutput, error) { + req, out := c.ListQueuesRequest(input) + return out, req.Send() +} + +// ListQueuesWithContext is the same as ListQueues with the addition of +// the ability to pass a context and additional request options. +// +// See ListQueues 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 *MediaConvert) ListQueuesWithContext(ctx aws.Context, input *ListQueuesInput, opts ...request.Option) (*ListQueuesOutput, error) { + req, out := c.ListQueuesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListQueuesPages iterates over the pages of a ListQueues operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListQueues 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 ListQueues operation. +// pageNum := 0 +// err := client.ListQueuesPages(params, +// func(page *ListQueuesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaConvert) ListQueuesPages(input *ListQueuesInput, fn func(*ListQueuesOutput, bool) bool) error { + return c.ListQueuesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListQueuesPagesWithContext same as ListQueuesPages 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 *MediaConvert) ListQueuesPagesWithContext(ctx aws.Context, input *ListQueuesInput, fn func(*ListQueuesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListQueuesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListQueuesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListQueuesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListTagsForResource +func (c *MediaConvert) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/2017-08-29/tags/{arn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS Elemental MediaConvert. +// +// Retrieve the tags for a MediaConvert resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaConvert's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListTagsForResource +func (c *MediaConvert) 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 *MediaConvert) 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 opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/TagResource +func (c *MediaConvert) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/2017-08-29/tags", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Elemental MediaConvert. +// +// Add tags to a MediaConvert queue, preset, or job template. For information +// about tagging, see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/tagging-resources.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 AWS Elemental MediaConvert's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/TagResource +func (c *MediaConvert) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaConvert) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UntagResource +func (c *MediaConvert) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "PUT", + HTTPPath: "/2017-08-29/tags/{arn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS Elemental MediaConvert. +// +// Remove tags from a MediaConvert queue, preset, or job template. For information +// about tagging, see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/tagging-resources.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 AWS Elemental MediaConvert's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UntagResource +func (c *MediaConvert) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaConvert) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateJobTemplate = "UpdateJobTemplate" + +// UpdateJobTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateJobTemplate 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 UpdateJobTemplate for more information on using the UpdateJobTemplate +// 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 UpdateJobTemplateRequest method. +// req, resp := client.UpdateJobTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdateJobTemplate +func (c *MediaConvert) UpdateJobTemplateRequest(input *UpdateJobTemplateInput) (req *request.Request, output *UpdateJobTemplateOutput) { + op := &request.Operation{ + Name: opUpdateJobTemplate, + HTTPMethod: "PUT", + HTTPPath: "/2017-08-29/jobTemplates/{name}", + } + + if input == nil { + input = &UpdateJobTemplateInput{} + } + + output = &UpdateJobTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateJobTemplate API operation for AWS Elemental MediaConvert. +// +// Modify one of your existing job templates. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation UpdateJobTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdateJobTemplate +func (c *MediaConvert) UpdateJobTemplate(input *UpdateJobTemplateInput) (*UpdateJobTemplateOutput, error) { + req, out := c.UpdateJobTemplateRequest(input) + return out, req.Send() +} + +// UpdateJobTemplateWithContext is the same as UpdateJobTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateJobTemplate 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 *MediaConvert) UpdateJobTemplateWithContext(ctx aws.Context, input *UpdateJobTemplateInput, opts ...request.Option) (*UpdateJobTemplateOutput, error) { + req, out := c.UpdateJobTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePreset = "UpdatePreset" + +// UpdatePresetRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePreset 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 UpdatePreset for more information on using the UpdatePreset +// 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 UpdatePresetRequest method. +// req, resp := client.UpdatePresetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdatePreset +func (c *MediaConvert) UpdatePresetRequest(input *UpdatePresetInput) (req *request.Request, output *UpdatePresetOutput) { + op := &request.Operation{ + Name: opUpdatePreset, + HTTPMethod: "PUT", + HTTPPath: "/2017-08-29/presets/{name}", + } + + if input == nil { + input = &UpdatePresetInput{} + } + + output = &UpdatePresetOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdatePreset API operation for AWS Elemental MediaConvert. +// +// Modify one of your existing presets. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation UpdatePreset for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdatePreset +func (c *MediaConvert) UpdatePreset(input *UpdatePresetInput) (*UpdatePresetOutput, error) { + req, out := c.UpdatePresetRequest(input) + return out, req.Send() +} + +// UpdatePresetWithContext is the same as UpdatePreset with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePreset 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 *MediaConvert) UpdatePresetWithContext(ctx aws.Context, input *UpdatePresetInput, opts ...request.Option) (*UpdatePresetOutput, error) { + req, out := c.UpdatePresetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateQueue = "UpdateQueue" + +// UpdateQueueRequest generates a "aws/request.Request" representing the +// client's request for the UpdateQueue 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 UpdateQueue for more information on using the UpdateQueue +// 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 UpdateQueueRequest method. +// req, resp := client.UpdateQueueRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdateQueue +func (c *MediaConvert) UpdateQueueRequest(input *UpdateQueueInput) (req *request.Request, output *UpdateQueueOutput) { + op := &request.Operation{ + Name: opUpdateQueue, + HTTPMethod: "PUT", + HTTPPath: "/2017-08-29/queues/{name}", + } + + if input == nil { + input = &UpdateQueueInput{} + } + + output = &UpdateQueueOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateQueue API operation for AWS Elemental MediaConvert. +// +// Modify one of your existing queues. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaConvert's +// API operation UpdateQueue for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdateQueue +func (c *MediaConvert) UpdateQueue(input *UpdateQueueInput) (*UpdateQueueOutput, error) { + req, out := c.UpdateQueueRequest(input) + return out, req.Send() +} + +// UpdateQueueWithContext is the same as UpdateQueue with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateQueue 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 *MediaConvert) UpdateQueueWithContext(ctx aws.Context, input *UpdateQueueInput, opts ...request.Option) (*UpdateQueueOutput, error) { + req, out := c.UpdateQueueRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to +// the value AAC. The service accepts one of two mutually exclusive groups of +// AAC settings--VBR and CBR. To select one of these modes, set the value of +// Bitrate control mode (rateControlMode) to "VBR" or "CBR". In VBR mode, you +// control the audio quality with the setting VBR quality (vbrQuality). In CBR +// mode, you use the setting Bitrate (bitrate). Defaults and valid values depend +// on the rate control mode. +type AacSettings struct { + _ struct{} `type:"structure"` + + // Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + // + audio description (AD) as a stereo pair. The value for AudioType will be + // set to 3, which signals to downstream systems that this stream contains "broadcaster + // mixed AD". Note that the input received by the encoder must contain pre-mixed + // audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD, + // the encoder ignores any values you provide in AudioType and FollowInputAudioType. + // Choose NORMAL when the input does not contain pre-mixed audio + audio description + // (AD). In this case, the encoder will use any values you provide for AudioType + // and FollowInputAudioType. + AudioDescriptionBroadcasterMix *string `locationName:"audioDescriptionBroadcasterMix" type:"string" enum:"AacAudioDescriptionBroadcasterMix"` + + // Average bitrate in bits/second. The set of valid values for this setting + // is: 6000, 8000, 10000, 12000, 14000, 16000, 20000, 24000, 28000, 32000, 40000, + // 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, + // 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000, 768000, 896000, + // 1024000. The value you set is also constrained by the values you choose for + // Profile (codecProfile), Bitrate control mode (codingMode), and Sample rate + // (sampleRate). Default values depend on Bitrate control mode and Profile. + Bitrate *int64 `locationName:"bitrate" min:"6000" type:"integer"` + + // AAC Profile. + CodecProfile *string `locationName:"codecProfile" type:"string" enum:"AacCodecProfile"` + + // Mono (Audio Description), Mono, Stereo, or 5.1 channel layout. Valid values + // depend on rate control mode and profile. "1.0 - Audio Description (Receiver + // Mix)" setting receives a stereo description plus control track and emits + // a mono AAC encode of the description track, with control data emitted in + // the PES header as per ETSI TS 101 154 Annex E. + CodingMode *string `locationName:"codingMode" type:"string" enum:"AacCodingMode"` + + // Rate Control Mode. + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"AacRateControlMode"` + + // Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, + // you must choose "No container" for the output container. + RawFormat *string `locationName:"rawFormat" type:"string" enum:"AacRawFormat"` + + // Sample rate in Hz. Valid values depend on rate control mode and profile. + SampleRate *int64 `locationName:"sampleRate" min:"8000" type:"integer"` + + // Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream + // containers. + Specification *string `locationName:"specification" type:"string" enum:"AacSpecification"` + + // VBR Quality Level - Only used if rate_control_mode is VBR. + VbrQuality *string `locationName:"vbrQuality" type:"string" enum:"AacVbrQuality"` +} + +// String returns the string representation +func (s AacSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AacSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AacSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AacSettings"} + if s.Bitrate != nil && *s.Bitrate < 6000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 6000)) + } + if s.SampleRate != nil && *s.SampleRate < 8000 { + invalidParams.Add(request.NewErrParamMinValue("SampleRate", 8000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioDescriptionBroadcasterMix sets the AudioDescriptionBroadcasterMix field's value. +func (s *AacSettings) SetAudioDescriptionBroadcasterMix(v string) *AacSettings { + s.AudioDescriptionBroadcasterMix = &v + return s +} + +// SetBitrate sets the Bitrate field's value. +func (s *AacSettings) SetBitrate(v int64) *AacSettings { + s.Bitrate = &v + return s +} + +// SetCodecProfile sets the CodecProfile field's value. +func (s *AacSettings) SetCodecProfile(v string) *AacSettings { + s.CodecProfile = &v + return s +} + +// SetCodingMode sets the CodingMode field's value. +func (s *AacSettings) SetCodingMode(v string) *AacSettings { + s.CodingMode = &v + return s +} + +// SetRateControlMode sets the RateControlMode field's value. +func (s *AacSettings) SetRateControlMode(v string) *AacSettings { + s.RateControlMode = &v + return s +} + +// SetRawFormat sets the RawFormat field's value. +func (s *AacSettings) SetRawFormat(v string) *AacSettings { + s.RawFormat = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *AacSettings) SetSampleRate(v int64) *AacSettings { + s.SampleRate = &v + return s +} + +// SetSpecification sets the Specification field's value. +func (s *AacSettings) SetSpecification(v string) *AacSettings { + s.Specification = &v + return s +} + +// SetVbrQuality sets the VbrQuality field's value. +func (s *AacSettings) SetVbrQuality(v string) *AacSettings { + s.VbrQuality = &v + return s +} + +// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to +// the value AC3. +type Ac3Settings struct { + _ struct{} `type:"structure"` + + // Average bitrate in bits/second. Valid bitrates depend on the coding mode. + Bitrate *int64 `locationName:"bitrate" min:"64000" type:"integer"` + + // Specifies the "Bitstream Mode" (bsmod) for the emitted AC-3 stream. See ATSC + // A/52-2012 for background on these values. + BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Ac3BitstreamMode"` + + // Dolby Digital coding mode. Determines number of channels. + CodingMode *string `locationName:"codingMode" type:"string" enum:"Ac3CodingMode"` + + // Sets the dialnorm for the output. If blank and input audio is Dolby Digital, + // dialnorm will be passed through. + Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` + + // If set to FILM_STANDARD, adds dynamic range compression signaling to the + // output bitstream as defined in the Dolby Digital specification. + DynamicRangeCompressionProfile *string `locationName:"dynamicRangeCompressionProfile" type:"string" enum:"Ac3DynamicRangeCompressionProfile"` + + // Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only + // valid with 3_2_LFE coding mode. + LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Ac3LfeFilter"` + + // When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, + // or DolbyE decoder that supplied this audio data. If audio was not supplied + // from one of these streams, then the static metadata settings will be used. + MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Ac3MetadataControl"` + + // Sample rate in hz. Sample rate is always 48000. + SampleRate *int64 `locationName:"sampleRate" min:"48000" type:"integer"` +} + +// String returns the string representation +func (s Ac3Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Ac3Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Ac3Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Ac3Settings"} + if s.Bitrate != nil && *s.Bitrate < 64000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 64000)) + } + if s.Dialnorm != nil && *s.Dialnorm < 1 { + invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) + } + if s.SampleRate != nil && *s.SampleRate < 48000 { + invalidParams.Add(request.NewErrParamMinValue("SampleRate", 48000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitrate sets the Bitrate field's value. +func (s *Ac3Settings) SetBitrate(v int64) *Ac3Settings { + s.Bitrate = &v + return s +} + +// SetBitstreamMode sets the BitstreamMode field's value. +func (s *Ac3Settings) SetBitstreamMode(v string) *Ac3Settings { + s.BitstreamMode = &v + return s +} + +// SetCodingMode sets the CodingMode field's value. +func (s *Ac3Settings) SetCodingMode(v string) *Ac3Settings { + s.CodingMode = &v + return s +} + +// SetDialnorm sets the Dialnorm field's value. +func (s *Ac3Settings) SetDialnorm(v int64) *Ac3Settings { + s.Dialnorm = &v + return s +} + +// SetDynamicRangeCompressionProfile sets the DynamicRangeCompressionProfile field's value. +func (s *Ac3Settings) SetDynamicRangeCompressionProfile(v string) *Ac3Settings { + s.DynamicRangeCompressionProfile = &v + return s +} + +// SetLfeFilter sets the LfeFilter field's value. +func (s *Ac3Settings) SetLfeFilter(v string) *Ac3Settings { + s.LfeFilter = &v + return s +} + +// SetMetadataControl sets the MetadataControl field's value. +func (s *Ac3Settings) SetMetadataControl(v string) *Ac3Settings { + s.MetadataControl = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *Ac3Settings) SetSampleRate(v int64) *Ac3Settings { + s.SampleRate = &v + return s +} + +// Acceleration settings for job execution. +type AccelerationSettings struct { + _ struct{} `type:"structure"` + + // Acceleration configuration for the job. + // + // Mode is a required field + Mode *string `locationName:"mode" type:"string" required:"true" enum:"AccelerationMode"` +} + +// String returns the string representation +func (s AccelerationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccelerationSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AccelerationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AccelerationSettings"} + if s.Mode == nil { + invalidParams.Add(request.NewErrParamRequired("Mode")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMode sets the Mode field's value. +func (s *AccelerationSettings) SetMode(v string) *AccelerationSettings { + s.Mode = &v + return s +} + +// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to +// the value AIFF. +type AiffSettings struct { + _ struct{} `type:"structure"` + + // Specify Bit depth (BitDepth), in bits per sample, to choose the encoding + // quality for this audio track. + BitDepth *int64 `locationName:"bitDepth" min:"16" type:"integer"` + + // Set Channels to specify the number of channels in this output audio track. + // Choosing Mono in the console will give you 1 output channel; choosing Stereo + // will give you 2. In the API, valid values are 1 and 2. + Channels *int64 `locationName:"channels" min:"1" type:"integer"` + + // Sample rate in hz. + SampleRate *int64 `locationName:"sampleRate" min:"8000" type:"integer"` +} + +// String returns the string representation +func (s AiffSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AiffSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AiffSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AiffSettings"} + if s.BitDepth != nil && *s.BitDepth < 16 { + invalidParams.Add(request.NewErrParamMinValue("BitDepth", 16)) + } + if s.Channels != nil && *s.Channels < 1 { + invalidParams.Add(request.NewErrParamMinValue("Channels", 1)) + } + if s.SampleRate != nil && *s.SampleRate < 8000 { + invalidParams.Add(request.NewErrParamMinValue("SampleRate", 8000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitDepth sets the BitDepth field's value. +func (s *AiffSettings) SetBitDepth(v int64) *AiffSettings { + s.BitDepth = &v + return s +} + +// SetChannels sets the Channels field's value. +func (s *AiffSettings) SetChannels(v int64) *AiffSettings { + s.Channels = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *AiffSettings) SetSampleRate(v int64) *AiffSettings { + s.SampleRate = &v + return s +} + +// Settings for ancillary captions source. +type AncillarySourceSettings struct { + _ struct{} `type:"structure"` + + // Specifies the 608 channel number in the ancillary data track from which to + // extract captions. Unused for passthrough. + SourceAncillaryChannelNumber *int64 `locationName:"sourceAncillaryChannelNumber" min:"1" type:"integer"` +} + +// String returns the string representation +func (s AncillarySourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AncillarySourceSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AncillarySourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AncillarySourceSettings"} + if s.SourceAncillaryChannelNumber != nil && *s.SourceAncillaryChannelNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("SourceAncillaryChannelNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceAncillaryChannelNumber sets the SourceAncillaryChannelNumber field's value. +func (s *AncillarySourceSettings) SetSourceAncillaryChannelNumber(v int64) *AncillarySourceSettings { + s.SourceAncillaryChannelNumber = &v + return s +} + +// Associates the Amazon Resource Name (ARN) of an AWS Certificate Manager (ACM) +// certificate with an AWS Elemental MediaConvert resource. +type AssociateCertificateInput struct { + _ struct{} `type:"structure"` + + // The ARN of the ACM certificate that you want to associate with your MediaConvert + // resource. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateCertificateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateCertificateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateCertificateInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *AssociateCertificateInput) SetArn(v string) *AssociateCertificateInput { + s.Arn = &v + return s +} + +// Successful association of Certificate Manager Amazon Resource Name (ARN) +// with Mediaconvert returns an OK message. +type AssociateCertificateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AssociateCertificateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateCertificateOutput) GoString() string { + return s.String() +} + +// Audio codec settings (CodecSettings) under (AudioDescriptions) contains the +// group of settings related to audio encoding. The settings in this group vary +// depending on the value you choose for Audio codec (Codec). For each codec +// enum you choose, define the corresponding settings object. The following +// lists the codec enum, settings object pairs. * AAC, AacSettings * MP2, Mp2Settings +// * WAV, WavSettings * AIFF, AiffSettings * AC3, Ac3Settings * EAC3, Eac3Settings +type AudioCodecSettings struct { + _ struct{} `type:"structure"` + + // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to + // the value AAC. The service accepts one of two mutually exclusive groups of + // AAC settings--VBR and CBR. To select one of these modes, set the value of + // Bitrate control mode (rateControlMode) to "VBR" or "CBR". In VBR mode, you + // control the audio quality with the setting VBR quality (vbrQuality). In CBR + // mode, you use the setting Bitrate (bitrate). Defaults and valid values depend + // on the rate control mode. + AacSettings *AacSettings `locationName:"aacSettings" type:"structure"` + + // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to + // the value AC3. + Ac3Settings *Ac3Settings `locationName:"ac3Settings" type:"structure"` + + // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to + // the value AIFF. + AiffSettings *AiffSettings `locationName:"aiffSettings" type:"structure"` + + // Type of Audio codec. + Codec *string `locationName:"codec" type:"string" enum:"AudioCodec"` + + // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to + // the value EAC3. + Eac3Settings *Eac3Settings `locationName:"eac3Settings" type:"structure"` + + // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to + // the value MP2. + Mp2Settings *Mp2Settings `locationName:"mp2Settings" type:"structure"` + + // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to + // the value WAV. + WavSettings *WavSettings `locationName:"wavSettings" type:"structure"` +} + +// String returns the string representation +func (s AudioCodecSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioCodecSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioCodecSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioCodecSettings"} + if s.AacSettings != nil { + if err := s.AacSettings.Validate(); err != nil { + invalidParams.AddNested("AacSettings", err.(request.ErrInvalidParams)) + } + } + if s.Ac3Settings != nil { + if err := s.Ac3Settings.Validate(); err != nil { + invalidParams.AddNested("Ac3Settings", err.(request.ErrInvalidParams)) + } + } + if s.AiffSettings != nil { + if err := s.AiffSettings.Validate(); err != nil { + invalidParams.AddNested("AiffSettings", err.(request.ErrInvalidParams)) + } + } + if s.Eac3Settings != nil { + if err := s.Eac3Settings.Validate(); err != nil { + invalidParams.AddNested("Eac3Settings", err.(request.ErrInvalidParams)) + } + } + if s.Mp2Settings != nil { + if err := s.Mp2Settings.Validate(); err != nil { + invalidParams.AddNested("Mp2Settings", err.(request.ErrInvalidParams)) + } + } + if s.WavSettings != nil { + if err := s.WavSettings.Validate(); err != nil { + invalidParams.AddNested("WavSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAacSettings sets the AacSettings field's value. +func (s *AudioCodecSettings) SetAacSettings(v *AacSettings) *AudioCodecSettings { + s.AacSettings = v + return s +} + +// SetAc3Settings sets the Ac3Settings field's value. +func (s *AudioCodecSettings) SetAc3Settings(v *Ac3Settings) *AudioCodecSettings { + s.Ac3Settings = v + return s +} + +// SetAiffSettings sets the AiffSettings field's value. +func (s *AudioCodecSettings) SetAiffSettings(v *AiffSettings) *AudioCodecSettings { + s.AiffSettings = v + return s +} + +// SetCodec sets the Codec field's value. +func (s *AudioCodecSettings) SetCodec(v string) *AudioCodecSettings { + s.Codec = &v + return s +} + +// SetEac3Settings sets the Eac3Settings field's value. +func (s *AudioCodecSettings) SetEac3Settings(v *Eac3Settings) *AudioCodecSettings { + s.Eac3Settings = v + return s +} + +// SetMp2Settings sets the Mp2Settings field's value. +func (s *AudioCodecSettings) SetMp2Settings(v *Mp2Settings) *AudioCodecSettings { + s.Mp2Settings = v + return s +} + +// SetWavSettings sets the WavSettings field's value. +func (s *AudioCodecSettings) SetWavSettings(v *WavSettings) *AudioCodecSettings { + s.WavSettings = v + return s +} + +// Description of audio output +type AudioDescription struct { + _ struct{} `type:"structure"` + + // Advanced audio normalization settings. + AudioNormalizationSettings *AudioNormalizationSettings `locationName:"audioNormalizationSettings" type:"structure"` + + // Specifies which audio data to use from each input. In the simplest case, + // specify an "Audio Selector":#inputs-audio_selector by name based on its order + // within each input. For example if you specify "Audio Selector 3", then the + // third audio selector will be used from each input. If an input does not have + // an "Audio Selector 3", then the audio selector marked as "default" in that + // input will be used. If there is no audio selector marked as "default", silence + // will be inserted for the duration of that input. Alternatively, an "Audio + // Selector Group":#inputs-audio_selector_group name may be specified, with + // similar default/silence behavior. If no audio_source_name is specified, then + // "Audio Selector 1" will be chosen automatically. + AudioSourceName *string `locationName:"audioSourceName" type:"string"` + + // Applies only if Follow Input Audio Type is unchecked (false). A number between + // 0 and 255. The following are defined in ISO-IEC 13818-1: 0 = Undefined, 1 + // = Clean Effects, 2 = Hearing Impaired, 3 = Visually Impaired Commentary, + // 4-255 = Reserved. + AudioType *int64 `locationName:"audioType" type:"integer"` + + // When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then + // that value is passed through to the output. If the input contains no ISO + // 639 audio_type, the value in Audio Type is included in the output. Otherwise + // the value in Audio Type is included in the output. Note that this field and + // audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD. + AudioTypeControl *string `locationName:"audioTypeControl" type:"string" enum:"AudioTypeControl"` + + // Audio codec settings (CodecSettings) under (AudioDescriptions) contains the + // group of settings related to audio encoding. The settings in this group vary + // depending on the value you choose for Audio codec (Codec). For each codec + // enum you choose, define the corresponding settings object. The following + // lists the codec enum, settings object pairs. * AAC, AacSettings * MP2, Mp2Settings + // * WAV, WavSettings * AIFF, AiffSettings * AC3, Ac3Settings * EAC3, Eac3Settings + CodecSettings *AudioCodecSettings `locationName:"codecSettings" type:"structure"` + + // Specify the language for this audio output track, using the ISO 639-2 or + // ISO 639-3 three-letter language code. The language specified will be used + // when 'Follow Input Language Code' is not selected or when 'Follow Input Language + // Code' is selected but there is no ISO 639 language code specified by the + // input. + CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"` + + // Indicates the language of the audio output track. The ISO 639 language specified + // in the 'Language Code' drop down will be used when 'Follow Input Language + // Code' is not selected or when 'Follow Input Language Code' is selected but + // there is no ISO 639 language code specified by the input. + LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"` + + // Choosing FOLLOW_INPUT will cause the ISO 639 language code of the output + // to follow the ISO 639 language code of the input. The language specified + // for languageCode' will be used when USE_CONFIGURED is selected or when FOLLOW_INPUT + // is selected but there is no ISO 639 language code specified by the input. + LanguageCodeControl *string `locationName:"languageCodeControl" type:"string" enum:"AudioLanguageCodeControl"` + + // Advanced audio remixing settings. + RemixSettings *RemixSettings `locationName:"remixSettings" type:"structure"` + + // Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by + // the player (eg. English, or Director Commentary). Alphanumeric characters, + // spaces, and underscore are legal. + StreamName *string `locationName:"streamName" type:"string"` +} + +// String returns the string representation +func (s AudioDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioDescription) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioDescription"} + if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3)) + } + if s.AudioNormalizationSettings != nil { + if err := s.AudioNormalizationSettings.Validate(); err != nil { + invalidParams.AddNested("AudioNormalizationSettings", err.(request.ErrInvalidParams)) + } + } + if s.CodecSettings != nil { + if err := s.CodecSettings.Validate(); err != nil { + invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams)) + } + } + if s.RemixSettings != nil { + if err := s.RemixSettings.Validate(); err != nil { + invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioNormalizationSettings sets the AudioNormalizationSettings field's value. +func (s *AudioDescription) SetAudioNormalizationSettings(v *AudioNormalizationSettings) *AudioDescription { + s.AudioNormalizationSettings = v + return s +} + +// SetAudioSourceName sets the AudioSourceName field's value. +func (s *AudioDescription) SetAudioSourceName(v string) *AudioDescription { + s.AudioSourceName = &v + return s +} + +// SetAudioType sets the AudioType field's value. +func (s *AudioDescription) SetAudioType(v int64) *AudioDescription { + s.AudioType = &v + return s +} + +// SetAudioTypeControl sets the AudioTypeControl field's value. +func (s *AudioDescription) SetAudioTypeControl(v string) *AudioDescription { + s.AudioTypeControl = &v + return s +} + +// SetCodecSettings sets the CodecSettings field's value. +func (s *AudioDescription) SetCodecSettings(v *AudioCodecSettings) *AudioDescription { + s.CodecSettings = v + return s +} + +// SetCustomLanguageCode sets the CustomLanguageCode field's value. +func (s *AudioDescription) SetCustomLanguageCode(v string) *AudioDescription { + s.CustomLanguageCode = &v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *AudioDescription) SetLanguageCode(v string) *AudioDescription { + s.LanguageCode = &v + return s +} + +// SetLanguageCodeControl sets the LanguageCodeControl field's value. +func (s *AudioDescription) SetLanguageCodeControl(v string) *AudioDescription { + s.LanguageCodeControl = &v + return s +} + +// SetRemixSettings sets the RemixSettings field's value. +func (s *AudioDescription) SetRemixSettings(v *RemixSettings) *AudioDescription { + s.RemixSettings = v + return s +} + +// SetStreamName sets the StreamName field's value. +func (s *AudioDescription) SetStreamName(v string) *AudioDescription { + s.StreamName = &v + return s +} + +// Advanced audio normalization settings. +type AudioNormalizationSettings struct { + _ struct{} `type:"structure"` + + // Audio normalization algorithm to use. 1770-1 conforms to the CALM Act specification, + // 1770-2 conforms to the EBU R-128 specification. + Algorithm *string `locationName:"algorithm" type:"string" enum:"AudioNormalizationAlgorithm"` + + // When enabled the output audio is corrected using the chosen algorithm. If + // disabled, the audio will be measured but not adjusted. + AlgorithmControl *string `locationName:"algorithmControl" type:"string" enum:"AudioNormalizationAlgorithmControl"` + + // Content measuring above this level will be corrected to the target level. + // Content measuring below this level will not be corrected. Gating only applies + // when not using real_time_correction. + CorrectionGateLevel *int64 `locationName:"correctionGateLevel" type:"integer"` + + // If set to LOG, log each output's audio track loudness to a CSV file. + LoudnessLogging *string `locationName:"loudnessLogging" type:"string" enum:"AudioNormalizationLoudnessLogging"` + + // If set to TRUE_PEAK, calculate and log the TruePeak for each output's audio + // track loudness. + PeakCalculation *string `locationName:"peakCalculation" type:"string" enum:"AudioNormalizationPeakCalculation"` + + // Target LKFS(loudness) to adjust volume to. If no value is entered, a default + // value will be used according to the chosen algorithm. The CALM Act (1770-1) + // recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends + // a target of -23 LKFS. + TargetLkfs *float64 `locationName:"targetLkfs" type:"double"` +} + +// String returns the string representation +func (s AudioNormalizationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioNormalizationSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioNormalizationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioNormalizationSettings"} + if s.CorrectionGateLevel != nil && *s.CorrectionGateLevel < -70 { + invalidParams.Add(request.NewErrParamMinValue("CorrectionGateLevel", -70)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlgorithm sets the Algorithm field's value. +func (s *AudioNormalizationSettings) SetAlgorithm(v string) *AudioNormalizationSettings { + s.Algorithm = &v + return s +} + +// SetAlgorithmControl sets the AlgorithmControl field's value. +func (s *AudioNormalizationSettings) SetAlgorithmControl(v string) *AudioNormalizationSettings { + s.AlgorithmControl = &v + return s +} + +// SetCorrectionGateLevel sets the CorrectionGateLevel field's value. +func (s *AudioNormalizationSettings) SetCorrectionGateLevel(v int64) *AudioNormalizationSettings { + s.CorrectionGateLevel = &v + return s +} + +// SetLoudnessLogging sets the LoudnessLogging field's value. +func (s *AudioNormalizationSettings) SetLoudnessLogging(v string) *AudioNormalizationSettings { + s.LoudnessLogging = &v + return s +} + +// SetPeakCalculation sets the PeakCalculation field's value. +func (s *AudioNormalizationSettings) SetPeakCalculation(v string) *AudioNormalizationSettings { + s.PeakCalculation = &v + return s +} + +// SetTargetLkfs sets the TargetLkfs field's value. +func (s *AudioNormalizationSettings) SetTargetLkfs(v float64) *AudioNormalizationSettings { + s.TargetLkfs = &v + return s +} + +// Selector for Audio +type AudioSelector struct { + _ struct{} `type:"structure"` + + // Selects a specific language code from within an audio source, using the ISO + // 639-2 or ISO 639-3 three-letter language code + CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"` + + // Enable this setting on one audio selector to set it as the default for the + // job. The service uses this default for outputs where it can't find the specified + // input audio. If you don't set a default, those outputs have no audio. + DefaultSelection *string `locationName:"defaultSelection" type:"string" enum:"AudioDefaultSelection"` + + // Specifies audio data from an external file source. + ExternalAudioFileInput *string `locationName:"externalAudioFileInput" type:"string"` + + // Selects a specific language code from within an audio source. + LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"` + + // Specifies a time delta in milliseconds to offset the audio from the input + // video. + Offset *int64 `locationName:"offset" type:"integer"` + + // Selects a specific PID from within an audio source (e.g. 257 selects PID + // 0x101). + Pids []*int64 `locationName:"pids" type:"list"` + + // Use this setting for input streams that contain Dolby E, to have the service + // extract specific program data from the track. To select multiple programs, + // create multiple selectors with the same Track and different Program numbers. + // In the console, this setting is visible when you set Selector type to Track. + // Choose the program number from the dropdown list. If you are sending a JSON + // file, provide the program ID, which is part of the audio metadata. If your + // input file has incorrect metadata, you can choose All channels instead of + // a program number to have the service ignore the program IDs and include all + // the programs in the track. + ProgramSelection *int64 `locationName:"programSelection" type:"integer"` + + // Use these settings to reorder the audio channels of one input to match those + // of another input. This allows you to combine the two files into a single + // output, one after the other. + RemixSettings *RemixSettings `locationName:"remixSettings" type:"structure"` + + // Specifies the type of the audio selector. + SelectorType *string `locationName:"selectorType" type:"string" enum:"AudioSelectorType"` + + // Identify a track from the input audio to include in this selector by entering + // the track index number. To include several tracks in a single audio selector, + // specify multiple tracks as follows. Using the console, enter a comma-separated + // list. For examle, type "1,2,3" to include tracks 1 through 3. Specifying + // directly in your JSON job file, provide the track numbers in an array. For + // example, "tracks": [1,2,3]. + Tracks []*int64 `locationName:"tracks" type:"list"` +} + +// String returns the string representation +func (s AudioSelector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioSelector) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioSelector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioSelector"} + if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3)) + } + if s.Offset != nil && *s.Offset < -2.147483648e+09 { + invalidParams.Add(request.NewErrParamMinValue("Offset", -2.147483648e+09)) + } + if s.RemixSettings != nil { + if err := s.RemixSettings.Validate(); err != nil { + invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomLanguageCode sets the CustomLanguageCode field's value. +func (s *AudioSelector) SetCustomLanguageCode(v string) *AudioSelector { + s.CustomLanguageCode = &v + return s +} + +// SetDefaultSelection sets the DefaultSelection field's value. +func (s *AudioSelector) SetDefaultSelection(v string) *AudioSelector { + s.DefaultSelection = &v + return s +} + +// SetExternalAudioFileInput sets the ExternalAudioFileInput field's value. +func (s *AudioSelector) SetExternalAudioFileInput(v string) *AudioSelector { + s.ExternalAudioFileInput = &v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *AudioSelector) SetLanguageCode(v string) *AudioSelector { + s.LanguageCode = &v + return s +} + +// SetOffset sets the Offset field's value. +func (s *AudioSelector) SetOffset(v int64) *AudioSelector { + s.Offset = &v + return s +} + +// SetPids sets the Pids field's value. +func (s *AudioSelector) SetPids(v []*int64) *AudioSelector { + s.Pids = v + return s +} + +// SetProgramSelection sets the ProgramSelection field's value. +func (s *AudioSelector) SetProgramSelection(v int64) *AudioSelector { + s.ProgramSelection = &v + return s +} + +// SetRemixSettings sets the RemixSettings field's value. +func (s *AudioSelector) SetRemixSettings(v *RemixSettings) *AudioSelector { + s.RemixSettings = v + return s +} + +// SetSelectorType sets the SelectorType field's value. +func (s *AudioSelector) SetSelectorType(v string) *AudioSelector { + s.SelectorType = &v + return s +} + +// SetTracks sets the Tracks field's value. +func (s *AudioSelector) SetTracks(v []*int64) *AudioSelector { + s.Tracks = v + return s +} + +// Group of Audio Selectors +type AudioSelectorGroup struct { + _ struct{} `type:"structure"` + + // Name of an Audio Selector within the same input to include in the group. + // Audio selector names are standardized, based on their order within the input + // (e.g., "Audio Selector 1"). The audio selector name parameter can be repeated + // to add any number of audio selectors to the group. + AudioSelectorNames []*string `locationName:"audioSelectorNames" type:"list"` +} + +// String returns the string representation +func (s AudioSelectorGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioSelectorGroup) GoString() string { + return s.String() +} + +// SetAudioSelectorNames sets the AudioSelectorNames field's value. +func (s *AudioSelectorGroup) SetAudioSelectorNames(v []*string) *AudioSelectorGroup { + s.AudioSelectorNames = v + return s +} + +// Settings for Avail Blanking +type AvailBlanking struct { + _ struct{} `type:"structure"` + + // Blanking image to be used. Leave empty for solid black. Only bmp and png + // images are supported. + AvailBlankingImage *string `locationName:"availBlankingImage" min:"14" type:"string"` +} + +// String returns the string representation +func (s AvailBlanking) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AvailBlanking) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailBlanking) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailBlanking"} + if s.AvailBlankingImage != nil && len(*s.AvailBlankingImage) < 14 { + invalidParams.Add(request.NewErrParamMinLen("AvailBlankingImage", 14)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailBlankingImage sets the AvailBlankingImage field's value. +func (s *AvailBlanking) SetAvailBlankingImage(v string) *AvailBlanking { + s.AvailBlankingImage = &v + return s +} + +// Burn-In Destination Settings. +type BurninDestinationSettings struct { + _ struct{} `type:"structure"` + + // If no explicit x_position or y_position is provided, setting alignment to + // centered will place the captions at the bottom center of the output. Similarly, + // setting a left alignment will align captions to the bottom left of the output. + // If x and y positions are given in conjunction with the alignment parameter, + // the font will be justified (either left or centered) relative to those coordinates. + // This option is not valid for source captions that are STL, 608/embedded or + // teletext. These source settings are already pre-defined by the caption stream. + // All burn-in and DVB-Sub font settings must match. + Alignment *string `locationName:"alignment" type:"string" enum:"BurninSubtitleAlignment"` + + // Specifies the color of the rectangle behind the captions.All burn-in and + // DVB-Sub font settings must match. + BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"BurninSubtitleBackgroundColor"` + + // Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. + // Leaving this parameter blank is equivalent to setting it to 0 (transparent). + // All burn-in and DVB-Sub font settings must match. + BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"` + + // Specifies the color of the burned-in captions. This option is not valid for + // source captions that are STL, 608/embedded or teletext. These source settings + // are already pre-defined by the caption stream. All burn-in and DVB-Sub font + // settings must match. + FontColor *string `locationName:"fontColor" type:"string" enum:"BurninSubtitleFontColor"` + + // Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.All + // burn-in and DVB-Sub font settings must match. + FontOpacity *int64 `locationName:"fontOpacity" type:"integer"` + + // Font resolution in DPI (dots per inch); default is 96 dpi.All burn-in and + // DVB-Sub font settings must match. + FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` + + // Provide the font script, using an ISO 15924 script code, if the LanguageCode + // is not sufficient for determining the script type. Where LanguageCode or + // CustomLanguageCode is sufficient, use "AUTOMATIC" or leave unset. This is + // used to help determine the appropriate font for rendering burn-in captions. + FontScript *string `locationName:"fontScript" type:"string" enum:"FontScript"` + + // A positive integer indicates the exact font size in points. Set to 0 for + // automatic font size selection. All burn-in and DVB-Sub font settings must + // match. + FontSize *int64 `locationName:"fontSize" type:"integer"` + + // Specifies font outline color. This option is not valid for source captions + // that are either 608/embedded or teletext. These source settings are already + // pre-defined by the caption stream. All burn-in and DVB-Sub font settings + // must match. + OutlineColor *string `locationName:"outlineColor" type:"string" enum:"BurninSubtitleOutlineColor"` + + // Specifies font outline size in pixels. This option is not valid for source + // captions that are either 608/embedded or teletext. These source settings + // are already pre-defined by the caption stream. All burn-in and DVB-Sub font + // settings must match. + OutlineSize *int64 `locationName:"outlineSize" type:"integer"` + + // Specifies the color of the shadow cast by the captions.All burn-in and DVB-Sub + // font settings must match. + ShadowColor *string `locationName:"shadowColor" type:"string" enum:"BurninSubtitleShadowColor"` + + // Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving + // this parameter blank is equivalent to setting it to 0 (transparent). All + // burn-in and DVB-Sub font settings must match. + ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"` + + // Specifies the horizontal offset of the shadow relative to the captions in + // pixels. A value of -2 would result in a shadow offset 2 pixels to the left. + // All burn-in and DVB-Sub font settings must match. + ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"` + + // Specifies the vertical offset of the shadow relative to the captions in pixels. + // A value of -2 would result in a shadow offset 2 pixels above the text. All + // burn-in and DVB-Sub font settings must match. + ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` + + // Only applies to jobs with input captions in Teletext or STL formats. Specify + // whether the spacing between letters in your captions is set by the captions + // grid or varies depending on letter width. Choose fixed grid to conform to + // the spacing specified in the captions file more accurately. Choose proportional + // to make the text easier to read if the captions are closed caption. + TeletextSpacing *string `locationName:"teletextSpacing" type:"string" enum:"BurninSubtitleTeletextSpacing"` + + // Specifies the horizontal position of the caption relative to the left side + // of the output in pixels. A value of 10 would result in the captions starting + // 10 pixels from the left of the output. If no explicit x_position is provided, + // the horizontal caption position will be determined by the alignment parameter. + // This option is not valid for source captions that are STL, 608/embedded or + // teletext. These source settings are already pre-defined by the caption stream. + // All burn-in and DVB-Sub font settings must match. + XPosition *int64 `locationName:"xPosition" type:"integer"` + + // Specifies the vertical position of the caption relative to the top of the + // output in pixels. A value of 10 would result in the captions starting 10 + // pixels from the top of the output. If no explicit y_position is provided, + // the caption will be positioned towards the bottom of the output. This option + // is not valid for source captions that are STL, 608/embedded or teletext. + // These source settings are already pre-defined by the caption stream. All + // burn-in and DVB-Sub font settings must match. + YPosition *int64 `locationName:"yPosition" type:"integer"` +} + +// String returns the string representation +func (s BurninDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BurninDestinationSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BurninDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BurninDestinationSettings"} + if s.FontResolution != nil && *s.FontResolution < 96 { + invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) + } + if s.ShadowXOffset != nil && *s.ShadowXOffset < -2.147483648e+09 { + invalidParams.Add(request.NewErrParamMinValue("ShadowXOffset", -2.147483648e+09)) + } + if s.ShadowYOffset != nil && *s.ShadowYOffset < -2.147483648e+09 { + invalidParams.Add(request.NewErrParamMinValue("ShadowYOffset", -2.147483648e+09)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlignment sets the Alignment field's value. +func (s *BurninDestinationSettings) SetAlignment(v string) *BurninDestinationSettings { + s.Alignment = &v + return s +} + +// SetBackgroundColor sets the BackgroundColor field's value. +func (s *BurninDestinationSettings) SetBackgroundColor(v string) *BurninDestinationSettings { + s.BackgroundColor = &v + return s +} + +// SetBackgroundOpacity sets the BackgroundOpacity field's value. +func (s *BurninDestinationSettings) SetBackgroundOpacity(v int64) *BurninDestinationSettings { + s.BackgroundOpacity = &v + return s +} + +// SetFontColor sets the FontColor field's value. +func (s *BurninDestinationSettings) SetFontColor(v string) *BurninDestinationSettings { + s.FontColor = &v + return s +} + +// SetFontOpacity sets the FontOpacity field's value. +func (s *BurninDestinationSettings) SetFontOpacity(v int64) *BurninDestinationSettings { + s.FontOpacity = &v + return s +} + +// SetFontResolution sets the FontResolution field's value. +func (s *BurninDestinationSettings) SetFontResolution(v int64) *BurninDestinationSettings { + s.FontResolution = &v + return s +} + +// SetFontScript sets the FontScript field's value. +func (s *BurninDestinationSettings) SetFontScript(v string) *BurninDestinationSettings { + s.FontScript = &v + return s +} + +// SetFontSize sets the FontSize field's value. +func (s *BurninDestinationSettings) SetFontSize(v int64) *BurninDestinationSettings { + s.FontSize = &v + return s +} + +// SetOutlineColor sets the OutlineColor field's value. +func (s *BurninDestinationSettings) SetOutlineColor(v string) *BurninDestinationSettings { + s.OutlineColor = &v + return s +} + +// SetOutlineSize sets the OutlineSize field's value. +func (s *BurninDestinationSettings) SetOutlineSize(v int64) *BurninDestinationSettings { + s.OutlineSize = &v + return s +} + +// SetShadowColor sets the ShadowColor field's value. +func (s *BurninDestinationSettings) SetShadowColor(v string) *BurninDestinationSettings { + s.ShadowColor = &v + return s +} + +// SetShadowOpacity sets the ShadowOpacity field's value. +func (s *BurninDestinationSettings) SetShadowOpacity(v int64) *BurninDestinationSettings { + s.ShadowOpacity = &v + return s +} + +// SetShadowXOffset sets the ShadowXOffset field's value. +func (s *BurninDestinationSettings) SetShadowXOffset(v int64) *BurninDestinationSettings { + s.ShadowXOffset = &v + return s +} + +// SetShadowYOffset sets the ShadowYOffset field's value. +func (s *BurninDestinationSettings) SetShadowYOffset(v int64) *BurninDestinationSettings { + s.ShadowYOffset = &v + return s +} + +// SetTeletextSpacing sets the TeletextSpacing field's value. +func (s *BurninDestinationSettings) SetTeletextSpacing(v string) *BurninDestinationSettings { + s.TeletextSpacing = &v + return s +} + +// SetXPosition sets the XPosition field's value. +func (s *BurninDestinationSettings) SetXPosition(v int64) *BurninDestinationSettings { + s.XPosition = &v + return s +} + +// SetYPosition sets the YPosition field's value. +func (s *BurninDestinationSettings) SetYPosition(v int64) *BurninDestinationSettings { + s.YPosition = &v + return s +} + +// Cancel a job by sending a request with the job ID +type CancelJobInput struct { + _ struct{} `type:"structure"` + + // The Job ID of the job to be cancelled. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s CancelJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelJobInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *CancelJobInput) SetId(v string) *CancelJobInput { + s.Id = &v + return s +} + +// A cancel job request will receive a response with an empty body. +type CancelJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CancelJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelJobOutput) GoString() string { + return s.String() +} + +// Description of Caption output +type CaptionDescription struct { + _ struct{} `type:"structure"` + + // Specifies which "Caption Selector":#inputs-caption_selector to use from each + // input when generating captions. The name should be of the format "Caption + // Selector ", which denotes that the Nth Caption Selector will be used from + // each input. + CaptionSelectorName *string `locationName:"captionSelectorName" min:"1" type:"string"` + + // Indicates the language of the caption output track, using the ISO 639-2 or + // ISO 639-3 three-letter language code. For most captions output formats, the + // encoder puts this language information in the output captions metadata. If + // your output captions format is DVB-Sub or Burn in, the encoder uses this + // language information to choose the font language for rendering the captions + // text. + CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"` + + // Specific settings required by destination type. Note that burnin_destination_settings + // are not available if the source of the caption data is Embedded or Teletext. + DestinationSettings *CaptionDestinationSettings `locationName:"destinationSettings" type:"structure"` + + // Specify the language of this captions output track. For most captions output + // formats, the encoder puts this language information in the output captions + // metadata. If your output captions format is DVB-Sub or Burn in, the encoder + // uses this language information to choose the font language for rendering + // the captions text. + LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"` + + // Human readable information to indicate captions available for players (eg. + // English, or Spanish). Alphanumeric characters, spaces, and underscore are + // legal. + LanguageDescription *string `locationName:"languageDescription" type:"string"` +} + +// String returns the string representation +func (s CaptionDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CaptionDescription) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionDescription"} + if s.CaptionSelectorName != nil && len(*s.CaptionSelectorName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CaptionSelectorName", 1)) + } + if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3)) + } + if s.DestinationSettings != nil { + if err := s.DestinationSettings.Validate(); err != nil { + invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCaptionSelectorName sets the CaptionSelectorName field's value. +func (s *CaptionDescription) SetCaptionSelectorName(v string) *CaptionDescription { + s.CaptionSelectorName = &v + return s +} + +// SetCustomLanguageCode sets the CustomLanguageCode field's value. +func (s *CaptionDescription) SetCustomLanguageCode(v string) *CaptionDescription { + s.CustomLanguageCode = &v + return s +} + +// SetDestinationSettings sets the DestinationSettings field's value. +func (s *CaptionDescription) SetDestinationSettings(v *CaptionDestinationSettings) *CaptionDescription { + s.DestinationSettings = v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *CaptionDescription) SetLanguageCode(v string) *CaptionDescription { + s.LanguageCode = &v + return s +} + +// SetLanguageDescription sets the LanguageDescription field's value. +func (s *CaptionDescription) SetLanguageDescription(v string) *CaptionDescription { + s.LanguageDescription = &v + return s +} + +// Caption Description for preset +type CaptionDescriptionPreset struct { + _ struct{} `type:"structure"` + + // Indicates the language of the caption output track, using the ISO 639-2 or + // ISO 639-3 three-letter language code. For most captions output formats, the + // encoder puts this language information in the output captions metadata. If + // your output captions format is DVB-Sub or Burn in, the encoder uses this + // language information to choose the font language for rendering the captions + // text. + CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"` + + // Specific settings required by destination type. Note that burnin_destination_settings + // are not available if the source of the caption data is Embedded or Teletext. + DestinationSettings *CaptionDestinationSettings `locationName:"destinationSettings" type:"structure"` + + // Specify the language of this captions output track. For most captions output + // formats, the encoder puts this language information in the output captions + // metadata. If your output captions format is DVB-Sub or Burn in, the encoder + // uses this language information to choose the font language for rendering + // the captions text. + LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"` + + // Human readable information to indicate captions available for players (eg. + // English, or Spanish). Alphanumeric characters, spaces, and underscore are + // legal. + LanguageDescription *string `locationName:"languageDescription" type:"string"` +} + +// String returns the string representation +func (s CaptionDescriptionPreset) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CaptionDescriptionPreset) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionDescriptionPreset) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionDescriptionPreset"} + if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3)) + } + if s.DestinationSettings != nil { + if err := s.DestinationSettings.Validate(); err != nil { + invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomLanguageCode sets the CustomLanguageCode field's value. +func (s *CaptionDescriptionPreset) SetCustomLanguageCode(v string) *CaptionDescriptionPreset { + s.CustomLanguageCode = &v + return s +} + +// SetDestinationSettings sets the DestinationSettings field's value. +func (s *CaptionDescriptionPreset) SetDestinationSettings(v *CaptionDestinationSettings) *CaptionDescriptionPreset { + s.DestinationSettings = v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *CaptionDescriptionPreset) SetLanguageCode(v string) *CaptionDescriptionPreset { + s.LanguageCode = &v + return s +} + +// SetLanguageDescription sets the LanguageDescription field's value. +func (s *CaptionDescriptionPreset) SetLanguageDescription(v string) *CaptionDescriptionPreset { + s.LanguageDescription = &v + return s +} + +// Specific settings required by destination type. Note that burnin_destination_settings +// are not available if the source of the caption data is Embedded or Teletext. +type CaptionDestinationSettings struct { + _ struct{} `type:"structure"` + + // Burn-In Destination Settings. + BurninDestinationSettings *BurninDestinationSettings `locationName:"burninDestinationSettings" type:"structure"` + + // Specify the format for this set of captions on this output. The default format + // is embedded without SCTE-20. Other options are embedded with SCTE-20, burn-in, + // DVB-sub, SCC, SRT, teletext, TTML, and web-VTT. If you are using SCTE-20, + // choose SCTE-20 plus embedded (SCTE20_PLUS_EMBEDDED) to create an output that + // complies with the SCTE-43 spec. To create a non-compliant output where the + // embedded captions come first, choose Embedded plus SCTE-20 (EMBEDDED_PLUS_SCTE20). + DestinationType *string `locationName:"destinationType" type:"string" enum:"CaptionDestinationType"` + + // DVB-Sub Destination Settings + DvbSubDestinationSettings *DvbSubDestinationSettings `locationName:"dvbSubDestinationSettings" type:"structure"` + + // Settings specific to embedded/ancillary caption outputs, including 608/708 + // Channel destination number. + EmbeddedDestinationSettings *EmbeddedDestinationSettings `locationName:"embeddedDestinationSettings" type:"structure"` + + // Settings for SCC caption output. + SccDestinationSettings *SccDestinationSettings `locationName:"sccDestinationSettings" type:"structure"` + + // Settings for Teletext caption output + TeletextDestinationSettings *TeletextDestinationSettings `locationName:"teletextDestinationSettings" type:"structure"` + + // Settings specific to TTML caption outputs, including Pass style information + // (TtmlStylePassthrough). + TtmlDestinationSettings *TtmlDestinationSettings `locationName:"ttmlDestinationSettings" type:"structure"` +} + +// String returns the string representation +func (s CaptionDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CaptionDestinationSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionDestinationSettings"} + if s.BurninDestinationSettings != nil { + if err := s.BurninDestinationSettings.Validate(); err != nil { + invalidParams.AddNested("BurninDestinationSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbSubDestinationSettings != nil { + if err := s.DvbSubDestinationSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSubDestinationSettings", err.(request.ErrInvalidParams)) + } + } + if s.EmbeddedDestinationSettings != nil { + if err := s.EmbeddedDestinationSettings.Validate(); err != nil { + invalidParams.AddNested("EmbeddedDestinationSettings", err.(request.ErrInvalidParams)) + } + } + if s.TeletextDestinationSettings != nil { + if err := s.TeletextDestinationSettings.Validate(); err != nil { + invalidParams.AddNested("TeletextDestinationSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBurninDestinationSettings sets the BurninDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetBurninDestinationSettings(v *BurninDestinationSettings) *CaptionDestinationSettings { + s.BurninDestinationSettings = v + return s +} + +// SetDestinationType sets the DestinationType field's value. +func (s *CaptionDestinationSettings) SetDestinationType(v string) *CaptionDestinationSettings { + s.DestinationType = &v + return s +} + +// SetDvbSubDestinationSettings sets the DvbSubDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetDvbSubDestinationSettings(v *DvbSubDestinationSettings) *CaptionDestinationSettings { + s.DvbSubDestinationSettings = v + return s +} + +// SetEmbeddedDestinationSettings sets the EmbeddedDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetEmbeddedDestinationSettings(v *EmbeddedDestinationSettings) *CaptionDestinationSettings { + s.EmbeddedDestinationSettings = v + return s +} + +// SetSccDestinationSettings sets the SccDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetSccDestinationSettings(v *SccDestinationSettings) *CaptionDestinationSettings { + s.SccDestinationSettings = v + return s +} + +// SetTeletextDestinationSettings sets the TeletextDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetTeletextDestinationSettings(v *TeletextDestinationSettings) *CaptionDestinationSettings { + s.TeletextDestinationSettings = v + return s +} + +// SetTtmlDestinationSettings sets the TtmlDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetTtmlDestinationSettings(v *TtmlDestinationSettings) *CaptionDestinationSettings { + s.TtmlDestinationSettings = v + return s +} + +// Set up captions in your outputs by first selecting them from your input here. +type CaptionSelector struct { + _ struct{} `type:"structure"` + + // The specific language to extract from source, using the ISO 639-2 or ISO + // 639-3 three-letter language code. If input is SCTE-27, complete this field + // and/or PID to select the caption language to extract. If input is DVB-Sub + // and output is Burn-in or SMPTE-TT, complete this field and/or PID to select + // the caption language to extract. If input is DVB-Sub that is being passed + // through, omit this field (and PID field); there is no way to extract a specific + // language with pass-through captions. + CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"` + + // The specific language to extract from source. If input is SCTE-27, complete + // this field and/or PID to select the caption language to extract. If input + // is DVB-Sub and output is Burn-in or SMPTE-TT, complete this field and/or + // PID to select the caption language to extract. If input is DVB-Sub that is + // being passed through, omit this field (and PID field); there is no way to + // extract a specific language with pass-through captions. + LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"` + + // Source settings (SourceSettings) contains the group of settings for captions + // in the input. + SourceSettings *CaptionSourceSettings `locationName:"sourceSettings" type:"structure"` +} + +// String returns the string representation +func (s CaptionSelector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CaptionSelector) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionSelector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionSelector"} + if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3)) + } + if s.SourceSettings != nil { + if err := s.SourceSettings.Validate(); err != nil { + invalidParams.AddNested("SourceSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomLanguageCode sets the CustomLanguageCode field's value. +func (s *CaptionSelector) SetCustomLanguageCode(v string) *CaptionSelector { + s.CustomLanguageCode = &v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *CaptionSelector) SetLanguageCode(v string) *CaptionSelector { + s.LanguageCode = &v + return s +} + +// SetSourceSettings sets the SourceSettings field's value. +func (s *CaptionSelector) SetSourceSettings(v *CaptionSourceSettings) *CaptionSelector { + s.SourceSettings = v + return s +} + +// Source settings (SourceSettings) contains the group of settings for captions +// in the input. +type CaptionSourceSettings struct { + _ struct{} `type:"structure"` + + // Settings for ancillary captions source. + AncillarySourceSettings *AncillarySourceSettings `locationName:"ancillarySourceSettings" type:"structure"` + + // DVB Sub Source Settings + DvbSubSourceSettings *DvbSubSourceSettings `locationName:"dvbSubSourceSettings" type:"structure"` + + // Settings for embedded captions Source + EmbeddedSourceSettings *EmbeddedSourceSettings `locationName:"embeddedSourceSettings" type:"structure"` + + // Settings for File-based Captions in Source + FileSourceSettings *FileSourceSettings `locationName:"fileSourceSettings" type:"structure"` + + // Use Source (SourceType) to identify the format of your input captions. The + // service cannot auto-detect caption format. + SourceType *string `locationName:"sourceType" type:"string" enum:"CaptionSourceType"` + + // Settings specific to Teletext caption sources, including Page number. + TeletextSourceSettings *TeletextSourceSettings `locationName:"teletextSourceSettings" type:"structure"` + + // Settings specific to caption sources that are specfied by track number. Sources + // include IMSC in IMF. + TrackSourceSettings *TrackSourceSettings `locationName:"trackSourceSettings" type:"structure"` +} + +// String returns the string representation +func (s CaptionSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CaptionSourceSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionSourceSettings"} + if s.AncillarySourceSettings != nil { + if err := s.AncillarySourceSettings.Validate(); err != nil { + invalidParams.AddNested("AncillarySourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbSubSourceSettings != nil { + if err := s.DvbSubSourceSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSubSourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.EmbeddedSourceSettings != nil { + if err := s.EmbeddedSourceSettings.Validate(); err != nil { + invalidParams.AddNested("EmbeddedSourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.FileSourceSettings != nil { + if err := s.FileSourceSettings.Validate(); err != nil { + invalidParams.AddNested("FileSourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.TeletextSourceSettings != nil { + if err := s.TeletextSourceSettings.Validate(); err != nil { + invalidParams.AddNested("TeletextSourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.TrackSourceSettings != nil { + if err := s.TrackSourceSettings.Validate(); err != nil { + invalidParams.AddNested("TrackSourceSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAncillarySourceSettings sets the AncillarySourceSettings field's value. +func (s *CaptionSourceSettings) SetAncillarySourceSettings(v *AncillarySourceSettings) *CaptionSourceSettings { + s.AncillarySourceSettings = v + return s +} + +// SetDvbSubSourceSettings sets the DvbSubSourceSettings field's value. +func (s *CaptionSourceSettings) SetDvbSubSourceSettings(v *DvbSubSourceSettings) *CaptionSourceSettings { + s.DvbSubSourceSettings = v + return s +} + +// SetEmbeddedSourceSettings sets the EmbeddedSourceSettings field's value. +func (s *CaptionSourceSettings) SetEmbeddedSourceSettings(v *EmbeddedSourceSettings) *CaptionSourceSettings { + s.EmbeddedSourceSettings = v + return s +} + +// SetFileSourceSettings sets the FileSourceSettings field's value. +func (s *CaptionSourceSettings) SetFileSourceSettings(v *FileSourceSettings) *CaptionSourceSettings { + s.FileSourceSettings = v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *CaptionSourceSettings) SetSourceType(v string) *CaptionSourceSettings { + s.SourceType = &v + return s +} + +// SetTeletextSourceSettings sets the TeletextSourceSettings field's value. +func (s *CaptionSourceSettings) SetTeletextSourceSettings(v *TeletextSourceSettings) *CaptionSourceSettings { + s.TeletextSourceSettings = v + return s +} + +// SetTrackSourceSettings sets the TrackSourceSettings field's value. +func (s *CaptionSourceSettings) SetTrackSourceSettings(v *TrackSourceSettings) *CaptionSourceSettings { + s.TrackSourceSettings = v + return s +} + +// Channel mapping (ChannelMapping) contains the group of fields that hold the +// remixing value for each channel. Units are in dB. Acceptable values are within +// the range from -60 (mute) through 6. A setting of 0 passes the input channel +// unchanged to the output channel (no attenuation or amplification). +type ChannelMapping struct { + _ struct{} `type:"structure"` + + // List of output channels + OutputChannels []*OutputChannelMapping `locationName:"outputChannels" type:"list"` +} + +// String returns the string representation +func (s ChannelMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ChannelMapping) GoString() string { + return s.String() +} + +// SetOutputChannels sets the OutputChannels field's value. +func (s *ChannelMapping) SetOutputChannels(v []*OutputChannelMapping) *ChannelMapping { + s.OutputChannels = v + return s +} + +// Settings for CMAF encryption +type CmafEncryptionSettings struct { + _ struct{} `type:"structure"` + + // This is a 128-bit, 16-byte hex value represented by a 32-character text string. + // If this parameter is not set then the Initialization Vector will follow the + // segment number by default. + ConstantInitializationVector *string `locationName:"constantInitializationVector" min:"32" type:"string"` + + // Encrypts the segments with the given encryption scheme. Leave blank to disable. + // Selecting 'Disabled' in the web interface also disables encryption. + EncryptionMethod *string `locationName:"encryptionMethod" type:"string" enum:"CmafEncryptionType"` + + // The Initialization Vector is a 128-bit number used in conjunction with the + // key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed + // in the manifest. Otherwise Initialization Vector is not in the manifest. + InitializationVectorInManifest *string `locationName:"initializationVectorInManifest" type:"string" enum:"CmafInitializationVectorInManifest"` + + // Use these settings to set up encryption with a static key provider. + StaticKeyProvider *StaticKeyProvider `locationName:"staticKeyProvider" type:"structure"` + + // Indicates which type of key provider is used for encryption. + Type *string `locationName:"type" type:"string" enum:"CmafKeyProviderType"` +} + +// String returns the string representation +func (s CmafEncryptionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CmafEncryptionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CmafEncryptionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CmafEncryptionSettings"} + if s.ConstantInitializationVector != nil && len(*s.ConstantInitializationVector) < 32 { + invalidParams.Add(request.NewErrParamMinLen("ConstantInitializationVector", 32)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConstantInitializationVector sets the ConstantInitializationVector field's value. +func (s *CmafEncryptionSettings) SetConstantInitializationVector(v string) *CmafEncryptionSettings { + s.ConstantInitializationVector = &v + return s +} + +// SetEncryptionMethod sets the EncryptionMethod field's value. +func (s *CmafEncryptionSettings) SetEncryptionMethod(v string) *CmafEncryptionSettings { + s.EncryptionMethod = &v + return s +} + +// SetInitializationVectorInManifest sets the InitializationVectorInManifest field's value. +func (s *CmafEncryptionSettings) SetInitializationVectorInManifest(v string) *CmafEncryptionSettings { + s.InitializationVectorInManifest = &v + return s +} + +// SetStaticKeyProvider sets the StaticKeyProvider field's value. +func (s *CmafEncryptionSettings) SetStaticKeyProvider(v *StaticKeyProvider) *CmafEncryptionSettings { + s.StaticKeyProvider = v + return s +} + +// SetType sets the Type field's value. +func (s *CmafEncryptionSettings) SetType(v string) *CmafEncryptionSettings { + s.Type = &v + return s +} + +// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to +// CMAF_GROUP_SETTINGS. Each output in a CMAF Output Group may only contain +// a single video, audio, or caption output. +type CmafGroupSettings struct { + _ struct{} `type:"structure"` + + // A partial URI prefix that will be put in the manifest file at the top level + // BaseURL element. Can be used if streams are delivered from a different URL + // than the manifest file. + BaseUrl *string `locationName:"baseUrl" type:"string"` + + // When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client + // from saving media segments for later replay. + ClientCache *string `locationName:"clientCache" type:"string" enum:"CmafClientCache"` + + // Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist + // generation. + CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"CmafCodecSpecification"` + + // Use Destination (Destination) to specify the S3 output location and the output + // filename base. Destination accepts format identifiers. If you do not specify + // the base filename in the URI, the service will use the filename of the input + // file. If your job has multiple inputs, the service uses the filename of the + // first input file. + Destination *string `locationName:"destination" type:"string"` + + // DRM settings. + Encryption *CmafEncryptionSettings `locationName:"encryption" type:"structure"` + + // Length of fragments to generate (in seconds). Fragment length must be compatible + // with GOP size and Framerate. Note that fragments will end on the next keyframe + // after this number of seconds, so actual fragment length may be longer. When + // Emit Single File is checked, the fragmentation is internal to a single output + // file and it does not cause the creation of many output files as in other + // output types. + FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"` + + // When set to GZIP, compresses HLS playlist. + ManifestCompression *string `locationName:"manifestCompression" type:"string" enum:"CmafManifestCompression"` + + // Indicates whether the output manifest should use floating point values for + // segment duration. + ManifestDurationFormat *string `locationName:"manifestDurationFormat" type:"string" enum:"CmafManifestDurationFormat"` + + // Minimum time of initially buffered media that is needed to ensure smooth + // playout. + MinBufferTime *int64 `locationName:"minBufferTime" type:"integer"` + + // Keep this setting at the default value of 0, unless you are troubleshooting + // a problem with how devices play back the end of your video asset. If you + // know that player devices are hanging on the final segment of your video because + // the length of your final segment is too short, use this setting to specify + // a minimum final segment length, in seconds. Choose a value that is greater + // than or equal to 1 and less than your segment length. When you specify a + // value for this setting, the encoder will combine any final segment that is + // shorter than the length that you specify with the previous segment. For example, + // your segment length is 3 seconds and your final segment is .5 seconds without + // a minimum final segment length; when you set the minimum final segment length + // to 1, your final segment is 3.5 seconds. + MinFinalSegmentLength *float64 `locationName:"minFinalSegmentLength" type:"double"` + + // When set to SINGLE_FILE, a single output file is generated, which is internally + // segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, + // separate segment files will be created. + SegmentControl *string `locationName:"segmentControl" type:"string" enum:"CmafSegmentControl"` + + // Use this setting to specify the length, in seconds, of each individual CMAF + // segment. This value applies to the whole package; that is, to every output + // in the output group. Note that segments end on the first keyframe after this + // number of seconds, so the actual segment length might be slightly longer. + // If you set Segment control (CmafSegmentControl) to single file, the service + // puts the content of each output in a single file that has metadata that marks + // these segments. If you set it to segmented files, the service creates multiple + // files for each output, each with the content of one segment. + SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"` + + // Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag + // of variant manifest. + StreamInfResolution *string `locationName:"streamInfResolution" type:"string" enum:"CmafStreamInfResolution"` + + // When set to ENABLED, a DASH MPD manifest will be generated for this output. + WriteDashManifest *string `locationName:"writeDashManifest" type:"string" enum:"CmafWriteDASHManifest"` + + // When set to ENABLED, an Apple HLS manifest will be generated for this output. + WriteHlsManifest *string `locationName:"writeHlsManifest" type:"string" enum:"CmafWriteHLSManifest"` +} + +// String returns the string representation +func (s CmafGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CmafGroupSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CmafGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CmafGroupSettings"} + if s.FragmentLength != nil && *s.FragmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1)) + } + if s.SegmentLength != nil && *s.SegmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1)) + } + if s.Encryption != nil { + if err := s.Encryption.Validate(); err != nil { + invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBaseUrl sets the BaseUrl field's value. +func (s *CmafGroupSettings) SetBaseUrl(v string) *CmafGroupSettings { + s.BaseUrl = &v + return s +} + +// SetClientCache sets the ClientCache field's value. +func (s *CmafGroupSettings) SetClientCache(v string) *CmafGroupSettings { + s.ClientCache = &v + return s +} + +// SetCodecSpecification sets the CodecSpecification field's value. +func (s *CmafGroupSettings) SetCodecSpecification(v string) *CmafGroupSettings { + s.CodecSpecification = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *CmafGroupSettings) SetDestination(v string) *CmafGroupSettings { + s.Destination = &v + return s +} + +// SetEncryption sets the Encryption field's value. +func (s *CmafGroupSettings) SetEncryption(v *CmafEncryptionSettings) *CmafGroupSettings { + s.Encryption = v + return s +} + +// SetFragmentLength sets the FragmentLength field's value. +func (s *CmafGroupSettings) SetFragmentLength(v int64) *CmafGroupSettings { + s.FragmentLength = &v + return s +} + +// SetManifestCompression sets the ManifestCompression field's value. +func (s *CmafGroupSettings) SetManifestCompression(v string) *CmafGroupSettings { + s.ManifestCompression = &v + return s +} + +// SetManifestDurationFormat sets the ManifestDurationFormat field's value. +func (s *CmafGroupSettings) SetManifestDurationFormat(v string) *CmafGroupSettings { + s.ManifestDurationFormat = &v + return s +} + +// SetMinBufferTime sets the MinBufferTime field's value. +func (s *CmafGroupSettings) SetMinBufferTime(v int64) *CmafGroupSettings { + s.MinBufferTime = &v + return s +} + +// SetMinFinalSegmentLength sets the MinFinalSegmentLength field's value. +func (s *CmafGroupSettings) SetMinFinalSegmentLength(v float64) *CmafGroupSettings { + s.MinFinalSegmentLength = &v + return s +} + +// SetSegmentControl sets the SegmentControl field's value. +func (s *CmafGroupSettings) SetSegmentControl(v string) *CmafGroupSettings { + s.SegmentControl = &v + return s +} + +// SetSegmentLength sets the SegmentLength field's value. +func (s *CmafGroupSettings) SetSegmentLength(v int64) *CmafGroupSettings { + s.SegmentLength = &v + return s +} + +// SetStreamInfResolution sets the StreamInfResolution field's value. +func (s *CmafGroupSettings) SetStreamInfResolution(v string) *CmafGroupSettings { + s.StreamInfResolution = &v + return s +} + +// SetWriteDashManifest sets the WriteDashManifest field's value. +func (s *CmafGroupSettings) SetWriteDashManifest(v string) *CmafGroupSettings { + s.WriteDashManifest = &v + return s +} + +// SetWriteHlsManifest sets the WriteHlsManifest field's value. +func (s *CmafGroupSettings) SetWriteHlsManifest(v string) *CmafGroupSettings { + s.WriteHlsManifest = &v + return s +} + +// Settings for color correction. +type ColorCorrector struct { + _ struct{} `type:"structure"` + + // Brightness level. + Brightness *int64 `locationName:"brightness" min:"1" type:"integer"` + + // Determines if colorspace conversion will be performed. If set to _None_, + // no conversion will be performed. If _Force 601_ or _Force 709_ are selected, + // conversion will be performed for inputs with differing colorspaces. An input's + // colorspace can be specified explicitly in the "Video Selector":#inputs-video_selector + // if necessary. + ColorSpaceConversion *string `locationName:"colorSpaceConversion" type:"string" enum:"ColorSpaceConversion"` + + // Contrast level. + Contrast *int64 `locationName:"contrast" min:"1" type:"integer"` + + // Use the HDR master display (Hdr10Metadata) settings to correct HDR metadata + // or to provide missing metadata. Note that these settings are not color correction. + Hdr10Metadata *Hdr10Metadata `locationName:"hdr10Metadata" type:"structure"` + + // Hue in degrees. + Hue *int64 `locationName:"hue" type:"integer"` + + // Saturation level. + Saturation *int64 `locationName:"saturation" min:"1" type:"integer"` +} + +// String returns the string representation +func (s ColorCorrector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColorCorrector) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ColorCorrector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ColorCorrector"} + if s.Brightness != nil && *s.Brightness < 1 { + invalidParams.Add(request.NewErrParamMinValue("Brightness", 1)) + } + if s.Contrast != nil && *s.Contrast < 1 { + invalidParams.Add(request.NewErrParamMinValue("Contrast", 1)) + } + if s.Hue != nil && *s.Hue < -180 { + invalidParams.Add(request.NewErrParamMinValue("Hue", -180)) + } + if s.Saturation != nil && *s.Saturation < 1 { + invalidParams.Add(request.NewErrParamMinValue("Saturation", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBrightness sets the Brightness field's value. +func (s *ColorCorrector) SetBrightness(v int64) *ColorCorrector { + s.Brightness = &v + return s +} + +// SetColorSpaceConversion sets the ColorSpaceConversion field's value. +func (s *ColorCorrector) SetColorSpaceConversion(v string) *ColorCorrector { + s.ColorSpaceConversion = &v + return s +} + +// SetContrast sets the Contrast field's value. +func (s *ColorCorrector) SetContrast(v int64) *ColorCorrector { + s.Contrast = &v + return s +} + +// SetHdr10Metadata sets the Hdr10Metadata field's value. +func (s *ColorCorrector) SetHdr10Metadata(v *Hdr10Metadata) *ColorCorrector { + s.Hdr10Metadata = v + return s +} + +// SetHue sets the Hue field's value. +func (s *ColorCorrector) SetHue(v int64) *ColorCorrector { + s.Hue = &v + return s +} + +// SetSaturation sets the Saturation field's value. +func (s *ColorCorrector) SetSaturation(v int64) *ColorCorrector { + s.Saturation = &v + return s +} + +// Container specific settings. +type ContainerSettings struct { + _ struct{} `type:"structure"` + + // Container for this output. Some containers require a container settings object. + // If not specified, the default object will be created. + Container *string `locationName:"container" type:"string" enum:"ContainerType"` + + // Settings for F4v container + F4vSettings *F4vSettings `locationName:"f4vSettings" type:"structure"` + + // MPEG-2 TS container settings. These apply to outputs in a File output group + // when the output's container (ContainerType) is MPEG-2 Transport Stream (M2TS). + // In these assets, data is organized by the program map table (PMT). Each transport + // stream program contains subsets of data, including audio, video, and metadata. + // Each of these subsets of data has a numerical label called a packet identifier + // (PID). Each transport stream program corresponds to one MediaConvert output. + // The PMT lists the types of data in a program along with their PID. Downstream + // systems and players use the program map table to look up the PID for each + // type of data it accesses and then uses the PIDs to locate specific data within + // the asset. + M2tsSettings *M2tsSettings `locationName:"m2tsSettings" type:"structure"` + + // Settings for TS segments in HLS + M3u8Settings *M3u8Settings `locationName:"m3u8Settings" type:"structure"` + + // Settings for MOV Container. + MovSettings *MovSettings `locationName:"movSettings" type:"structure"` + + // Settings for MP4 Container + Mp4Settings *Mp4Settings `locationName:"mp4Settings" type:"structure"` +} + +// String returns the string representation +func (s ContainerSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ContainerSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerSettings"} + if s.M2tsSettings != nil { + if err := s.M2tsSettings.Validate(); err != nil { + invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams)) + } + } + if s.M3u8Settings != nil { + if err := s.M3u8Settings.Validate(); err != nil { + invalidParams.AddNested("M3u8Settings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainer sets the Container field's value. +func (s *ContainerSettings) SetContainer(v string) *ContainerSettings { + s.Container = &v + return s +} + +// SetF4vSettings sets the F4vSettings field's value. +func (s *ContainerSettings) SetF4vSettings(v *F4vSettings) *ContainerSettings { + s.F4vSettings = v + return s +} + +// SetM2tsSettings sets the M2tsSettings field's value. +func (s *ContainerSettings) SetM2tsSettings(v *M2tsSettings) *ContainerSettings { + s.M2tsSettings = v + return s +} + +// SetM3u8Settings sets the M3u8Settings field's value. +func (s *ContainerSettings) SetM3u8Settings(v *M3u8Settings) *ContainerSettings { + s.M3u8Settings = v + return s +} + +// SetMovSettings sets the MovSettings field's value. +func (s *ContainerSettings) SetMovSettings(v *MovSettings) *ContainerSettings { + s.MovSettings = v + return s +} + +// SetMp4Settings sets the Mp4Settings field's value. +func (s *ContainerSettings) SetMp4Settings(v *Mp4Settings) *ContainerSettings { + s.Mp4Settings = v + return s +} + +// Send your create job request with your job settings and IAM role. Optionally, +// include user metadata and the ARN for the queue. +type CreateJobInput struct { + _ struct{} `type:"structure"` + + // This is a beta feature. If you are interested in using this feature, please + // contact AWS customer support. + AccelerationSettings *AccelerationSettings `locationName:"accelerationSettings" type:"structure"` + + // Optional. Choose a tag type that AWS Billing and Cost Management will use + // to sort your AWS Elemental MediaConvert costs on any billing report that + // you set up. Any transcoding outputs that don't have an associated tag will + // appear in your billing report unsorted. If you don't choose a valid value + // for this field, your job outputs will appear on the billing report unsorted. + BillingTagsSource *string `locationName:"billingTagsSource" type:"string" enum:"BillingTagsSource"` + + // Idempotency token for CreateJob operation. + ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` + + // When you create a job, you can either specify a job template or specify the + // transcoding settings individually + JobTemplate *string `locationName:"jobTemplate" type:"string"` + + // Optional. When you create a job, you can specify a queue to send it to. If + // you don't specify, the job will go to the default queue. For more about queues, + // see the User Guide topic at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html. + Queue *string `locationName:"queue" type:"string"` + + // Required. The IAM role you use for creating this job. For details about permissions, + // see the User Guide topic at the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html. + // + // Role is a required field + Role *string `locationName:"role" type:"string" required:"true"` + + // JobSettings contains all the transcode settings for a job. + // + // Settings is a required field + Settings *JobSettings `locationName:"settings" type:"structure" required:"true"` + + // Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch + // Events. Set the interval, in seconds, between status updates. MediaConvert + // sends an update at this interval from the time the service begins processing + // your job to the time it completes the transcode or encounters an error. + StatusUpdateIntervalInSecs *int64 `locationName:"statusUpdateIntervalInSecs" min:"10" type:"long"` + + // User-defined metadata that you want to associate with an MediaConvert job. + // You specify metadata in key/value pairs. + UserMetadata map[string]*string `locationName:"userMetadata" type:"map"` +} + +// String returns the string representation +func (s CreateJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"} + if s.Role == nil { + invalidParams.Add(request.NewErrParamRequired("Role")) + } + if s.Settings == nil { + invalidParams.Add(request.NewErrParamRequired("Settings")) + } + if s.StatusUpdateIntervalInSecs != nil && *s.StatusUpdateIntervalInSecs < 10 { + invalidParams.Add(request.NewErrParamMinValue("StatusUpdateIntervalInSecs", 10)) + } + if s.AccelerationSettings != nil { + if err := s.AccelerationSettings.Validate(); err != nil { + invalidParams.AddNested("AccelerationSettings", err.(request.ErrInvalidParams)) + } + } + if s.Settings != nil { + if err := s.Settings.Validate(); err != nil { + invalidParams.AddNested("Settings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccelerationSettings sets the AccelerationSettings field's value. +func (s *CreateJobInput) SetAccelerationSettings(v *AccelerationSettings) *CreateJobInput { + s.AccelerationSettings = v + return s +} + +// SetBillingTagsSource sets the BillingTagsSource field's value. +func (s *CreateJobInput) SetBillingTagsSource(v string) *CreateJobInput { + s.BillingTagsSource = &v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateJobInput) SetClientRequestToken(v string) *CreateJobInput { + s.ClientRequestToken = &v + return s +} + +// SetJobTemplate sets the JobTemplate field's value. +func (s *CreateJobInput) SetJobTemplate(v string) *CreateJobInput { + s.JobTemplate = &v + return s +} + +// SetQueue sets the Queue field's value. +func (s *CreateJobInput) SetQueue(v string) *CreateJobInput { + s.Queue = &v + return s +} + +// SetRole sets the Role field's value. +func (s *CreateJobInput) SetRole(v string) *CreateJobInput { + s.Role = &v + return s +} + +// SetSettings sets the Settings field's value. +func (s *CreateJobInput) SetSettings(v *JobSettings) *CreateJobInput { + s.Settings = v + return s +} + +// SetStatusUpdateIntervalInSecs sets the StatusUpdateIntervalInSecs field's value. +func (s *CreateJobInput) SetStatusUpdateIntervalInSecs(v int64) *CreateJobInput { + s.StatusUpdateIntervalInSecs = &v + return s +} + +// SetUserMetadata sets the UserMetadata field's value. +func (s *CreateJobInput) SetUserMetadata(v map[string]*string) *CreateJobInput { + s.UserMetadata = v + return s +} + +// Successful create job requests will return the job JSON. +type CreateJobOutput struct { + _ struct{} `type:"structure"` + + // Each job converts an input file into an output file or files. For more information, + // see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html + Job *Job `locationName:"job" type:"structure"` +} + +// String returns the string representation +func (s CreateJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateJobOutput) GoString() string { + return s.String() +} + +// SetJob sets the Job field's value. +func (s *CreateJobOutput) SetJob(v *Job) *CreateJobOutput { + s.Job = v + return s +} + +// Send your create job template request with the name of the template and the +// JSON for the template. The template JSON should include everything in a valid +// job, except for input location and filename, IAM role, and user metadata. +type CreateJobTemplateInput struct { + _ struct{} `type:"structure"` + + // This is a beta feature. If you are interested in using this feature please + // contact AWS customer support. + AccelerationSettings *AccelerationSettings `locationName:"accelerationSettings" type:"structure"` + + // Optional. A category for the job template you are creating + Category *string `locationName:"category" type:"string"` + + // Optional. A description of the job template you are creating. + Description *string `locationName:"description" type:"string"` + + // The name of the job template you are creating. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Optional. The queue that jobs created from this template are assigned to. + // If you don't specify this, jobs will go to the default queue. + Queue *string `locationName:"queue" type:"string"` + + // JobTemplateSettings contains all the transcode settings saved in the template + // that will be applied to jobs created from it. + // + // Settings is a required field + Settings *JobTemplateSettings `locationName:"settings" type:"structure" required:"true"` + + // Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch + // Events. Set the interval, in seconds, between status updates. MediaConvert + // sends an update at this interval from the time the service begins processing + // your job to the time it completes the transcode or encounters an error. + StatusUpdateIntervalInSecs *int64 `locationName:"statusUpdateIntervalInSecs" min:"10" type:"long"` + + // The tags that you want to add to the resource. You can tag resources with + // a key-value pair or with only a key. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateJobTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateJobTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateJobTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateJobTemplateInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Settings == nil { + invalidParams.Add(request.NewErrParamRequired("Settings")) + } + if s.StatusUpdateIntervalInSecs != nil && *s.StatusUpdateIntervalInSecs < 10 { + invalidParams.Add(request.NewErrParamMinValue("StatusUpdateIntervalInSecs", 10)) + } + if s.AccelerationSettings != nil { + if err := s.AccelerationSettings.Validate(); err != nil { + invalidParams.AddNested("AccelerationSettings", err.(request.ErrInvalidParams)) + } + } + if s.Settings != nil { + if err := s.Settings.Validate(); err != nil { + invalidParams.AddNested("Settings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccelerationSettings sets the AccelerationSettings field's value. +func (s *CreateJobTemplateInput) SetAccelerationSettings(v *AccelerationSettings) *CreateJobTemplateInput { + s.AccelerationSettings = v + return s +} + +// SetCategory sets the Category field's value. +func (s *CreateJobTemplateInput) SetCategory(v string) *CreateJobTemplateInput { + s.Category = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateJobTemplateInput) SetDescription(v string) *CreateJobTemplateInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateJobTemplateInput) SetName(v string) *CreateJobTemplateInput { + s.Name = &v + return s +} + +// SetQueue sets the Queue field's value. +func (s *CreateJobTemplateInput) SetQueue(v string) *CreateJobTemplateInput { + s.Queue = &v + return s +} + +// SetSettings sets the Settings field's value. +func (s *CreateJobTemplateInput) SetSettings(v *JobTemplateSettings) *CreateJobTemplateInput { + s.Settings = v + return s +} + +// SetStatusUpdateIntervalInSecs sets the StatusUpdateIntervalInSecs field's value. +func (s *CreateJobTemplateInput) SetStatusUpdateIntervalInSecs(v int64) *CreateJobTemplateInput { + s.StatusUpdateIntervalInSecs = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateJobTemplateInput) SetTags(v map[string]*string) *CreateJobTemplateInput { + s.Tags = v + return s +} + +// Successful create job template requests will return the template JSON. +type CreateJobTemplateOutput struct { + _ struct{} `type:"structure"` + + // A job template is a pre-made set of encoding instructions that you can use + // to quickly create a job. + JobTemplate *JobTemplate `locationName:"jobTemplate" type:"structure"` +} + +// String returns the string representation +func (s CreateJobTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateJobTemplateOutput) GoString() string { + return s.String() +} + +// SetJobTemplate sets the JobTemplate field's value. +func (s *CreateJobTemplateOutput) SetJobTemplate(v *JobTemplate) *CreateJobTemplateOutput { + s.JobTemplate = v + return s +} + +// Send your create preset request with the name of the preset and the JSON +// for the output settings specified by the preset. +type CreatePresetInput struct { + _ struct{} `type:"structure"` + + // Optional. A category for the preset you are creating. + Category *string `locationName:"category" type:"string"` + + // Optional. A description of the preset you are creating. + Description *string `locationName:"description" type:"string"` + + // The name of the preset you are creating. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Settings for preset + // + // Settings is a required field + Settings *PresetSettings `locationName:"settings" type:"structure" required:"true"` + + // The tags that you want to add to the resource. You can tag resources with + // a key-value pair or with only a key. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreatePresetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePresetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePresetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePresetInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Settings == nil { + invalidParams.Add(request.NewErrParamRequired("Settings")) + } + if s.Settings != nil { + if err := s.Settings.Validate(); err != nil { + invalidParams.AddNested("Settings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCategory sets the Category field's value. +func (s *CreatePresetInput) SetCategory(v string) *CreatePresetInput { + s.Category = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreatePresetInput) SetDescription(v string) *CreatePresetInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreatePresetInput) SetName(v string) *CreatePresetInput { + s.Name = &v + return s +} + +// SetSettings sets the Settings field's value. +func (s *CreatePresetInput) SetSettings(v *PresetSettings) *CreatePresetInput { + s.Settings = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreatePresetInput) SetTags(v map[string]*string) *CreatePresetInput { + s.Tags = v + return s +} + +// Successful create preset requests will return the preset JSON. +type CreatePresetOutput struct { + _ struct{} `type:"structure"` + + // A preset is a collection of preconfigured media conversion settings that + // you want MediaConvert to apply to the output during the conversion process. + Preset *Preset `locationName:"preset" type:"structure"` +} + +// String returns the string representation +func (s CreatePresetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePresetOutput) GoString() string { + return s.String() +} + +// SetPreset sets the Preset field's value. +func (s *CreatePresetOutput) SetPreset(v *Preset) *CreatePresetOutput { + s.Preset = v + return s +} + +// Create an on-demand queue by sending a CreateQueue request with the name +// of the queue. Create a reserved queue by sending a CreateQueue request with +// the pricing plan set to RESERVED and with values specified for the settings +// under reservationPlanSettings. When you create a reserved queue, you enter +// into a 12-month commitment to purchase the RTS that you specify. You can't +// cancel this commitment. +type CreateQueueInput struct { + _ struct{} `type:"structure"` + + // Optional. A description of the queue that you are creating. + Description *string `locationName:"description" type:"string"` + + // The name of the queue that you are creating. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Specifies whether the pricing plan for the queue is on-demand or reserved. + // For on-demand, you pay per minute, billed in increments of .01 minute. For + // reserved, you pay for the transcoding capacity of the entire queue, regardless + // of how much or how little you use it. Reserved pricing requires a 12-month + // commitment. When you use the API to create a queue, the default is on-demand. + PricingPlan *string `locationName:"pricingPlan" type:"string" enum:"PricingPlan"` + + // Details about the pricing plan for your reserved queue. Required for reserved + // queues and not applicable to on-demand queues. + ReservationPlanSettings *ReservationPlanSettings `locationName:"reservationPlanSettings" type:"structure"` + + // The tags that you want to add to the resource. You can tag resources with + // a key-value pair or with only a key. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateQueueInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateQueueInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateQueueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateQueueInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ReservationPlanSettings != nil { + if err := s.ReservationPlanSettings.Validate(); err != nil { + invalidParams.AddNested("ReservationPlanSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateQueueInput) SetDescription(v string) *CreateQueueInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateQueueInput) SetName(v string) *CreateQueueInput { + s.Name = &v + return s +} + +// SetPricingPlan sets the PricingPlan field's value. +func (s *CreateQueueInput) SetPricingPlan(v string) *CreateQueueInput { + s.PricingPlan = &v + return s +} + +// SetReservationPlanSettings sets the ReservationPlanSettings field's value. +func (s *CreateQueueInput) SetReservationPlanSettings(v *ReservationPlanSettings) *CreateQueueInput { + s.ReservationPlanSettings = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateQueueInput) SetTags(v map[string]*string) *CreateQueueInput { + s.Tags = v + return s +} + +// Successful create queue requests return the name of the queue that you just +// created and information about it. +type CreateQueueOutput struct { + _ struct{} `type:"structure"` + + // You can use queues to manage the resources that are available to your AWS + // account for running multiple transcoding jobs at the same time. If you don't + // specify a queue, the service sends all jobs through the default queue. For + // more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html. + Queue *Queue `locationName:"queue" type:"structure"` +} + +// String returns the string representation +func (s CreateQueueOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateQueueOutput) GoString() string { + return s.String() +} + +// SetQueue sets the Queue field's value. +func (s *CreateQueueOutput) SetQueue(v *Queue) *CreateQueueOutput { + s.Queue = v + return s +} + +// Specifies DRM settings for DASH outputs. +type DashIsoEncryptionSettings struct { + _ struct{} `type:"structure"` + + // Settings for use with a SPEKE key provider + SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure"` +} + +// String returns the string representation +func (s DashIsoEncryptionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashIsoEncryptionSettings) GoString() string { + return s.String() +} + +// SetSpekeKeyProvider sets the SpekeKeyProvider field's value. +func (s *DashIsoEncryptionSettings) SetSpekeKeyProvider(v *SpekeKeyProvider) *DashIsoEncryptionSettings { + s.SpekeKeyProvider = v + return s +} + +// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to +// DASH_ISO_GROUP_SETTINGS. +type DashIsoGroupSettings struct { + _ struct{} `type:"structure"` + + // A partial URI prefix that will be put in the manifest (.mpd) file at the + // top level BaseURL element. Can be used if streams are delivered from a different + // URL than the manifest file. + BaseUrl *string `locationName:"baseUrl" type:"string"` + + // Use Destination (Destination) to specify the S3 output location and the output + // filename base. Destination accepts format identifiers. If you do not specify + // the base filename in the URI, the service will use the filename of the input + // file. If your job has multiple inputs, the service uses the filename of the + // first input file. + Destination *string `locationName:"destination" type:"string"` + + // DRM settings. + Encryption *DashIsoEncryptionSettings `locationName:"encryption" type:"structure"` + + // Length of fragments to generate (in seconds). Fragment length must be compatible + // with GOP size and Framerate. Note that fragments will end on the next keyframe + // after this number of seconds, so actual fragment length may be longer. When + // Emit Single File is checked, the fragmentation is internal to a single output + // file and it does not cause the creation of many output files as in other + // output types. + FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"` + + // Supports HbbTV specification as indicated + HbbtvCompliance *string `locationName:"hbbtvCompliance" type:"string" enum:"DashIsoHbbtvCompliance"` + + // Minimum time of initially buffered media that is needed to ensure smooth + // playout. + MinBufferTime *int64 `locationName:"minBufferTime" type:"integer"` + + // When set to SINGLE_FILE, a single output file is generated, which is internally + // segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, + // separate segment files will be created. + SegmentControl *string `locationName:"segmentControl" type:"string" enum:"DashIsoSegmentControl"` + + // Length of mpd segments to create (in seconds). Note that segments will end + // on the next keyframe after this number of seconds, so actual segment length + // may be longer. When Emit Single File is checked, the segmentation is internal + // to a single output file and it does not cause the creation of many output + // files as in other output types. + SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"` + + // When you enable Precise segment duration in manifests (writeSegmentTimelineInRepresentation), + // your DASH manifest shows precise segment durations. The segment duration + // information appears inside the SegmentTimeline element, inside SegmentTemplate + // at the Representation level. When this feature isn't enabled, the segment + // durations in your DASH manifest are approximate. The segment duration information + // appears in the duration attribute of the SegmentTemplate element. + WriteSegmentTimelineInRepresentation *string `locationName:"writeSegmentTimelineInRepresentation" type:"string" enum:"DashIsoWriteSegmentTimelineInRepresentation"` +} + +// String returns the string representation +func (s DashIsoGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashIsoGroupSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DashIsoGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DashIsoGroupSettings"} + if s.FragmentLength != nil && *s.FragmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1)) + } + if s.SegmentLength != nil && *s.SegmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBaseUrl sets the BaseUrl field's value. +func (s *DashIsoGroupSettings) SetBaseUrl(v string) *DashIsoGroupSettings { + s.BaseUrl = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *DashIsoGroupSettings) SetDestination(v string) *DashIsoGroupSettings { + s.Destination = &v + return s +} + +// SetEncryption sets the Encryption field's value. +func (s *DashIsoGroupSettings) SetEncryption(v *DashIsoEncryptionSettings) *DashIsoGroupSettings { + s.Encryption = v + return s +} + +// SetFragmentLength sets the FragmentLength field's value. +func (s *DashIsoGroupSettings) SetFragmentLength(v int64) *DashIsoGroupSettings { + s.FragmentLength = &v + return s +} + +// SetHbbtvCompliance sets the HbbtvCompliance field's value. +func (s *DashIsoGroupSettings) SetHbbtvCompliance(v string) *DashIsoGroupSettings { + s.HbbtvCompliance = &v + return s +} + +// SetMinBufferTime sets the MinBufferTime field's value. +func (s *DashIsoGroupSettings) SetMinBufferTime(v int64) *DashIsoGroupSettings { + s.MinBufferTime = &v + return s +} + +// SetSegmentControl sets the SegmentControl field's value. +func (s *DashIsoGroupSettings) SetSegmentControl(v string) *DashIsoGroupSettings { + s.SegmentControl = &v + return s +} + +// SetSegmentLength sets the SegmentLength field's value. +func (s *DashIsoGroupSettings) SetSegmentLength(v int64) *DashIsoGroupSettings { + s.SegmentLength = &v + return s +} + +// SetWriteSegmentTimelineInRepresentation sets the WriteSegmentTimelineInRepresentation field's value. +func (s *DashIsoGroupSettings) SetWriteSegmentTimelineInRepresentation(v string) *DashIsoGroupSettings { + s.WriteSegmentTimelineInRepresentation = &v + return s +} + +// Settings for deinterlacer +type Deinterlacer struct { + _ struct{} `type:"structure"` + + // Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace (DEINTERLACE) + // or Adaptive (ADAPTIVE). Motion adaptive interpolate (INTERPOLATE) produces + // sharper pictures, while blend (BLEND) produces smoother motion. Use (INTERPOLATE_TICKER) + // OR (BLEND_TICKER) if your source file includes a ticker, such as a scrolling + // headline at the bottom of the frame. + Algorithm *string `locationName:"algorithm" type:"string" enum:"DeinterlaceAlgorithm"` + + // - When set to NORMAL (default), the deinterlacer does not convert frames + // that are tagged in metadata as progressive. It will only convert those that + // are tagged as some other type. - When set to FORCE_ALL_FRAMES, the deinterlacer + // converts every frame to progressive - even those that are already tagged + // as progressive. Turn Force mode on only if there is a good chance that the + // metadata has tagged frames as progressive when they are not progressive. + // Do not turn on otherwise; processing frames that are already progressive + // into progressive will probably result in lower quality video. + Control *string `locationName:"control" type:"string" enum:"DeinterlacerControl"` + + // Use Deinterlacer (DeinterlaceMode) to choose how the service will do deinterlacing. + // Default is Deinterlace. - Deinterlace converts interlaced to progressive. + // - Inverse telecine converts Hard Telecine 29.97i to progressive 23.976p. + // - Adaptive auto-detects and converts to progressive. + Mode *string `locationName:"mode" type:"string" enum:"DeinterlacerMode"` +} + +// String returns the string representation +func (s Deinterlacer) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Deinterlacer) GoString() string { + return s.String() +} + +// SetAlgorithm sets the Algorithm field's value. +func (s *Deinterlacer) SetAlgorithm(v string) *Deinterlacer { + s.Algorithm = &v + return s +} + +// SetControl sets the Control field's value. +func (s *Deinterlacer) SetControl(v string) *Deinterlacer { + s.Control = &v + return s +} + +// SetMode sets the Mode field's value. +func (s *Deinterlacer) SetMode(v string) *Deinterlacer { + s.Mode = &v + return s +} + +// Delete a job template by sending a request with the job template name +type DeleteJobTemplateInput struct { + _ struct{} `type:"structure"` + + // The name of the job template to be deleted. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteJobTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteJobTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteJobTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteJobTemplateInput"} + 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 *DeleteJobTemplateInput) SetName(v string) *DeleteJobTemplateInput { + s.Name = &v + return s +} + +// Delete job template requests will return an OK message or error message with +// an empty body. +type DeleteJobTemplateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteJobTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteJobTemplateOutput) GoString() string { + return s.String() +} + +// Delete a preset by sending a request with the preset name +type DeletePresetInput struct { + _ struct{} `type:"structure"` + + // The name of the preset to be deleted. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePresetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePresetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePresetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePresetInput"} + 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 *DeletePresetInput) SetName(v string) *DeletePresetInput { + s.Name = &v + return s +} + +// Delete preset requests will return an OK message or error message with an +// empty body. +type DeletePresetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeletePresetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePresetOutput) GoString() string { + return s.String() +} + +// Delete a queue by sending a request with the queue name. You can't delete +// a queue with an active pricing plan or one that has unprocessed jobs in it. +type DeleteQueueInput struct { + _ struct{} `type:"structure"` + + // The name of the queue that you want to delete. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteQueueInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteQueueInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteQueueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteQueueInput"} + 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 *DeleteQueueInput) SetName(v string) *DeleteQueueInput { + s.Name = &v + return s +} + +// Delete queue requests return an OK message or error message with an empty +// body. +type DeleteQueueOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteQueueOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteQueueOutput) GoString() string { + return s.String() +} + +// Send an request with an empty body to the regional API endpoint to get your +// account API endpoint. +type DescribeEndpointsInput struct { + _ struct{} `type:"structure"` + + // Optional. Max number of endpoints, up to twenty, that will be returned at + // one time. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // Optional field, defaults to DEFAULT. Specify DEFAULT for this operation to + // return your endpoints if any exist, or to create an endpoint for you and + // return it if one doesn't already exist. Specify GET_ONLY to return your endpoints + // if any exist, or an empty list if none exist. + Mode *string `locationName:"mode" type:"string" enum:"DescribeEndpointsMode"` + + // Use this string, provided with the response to a previous request, to request + // the next batch of endpoints. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeEndpointsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEndpointsInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeEndpointsInput) SetMaxResults(v int64) *DescribeEndpointsInput { + s.MaxResults = &v + return s +} + +// SetMode sets the Mode field's value. +func (s *DescribeEndpointsInput) SetMode(v string) *DescribeEndpointsInput { + s.Mode = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeEndpointsInput) SetNextToken(v string) *DescribeEndpointsInput { + s.NextToken = &v + return s +} + +// Successful describe endpoints requests will return your account API endpoint. +type DescribeEndpointsOutput struct { + _ struct{} `type:"structure"` + + // List of endpoints + Endpoints []*Endpoint `locationName:"endpoints" type:"list"` + + // Use this string to request the next batch of endpoints. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeEndpointsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEndpointsOutput) GoString() string { + return s.String() +} + +// SetEndpoints sets the Endpoints field's value. +func (s *DescribeEndpointsOutput) SetEndpoints(v []*Endpoint) *DescribeEndpointsOutput { + s.Endpoints = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeEndpointsOutput) SetNextToken(v string) *DescribeEndpointsOutput { + s.NextToken = &v + return s +} + +// Removes an association between the Amazon Resource Name (ARN) of an AWS Certificate +// Manager (ACM) certificate and an AWS Elemental MediaConvert resource. +type DisassociateCertificateInput struct { + _ struct{} `type:"structure"` + + // The ARN of the ACM certificate that you want to disassociate from your MediaConvert + // resource. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateCertificateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateCertificateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateCertificateInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DisassociateCertificateInput) SetArn(v string) *DisassociateCertificateInput { + s.Arn = &v + return s +} + +// Successful disassociation of Certificate Manager Amazon Resource Name (ARN) +// with Mediaconvert returns an OK message. +type DisassociateCertificateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateCertificateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateCertificateOutput) GoString() string { + return s.String() +} + +// Inserts DVB Network Information Table (NIT) at the specified table repetition +// interval. +type DvbNitSettings struct { + _ struct{} `type:"structure"` + + // The numeric value placed in the Network Information Table (NIT). + NetworkId *int64 `locationName:"networkId" type:"integer"` + + // The network name text placed in the network_name_descriptor inside the Network + // Information Table. Maximum length is 256 characters. + NetworkName *string `locationName:"networkName" min:"1" type:"string"` + + // The number of milliseconds between instances of this table in the output + // transport stream. + NitInterval *int64 `locationName:"nitInterval" min:"25" type:"integer"` +} + +// String returns the string representation +func (s DvbNitSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DvbNitSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbNitSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbNitSettings"} + if s.NetworkName != nil && len(*s.NetworkName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NetworkName", 1)) + } + if s.NitInterval != nil && *s.NitInterval < 25 { + invalidParams.Add(request.NewErrParamMinValue("NitInterval", 25)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNetworkId sets the NetworkId field's value. +func (s *DvbNitSettings) SetNetworkId(v int64) *DvbNitSettings { + s.NetworkId = &v + return s +} + +// SetNetworkName sets the NetworkName field's value. +func (s *DvbNitSettings) SetNetworkName(v string) *DvbNitSettings { + s.NetworkName = &v + return s +} + +// SetNitInterval sets the NitInterval field's value. +func (s *DvbNitSettings) SetNitInterval(v int64) *DvbNitSettings { + s.NitInterval = &v + return s +} + +// Inserts DVB Service Description Table (NIT) at the specified table repetition +// interval. +type DvbSdtSettings struct { + _ struct{} `type:"structure"` + + // Selects method of inserting SDT information into output stream. "Follow input + // SDT" copies SDT information from input stream to output stream. "Follow input + // SDT if present" copies SDT information from input stream to output stream + // if SDT information is present in the input, otherwise it will fall back on + // the user-defined values. Enter "SDT Manually" means user will enter the SDT + // information. "No SDT" means output stream will not contain SDT information. + OutputSdt *string `locationName:"outputSdt" type:"string" enum:"OutputSdt"` + + // The number of milliseconds between instances of this table in the output + // transport stream. + SdtInterval *int64 `locationName:"sdtInterval" min:"25" type:"integer"` + + // The service name placed in the service_descriptor in the Service Description + // Table. Maximum length is 256 characters. + ServiceName *string `locationName:"serviceName" min:"1" type:"string"` + + // The service provider name placed in the service_descriptor in the Service + // Description Table. Maximum length is 256 characters. + ServiceProviderName *string `locationName:"serviceProviderName" min:"1" type:"string"` +} + +// String returns the string representation +func (s DvbSdtSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DvbSdtSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbSdtSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSdtSettings"} + if s.SdtInterval != nil && *s.SdtInterval < 25 { + invalidParams.Add(request.NewErrParamMinValue("SdtInterval", 25)) + } + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + if s.ServiceProviderName != nil && len(*s.ServiceProviderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceProviderName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOutputSdt sets the OutputSdt field's value. +func (s *DvbSdtSettings) SetOutputSdt(v string) *DvbSdtSettings { + s.OutputSdt = &v + return s +} + +// SetSdtInterval sets the SdtInterval field's value. +func (s *DvbSdtSettings) SetSdtInterval(v int64) *DvbSdtSettings { + s.SdtInterval = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *DvbSdtSettings) SetServiceName(v string) *DvbSdtSettings { + s.ServiceName = &v + return s +} + +// SetServiceProviderName sets the ServiceProviderName field's value. +func (s *DvbSdtSettings) SetServiceProviderName(v string) *DvbSdtSettings { + s.ServiceProviderName = &v + return s +} + +// DVB-Sub Destination Settings +type DvbSubDestinationSettings struct { + _ struct{} `type:"structure"` + + // If no explicit x_position or y_position is provided, setting alignment to + // centered will place the captions at the bottom center of the output. Similarly, + // setting a left alignment will align captions to the bottom left of the output. + // If x and y positions are given in conjunction with the alignment parameter, + // the font will be justified (either left or centered) relative to those coordinates. + // This option is not valid for source captions that are STL, 608/embedded or + // teletext. These source settings are already pre-defined by the caption stream. + // All burn-in and DVB-Sub font settings must match. + Alignment *string `locationName:"alignment" type:"string" enum:"DvbSubtitleAlignment"` + + // Specifies the color of the rectangle behind the captions.All burn-in and + // DVB-Sub font settings must match. + BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"DvbSubtitleBackgroundColor"` + + // Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. + // Leaving this parameter blank is equivalent to setting it to 0 (transparent). + // All burn-in and DVB-Sub font settings must match. + BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"` + + // Specifies the color of the burned-in captions. This option is not valid for + // source captions that are STL, 608/embedded or teletext. These source settings + // are already pre-defined by the caption stream. All burn-in and DVB-Sub font + // settings must match. + FontColor *string `locationName:"fontColor" type:"string" enum:"DvbSubtitleFontColor"` + + // Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.All + // burn-in and DVB-Sub font settings must match. + FontOpacity *int64 `locationName:"fontOpacity" type:"integer"` + + // Font resolution in DPI (dots per inch); default is 96 dpi.All burn-in and + // DVB-Sub font settings must match. + FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` + + // Provide the font script, using an ISO 15924 script code, if the LanguageCode + // is not sufficient for determining the script type. Where LanguageCode or + // CustomLanguageCode is sufficient, use "AUTOMATIC" or leave unset. This is + // used to help determine the appropriate font for rendering DVB-Sub captions. + FontScript *string `locationName:"fontScript" type:"string" enum:"FontScript"` + + // A positive integer indicates the exact font size in points. Set to 0 for + // automatic font size selection. All burn-in and DVB-Sub font settings must + // match. + FontSize *int64 `locationName:"fontSize" type:"integer"` + + // Specifies font outline color. This option is not valid for source captions + // that are either 608/embedded or teletext. These source settings are already + // pre-defined by the caption stream. All burn-in and DVB-Sub font settings + // must match. + OutlineColor *string `locationName:"outlineColor" type:"string" enum:"DvbSubtitleOutlineColor"` + + // Specifies font outline size in pixels. This option is not valid for source + // captions that are either 608/embedded or teletext. These source settings + // are already pre-defined by the caption stream. All burn-in and DVB-Sub font + // settings must match. + OutlineSize *int64 `locationName:"outlineSize" type:"integer"` + + // Specifies the color of the shadow cast by the captions.All burn-in and DVB-Sub + // font settings must match. + ShadowColor *string `locationName:"shadowColor" type:"string" enum:"DvbSubtitleShadowColor"` + + // Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving + // this parameter blank is equivalent to setting it to 0 (transparent). All + // burn-in and DVB-Sub font settings must match. + ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"` + + // Specifies the horizontal offset of the shadow relative to the captions in + // pixels. A value of -2 would result in a shadow offset 2 pixels to the left. + // All burn-in and DVB-Sub font settings must match. + ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"` + + // Specifies the vertical offset of the shadow relative to the captions in pixels. + // A value of -2 would result in a shadow offset 2 pixels above the text. All + // burn-in and DVB-Sub font settings must match. + ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` + + // Only applies to jobs with input captions in Teletext or STL formats. Specify + // whether the spacing between letters in your captions is set by the captions + // grid or varies depending on letter width. Choose fixed grid to conform to + // the spacing specified in the captions file more accurately. Choose proportional + // to make the text easier to read if the captions are closed caption. + TeletextSpacing *string `locationName:"teletextSpacing" type:"string" enum:"DvbSubtitleTeletextSpacing"` + + // Specifies the horizontal position of the caption relative to the left side + // of the output in pixels. A value of 10 would result in the captions starting + // 10 pixels from the left of the output. If no explicit x_position is provided, + // the horizontal caption position will be determined by the alignment parameter. + // This option is not valid for source captions that are STL, 608/embedded or + // teletext. These source settings are already pre-defined by the caption stream. + // All burn-in and DVB-Sub font settings must match. + XPosition *int64 `locationName:"xPosition" type:"integer"` + + // Specifies the vertical position of the caption relative to the top of the + // output in pixels. A value of 10 would result in the captions starting 10 + // pixels from the top of the output. If no explicit y_position is provided, + // the caption will be positioned towards the bottom of the output. This option + // is not valid for source captions that are STL, 608/embedded or teletext. + // These source settings are already pre-defined by the caption stream. All + // burn-in and DVB-Sub font settings must match. + YPosition *int64 `locationName:"yPosition" type:"integer"` +} + +// String returns the string representation +func (s DvbSubDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DvbSubDestinationSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbSubDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSubDestinationSettings"} + if s.FontResolution != nil && *s.FontResolution < 96 { + invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) + } + if s.ShadowXOffset != nil && *s.ShadowXOffset < -2.147483648e+09 { + invalidParams.Add(request.NewErrParamMinValue("ShadowXOffset", -2.147483648e+09)) + } + if s.ShadowYOffset != nil && *s.ShadowYOffset < -2.147483648e+09 { + invalidParams.Add(request.NewErrParamMinValue("ShadowYOffset", -2.147483648e+09)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlignment sets the Alignment field's value. +func (s *DvbSubDestinationSettings) SetAlignment(v string) *DvbSubDestinationSettings { + s.Alignment = &v + return s +} + +// SetBackgroundColor sets the BackgroundColor field's value. +func (s *DvbSubDestinationSettings) SetBackgroundColor(v string) *DvbSubDestinationSettings { + s.BackgroundColor = &v + return s +} + +// SetBackgroundOpacity sets the BackgroundOpacity field's value. +func (s *DvbSubDestinationSettings) SetBackgroundOpacity(v int64) *DvbSubDestinationSettings { + s.BackgroundOpacity = &v + return s +} + +// SetFontColor sets the FontColor field's value. +func (s *DvbSubDestinationSettings) SetFontColor(v string) *DvbSubDestinationSettings { + s.FontColor = &v + return s +} + +// SetFontOpacity sets the FontOpacity field's value. +func (s *DvbSubDestinationSettings) SetFontOpacity(v int64) *DvbSubDestinationSettings { + s.FontOpacity = &v + return s +} + +// SetFontResolution sets the FontResolution field's value. +func (s *DvbSubDestinationSettings) SetFontResolution(v int64) *DvbSubDestinationSettings { + s.FontResolution = &v + return s +} + +// SetFontScript sets the FontScript field's value. +func (s *DvbSubDestinationSettings) SetFontScript(v string) *DvbSubDestinationSettings { + s.FontScript = &v + return s +} + +// SetFontSize sets the FontSize field's value. +func (s *DvbSubDestinationSettings) SetFontSize(v int64) *DvbSubDestinationSettings { + s.FontSize = &v + return s +} + +// SetOutlineColor sets the OutlineColor field's value. +func (s *DvbSubDestinationSettings) SetOutlineColor(v string) *DvbSubDestinationSettings { + s.OutlineColor = &v + return s +} + +// SetOutlineSize sets the OutlineSize field's value. +func (s *DvbSubDestinationSettings) SetOutlineSize(v int64) *DvbSubDestinationSettings { + s.OutlineSize = &v + return s +} + +// SetShadowColor sets the ShadowColor field's value. +func (s *DvbSubDestinationSettings) SetShadowColor(v string) *DvbSubDestinationSettings { + s.ShadowColor = &v + return s +} + +// SetShadowOpacity sets the ShadowOpacity field's value. +func (s *DvbSubDestinationSettings) SetShadowOpacity(v int64) *DvbSubDestinationSettings { + s.ShadowOpacity = &v + return s +} + +// SetShadowXOffset sets the ShadowXOffset field's value. +func (s *DvbSubDestinationSettings) SetShadowXOffset(v int64) *DvbSubDestinationSettings { + s.ShadowXOffset = &v + return s +} + +// SetShadowYOffset sets the ShadowYOffset field's value. +func (s *DvbSubDestinationSettings) SetShadowYOffset(v int64) *DvbSubDestinationSettings { + s.ShadowYOffset = &v + return s +} + +// SetTeletextSpacing sets the TeletextSpacing field's value. +func (s *DvbSubDestinationSettings) SetTeletextSpacing(v string) *DvbSubDestinationSettings { + s.TeletextSpacing = &v + return s +} + +// SetXPosition sets the XPosition field's value. +func (s *DvbSubDestinationSettings) SetXPosition(v int64) *DvbSubDestinationSettings { + s.XPosition = &v + return s +} + +// SetYPosition sets the YPosition field's value. +func (s *DvbSubDestinationSettings) SetYPosition(v int64) *DvbSubDestinationSettings { + s.YPosition = &v + return s +} + +// DVB Sub Source Settings +type DvbSubSourceSettings struct { + _ struct{} `type:"structure"` + + // When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source + // content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through, + // regardless of selectors. + Pid *int64 `locationName:"pid" min:"1" type:"integer"` +} + +// String returns the string representation +func (s DvbSubSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DvbSubSourceSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbSubSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSubSourceSettings"} + if s.Pid != nil && *s.Pid < 1 { + invalidParams.Add(request.NewErrParamMinValue("Pid", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPid sets the Pid field's value. +func (s *DvbSubSourceSettings) SetPid(v int64) *DvbSubSourceSettings { + s.Pid = &v + return s +} + +// Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. +type DvbTdtSettings struct { + _ struct{} `type:"structure"` + + // The number of milliseconds between instances of this table in the output + // transport stream. + TdtInterval *int64 `locationName:"tdtInterval" min:"1000" type:"integer"` +} + +// String returns the string representation +func (s DvbTdtSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DvbTdtSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbTdtSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbTdtSettings"} + if s.TdtInterval != nil && *s.TdtInterval < 1000 { + invalidParams.Add(request.NewErrParamMinValue("TdtInterval", 1000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTdtInterval sets the TdtInterval field's value. +func (s *DvbTdtSettings) SetTdtInterval(v int64) *DvbTdtSettings { + s.TdtInterval = &v + return s +} + +// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to +// the value EAC3. +type Eac3Settings struct { + _ struct{} `type:"structure"` + + // If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. + // Only used for 3/2 coding mode. + AttenuationControl *string `locationName:"attenuationControl" type:"string" enum:"Eac3AttenuationControl"` + + // Average bitrate in bits/second. Valid bitrates depend on the coding mode. + Bitrate *int64 `locationName:"bitrate" min:"64000" type:"integer"` + + // Specifies the "Bitstream Mode" (bsmod) for the emitted E-AC-3 stream. See + // ATSC A/52-2012 (Annex E) for background on these values. + BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Eac3BitstreamMode"` + + // Dolby Digital Plus coding mode. Determines number of channels. + CodingMode *string `locationName:"codingMode" type:"string" enum:"Eac3CodingMode"` + + // Activates a DC highpass filter for all input channels. + DcFilter *string `locationName:"dcFilter" type:"string" enum:"Eac3DcFilter"` + + // Sets the dialnorm for the output. If blank and input audio is Dolby Digital + // Plus, dialnorm will be passed through. + Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` + + // Enables Dynamic Range Compression that restricts the absolute peak level + // for a signal. + DynamicRangeCompressionLine *string `locationName:"dynamicRangeCompressionLine" type:"string" enum:"Eac3DynamicRangeCompressionLine"` + + // Enables Heavy Dynamic Range Compression, ensures that the instantaneous signal + // peaks do not exceed specified levels. + DynamicRangeCompressionRf *string `locationName:"dynamicRangeCompressionRf" type:"string" enum:"Eac3DynamicRangeCompressionRf"` + + // When encoding 3/2 audio, controls whether the LFE channel is enabled + LfeControl *string `locationName:"lfeControl" type:"string" enum:"Eac3LfeControl"` + + // Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only + // valid with 3_2_LFE coding mode. + LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Eac3LfeFilter"` + + // Left only/Right only center mix level. Only used for 3/2 coding mode.Valid + // values: 3.0, 1.5, 0.0, -1.5 -3.0 -4.5 -6.0 -60 + LoRoCenterMixLevel *float64 `locationName:"loRoCenterMixLevel" type:"double"` + + // Left only/Right only surround mix level. Only used for 3/2 coding mode.Valid + // values: -1.5 -3.0 -4.5 -6.0 -60 + LoRoSurroundMixLevel *float64 `locationName:"loRoSurroundMixLevel" type:"double"` + + // Left total/Right total center mix level. Only used for 3/2 coding mode.Valid + // values: 3.0, 1.5, 0.0, -1.5 -3.0 -4.5 -6.0 -60 + LtRtCenterMixLevel *float64 `locationName:"ltRtCenterMixLevel" type:"double"` + + // Left total/Right total surround mix level. Only used for 3/2 coding mode.Valid + // values: -1.5 -3.0 -4.5 -6.0 -60 + LtRtSurroundMixLevel *float64 `locationName:"ltRtSurroundMixLevel" type:"double"` + + // When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, + // or DolbyE decoder that supplied this audio data. If audio was not supplied + // from one of these streams, then the static metadata settings will be used. + MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Eac3MetadataControl"` + + // When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is + // present on the input. this detection is dynamic over the life of the transcode. + // Inputs that alternate between DD+ and non-DD+ content will have a consistent + // DD+ output as the system alternates between passthrough and encoding. + PassthroughControl *string `locationName:"passthroughControl" type:"string" enum:"Eac3PassthroughControl"` + + // Controls the amount of phase-shift applied to the surround channels. Only + // used for 3/2 coding mode. + PhaseControl *string `locationName:"phaseControl" type:"string" enum:"Eac3PhaseControl"` + + // Sample rate in hz. Sample rate is always 48000. + SampleRate *int64 `locationName:"sampleRate" min:"48000" type:"integer"` + + // Stereo downmix preference. Only used for 3/2 coding mode. + StereoDownmix *string `locationName:"stereoDownmix" type:"string" enum:"Eac3StereoDownmix"` + + // When encoding 3/2 audio, sets whether an extra center back surround channel + // is matrix encoded into the left and right surround channels. + SurroundExMode *string `locationName:"surroundExMode" type:"string" enum:"Eac3SurroundExMode"` + + // When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into + // the two channels. + SurroundMode *string `locationName:"surroundMode" type:"string" enum:"Eac3SurroundMode"` +} + +// String returns the string representation +func (s Eac3Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Eac3Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Eac3Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Eac3Settings"} + if s.Bitrate != nil && *s.Bitrate < 64000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 64000)) + } + if s.Dialnorm != nil && *s.Dialnorm < 1 { + invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) + } + if s.SampleRate != nil && *s.SampleRate < 48000 { + invalidParams.Add(request.NewErrParamMinValue("SampleRate", 48000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttenuationControl sets the AttenuationControl field's value. +func (s *Eac3Settings) SetAttenuationControl(v string) *Eac3Settings { + s.AttenuationControl = &v + return s +} + +// SetBitrate sets the Bitrate field's value. +func (s *Eac3Settings) SetBitrate(v int64) *Eac3Settings { + s.Bitrate = &v + return s +} + +// SetBitstreamMode sets the BitstreamMode field's value. +func (s *Eac3Settings) SetBitstreamMode(v string) *Eac3Settings { + s.BitstreamMode = &v + return s +} + +// SetCodingMode sets the CodingMode field's value. +func (s *Eac3Settings) SetCodingMode(v string) *Eac3Settings { + s.CodingMode = &v + return s +} + +// SetDcFilter sets the DcFilter field's value. +func (s *Eac3Settings) SetDcFilter(v string) *Eac3Settings { + s.DcFilter = &v + return s +} + +// SetDialnorm sets the Dialnorm field's value. +func (s *Eac3Settings) SetDialnorm(v int64) *Eac3Settings { + s.Dialnorm = &v + return s +} + +// SetDynamicRangeCompressionLine sets the DynamicRangeCompressionLine field's value. +func (s *Eac3Settings) SetDynamicRangeCompressionLine(v string) *Eac3Settings { + s.DynamicRangeCompressionLine = &v + return s +} + +// SetDynamicRangeCompressionRf sets the DynamicRangeCompressionRf field's value. +func (s *Eac3Settings) SetDynamicRangeCompressionRf(v string) *Eac3Settings { + s.DynamicRangeCompressionRf = &v + return s +} + +// SetLfeControl sets the LfeControl field's value. +func (s *Eac3Settings) SetLfeControl(v string) *Eac3Settings { + s.LfeControl = &v + return s +} + +// SetLfeFilter sets the LfeFilter field's value. +func (s *Eac3Settings) SetLfeFilter(v string) *Eac3Settings { + s.LfeFilter = &v + return s +} + +// SetLoRoCenterMixLevel sets the LoRoCenterMixLevel field's value. +func (s *Eac3Settings) SetLoRoCenterMixLevel(v float64) *Eac3Settings { + s.LoRoCenterMixLevel = &v + return s +} + +// SetLoRoSurroundMixLevel sets the LoRoSurroundMixLevel field's value. +func (s *Eac3Settings) SetLoRoSurroundMixLevel(v float64) *Eac3Settings { + s.LoRoSurroundMixLevel = &v + return s +} + +// SetLtRtCenterMixLevel sets the LtRtCenterMixLevel field's value. +func (s *Eac3Settings) SetLtRtCenterMixLevel(v float64) *Eac3Settings { + s.LtRtCenterMixLevel = &v + return s +} + +// SetLtRtSurroundMixLevel sets the LtRtSurroundMixLevel field's value. +func (s *Eac3Settings) SetLtRtSurroundMixLevel(v float64) *Eac3Settings { + s.LtRtSurroundMixLevel = &v + return s +} + +// SetMetadataControl sets the MetadataControl field's value. +func (s *Eac3Settings) SetMetadataControl(v string) *Eac3Settings { + s.MetadataControl = &v + return s +} + +// SetPassthroughControl sets the PassthroughControl field's value. +func (s *Eac3Settings) SetPassthroughControl(v string) *Eac3Settings { + s.PassthroughControl = &v + return s +} + +// SetPhaseControl sets the PhaseControl field's value. +func (s *Eac3Settings) SetPhaseControl(v string) *Eac3Settings { + s.PhaseControl = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *Eac3Settings) SetSampleRate(v int64) *Eac3Settings { + s.SampleRate = &v + return s +} + +// SetStereoDownmix sets the StereoDownmix field's value. +func (s *Eac3Settings) SetStereoDownmix(v string) *Eac3Settings { + s.StereoDownmix = &v + return s +} + +// SetSurroundExMode sets the SurroundExMode field's value. +func (s *Eac3Settings) SetSurroundExMode(v string) *Eac3Settings { + s.SurroundExMode = &v + return s +} + +// SetSurroundMode sets the SurroundMode field's value. +func (s *Eac3Settings) SetSurroundMode(v string) *Eac3Settings { + s.SurroundMode = &v + return s +} + +// Settings specific to embedded/ancillary caption outputs, including 608/708 +// Channel destination number. +type EmbeddedDestinationSettings struct { + _ struct{} `type:"structure"` + + // Ignore this setting unless your input captions are SCC format and your output + // container is MXF. With this combination of input captions format and output + // container, you can optionally use this setting to replace the input channel + // number with the track number that you specify. Specify a different number + // for each output captions track. If you don't specify an output track number, + // the system uses the input channel number for the output channel number. This + // setting applies to each output individually. You can optionally combine two + // captions channels in your output. The two output channel numbers can be one + // of the following pairs: 1,3; 2,4; 1,4; or 2,3. + Destination608ChannelNumber *int64 `locationName:"destination608ChannelNumber" min:"1" type:"integer"` +} + +// String returns the string representation +func (s EmbeddedDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmbeddedDestinationSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EmbeddedDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EmbeddedDestinationSettings"} + if s.Destination608ChannelNumber != nil && *s.Destination608ChannelNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("Destination608ChannelNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestination608ChannelNumber sets the Destination608ChannelNumber field's value. +func (s *EmbeddedDestinationSettings) SetDestination608ChannelNumber(v int64) *EmbeddedDestinationSettings { + s.Destination608ChannelNumber = &v + return s +} + +// Settings for embedded captions Source +type EmbeddedSourceSettings struct { + _ struct{} `type:"structure"` + + // When set to UPCONVERT, 608 data is both passed through via the "608 compatibility + // bytes" fields of the 708 wrapper as well as translated into 708. 708 data + // present in the source content will be discarded. + Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"EmbeddedConvert608To708"` + + // Specifies the 608/708 channel number within the video track from which to + // extract captions. Unused for passthrough. + Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"` + + // Specifies the video track index used for extracting captions. The system + // only supports one input video track, so this should always be set to '1'. + Source608TrackNumber *int64 `locationName:"source608TrackNumber" min:"1" type:"integer"` +} + +// String returns the string representation +func (s EmbeddedSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmbeddedSourceSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EmbeddedSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EmbeddedSourceSettings"} + if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1)) + } + if s.Source608TrackNumber != nil && *s.Source608TrackNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("Source608TrackNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConvert608To708 sets the Convert608To708 field's value. +func (s *EmbeddedSourceSettings) SetConvert608To708(v string) *EmbeddedSourceSettings { + s.Convert608To708 = &v + return s +} + +// SetSource608ChannelNumber sets the Source608ChannelNumber field's value. +func (s *EmbeddedSourceSettings) SetSource608ChannelNumber(v int64) *EmbeddedSourceSettings { + s.Source608ChannelNumber = &v + return s +} + +// SetSource608TrackNumber sets the Source608TrackNumber field's value. +func (s *EmbeddedSourceSettings) SetSource608TrackNumber(v int64) *EmbeddedSourceSettings { + s.Source608TrackNumber = &v + return s +} + +// Describes an account-specific API endpoint. +type Endpoint struct { + _ struct{} `type:"structure"` + + // URL of endpoint + Url *string `locationName:"url" type:"string"` +} + +// String returns the string representation +func (s Endpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Endpoint) GoString() string { + return s.String() +} + +// SetUrl sets the Url field's value. +func (s *Endpoint) SetUrl(v string) *Endpoint { + s.Url = &v + return s +} + +// ESAM ManifestConfirmConditionNotification defined by OC-SP-ESAM-API-I03-131025. +type EsamManifestConfirmConditionNotification struct { + _ struct{} `type:"structure"` + + // Provide your ESAM ManifestConfirmConditionNotification XML document inside + // your JSON job settings. Form the XML document as per OC-SP-ESAM-API-I03-131025. + // The transcoder will use the Manifest Conditioning instructions in the message + // that you supply. + MccXml *string `locationName:"mccXml" type:"string"` +} + +// String returns the string representation +func (s EsamManifestConfirmConditionNotification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EsamManifestConfirmConditionNotification) GoString() string { + return s.String() +} + +// SetMccXml sets the MccXml field's value. +func (s *EsamManifestConfirmConditionNotification) SetMccXml(v string) *EsamManifestConfirmConditionNotification { + s.MccXml = &v + return s +} + +// Settings for Event Signaling And Messaging (ESAM). If you don't do ad insertion, +// you can ignore these settings. +type EsamSettings struct { + _ struct{} `type:"structure"` + + // Specifies an ESAM ManifestConfirmConditionNotification XML as per OC-SP-ESAM-API-I03-131025. + // The transcoder uses the manifest conditioning instructions that you provide + // in the setting MCC XML (mccXml). + ManifestConfirmConditionNotification *EsamManifestConfirmConditionNotification `locationName:"manifestConfirmConditionNotification" type:"structure"` + + // Specifies the stream distance, in milliseconds, between the SCTE 35 messages + // that the transcoder places and the splice points that they refer to. If the + // time between the start of the asset and the SCTE-35 message is less than + // this value, then the transcoder places the SCTE-35 marker at the beginning + // of the stream. + ResponseSignalPreroll *int64 `locationName:"responseSignalPreroll" type:"integer"` + + // Specifies an ESAM SignalProcessingNotification XML as per OC-SP-ESAM-API-I03-131025. + // The transcoder uses the signal processing instructions that you provide in + // the setting SCC XML (sccXml). + SignalProcessingNotification *EsamSignalProcessingNotification `locationName:"signalProcessingNotification" type:"structure"` +} + +// String returns the string representation +func (s EsamSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EsamSettings) GoString() string { + return s.String() +} + +// SetManifestConfirmConditionNotification sets the ManifestConfirmConditionNotification field's value. +func (s *EsamSettings) SetManifestConfirmConditionNotification(v *EsamManifestConfirmConditionNotification) *EsamSettings { + s.ManifestConfirmConditionNotification = v + return s +} + +// SetResponseSignalPreroll sets the ResponseSignalPreroll field's value. +func (s *EsamSettings) SetResponseSignalPreroll(v int64) *EsamSettings { + s.ResponseSignalPreroll = &v + return s +} + +// SetSignalProcessingNotification sets the SignalProcessingNotification field's value. +func (s *EsamSettings) SetSignalProcessingNotification(v *EsamSignalProcessingNotification) *EsamSettings { + s.SignalProcessingNotification = v + return s +} + +// ESAM SignalProcessingNotification data defined by OC-SP-ESAM-API-I03-131025. +type EsamSignalProcessingNotification struct { + _ struct{} `type:"structure"` + + // Provide your ESAM SignalProcessingNotification XML document inside your JSON + // job settings. Form the XML document as per OC-SP-ESAM-API-I03-131025. The + // transcoder will use the signal processing instructions in the message that + // you supply. Provide your ESAM SignalProcessingNotification XML document inside + // your JSON job settings. If you want the service to place SCTE-35 markers + // at the insertion points you specify in the XML document, you must also enable + // SCTE-35 ESAM (scte35Esam). Note that you can either specify an ESAM XML document + // or enable SCTE-35 passthrough. You can't do both. + SccXml *string `locationName:"sccXml" type:"string"` +} + +// String returns the string representation +func (s EsamSignalProcessingNotification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EsamSignalProcessingNotification) GoString() string { + return s.String() +} + +// SetSccXml sets the SccXml field's value. +func (s *EsamSignalProcessingNotification) SetSccXml(v string) *EsamSignalProcessingNotification { + s.SccXml = &v + return s +} + +// Settings for F4v container +type F4vSettings struct { + _ struct{} `type:"structure"` + + // If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning + // of the archive as required for progressive downloading. Otherwise it is placed + // normally at the end. + MoovPlacement *string `locationName:"moovPlacement" type:"string" enum:"F4vMoovPlacement"` +} + +// String returns the string representation +func (s F4vSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s F4vSettings) GoString() string { + return s.String() +} + +// SetMoovPlacement sets the MoovPlacement field's value. +func (s *F4vSettings) SetMoovPlacement(v string) *F4vSettings { + s.MoovPlacement = &v + return s +} + +// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to +// FILE_GROUP_SETTINGS. +type FileGroupSettings struct { + _ struct{} `type:"structure"` + + // Use Destination (Destination) to specify the S3 output location and the output + // filename base. Destination accepts format identifiers. If you do not specify + // the base filename in the URI, the service will use the filename of the input + // file. If your job has multiple inputs, the service uses the filename of the + // first input file. + Destination *string `locationName:"destination" type:"string"` +} + +// String returns the string representation +func (s FileGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FileGroupSettings) GoString() string { + return s.String() +} + +// SetDestination sets the Destination field's value. +func (s *FileGroupSettings) SetDestination(v string) *FileGroupSettings { + s.Destination = &v + return s +} + +// Settings for File-based Captions in Source +type FileSourceSettings struct { + _ struct{} `type:"structure"` + + // If set to UPCONVERT, 608 caption data is both passed through via the "608 + // compatibility bytes" fields of the 708 wrapper as well as translated into + // 708. 708 data present in the source content will be discarded. + Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"FileSourceConvert608To708"` + + // External caption file used for loading captions. Accepted file extensions + // are 'scc', 'ttml', 'dfxp', 'stl', 'srt', and 'smi'. + SourceFile *string `locationName:"sourceFile" min:"14" type:"string"` + + // Specifies a time delta in seconds to offset the captions from the source + // file. + TimeDelta *int64 `locationName:"timeDelta" type:"integer"` +} + +// String returns the string representation +func (s FileSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FileSourceSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FileSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FileSourceSettings"} + if s.SourceFile != nil && len(*s.SourceFile) < 14 { + invalidParams.Add(request.NewErrParamMinLen("SourceFile", 14)) + } + if s.TimeDelta != nil && *s.TimeDelta < -2.147483648e+09 { + invalidParams.Add(request.NewErrParamMinValue("TimeDelta", -2.147483648e+09)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConvert608To708 sets the Convert608To708 field's value. +func (s *FileSourceSettings) SetConvert608To708(v string) *FileSourceSettings { + s.Convert608To708 = &v + return s +} + +// SetSourceFile sets the SourceFile field's value. +func (s *FileSourceSettings) SetSourceFile(v string) *FileSourceSettings { + s.SourceFile = &v + return s +} + +// SetTimeDelta sets the TimeDelta field's value. +func (s *FileSourceSettings) SetTimeDelta(v int64) *FileSourceSettings { + s.TimeDelta = &v + return s +} + +// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to +// the value FRAME_CAPTURE. +type FrameCaptureSettings struct { + _ struct{} `type:"structure"` + + // Frame capture will encode the first frame of the output stream, then one + // frame every framerateDenominator/framerateNumerator seconds. For example, + // settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of + // 1/3 frame per second) will capture the first frame, then 1 frame every 3s. + // Files will be named as filename.n.jpg where n is the 0-based sequence number + // of each Capture. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` + + // Frame capture will encode the first frame of the output stream, then one + // frame every framerateDenominator/framerateNumerator seconds. For example, + // settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of + // 1/3 frame per second) will capture the first frame, then 1 frame every 3s. + // Files will be named as filename.NNNNNNN.jpg where N is the 0-based frame + // sequence number zero padded to 7 decimal places. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` + + // Maximum number of captures (encoded jpg output files). + MaxCaptures *int64 `locationName:"maxCaptures" min:"1" type:"integer"` + + // JPEG Quality - a higher value equals higher quality. + Quality *int64 `locationName:"quality" min:"1" type:"integer"` +} + +// String returns the string representation +func (s FrameCaptureSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FrameCaptureSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FrameCaptureSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FrameCaptureSettings"} + if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) + } + if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + } + if s.MaxCaptures != nil && *s.MaxCaptures < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxCaptures", 1)) + } + if s.Quality != nil && *s.Quality < 1 { + invalidParams.Add(request.NewErrParamMinValue("Quality", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *FrameCaptureSettings) SetFramerateDenominator(v int64) *FrameCaptureSettings { + s.FramerateDenominator = &v + return s +} + +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *FrameCaptureSettings) SetFramerateNumerator(v int64) *FrameCaptureSettings { + s.FramerateNumerator = &v + return s +} + +// SetMaxCaptures sets the MaxCaptures field's value. +func (s *FrameCaptureSettings) SetMaxCaptures(v int64) *FrameCaptureSettings { + s.MaxCaptures = &v + return s +} + +// SetQuality sets the Quality field's value. +func (s *FrameCaptureSettings) SetQuality(v int64) *FrameCaptureSettings { + s.Quality = &v + return s +} + +// Query a job by sending a request with the job ID. +type GetJobInput struct { + _ struct{} `type:"structure"` + + // the job ID of the job. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJobInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetJobInput) SetId(v string) *GetJobInput { + s.Id = &v + return s +} + +// Successful get job requests will return an OK message and the job JSON. +type GetJobOutput struct { + _ struct{} `type:"structure"` + + // Each job converts an input file into an output file or files. For more information, + // see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html + Job *Job `locationName:"job" type:"structure"` +} + +// String returns the string representation +func (s GetJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobOutput) GoString() string { + return s.String() +} + +// SetJob sets the Job field's value. +func (s *GetJobOutput) SetJob(v *Job) *GetJobOutput { + s.Job = v + return s +} + +// Query a job template by sending a request with the job template name. +type GetJobTemplateInput struct { + _ struct{} `type:"structure"` + + // The name of the job template. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetJobTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetJobTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJobTemplateInput"} + 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 *GetJobTemplateInput) SetName(v string) *GetJobTemplateInput { + s.Name = &v + return s +} + +// Successful get job template requests will return an OK message and the job +// template JSON. +type GetJobTemplateOutput struct { + _ struct{} `type:"structure"` + + // A job template is a pre-made set of encoding instructions that you can use + // to quickly create a job. + JobTemplate *JobTemplate `locationName:"jobTemplate" type:"structure"` +} + +// String returns the string representation +func (s GetJobTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobTemplateOutput) GoString() string { + return s.String() +} + +// SetJobTemplate sets the JobTemplate field's value. +func (s *GetJobTemplateOutput) SetJobTemplate(v *JobTemplate) *GetJobTemplateOutput { + s.JobTemplate = v + return s +} + +// Query a preset by sending a request with the preset name. +type GetPresetInput struct { + _ struct{} `type:"structure"` + + // The name of the preset. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetPresetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPresetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPresetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPresetInput"} + 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 *GetPresetInput) SetName(v string) *GetPresetInput { + s.Name = &v + return s +} + +// Successful get preset requests will return an OK message and the preset JSON. +type GetPresetOutput struct { + _ struct{} `type:"structure"` + + // A preset is a collection of preconfigured media conversion settings that + // you want MediaConvert to apply to the output during the conversion process. + Preset *Preset `locationName:"preset" type:"structure"` +} + +// String returns the string representation +func (s GetPresetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPresetOutput) GoString() string { + return s.String() +} + +// SetPreset sets the Preset field's value. +func (s *GetPresetOutput) SetPreset(v *Preset) *GetPresetOutput { + s.Preset = v + return s +} + +// Get information about a queue by sending a request with the queue name. +type GetQueueInput struct { + _ struct{} `type:"structure"` + + // The name of the queue that you want information about. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetQueueInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetQueueInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetQueueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetQueueInput"} + 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 *GetQueueInput) SetName(v string) *GetQueueInput { + s.Name = &v + return s +} + +// Successful get queue requests return an OK message and information about +// the queue in JSON. +type GetQueueOutput struct { + _ struct{} `type:"structure"` + + // You can use queues to manage the resources that are available to your AWS + // account for running multiple transcoding jobs at the same time. If you don't + // specify a queue, the service sends all jobs through the default queue. For + // more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html. + Queue *Queue `locationName:"queue" type:"structure"` +} + +// String returns the string representation +func (s GetQueueOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetQueueOutput) GoString() string { + return s.String() +} + +// SetQueue sets the Queue field's value. +func (s *GetQueueOutput) SetQueue(v *Queue) *GetQueueOutput { + s.Queue = v + return s +} + +// Settings for quality-defined variable bitrate encoding with the H.264 codec. +// Required when you set Rate control mode to QVBR. Not valid when you set Rate +// control mode to a value other than QVBR, or when you don't define Rate control +// mode. +type H264QvbrSettings struct { + _ struct{} `type:"structure"` + + // Use this setting only when Rate control mode is QVBR and Quality tuning level + // is Multi-pass HQ. For Max average bitrate values suited to the complexity + // of your input video, the service limits the average bitrate of the video + // part of this output to the value you choose. That is, the total size of the + // video element is less than or equal to the value you set multiplied by the + // number of seconds of encoded output. + MaxAverageBitrate *int64 `locationName:"maxAverageBitrate" min:"1000" type:"integer"` + + // Required when you use QVBR rate control mode. That is, when you specify qvbrSettings + // within h264Settings. Specify the target quality level for this output, from + // 1 to 10. Use higher numbers for greater quality. Level 10 results in nearly + // lossless compression. The quality level for most broadcast-quality transcodes + // is between 6 and 9. + QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer"` +} + +// String returns the string representation +func (s H264QvbrSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s H264QvbrSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *H264QvbrSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "H264QvbrSettings"} + if s.MaxAverageBitrate != nil && *s.MaxAverageBitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaxAverageBitrate", 1000)) + } + if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 { + invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxAverageBitrate sets the MaxAverageBitrate field's value. +func (s *H264QvbrSettings) SetMaxAverageBitrate(v int64) *H264QvbrSettings { + s.MaxAverageBitrate = &v + return s +} + +// SetQvbrQualityLevel sets the QvbrQualityLevel field's value. +func (s *H264QvbrSettings) SetQvbrQualityLevel(v int64) *H264QvbrSettings { + s.QvbrQualityLevel = &v + return s +} + +// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to +// the value H_264. +type H264Settings struct { + _ struct{} `type:"structure"` + + // Adaptive quantization. Allows intra-frame quantizers to vary to improve visual + // quality. + AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H264AdaptiveQuantization"` + + // Average bitrate in bits/second. Required for VBR and CBR. For MS Smooth outputs, + // bitrates must be unique when rounded down to the nearest multiple of 1000. + Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"` + + // Specify an H.264 level that is consistent with your output video settings. + // If you aren't sure what level to specify, choose Auto (AUTO). + CodecLevel *string `locationName:"codecLevel" type:"string" enum:"H264CodecLevel"` + + // H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the + // AVC-I License. + CodecProfile *string `locationName:"codecProfile" type:"string" enum:"H264CodecProfile"` + + // Choose Adaptive to improve subjective video quality for high-motion content. + // This will cause the service to use fewer B-frames (which infer information + // based on other frames) for high-motion portions of the video and more B-frames + // for low-motion portions. The maximum number of B-frames is limited by the + // value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames). + DynamicSubGop *string `locationName:"dynamicSubGop" type:"string" enum:"H264DynamicSubGop"` + + // Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC. + EntropyEncoding *string `locationName:"entropyEncoding" type:"string" enum:"H264EntropyEncoding"` + + // Choosing FORCE_FIELD disables PAFF encoding for interlaced outputs. + FieldEncoding *string `locationName:"fieldEncoding" type:"string" enum:"H264FieldEncoding"` + + // Adjust quantization within each frame to reduce flicker or 'pop' on I-frames. + FlickerAdaptiveQuantization *string `locationName:"flickerAdaptiveQuantization" type:"string" enum:"H264FlickerAdaptiveQuantization"` + + // If you are using the console, use the Framerate setting to specify the frame + // rate for this output. If you want to keep the same frame rate as the input + // video, choose Follow source. If you want to do frame rate conversion, choose + // a frame rate from the dropdown list or choose Custom. The framerates shown + // in the dropdown list are decimal approximations of fractions. If you choose + // Custom, specify your frame rate as a fraction. If you are creating your transcoding + // job specification as a JSON file without the console, use FramerateControl + // to specify which value the service uses for the frame rate for this output. + // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate + // from the input. Choose SPECIFIED if you want the service to use the frame + // rate you specify in the settings FramerateNumerator and FramerateDenominator. + FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H264FramerateControl"` + + // When set to INTERPOLATE, produces smoother motion during frame rate conversion. + FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"H264FramerateConversionAlgorithm"` + + // When you use the API for transcode jobs that use frame rate conversion, specify + // the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use + // FramerateDenominator to specify the denominator of this fraction. In this + // example, use 1001 for the value of FramerateDenominator. When you use the + // console for transcode jobs that use frame rate conversion, provide the value + // as a decimal number for Framerate. In this example, specify 23.976. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` + + // Frame rate numerator - frame rate is a fraction, e.g. 24000 / 1001 = 23.976 + // fps. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` + + // If enable, use reference B frames for GOP structures that have B frames > + // 1. + GopBReference *string `locationName:"gopBReference" type:"string" enum:"H264GopBReference"` + + // Frequency of closed GOPs. In streaming applications, it is recommended that + // this be set to 1 so a decoder joining mid-stream will receive an IDR frame + // as quickly as possible. Setting this value to 0 will break output segmenting. + GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"` + + // GOP Length (keyframe interval) in frames or seconds. Must be greater than + // zero. + GopSize *float64 `locationName:"gopSize" type:"double"` + + // Indicates if the GOP Size in H264 is specified in frames or seconds. If seconds + // the system will convert the GOP Size into a frame count at run time. + GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H264GopSizeUnits"` + + // Percentage of the buffer that should initially be filled (HRD buffer model). + HrdBufferInitialFillPercentage *int64 `locationName:"hrdBufferInitialFillPercentage" type:"integer"` + + // Size of buffer (HRD buffer model) in bits. For example, enter five megabits + // as 5000000. + HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"` + + // Use Interlace mode (InterlaceMode) to choose the scan line type for the output. + // * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce + // interlaced output with the entire output having the same field polarity (top + // or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default + // Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, + // behavior depends on the input scan type, as follows. - If the source is interlaced, + // the output will be interlaced with the same polarity as the source (it will + // follow the source). The output could therefore be a mix of "top field first" + // and "bottom field first". - If the source is progressive, the output will + // be interlaced with "top field first" or "bottom field first" polarity, depending + // on which of the Follow options you chose. + InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"H264InterlaceMode"` + + // Maximum bitrate in bits/second. For example, enter five megabits per second + // as 5000000. Required when Rate control mode is QVBR. + MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"` + + // Enforces separation between repeated (cadence) I-frames and I-frames inserted + // by Scene Change Detection. If a scene change I-frame is within I-interval + // frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene + // change I-frame. GOP stretch requires enabling lookahead as well as setting + // I-interval. The normal cadence resumes for the next GOP. This setting is + // only used when Scene Change Detect is enabled. Note: Maximum GOP stretch + // = GOP size + Min-I-interval - 1 + MinIInterval *int64 `locationName:"minIInterval" type:"integer"` + + // Number of B-frames between reference frames. + NumberBFramesBetweenReferenceFrames *int64 `locationName:"numberBFramesBetweenReferenceFrames" type:"integer"` + + // Number of reference frames to use. The encoder may use more than requested + // if using B-frames and/or interlaced encoding. + NumberReferenceFrames *int64 `locationName:"numberReferenceFrames" min:"1" type:"integer"` + + // Using the API, enable ParFollowSource if you want the service to use the + // pixel aspect ratio from the input. Using the console, do this by choosing + // Follow source for Pixel aspect ratio. + ParControl *string `locationName:"parControl" type:"string" enum:"H264ParControl"` + + // Pixel Aspect Ratio denominator. + ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` + + // Pixel Aspect Ratio numerator. + ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` + + // Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to + // use fast single-pass, high-quality singlepass, or high-quality multipass + // video encoding. + QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"H264QualityTuningLevel"` + + // Settings for quality-defined variable bitrate encoding with the H.264 codec. + // Required when you set Rate control mode to QVBR. Not valid when you set Rate + // control mode to a value other than QVBR, or when you don't define Rate control + // mode. + QvbrSettings *H264QvbrSettings `locationName:"qvbrSettings" type:"structure"` + + // Use this setting to specify whether this output has a variable bitrate (VBR), + // constant bitrate (CBR) or quality-defined variable bitrate (QVBR). + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H264RateControlMode"` + + // Places a PPS header on each encoded picture, even if repeated. + RepeatPps *string `locationName:"repeatPps" type:"string" enum:"H264RepeatPps"` + + // Scene change detection (inserts I-frames on scene changes). + SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H264SceneChangeDetect"` + + // Number of slices per picture. Must be less than or equal to the number of + // macroblock rows for progressive pictures, and less than or equal to half + // the number of macroblock rows for interlaced pictures. + Slices *int64 `locationName:"slices" min:"1" type:"integer"` + + // Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled + // as 25fps, and audio is sped up correspondingly. + SlowPal *string `locationName:"slowPal" type:"string" enum:"H264SlowPal"` + + // Softness. Selects quantizer matrix, larger values reduce high-frequency content + // in the encoded image. + Softness *int64 `locationName:"softness" type:"integer"` + + // Adjust quantization within each frame based on spatial variation of content + // complexity. + SpatialAdaptiveQuantization *string `locationName:"spatialAdaptiveQuantization" type:"string" enum:"H264SpatialAdaptiveQuantization"` + + // Produces a bitstream compliant with SMPTE RP-2027. + Syntax *string `locationName:"syntax" type:"string" enum:"H264Syntax"` + + // This field applies only if the Streams > Advanced > Framerate (framerate) + // field is set to 29.970. This field works with the Streams > Advanced > Preprocessors + // > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced + // Mode field (interlace_mode) to identify the scan type for the output: Progressive, + // Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output + // from 23.976 input. - Soft: produces 23.976; the player converts this output + // to 29.97i. + Telecine *string `locationName:"telecine" type:"string" enum:"H264Telecine"` + + // Adjust quantization within each frame based on temporal variation of content + // complexity. + TemporalAdaptiveQuantization *string `locationName:"temporalAdaptiveQuantization" type:"string" enum:"H264TemporalAdaptiveQuantization"` + + // Inserts timecode for each frame as 4 bytes of an unregistered SEI message. + UnregisteredSeiTimecode *string `locationName:"unregisteredSeiTimecode" type:"string" enum:"H264UnregisteredSeiTimecode"` +} + +// String returns the string representation +func (s H264Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s H264Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *H264Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "H264Settings"} + if s.Bitrate != nil && *s.Bitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000)) + } + if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) + } + if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + } + if s.MaxBitrate != nil && *s.MaxBitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000)) + } + if s.NumberReferenceFrames != nil && *s.NumberReferenceFrames < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumberReferenceFrames", 1)) + } + if s.ParDenominator != nil && *s.ParDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + } + if s.ParNumerator != nil && *s.ParNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1)) + } + if s.Slices != nil && *s.Slices < 1 { + invalidParams.Add(request.NewErrParamMinValue("Slices", 1)) + } + if s.QvbrSettings != nil { + if err := s.QvbrSettings.Validate(); err != nil { + invalidParams.AddNested("QvbrSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdaptiveQuantization sets the AdaptiveQuantization field's value. +func (s *H264Settings) SetAdaptiveQuantization(v string) *H264Settings { + s.AdaptiveQuantization = &v + return s +} + +// SetBitrate sets the Bitrate field's value. +func (s *H264Settings) SetBitrate(v int64) *H264Settings { + s.Bitrate = &v + return s +} + +// SetCodecLevel sets the CodecLevel field's value. +func (s *H264Settings) SetCodecLevel(v string) *H264Settings { + s.CodecLevel = &v + return s +} + +// SetCodecProfile sets the CodecProfile field's value. +func (s *H264Settings) SetCodecProfile(v string) *H264Settings { + s.CodecProfile = &v + return s +} + +// SetDynamicSubGop sets the DynamicSubGop field's value. +func (s *H264Settings) SetDynamicSubGop(v string) *H264Settings { + s.DynamicSubGop = &v + return s +} + +// SetEntropyEncoding sets the EntropyEncoding field's value. +func (s *H264Settings) SetEntropyEncoding(v string) *H264Settings { + s.EntropyEncoding = &v + return s +} + +// SetFieldEncoding sets the FieldEncoding field's value. +func (s *H264Settings) SetFieldEncoding(v string) *H264Settings { + s.FieldEncoding = &v + return s +} + +// SetFlickerAdaptiveQuantization sets the FlickerAdaptiveQuantization field's value. +func (s *H264Settings) SetFlickerAdaptiveQuantization(v string) *H264Settings { + s.FlickerAdaptiveQuantization = &v + return s +} + +// SetFramerateControl sets the FramerateControl field's value. +func (s *H264Settings) SetFramerateControl(v string) *H264Settings { + s.FramerateControl = &v + return s +} + +// SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value. +func (s *H264Settings) SetFramerateConversionAlgorithm(v string) *H264Settings { + s.FramerateConversionAlgorithm = &v + return s +} + +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *H264Settings) SetFramerateDenominator(v int64) *H264Settings { + s.FramerateDenominator = &v + return s +} + +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *H264Settings) SetFramerateNumerator(v int64) *H264Settings { + s.FramerateNumerator = &v + return s +} + +// SetGopBReference sets the GopBReference field's value. +func (s *H264Settings) SetGopBReference(v string) *H264Settings { + s.GopBReference = &v + return s +} + +// SetGopClosedCadence sets the GopClosedCadence field's value. +func (s *H264Settings) SetGopClosedCadence(v int64) *H264Settings { + s.GopClosedCadence = &v + return s +} + +// SetGopSize sets the GopSize field's value. +func (s *H264Settings) SetGopSize(v float64) *H264Settings { + s.GopSize = &v + return s +} + +// SetGopSizeUnits sets the GopSizeUnits field's value. +func (s *H264Settings) SetGopSizeUnits(v string) *H264Settings { + s.GopSizeUnits = &v + return s +} + +// SetHrdBufferInitialFillPercentage sets the HrdBufferInitialFillPercentage field's value. +func (s *H264Settings) SetHrdBufferInitialFillPercentage(v int64) *H264Settings { + s.HrdBufferInitialFillPercentage = &v + return s +} + +// SetHrdBufferSize sets the HrdBufferSize field's value. +func (s *H264Settings) SetHrdBufferSize(v int64) *H264Settings { + s.HrdBufferSize = &v + return s +} + +// SetInterlaceMode sets the InterlaceMode field's value. +func (s *H264Settings) SetInterlaceMode(v string) *H264Settings { + s.InterlaceMode = &v + return s +} + +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *H264Settings) SetMaxBitrate(v int64) *H264Settings { + s.MaxBitrate = &v + return s +} + +// SetMinIInterval sets the MinIInterval field's value. +func (s *H264Settings) SetMinIInterval(v int64) *H264Settings { + s.MinIInterval = &v + return s +} + +// SetNumberBFramesBetweenReferenceFrames sets the NumberBFramesBetweenReferenceFrames field's value. +func (s *H264Settings) SetNumberBFramesBetweenReferenceFrames(v int64) *H264Settings { + s.NumberBFramesBetweenReferenceFrames = &v + return s +} + +// SetNumberReferenceFrames sets the NumberReferenceFrames field's value. +func (s *H264Settings) SetNumberReferenceFrames(v int64) *H264Settings { + s.NumberReferenceFrames = &v + return s +} + +// SetParControl sets the ParControl field's value. +func (s *H264Settings) SetParControl(v string) *H264Settings { + s.ParControl = &v + return s +} + +// SetParDenominator sets the ParDenominator field's value. +func (s *H264Settings) SetParDenominator(v int64) *H264Settings { + s.ParDenominator = &v + return s +} + +// SetParNumerator sets the ParNumerator field's value. +func (s *H264Settings) SetParNumerator(v int64) *H264Settings { + s.ParNumerator = &v + return s +} + +// SetQualityTuningLevel sets the QualityTuningLevel field's value. +func (s *H264Settings) SetQualityTuningLevel(v string) *H264Settings { + s.QualityTuningLevel = &v + return s +} + +// SetQvbrSettings sets the QvbrSettings field's value. +func (s *H264Settings) SetQvbrSettings(v *H264QvbrSettings) *H264Settings { + s.QvbrSettings = v + return s +} + +// SetRateControlMode sets the RateControlMode field's value. +func (s *H264Settings) SetRateControlMode(v string) *H264Settings { + s.RateControlMode = &v + return s +} + +// SetRepeatPps sets the RepeatPps field's value. +func (s *H264Settings) SetRepeatPps(v string) *H264Settings { + s.RepeatPps = &v + return s +} + +// SetSceneChangeDetect sets the SceneChangeDetect field's value. +func (s *H264Settings) SetSceneChangeDetect(v string) *H264Settings { + s.SceneChangeDetect = &v + return s +} + +// SetSlices sets the Slices field's value. +func (s *H264Settings) SetSlices(v int64) *H264Settings { + s.Slices = &v + return s +} + +// SetSlowPal sets the SlowPal field's value. +func (s *H264Settings) SetSlowPal(v string) *H264Settings { + s.SlowPal = &v + return s +} + +// SetSoftness sets the Softness field's value. +func (s *H264Settings) SetSoftness(v int64) *H264Settings { + s.Softness = &v + return s +} + +// SetSpatialAdaptiveQuantization sets the SpatialAdaptiveQuantization field's value. +func (s *H264Settings) SetSpatialAdaptiveQuantization(v string) *H264Settings { + s.SpatialAdaptiveQuantization = &v + return s +} + +// SetSyntax sets the Syntax field's value. +func (s *H264Settings) SetSyntax(v string) *H264Settings { + s.Syntax = &v + return s +} + +// SetTelecine sets the Telecine field's value. +func (s *H264Settings) SetTelecine(v string) *H264Settings { + s.Telecine = &v + return s +} + +// SetTemporalAdaptiveQuantization sets the TemporalAdaptiveQuantization field's value. +func (s *H264Settings) SetTemporalAdaptiveQuantization(v string) *H264Settings { + s.TemporalAdaptiveQuantization = &v + return s +} + +// SetUnregisteredSeiTimecode sets the UnregisteredSeiTimecode field's value. +func (s *H264Settings) SetUnregisteredSeiTimecode(v string) *H264Settings { + s.UnregisteredSeiTimecode = &v + return s +} + +// Settings for quality-defined variable bitrate encoding with the H.265 codec. +// Required when you set Rate control mode to QVBR. Not valid when you set Rate +// control mode to a value other than QVBR, or when you don't define Rate control +// mode. +type H265QvbrSettings struct { + _ struct{} `type:"structure"` + + // Use this setting only when Rate control mode is QVBR and Quality tuning level + // is Multi-pass HQ. For Max average bitrate values suited to the complexity + // of your input video, the service limits the average bitrate of the video + // part of this output to the value you choose. That is, the total size of the + // video element is less than or equal to the value you set multiplied by the + // number of seconds of encoded output. + MaxAverageBitrate *int64 `locationName:"maxAverageBitrate" min:"1000" type:"integer"` + + // Required when you use QVBR rate control mode. That is, when you specify qvbrSettings + // within h265Settings. Specify the target quality level for this output, from + // 1 to 10. Use higher numbers for greater quality. Level 10 results in nearly + // lossless compression. The quality level for most broadcast-quality transcodes + // is between 6 and 9. + QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer"` +} + +// String returns the string representation +func (s H265QvbrSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s H265QvbrSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *H265QvbrSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "H265QvbrSettings"} + if s.MaxAverageBitrate != nil && *s.MaxAverageBitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaxAverageBitrate", 1000)) + } + if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 { + invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxAverageBitrate sets the MaxAverageBitrate field's value. +func (s *H265QvbrSettings) SetMaxAverageBitrate(v int64) *H265QvbrSettings { + s.MaxAverageBitrate = &v + return s +} + +// SetQvbrQualityLevel sets the QvbrQualityLevel field's value. +func (s *H265QvbrSettings) SetQvbrQualityLevel(v int64) *H265QvbrSettings { + s.QvbrQualityLevel = &v + return s +} + +// Settings for H265 codec +type H265Settings struct { + _ struct{} `type:"structure"` + + // Adaptive quantization. Allows intra-frame quantizers to vary to improve visual + // quality. + AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H265AdaptiveQuantization"` + + // Enables Alternate Transfer Function SEI message for outputs using Hybrid + // Log Gamma (HLG) Electro-Optical Transfer Function (EOTF). + AlternateTransferFunctionSei *string `locationName:"alternateTransferFunctionSei" type:"string" enum:"H265AlternateTransferFunctionSei"` + + // Average bitrate in bits/second. Required for VBR and CBR. For MS Smooth outputs, + // bitrates must be unique when rounded down to the nearest multiple of 1000. + Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"` + + // H.265 Level. + CodecLevel *string `locationName:"codecLevel" type:"string" enum:"H265CodecLevel"` + + // Represents the Profile and Tier, per the HEVC (H.265) specification. Selections + // are grouped as [Profile] / [Tier], so "Main/High" represents Main Profile + // with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License. + CodecProfile *string `locationName:"codecProfile" type:"string" enum:"H265CodecProfile"` + + // Choose Adaptive to improve subjective video quality for high-motion content. + // This will cause the service to use fewer B-frames (which infer information + // based on other frames) for high-motion portions of the video and more B-frames + // for low-motion portions. The maximum number of B-frames is limited by the + // value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames). + DynamicSubGop *string `locationName:"dynamicSubGop" type:"string" enum:"H265DynamicSubGop"` + + // Adjust quantization within each frame to reduce flicker or 'pop' on I-frames. + FlickerAdaptiveQuantization *string `locationName:"flickerAdaptiveQuantization" type:"string" enum:"H265FlickerAdaptiveQuantization"` + + // If you are using the console, use the Framerate setting to specify the frame + // rate for this output. If you want to keep the same frame rate as the input + // video, choose Follow source. If you want to do frame rate conversion, choose + // a frame rate from the dropdown list or choose Custom. The framerates shown + // in the dropdown list are decimal approximations of fractions. If you choose + // Custom, specify your frame rate as a fraction. If you are creating your transcoding + // job sepecification as a JSON file without the console, use FramerateControl + // to specify which value the service uses for the frame rate for this output. + // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate + // from the input. Choose SPECIFIED if you want the service to use the frame + // rate you specify in the settings FramerateNumerator and FramerateDenominator. + FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H265FramerateControl"` + + // When set to INTERPOLATE, produces smoother motion during frame rate conversion. + FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"H265FramerateConversionAlgorithm"` + + // Frame rate denominator. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` + + // Frame rate numerator - frame rate is a fraction, e.g. 24000 / 1001 = 23.976 + // fps. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` + + // If enable, use reference B frames for GOP structures that have B frames > + // 1. + GopBReference *string `locationName:"gopBReference" type:"string" enum:"H265GopBReference"` + + // Frequency of closed GOPs. In streaming applications, it is recommended that + // this be set to 1 so a decoder joining mid-stream will receive an IDR frame + // as quickly as possible. Setting this value to 0 will break output segmenting. + GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"` + + // GOP Length (keyframe interval) in frames or seconds. Must be greater than + // zero. + GopSize *float64 `locationName:"gopSize" type:"double"` + + // Indicates if the GOP Size in H265 is specified in frames or seconds. If seconds + // the system will convert the GOP Size into a frame count at run time. + GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H265GopSizeUnits"` + + // Percentage of the buffer that should initially be filled (HRD buffer model). + HrdBufferInitialFillPercentage *int64 `locationName:"hrdBufferInitialFillPercentage" type:"integer"` + + // Size of buffer (HRD buffer model) in bits. For example, enter five megabits + // as 5000000. + HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"` + + // Use Interlace mode (InterlaceMode) to choose the scan line type for the output. + // * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce + // interlaced output with the entire output having the same field polarity (top + // or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default + // Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, + // behavior depends on the input scan type. - If the source is interlaced, the + // output will be interlaced with the same polarity as the source (it will follow + // the source). The output could therefore be a mix of "top field first" and + // "bottom field first". - If the source is progressive, the output will be + // interlaced with "top field first" or "bottom field first" polarity, depending + // on which of the Follow options you chose. + InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"H265InterlaceMode"` + + // Maximum bitrate in bits/second. For example, enter five megabits per second + // as 5000000. Required when Rate control mode is QVBR. + MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"` + + // Enforces separation between repeated (cadence) I-frames and I-frames inserted + // by Scene Change Detection. If a scene change I-frame is within I-interval + // frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene + // change I-frame. GOP stretch requires enabling lookahead as well as setting + // I-interval. The normal cadence resumes for the next GOP. This setting is + // only used when Scene Change Detect is enabled. Note: Maximum GOP stretch + // = GOP size + Min-I-interval - 1 + MinIInterval *int64 `locationName:"minIInterval" type:"integer"` + + // Number of B-frames between reference frames. + NumberBFramesBetweenReferenceFrames *int64 `locationName:"numberBFramesBetweenReferenceFrames" type:"integer"` + + // Number of reference frames to use. The encoder may use more than requested + // if using B-frames and/or interlaced encoding. + NumberReferenceFrames *int64 `locationName:"numberReferenceFrames" min:"1" type:"integer"` + + // Using the API, enable ParFollowSource if you want the service to use the + // pixel aspect ratio from the input. Using the console, do this by choosing + // Follow source for Pixel aspect ratio. + ParControl *string `locationName:"parControl" type:"string" enum:"H265ParControl"` + + // Pixel Aspect Ratio denominator. + ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` + + // Pixel Aspect Ratio numerator. + ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` + + // Use Quality tuning level (H265QualityTuningLevel) to specifiy whether to + // use fast single-pass, high-quality singlepass, or high-quality multipass + // video encoding. + QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"H265QualityTuningLevel"` + + // Settings for quality-defined variable bitrate encoding with the H.265 codec. + // Required when you set Rate control mode to QVBR. Not valid when you set Rate + // control mode to a value other than QVBR, or when you don't define Rate control + // mode. + QvbrSettings *H265QvbrSettings `locationName:"qvbrSettings" type:"structure"` + + // Use this setting to specify whether this output has a variable bitrate (VBR), + // constant bitrate (CBR) or quality-defined variable bitrate (QVBR). + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H265RateControlMode"` + + // Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode dynamically + // selects best strength based on content + SampleAdaptiveOffsetFilterMode *string `locationName:"sampleAdaptiveOffsetFilterMode" type:"string" enum:"H265SampleAdaptiveOffsetFilterMode"` + + // Scene change detection (inserts I-frames on scene changes). + SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H265SceneChangeDetect"` + + // Number of slices per picture. Must be less than or equal to the number of + // macroblock rows for progressive pictures, and less than or equal to half + // the number of macroblock rows for interlaced pictures. + Slices *int64 `locationName:"slices" min:"1" type:"integer"` + + // Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled + // as 25fps, and audio is sped up correspondingly. + SlowPal *string `locationName:"slowPal" type:"string" enum:"H265SlowPal"` + + // Adjust quantization within each frame based on spatial variation of content + // complexity. + SpatialAdaptiveQuantization *string `locationName:"spatialAdaptiveQuantization" type:"string" enum:"H265SpatialAdaptiveQuantization"` + + // This field applies only if the Streams > Advanced > Framerate (framerate) + // field is set to 29.970. This field works with the Streams > Advanced > Preprocessors + // > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced + // Mode field (interlace_mode) to identify the scan type for the output: Progressive, + // Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output + // from 23.976 input. - Soft: produces 23.976; the player converts this output + // to 29.97i. + Telecine *string `locationName:"telecine" type:"string" enum:"H265Telecine"` + + // Adjust quantization within each frame based on temporal variation of content + // complexity. + TemporalAdaptiveQuantization *string `locationName:"temporalAdaptiveQuantization" type:"string" enum:"H265TemporalAdaptiveQuantization"` + + // Enables temporal layer identifiers in the encoded bitstream. Up to 3 layers + // are supported depending on GOP structure: I- and P-frames form one layer, + // reference B-frames can form a second layer and non-reference b-frames can + // form a third layer. Decoders can optionally decode only the lower temporal + // layers to generate a lower frame rate output. For example, given a bitstream + // with temporal IDs and with b-frames = 1 (i.e. IbPbPb display order), a decoder + // could decode all the frames for full frame rate output or only the I and + // P frames (lowest temporal layer) for a half frame rate output. + TemporalIds *string `locationName:"temporalIds" type:"string" enum:"H265TemporalIds"` + + // Enable use of tiles, allowing horizontal as well as vertical subdivision + // of the encoded pictures. + Tiles *string `locationName:"tiles" type:"string" enum:"H265Tiles"` + + // Inserts timecode for each frame as 4 bytes of an unregistered SEI message. + UnregisteredSeiTimecode *string `locationName:"unregisteredSeiTimecode" type:"string" enum:"H265UnregisteredSeiTimecode"` + + // Use this setting only for outputs encoded with H.265 that are in CMAF or + // DASH output groups. If you include writeMp4PackagingType in your JSON job + // specification for other outputs, your video might not work properly with + // downstream systems and video players. If the location of parameter set NAL + // units don't matter in your workflow, ignore this setting. The service defaults + // to marking your output as HEV1. Choose HVC1 to mark your output as HVC1. + // This makes your output compliant with this specification: ISO IECJTC1 SC29 + // N13798 Text ISO/IEC FDIS 14496-15 3rd Edition. For these outputs, the service + // stores parameter set NAL units in the sample headers but not in the samples + // directly. Keep the default HEV1 to mark your output as HEV1. For these outputs, + // the service writes parameter set NAL units directly into the samples. + WriteMp4PackagingType *string `locationName:"writeMp4PackagingType" type:"string" enum:"H265WriteMp4PackagingType"` +} + +// String returns the string representation +func (s H265Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s H265Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *H265Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "H265Settings"} + if s.Bitrate != nil && *s.Bitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000)) + } + if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) + } + if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + } + if s.MaxBitrate != nil && *s.MaxBitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000)) + } + if s.NumberReferenceFrames != nil && *s.NumberReferenceFrames < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumberReferenceFrames", 1)) + } + if s.ParDenominator != nil && *s.ParDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + } + if s.ParNumerator != nil && *s.ParNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1)) + } + if s.Slices != nil && *s.Slices < 1 { + invalidParams.Add(request.NewErrParamMinValue("Slices", 1)) + } + if s.QvbrSettings != nil { + if err := s.QvbrSettings.Validate(); err != nil { + invalidParams.AddNested("QvbrSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdaptiveQuantization sets the AdaptiveQuantization field's value. +func (s *H265Settings) SetAdaptiveQuantization(v string) *H265Settings { + s.AdaptiveQuantization = &v + return s +} + +// SetAlternateTransferFunctionSei sets the AlternateTransferFunctionSei field's value. +func (s *H265Settings) SetAlternateTransferFunctionSei(v string) *H265Settings { + s.AlternateTransferFunctionSei = &v + return s +} + +// SetBitrate sets the Bitrate field's value. +func (s *H265Settings) SetBitrate(v int64) *H265Settings { + s.Bitrate = &v + return s +} + +// SetCodecLevel sets the CodecLevel field's value. +func (s *H265Settings) SetCodecLevel(v string) *H265Settings { + s.CodecLevel = &v + return s +} + +// SetCodecProfile sets the CodecProfile field's value. +func (s *H265Settings) SetCodecProfile(v string) *H265Settings { + s.CodecProfile = &v + return s +} + +// SetDynamicSubGop sets the DynamicSubGop field's value. +func (s *H265Settings) SetDynamicSubGop(v string) *H265Settings { + s.DynamicSubGop = &v + return s +} + +// SetFlickerAdaptiveQuantization sets the FlickerAdaptiveQuantization field's value. +func (s *H265Settings) SetFlickerAdaptiveQuantization(v string) *H265Settings { + s.FlickerAdaptiveQuantization = &v + return s +} + +// SetFramerateControl sets the FramerateControl field's value. +func (s *H265Settings) SetFramerateControl(v string) *H265Settings { + s.FramerateControl = &v + return s +} + +// SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value. +func (s *H265Settings) SetFramerateConversionAlgorithm(v string) *H265Settings { + s.FramerateConversionAlgorithm = &v + return s +} + +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *H265Settings) SetFramerateDenominator(v int64) *H265Settings { + s.FramerateDenominator = &v + return s +} + +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *H265Settings) SetFramerateNumerator(v int64) *H265Settings { + s.FramerateNumerator = &v + return s +} + +// SetGopBReference sets the GopBReference field's value. +func (s *H265Settings) SetGopBReference(v string) *H265Settings { + s.GopBReference = &v + return s +} + +// SetGopClosedCadence sets the GopClosedCadence field's value. +func (s *H265Settings) SetGopClosedCadence(v int64) *H265Settings { + s.GopClosedCadence = &v + return s +} + +// SetGopSize sets the GopSize field's value. +func (s *H265Settings) SetGopSize(v float64) *H265Settings { + s.GopSize = &v + return s +} + +// SetGopSizeUnits sets the GopSizeUnits field's value. +func (s *H265Settings) SetGopSizeUnits(v string) *H265Settings { + s.GopSizeUnits = &v + return s +} + +// SetHrdBufferInitialFillPercentage sets the HrdBufferInitialFillPercentage field's value. +func (s *H265Settings) SetHrdBufferInitialFillPercentage(v int64) *H265Settings { + s.HrdBufferInitialFillPercentage = &v + return s +} + +// SetHrdBufferSize sets the HrdBufferSize field's value. +func (s *H265Settings) SetHrdBufferSize(v int64) *H265Settings { + s.HrdBufferSize = &v + return s +} + +// SetInterlaceMode sets the InterlaceMode field's value. +func (s *H265Settings) SetInterlaceMode(v string) *H265Settings { + s.InterlaceMode = &v + return s +} + +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *H265Settings) SetMaxBitrate(v int64) *H265Settings { + s.MaxBitrate = &v + return s +} + +// SetMinIInterval sets the MinIInterval field's value. +func (s *H265Settings) SetMinIInterval(v int64) *H265Settings { + s.MinIInterval = &v + return s +} + +// SetNumberBFramesBetweenReferenceFrames sets the NumberBFramesBetweenReferenceFrames field's value. +func (s *H265Settings) SetNumberBFramesBetweenReferenceFrames(v int64) *H265Settings { + s.NumberBFramesBetweenReferenceFrames = &v + return s +} + +// SetNumberReferenceFrames sets the NumberReferenceFrames field's value. +func (s *H265Settings) SetNumberReferenceFrames(v int64) *H265Settings { + s.NumberReferenceFrames = &v + return s +} + +// SetParControl sets the ParControl field's value. +func (s *H265Settings) SetParControl(v string) *H265Settings { + s.ParControl = &v + return s +} + +// SetParDenominator sets the ParDenominator field's value. +func (s *H265Settings) SetParDenominator(v int64) *H265Settings { + s.ParDenominator = &v + return s +} + +// SetParNumerator sets the ParNumerator field's value. +func (s *H265Settings) SetParNumerator(v int64) *H265Settings { + s.ParNumerator = &v + return s +} + +// SetQualityTuningLevel sets the QualityTuningLevel field's value. +func (s *H265Settings) SetQualityTuningLevel(v string) *H265Settings { + s.QualityTuningLevel = &v + return s +} + +// SetQvbrSettings sets the QvbrSettings field's value. +func (s *H265Settings) SetQvbrSettings(v *H265QvbrSettings) *H265Settings { + s.QvbrSettings = v + return s +} + +// SetRateControlMode sets the RateControlMode field's value. +func (s *H265Settings) SetRateControlMode(v string) *H265Settings { + s.RateControlMode = &v + return s +} + +// SetSampleAdaptiveOffsetFilterMode sets the SampleAdaptiveOffsetFilterMode field's value. +func (s *H265Settings) SetSampleAdaptiveOffsetFilterMode(v string) *H265Settings { + s.SampleAdaptiveOffsetFilterMode = &v + return s +} + +// SetSceneChangeDetect sets the SceneChangeDetect field's value. +func (s *H265Settings) SetSceneChangeDetect(v string) *H265Settings { + s.SceneChangeDetect = &v + return s +} + +// SetSlices sets the Slices field's value. +func (s *H265Settings) SetSlices(v int64) *H265Settings { + s.Slices = &v + return s +} + +// SetSlowPal sets the SlowPal field's value. +func (s *H265Settings) SetSlowPal(v string) *H265Settings { + s.SlowPal = &v + return s +} + +// SetSpatialAdaptiveQuantization sets the SpatialAdaptiveQuantization field's value. +func (s *H265Settings) SetSpatialAdaptiveQuantization(v string) *H265Settings { + s.SpatialAdaptiveQuantization = &v + return s +} + +// SetTelecine sets the Telecine field's value. +func (s *H265Settings) SetTelecine(v string) *H265Settings { + s.Telecine = &v + return s +} + +// SetTemporalAdaptiveQuantization sets the TemporalAdaptiveQuantization field's value. +func (s *H265Settings) SetTemporalAdaptiveQuantization(v string) *H265Settings { + s.TemporalAdaptiveQuantization = &v + return s +} + +// SetTemporalIds sets the TemporalIds field's value. +func (s *H265Settings) SetTemporalIds(v string) *H265Settings { + s.TemporalIds = &v + return s +} + +// SetTiles sets the Tiles field's value. +func (s *H265Settings) SetTiles(v string) *H265Settings { + s.Tiles = &v + return s +} + +// SetUnregisteredSeiTimecode sets the UnregisteredSeiTimecode field's value. +func (s *H265Settings) SetUnregisteredSeiTimecode(v string) *H265Settings { + s.UnregisteredSeiTimecode = &v + return s +} + +// SetWriteMp4PackagingType sets the WriteMp4PackagingType field's value. +func (s *H265Settings) SetWriteMp4PackagingType(v string) *H265Settings { + s.WriteMp4PackagingType = &v + return s +} + +// Use the "HDR master display information" (Hdr10Metadata) settings to correct +// HDR metadata or to provide missing metadata. These values vary depending +// on the input video and must be provided by a color grader. Range is 0 to +// 50,000; each increment represents 0.00002 in CIE1931 color coordinate. Note +// that these settings are not color correction. Note that if you are creating +// HDR outputs inside of an HLS CMAF package, to comply with the Apple specification, +// you must use the following settings. Set "MP4 packaging type" (writeMp4PackagingType) +// to HVC1 (HVC1). Set "Profile" (H265Settings > codecProfile) to Main10/High +// (MAIN10_HIGH). Set "Level" (H265Settings > codecLevel) to 5 (LEVEL_5). +type Hdr10Metadata struct { + _ struct{} `type:"structure"` + + // HDR Master Display Information must be provided by a color grader, using + // color grading tools. Range is 0 to 50,000, each increment represents 0.00002 + // in CIE1931 color coordinate. Note that this setting is not for color correction. + BluePrimaryX *int64 `locationName:"bluePrimaryX" type:"integer"` + + // HDR Master Display Information must be provided by a color grader, using + // color grading tools. Range is 0 to 50,000, each increment represents 0.00002 + // in CIE1931 color coordinate. Note that this setting is not for color correction. + BluePrimaryY *int64 `locationName:"bluePrimaryY" type:"integer"` + + // HDR Master Display Information must be provided by a color grader, using + // color grading tools. Range is 0 to 50,000, each increment represents 0.00002 + // in CIE1931 color coordinate. Note that this setting is not for color correction. + GreenPrimaryX *int64 `locationName:"greenPrimaryX" type:"integer"` + + // HDR Master Display Information must be provided by a color grader, using + // color grading tools. Range is 0 to 50,000, each increment represents 0.00002 + // in CIE1931 color coordinate. Note that this setting is not for color correction. + GreenPrimaryY *int64 `locationName:"greenPrimaryY" type:"integer"` + + // Maximum light level among all samples in the coded video sequence, in units + // of candelas per square meter. + MaxContentLightLevel *int64 `locationName:"maxContentLightLevel" type:"integer"` + + // Maximum average light level of any frame in the coded video sequence, in + // units of candelas per square meter. + MaxFrameAverageLightLevel *int64 `locationName:"maxFrameAverageLightLevel" type:"integer"` + + // Nominal maximum mastering display luminance in units of of 0.0001 candelas + // per square meter. + MaxLuminance *int64 `locationName:"maxLuminance" type:"integer"` + + // Nominal minimum mastering display luminance in units of of 0.0001 candelas + // per square meter + MinLuminance *int64 `locationName:"minLuminance" type:"integer"` + + // HDR Master Display Information must be provided by a color grader, using + // color grading tools. Range is 0 to 50,000, each increment represents 0.00002 + // in CIE1931 color coordinate. Note that this setting is not for color correction. + RedPrimaryX *int64 `locationName:"redPrimaryX" type:"integer"` + + // HDR Master Display Information must be provided by a color grader, using + // color grading tools. Range is 0 to 50,000, each increment represents 0.00002 + // in CIE1931 color coordinate. Note that this setting is not for color correction. + RedPrimaryY *int64 `locationName:"redPrimaryY" type:"integer"` + + // HDR Master Display Information must be provided by a color grader, using + // color grading tools. Range is 0 to 50,000, each increment represents 0.00002 + // in CIE1931 color coordinate. Note that this setting is not for color correction. + WhitePointX *int64 `locationName:"whitePointX" type:"integer"` + + // HDR Master Display Information must be provided by a color grader, using + // color grading tools. Range is 0 to 50,000, each increment represents 0.00002 + // in CIE1931 color coordinate. Note that this setting is not for color correction. + WhitePointY *int64 `locationName:"whitePointY" type:"integer"` +} + +// String returns the string representation +func (s Hdr10Metadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Hdr10Metadata) GoString() string { + return s.String() +} + +// SetBluePrimaryX sets the BluePrimaryX field's value. +func (s *Hdr10Metadata) SetBluePrimaryX(v int64) *Hdr10Metadata { + s.BluePrimaryX = &v + return s +} + +// SetBluePrimaryY sets the BluePrimaryY field's value. +func (s *Hdr10Metadata) SetBluePrimaryY(v int64) *Hdr10Metadata { + s.BluePrimaryY = &v + return s +} + +// SetGreenPrimaryX sets the GreenPrimaryX field's value. +func (s *Hdr10Metadata) SetGreenPrimaryX(v int64) *Hdr10Metadata { + s.GreenPrimaryX = &v + return s +} + +// SetGreenPrimaryY sets the GreenPrimaryY field's value. +func (s *Hdr10Metadata) SetGreenPrimaryY(v int64) *Hdr10Metadata { + s.GreenPrimaryY = &v + return s +} + +// SetMaxContentLightLevel sets the MaxContentLightLevel field's value. +func (s *Hdr10Metadata) SetMaxContentLightLevel(v int64) *Hdr10Metadata { + s.MaxContentLightLevel = &v + return s +} + +// SetMaxFrameAverageLightLevel sets the MaxFrameAverageLightLevel field's value. +func (s *Hdr10Metadata) SetMaxFrameAverageLightLevel(v int64) *Hdr10Metadata { + s.MaxFrameAverageLightLevel = &v + return s +} + +// SetMaxLuminance sets the MaxLuminance field's value. +func (s *Hdr10Metadata) SetMaxLuminance(v int64) *Hdr10Metadata { + s.MaxLuminance = &v + return s +} + +// SetMinLuminance sets the MinLuminance field's value. +func (s *Hdr10Metadata) SetMinLuminance(v int64) *Hdr10Metadata { + s.MinLuminance = &v + return s +} + +// SetRedPrimaryX sets the RedPrimaryX field's value. +func (s *Hdr10Metadata) SetRedPrimaryX(v int64) *Hdr10Metadata { + s.RedPrimaryX = &v + return s +} + +// SetRedPrimaryY sets the RedPrimaryY field's value. +func (s *Hdr10Metadata) SetRedPrimaryY(v int64) *Hdr10Metadata { + s.RedPrimaryY = &v + return s +} + +// SetWhitePointX sets the WhitePointX field's value. +func (s *Hdr10Metadata) SetWhitePointX(v int64) *Hdr10Metadata { + s.WhitePointX = &v + return s +} + +// SetWhitePointY sets the WhitePointY field's value. +func (s *Hdr10Metadata) SetWhitePointY(v int64) *Hdr10Metadata { + s.WhitePointY = &v + return s +} + +// Caption Language Mapping +type HlsCaptionLanguageMapping struct { + _ struct{} `type:"structure"` + + // Caption channel. + CaptionChannel *int64 `locationName:"captionChannel" type:"integer"` + + // Specify the language for this caption channel, using the ISO 639-2 or ISO + // 639-3 three-letter language code + CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"` + + // Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php. + LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"` + + // Caption language description. + LanguageDescription *string `locationName:"languageDescription" type:"string"` +} + +// String returns the string representation +func (s HlsCaptionLanguageMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsCaptionLanguageMapping) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsCaptionLanguageMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsCaptionLanguageMapping"} + if s.CaptionChannel != nil && *s.CaptionChannel < -2.147483648e+09 { + invalidParams.Add(request.NewErrParamMinValue("CaptionChannel", -2.147483648e+09)) + } + if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCaptionChannel sets the CaptionChannel field's value. +func (s *HlsCaptionLanguageMapping) SetCaptionChannel(v int64) *HlsCaptionLanguageMapping { + s.CaptionChannel = &v + return s +} + +// SetCustomLanguageCode sets the CustomLanguageCode field's value. +func (s *HlsCaptionLanguageMapping) SetCustomLanguageCode(v string) *HlsCaptionLanguageMapping { + s.CustomLanguageCode = &v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *HlsCaptionLanguageMapping) SetLanguageCode(v string) *HlsCaptionLanguageMapping { + s.LanguageCode = &v + return s +} + +// SetLanguageDescription sets the LanguageDescription field's value. +func (s *HlsCaptionLanguageMapping) SetLanguageDescription(v string) *HlsCaptionLanguageMapping { + s.LanguageDescription = &v + return s +} + +// Settings for HLS encryption +type HlsEncryptionSettings struct { + _ struct{} `type:"structure"` + + // This is a 128-bit, 16-byte hex value represented by a 32-character text string. + // If this parameter is not set then the Initialization Vector will follow the + // segment number by default. + ConstantInitializationVector *string `locationName:"constantInitializationVector" min:"32" type:"string"` + + // Encrypts the segments with the given encryption scheme. Leave blank to disable. + // Selecting 'Disabled' in the web interface also disables encryption. + EncryptionMethod *string `locationName:"encryptionMethod" type:"string" enum:"HlsEncryptionType"` + + // The Initialization Vector is a 128-bit number used in conjunction with the + // key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed + // in the manifest. Otherwise Initialization Vector is not in the manifest. + InitializationVectorInManifest *string `locationName:"initializationVectorInManifest" type:"string" enum:"HlsInitializationVectorInManifest"` + + // Enable this setting to insert the EXT-X-SESSION-KEY element into the master + // playlist. This allows for offline Apple HLS FairPlay content protection. + OfflineEncrypted *string `locationName:"offlineEncrypted" type:"string" enum:"HlsOfflineEncrypted"` + + // Settings for use with a SPEKE key provider + SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure"` + + // Use these settings to set up encryption with a static key provider. + StaticKeyProvider *StaticKeyProvider `locationName:"staticKeyProvider" type:"structure"` + + // Indicates which type of key provider is used for encryption. + Type *string `locationName:"type" type:"string" enum:"HlsKeyProviderType"` +} + +// String returns the string representation +func (s HlsEncryptionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsEncryptionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsEncryptionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsEncryptionSettings"} + if s.ConstantInitializationVector != nil && len(*s.ConstantInitializationVector) < 32 { + invalidParams.Add(request.NewErrParamMinLen("ConstantInitializationVector", 32)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConstantInitializationVector sets the ConstantInitializationVector field's value. +func (s *HlsEncryptionSettings) SetConstantInitializationVector(v string) *HlsEncryptionSettings { + s.ConstantInitializationVector = &v + return s +} + +// SetEncryptionMethod sets the EncryptionMethod field's value. +func (s *HlsEncryptionSettings) SetEncryptionMethod(v string) *HlsEncryptionSettings { + s.EncryptionMethod = &v + return s +} + +// SetInitializationVectorInManifest sets the InitializationVectorInManifest field's value. +func (s *HlsEncryptionSettings) SetInitializationVectorInManifest(v string) *HlsEncryptionSettings { + s.InitializationVectorInManifest = &v + return s +} + +// SetOfflineEncrypted sets the OfflineEncrypted field's value. +func (s *HlsEncryptionSettings) SetOfflineEncrypted(v string) *HlsEncryptionSettings { + s.OfflineEncrypted = &v + return s +} + +// SetSpekeKeyProvider sets the SpekeKeyProvider field's value. +func (s *HlsEncryptionSettings) SetSpekeKeyProvider(v *SpekeKeyProvider) *HlsEncryptionSettings { + s.SpekeKeyProvider = v + return s +} + +// SetStaticKeyProvider sets the StaticKeyProvider field's value. +func (s *HlsEncryptionSettings) SetStaticKeyProvider(v *StaticKeyProvider) *HlsEncryptionSettings { + s.StaticKeyProvider = v + return s +} + +// SetType sets the Type field's value. +func (s *HlsEncryptionSettings) SetType(v string) *HlsEncryptionSettings { + s.Type = &v + return s +} + +// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to +// HLS_GROUP_SETTINGS. +type HlsGroupSettings struct { + _ struct{} `type:"structure"` + + // Choose one or more ad marker types to pass SCTE35 signals through to this + // group of Apple HLS outputs. + AdMarkers []*string `locationName:"adMarkers" type:"list"` + + // A partial URI prefix that will be prepended to each output in the media .m3u8 + // file. Can be used if base manifest is delivered from a different URL than + // the main .m3u8 file. + BaseUrl *string `locationName:"baseUrl" type:"string"` + + // Language to be used on Caption outputs + CaptionLanguageMappings []*HlsCaptionLanguageMapping `locationName:"captionLanguageMappings" type:"list"` + + // Applies only to 608 Embedded output captions. Insert: Include CLOSED-CAPTIONS + // lines in the manifest. Specify at least one language in the CC1 Language + // Code field. One CLOSED-CAPTION line is added for each Language Code you specify. + // Make sure to specify the languages in the order in which they appear in the + // original source (if the source is embedded format) or the order of the caption + // selectors (if the source is other than embedded). Otherwise, languages in + // the manifest will not match up properly with the output captions. None: Include + // CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS + // line from the manifest. + CaptionLanguageSetting *string `locationName:"captionLanguageSetting" type:"string" enum:"HlsCaptionLanguageSetting"` + + // When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client + // from saving media segments for later replay. + ClientCache *string `locationName:"clientCache" type:"string" enum:"HlsClientCache"` + + // Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist + // generation. + CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"HlsCodecSpecification"` + + // Use Destination (Destination) to specify the S3 output location and the output + // filename base. Destination accepts format identifiers. If you do not specify + // the base filename in the URI, the service will use the filename of the input + // file. If your job has multiple inputs, the service uses the filename of the + // first input file. + Destination *string `locationName:"destination" type:"string"` + + // Indicates whether segments should be placed in subdirectories. + DirectoryStructure *string `locationName:"directoryStructure" type:"string" enum:"HlsDirectoryStructure"` + + // DRM settings. + Encryption *HlsEncryptionSettings `locationName:"encryption" type:"structure"` + + // When set to GZIP, compresses HLS playlist. + ManifestCompression *string `locationName:"manifestCompression" type:"string" enum:"HlsManifestCompression"` + + // Indicates whether the output manifest should use floating point values for + // segment duration. + ManifestDurationFormat *string `locationName:"manifestDurationFormat" type:"string" enum:"HlsManifestDurationFormat"` + + // Keep this setting at the default value of 0, unless you are troubleshooting + // a problem with how devices play back the end of your video asset. If you + // know that player devices are hanging on the final segment of your video because + // the length of your final segment is too short, use this setting to specify + // a minimum final segment length, in seconds. Choose a value that is greater + // than or equal to 1 and less than your segment length. When you specify a + // value for this setting, the encoder will combine any final segment that is + // shorter than the length that you specify with the previous segment. For example, + // your segment length is 3 seconds and your final segment is .5 seconds without + // a minimum final segment length; when you set the minimum final segment length + // to 1, your final segment is 3.5 seconds. + MinFinalSegmentLength *float64 `locationName:"minFinalSegmentLength" type:"double"` + + // When set, Minimum Segment Size is enforced by looking ahead and back within + // the specified range for a nearby avail and extending the segment size if + // needed. + MinSegmentLength *int64 `locationName:"minSegmentLength" type:"integer"` + + // Indicates whether the .m3u8 manifest file should be generated for this HLS + // output group. + OutputSelection *string `locationName:"outputSelection" type:"string" enum:"HlsOutputSelection"` + + // Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. + // The value is calculated as follows: either the program date and time are + // initialized using the input timecode source, or the time is initialized using + // the input timecode source and the date is initialized using the timestamp_offset. + ProgramDateTime *string `locationName:"programDateTime" type:"string" enum:"HlsProgramDateTime"` + + // Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. + ProgramDateTimePeriod *int64 `locationName:"programDateTimePeriod" type:"integer"` + + // When set to SINGLE_FILE, emits program as a single media resource (.ts) file, + // uses #EXT-X-BYTERANGE tags to index segment for playback. + SegmentControl *string `locationName:"segmentControl" type:"string" enum:"HlsSegmentControl"` + + // Length of MPEG-2 Transport Stream segments to create (in seconds). Note that + // segments will end on the next keyframe after this number of seconds, so actual + // segment length may be longer. + SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"` + + // Number of segments to write to a subdirectory before starting a new one. + // directoryStructure must be SINGLE_DIRECTORY for this setting to have an effect. + SegmentsPerSubdirectory *int64 `locationName:"segmentsPerSubdirectory" min:"1" type:"integer"` + + // Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag + // of variant manifest. + StreamInfResolution *string `locationName:"streamInfResolution" type:"string" enum:"HlsStreamInfResolution"` + + // Indicates ID3 frame that has the timecode. + TimedMetadataId3Frame *string `locationName:"timedMetadataId3Frame" type:"string" enum:"HlsTimedMetadataId3Frame"` + + // Timed Metadata interval in seconds. + TimedMetadataId3Period *int64 `locationName:"timedMetadataId3Period" type:"integer"` + + // Provides an extra millisecond delta offset to fine tune the timestamps. + TimestampDeltaMilliseconds *int64 `locationName:"timestampDeltaMilliseconds" type:"integer"` +} + +// String returns the string representation +func (s HlsGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsGroupSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsGroupSettings"} + if s.SegmentLength != nil && *s.SegmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1)) + } + if s.SegmentsPerSubdirectory != nil && *s.SegmentsPerSubdirectory < 1 { + invalidParams.Add(request.NewErrParamMinValue("SegmentsPerSubdirectory", 1)) + } + if s.TimedMetadataId3Period != nil && *s.TimedMetadataId3Period < -2.147483648e+09 { + invalidParams.Add(request.NewErrParamMinValue("TimedMetadataId3Period", -2.147483648e+09)) + } + if s.TimestampDeltaMilliseconds != nil && *s.TimestampDeltaMilliseconds < -2.147483648e+09 { + invalidParams.Add(request.NewErrParamMinValue("TimestampDeltaMilliseconds", -2.147483648e+09)) + } + if s.CaptionLanguageMappings != nil { + for i, v := range s.CaptionLanguageMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionLanguageMappings", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Encryption != nil { + if err := s.Encryption.Validate(); err != nil { + invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdMarkers sets the AdMarkers field's value. +func (s *HlsGroupSettings) SetAdMarkers(v []*string) *HlsGroupSettings { + s.AdMarkers = v + return s +} + +// SetBaseUrl sets the BaseUrl field's value. +func (s *HlsGroupSettings) SetBaseUrl(v string) *HlsGroupSettings { + s.BaseUrl = &v + return s +} + +// SetCaptionLanguageMappings sets the CaptionLanguageMappings field's value. +func (s *HlsGroupSettings) SetCaptionLanguageMappings(v []*HlsCaptionLanguageMapping) *HlsGroupSettings { + s.CaptionLanguageMappings = v + return s +} + +// SetCaptionLanguageSetting sets the CaptionLanguageSetting field's value. +func (s *HlsGroupSettings) SetCaptionLanguageSetting(v string) *HlsGroupSettings { + s.CaptionLanguageSetting = &v + return s +} + +// SetClientCache sets the ClientCache field's value. +func (s *HlsGroupSettings) SetClientCache(v string) *HlsGroupSettings { + s.ClientCache = &v + return s +} + +// SetCodecSpecification sets the CodecSpecification field's value. +func (s *HlsGroupSettings) SetCodecSpecification(v string) *HlsGroupSettings { + s.CodecSpecification = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *HlsGroupSettings) SetDestination(v string) *HlsGroupSettings { + s.Destination = &v + return s +} + +// SetDirectoryStructure sets the DirectoryStructure field's value. +func (s *HlsGroupSettings) SetDirectoryStructure(v string) *HlsGroupSettings { + s.DirectoryStructure = &v + return s +} + +// SetEncryption sets the Encryption field's value. +func (s *HlsGroupSettings) SetEncryption(v *HlsEncryptionSettings) *HlsGroupSettings { + s.Encryption = v + return s +} + +// SetManifestCompression sets the ManifestCompression field's value. +func (s *HlsGroupSettings) SetManifestCompression(v string) *HlsGroupSettings { + s.ManifestCompression = &v + return s +} + +// SetManifestDurationFormat sets the ManifestDurationFormat field's value. +func (s *HlsGroupSettings) SetManifestDurationFormat(v string) *HlsGroupSettings { + s.ManifestDurationFormat = &v + return s +} + +// SetMinFinalSegmentLength sets the MinFinalSegmentLength field's value. +func (s *HlsGroupSettings) SetMinFinalSegmentLength(v float64) *HlsGroupSettings { + s.MinFinalSegmentLength = &v + return s +} + +// SetMinSegmentLength sets the MinSegmentLength field's value. +func (s *HlsGroupSettings) SetMinSegmentLength(v int64) *HlsGroupSettings { + s.MinSegmentLength = &v + return s +} + +// SetOutputSelection sets the OutputSelection field's value. +func (s *HlsGroupSettings) SetOutputSelection(v string) *HlsGroupSettings { + s.OutputSelection = &v + return s +} + +// SetProgramDateTime sets the ProgramDateTime field's value. +func (s *HlsGroupSettings) SetProgramDateTime(v string) *HlsGroupSettings { + s.ProgramDateTime = &v + return s +} + +// SetProgramDateTimePeriod sets the ProgramDateTimePeriod field's value. +func (s *HlsGroupSettings) SetProgramDateTimePeriod(v int64) *HlsGroupSettings { + s.ProgramDateTimePeriod = &v + return s +} + +// SetSegmentControl sets the SegmentControl field's value. +func (s *HlsGroupSettings) SetSegmentControl(v string) *HlsGroupSettings { + s.SegmentControl = &v + return s +} + +// SetSegmentLength sets the SegmentLength field's value. +func (s *HlsGroupSettings) SetSegmentLength(v int64) *HlsGroupSettings { + s.SegmentLength = &v + return s +} + +// SetSegmentsPerSubdirectory sets the SegmentsPerSubdirectory field's value. +func (s *HlsGroupSettings) SetSegmentsPerSubdirectory(v int64) *HlsGroupSettings { + s.SegmentsPerSubdirectory = &v + return s +} + +// SetStreamInfResolution sets the StreamInfResolution field's value. +func (s *HlsGroupSettings) SetStreamInfResolution(v string) *HlsGroupSettings { + s.StreamInfResolution = &v + return s +} + +// SetTimedMetadataId3Frame sets the TimedMetadataId3Frame field's value. +func (s *HlsGroupSettings) SetTimedMetadataId3Frame(v string) *HlsGroupSettings { + s.TimedMetadataId3Frame = &v + return s +} + +// SetTimedMetadataId3Period sets the TimedMetadataId3Period field's value. +func (s *HlsGroupSettings) SetTimedMetadataId3Period(v int64) *HlsGroupSettings { + s.TimedMetadataId3Period = &v + return s +} + +// SetTimestampDeltaMilliseconds sets the TimestampDeltaMilliseconds field's value. +func (s *HlsGroupSettings) SetTimestampDeltaMilliseconds(v int64) *HlsGroupSettings { + s.TimestampDeltaMilliseconds = &v + return s +} + +// Settings for HLS output groups +type HlsSettings struct { + _ struct{} `type:"structure"` + + // Specifies the group to which the audio Rendition belongs. + AudioGroupId *string `locationName:"audioGroupId" type:"string"` + + // List all the audio groups that are used with the video output stream. Input + // all the audio GROUP-IDs that are associated to the video, separate by ','. + AudioRenditionSets *string `locationName:"audioRenditionSets" type:"string"` + + // Four types of audio-only tracks are supported: Audio-Only Variant Stream + // The client can play back this audio-only stream instead of video in low-bandwidth + // scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate + // Audio, Auto Select, Default Alternate rendition that the client should try + // to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest + // with DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default + // Alternate rendition that the client may try to play back by default. Represented + // as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate + // Audio, not Auto Select Alternate rendition that the client will not try to + // play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with + // DEFAULT=NO, AUTOSELECT=NO + AudioTrackType *string `locationName:"audioTrackType" type:"string" enum:"HlsAudioTrackType"` + + // When set to INCLUDE, writes I-Frame Only Manifest in addition to the HLS + // manifest + IFrameOnlyManifest *string `locationName:"iFrameOnlyManifest" type:"string" enum:"HlsIFrameOnlyManifest"` + + // String concatenated to end of segment filenames. Accepts "Format Identifiers":#format_identifier_parameters. + SegmentModifier *string `locationName:"segmentModifier" type:"string"` +} + +// String returns the string representation +func (s HlsSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsSettings) GoString() string { + return s.String() +} + +// SetAudioGroupId sets the AudioGroupId field's value. +func (s *HlsSettings) SetAudioGroupId(v string) *HlsSettings { + s.AudioGroupId = &v + return s +} + +// SetAudioRenditionSets sets the AudioRenditionSets field's value. +func (s *HlsSettings) SetAudioRenditionSets(v string) *HlsSettings { + s.AudioRenditionSets = &v + return s +} + +// SetAudioTrackType sets the AudioTrackType field's value. +func (s *HlsSettings) SetAudioTrackType(v string) *HlsSettings { + s.AudioTrackType = &v + return s +} + +// SetIFrameOnlyManifest sets the IFrameOnlyManifest field's value. +func (s *HlsSettings) SetIFrameOnlyManifest(v string) *HlsSettings { + s.IFrameOnlyManifest = &v + return s +} + +// SetSegmentModifier sets the SegmentModifier field's value. +func (s *HlsSettings) SetSegmentModifier(v string) *HlsSettings { + s.SegmentModifier = &v + return s +} + +// To insert ID3 tags in your output, specify two values. Use ID3 tag (Id3) +// to specify the base 64 encoded string and use Timecode (TimeCode) to specify +// the time when the tag should be inserted. To insert multiple ID3 tags in +// your output, create multiple instances of ID3 insertion (Id3Insertion). +type Id3Insertion struct { + _ struct{} `type:"structure"` + + // Use ID3 tag (Id3) to provide a tag value in base64-encode format. + Id3 *string `locationName:"id3" type:"string"` + + // Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format. + Timecode *string `locationName:"timecode" type:"string"` +} + +// String returns the string representation +func (s Id3Insertion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Id3Insertion) GoString() string { + return s.String() +} + +// SetId3 sets the Id3 field's value. +func (s *Id3Insertion) SetId3(v string) *Id3Insertion { + s.Id3 = &v + return s +} + +// SetTimecode sets the Timecode field's value. +func (s *Id3Insertion) SetTimecode(v string) *Id3Insertion { + s.Timecode = &v + return s +} + +// Enable the image inserter feature to include a graphic overlay on your video. +// Enable or disable this feature for each input or output individually. This +// setting is disabled by default. +type ImageInserter struct { + _ struct{} `type:"structure"` + + // Specify the images that you want to overlay on your video. The images must + // be PNG or TGA files. + InsertableImages []*InsertableImage `locationName:"insertableImages" type:"list"` +} + +// String returns the string representation +func (s ImageInserter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImageInserter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImageInserter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImageInserter"} + if s.InsertableImages != nil { + for i, v := range s.InsertableImages { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InsertableImages", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInsertableImages sets the InsertableImages field's value. +func (s *ImageInserter) SetInsertableImages(v []*InsertableImage) *ImageInserter { + s.InsertableImages = v + return s +} + +// Specifies media input +type Input struct { + _ struct{} `type:"structure"` + + // Specifies set of audio selectors within an input to combine. An input may + // have multiple audio selector groups. See "Audio Selector Group":#inputs-audio_selector_group + // for more information. + AudioSelectorGroups map[string]*AudioSelectorGroup `locationName:"audioSelectorGroups" type:"map"` + + // Use Audio selectors (AudioSelectors) to specify a track or set of tracks + // from the input that you will use in your outputs. You can use mutiple Audio + // selectors per input. + AudioSelectors map[string]*AudioSelector `locationName:"audioSelectors" type:"map"` + + // Use Captions selectors (CaptionSelectors) to specify the captions data from + // the input that you will use in your outputs. You can use mutiple captions + // selectors per input. + CaptionSelectors map[string]*CaptionSelector `locationName:"captionSelectors" type:"map"` + + // Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. + // Default is disabled. Only manaully controllable for MPEG2 and uncompressed + // video inputs. + DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"` + + // Settings for decrypting any input files that are encrypted. + DecryptionSettings *InputDecryptionSettings `locationName:"decryptionSettings" type:"structure"` + + // Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default + // is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video + // inputs. + DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"` + + // Specify the source file for your transcoding job. You can use multiple inputs + // in a single job. The service concatenates these inputs, in the order that + // you specify them in the job, to create the outputs. If your input format + // is IMF, specify your input by providing the path to your CPL. For example, + // "s3://bucket/vf/cpl.xml". If the CPL is in an incomplete IMP, make sure to + // use *Supplemental IMPs* (SupplementalImps) to specify any supplemental IMPs + // that contain assets referenced by the CPL. + FileInput *string `locationName:"fileInput" type:"string"` + + // Use Filter enable (InputFilterEnable) to specify how the transcoding service + // applies the denoise and deblock filters. You must also enable the filters + // separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). + // * Auto - The transcoding service determines whether to apply filtering, depending + // on input type and quality. * Disable - The input is not filtered. This is + // true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). + // * Force - The in put is filtered regardless of input type. + FilterEnable *string `locationName:"filterEnable" type:"string" enum:"InputFilterEnable"` + + // Use Filter strength (FilterStrength) to adjust the magnitude the input filter + // settings (Deblock and Denoise). The range is -5 to 5. Default is 0. + FilterStrength *int64 `locationName:"filterStrength" type:"integer"` + + // Enable the image inserter feature to include a graphic overlay on your video. + // Enable or disable this feature for each input individually. This setting + // is disabled by default. + ImageInserter *ImageInserter `locationName:"imageInserter" type:"structure"` + + // (InputClippings) contains sets of start and end times that together specify + // a portion of the input to be used in the outputs. If you provide only a start + // time, the clip will be the entire input from that point to the end. If you + // provide only an end time, it will be the entire input up to that point. When + // you specify more than one input clip, the transcoding service creates the + // job outputs by stringing the clips together in the order you specify them. + InputClippings []*InputClipping `locationName:"inputClippings" type:"list"` + + // Use Program (programNumber) to select a specific program from within a multi-program + // transport stream. Note that Quad 4K is not currently supported. Default is + // the first program within the transport stream. If the program you specify + // doesn't exist, the transcoding service will use this default. + ProgramNumber *int64 `locationName:"programNumber" min:"1" type:"integer"` + + // Set PSI control (InputPsiControl) for transport stream inputs to specify + // which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio + // and video. * Use PSI - Scan only PSI data. + PsiControl *string `locationName:"psiControl" type:"string" enum:"InputPsiControl"` + + // Provide a list of any necessary supplemental IMPs. You need supplemental + // IMPs if the CPL that you're using for your input is in an incomplete IMP. + // Specify either the supplemental IMP directories with a trailing slash or + // the ASSETMAP.xml files. For example ["s3://bucket/ov/", "s3://bucket/vf2/ASSETMAP.xml"]. + // You don't need to specify the IMP that contains your input CPL, because the + // service automatically detects it. + SupplementalImps []*string `locationName:"supplementalImps" type:"list"` + + // Timecode source under input settings (InputTimecodeSource) only affects the + // behavior of features that apply to a single input at a time, such as input + // clipping and synchronizing some captions formats. Use this setting to specify + // whether the service counts frames by timecodes embedded in the video (EMBEDDED) + // or by starting the first frame at zero (ZEROBASED). In both cases, the timecode + // format is HH:MM:SS:FF or HH:MM:SS;FF, where FF is the frame number. Only + // set this to EMBEDDED if your source video has embedded timecodes. + TimecodeSource *string `locationName:"timecodeSource" type:"string" enum:"InputTimecodeSource"` + + // Selector for video. + VideoSelector *VideoSelector `locationName:"videoSelector" type:"structure"` +} + +// String returns the string representation +func (s Input) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Input) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Input) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Input"} + if s.FilterStrength != nil && *s.FilterStrength < -5 { + invalidParams.Add(request.NewErrParamMinValue("FilterStrength", -5)) + } + if s.ProgramNumber != nil && *s.ProgramNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("ProgramNumber", 1)) + } + if s.AudioSelectors != nil { + for i, v := range s.AudioSelectors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CaptionSelectors != nil { + for i, v := range s.CaptionSelectors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams)) + } + } + } + if s.DecryptionSettings != nil { + if err := s.DecryptionSettings.Validate(); err != nil { + invalidParams.AddNested("DecryptionSettings", err.(request.ErrInvalidParams)) + } + } + if s.ImageInserter != nil { + if err := s.ImageInserter.Validate(); err != nil { + invalidParams.AddNested("ImageInserter", err.(request.ErrInvalidParams)) + } + } + if s.VideoSelector != nil { + if err := s.VideoSelector.Validate(); err != nil { + invalidParams.AddNested("VideoSelector", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioSelectorGroups sets the AudioSelectorGroups field's value. +func (s *Input) SetAudioSelectorGroups(v map[string]*AudioSelectorGroup) *Input { + s.AudioSelectorGroups = v + return s +} + +// SetAudioSelectors sets the AudioSelectors field's value. +func (s *Input) SetAudioSelectors(v map[string]*AudioSelector) *Input { + s.AudioSelectors = v + return s +} + +// SetCaptionSelectors sets the CaptionSelectors field's value. +func (s *Input) SetCaptionSelectors(v map[string]*CaptionSelector) *Input { + s.CaptionSelectors = v + return s +} + +// SetDeblockFilter sets the DeblockFilter field's value. +func (s *Input) SetDeblockFilter(v string) *Input { + s.DeblockFilter = &v + return s +} + +// SetDecryptionSettings sets the DecryptionSettings field's value. +func (s *Input) SetDecryptionSettings(v *InputDecryptionSettings) *Input { + s.DecryptionSettings = v + return s +} + +// SetDenoiseFilter sets the DenoiseFilter field's value. +func (s *Input) SetDenoiseFilter(v string) *Input { + s.DenoiseFilter = &v + return s +} + +// SetFileInput sets the FileInput field's value. +func (s *Input) SetFileInput(v string) *Input { + s.FileInput = &v + return s +} + +// SetFilterEnable sets the FilterEnable field's value. +func (s *Input) SetFilterEnable(v string) *Input { + s.FilterEnable = &v + return s +} + +// SetFilterStrength sets the FilterStrength field's value. +func (s *Input) SetFilterStrength(v int64) *Input { + s.FilterStrength = &v + return s +} + +// SetImageInserter sets the ImageInserter field's value. +func (s *Input) SetImageInserter(v *ImageInserter) *Input { + s.ImageInserter = v + return s +} + +// SetInputClippings sets the InputClippings field's value. +func (s *Input) SetInputClippings(v []*InputClipping) *Input { + s.InputClippings = v + return s +} + +// SetProgramNumber sets the ProgramNumber field's value. +func (s *Input) SetProgramNumber(v int64) *Input { + s.ProgramNumber = &v + return s +} + +// SetPsiControl sets the PsiControl field's value. +func (s *Input) SetPsiControl(v string) *Input { + s.PsiControl = &v + return s +} + +// SetSupplementalImps sets the SupplementalImps field's value. +func (s *Input) SetSupplementalImps(v []*string) *Input { + s.SupplementalImps = v + return s +} + +// SetTimecodeSource sets the TimecodeSource field's value. +func (s *Input) SetTimecodeSource(v string) *Input { + s.TimecodeSource = &v + return s +} + +// SetVideoSelector sets the VideoSelector field's value. +func (s *Input) SetVideoSelector(v *VideoSelector) *Input { + s.VideoSelector = v + return s +} + +// To transcode only portions of your input (clips), include one Input clipping +// (one instance of InputClipping in the JSON job file) for each input clip. +// All input clips you specify will be included in every output of the job. +type InputClipping struct { + _ struct{} `type:"structure"` + + // Set End timecode (EndTimecode) to the end of the portion of the input you + // are clipping. The frame corresponding to the End timecode value is included + // in the clip. Start timecode or End timecode may be left blank, but not both. + // Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the hour, MM is the + // minute, SS is the second, and FF is the frame number. When choosing this + // value, take into account your setting for timecode source under input settings + // (InputTimecodeSource). For example, if you have embedded timecodes that start + // at 01:00:00:00 and you want your clip to end six minutes into the video, + // use 01:06:00:00. + EndTimecode *string `locationName:"endTimecode" type:"string"` + + // Set Start timecode (StartTimecode) to the beginning of the portion of the + // input you are clipping. The frame corresponding to the Start timecode value + // is included in the clip. Start timecode or End timecode may be left blank, + // but not both. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the + // hour, MM is the minute, SS is the second, and FF is the frame number. When + // choosing this value, take into account your setting for Input timecode source. + // For example, if you have embedded timecodes that start at 01:00:00:00 and + // you want your clip to begin five minutes into the video, use 01:05:00:00. + StartTimecode *string `locationName:"startTimecode" type:"string"` +} + +// String returns the string representation +func (s InputClipping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputClipping) GoString() string { + return s.String() +} + +// SetEndTimecode sets the EndTimecode field's value. +func (s *InputClipping) SetEndTimecode(v string) *InputClipping { + s.EndTimecode = &v + return s +} + +// SetStartTimecode sets the StartTimecode field's value. +func (s *InputClipping) SetStartTimecode(v string) *InputClipping { + s.StartTimecode = &v + return s +} + +// Specify the decryption settings used to decrypt encrypted input +type InputDecryptionSettings struct { + _ struct{} `type:"structure"` + + // This specifies how the encrypted file needs to be decrypted. + DecryptionMode *string `locationName:"decryptionMode" type:"string" enum:"DecryptionMode"` + + // Decryption key either 128 or 192 or 256 bits encrypted with KMS + EncryptedDecryptionKey *string `locationName:"encryptedDecryptionKey" min:"24" type:"string"` + + // Initialization Vector 96 bits (CTR/GCM mode only) or 128 bits. + InitializationVector *string `locationName:"initializationVector" min:"16" type:"string"` + + // The AWS region in which decryption key was encrypted with KMS + KmsKeyRegion *string `locationName:"kmsKeyRegion" min:"9" type:"string"` +} + +// String returns the string representation +func (s InputDecryptionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputDecryptionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputDecryptionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputDecryptionSettings"} + if s.EncryptedDecryptionKey != nil && len(*s.EncryptedDecryptionKey) < 24 { + invalidParams.Add(request.NewErrParamMinLen("EncryptedDecryptionKey", 24)) + } + if s.InitializationVector != nil && len(*s.InitializationVector) < 16 { + invalidParams.Add(request.NewErrParamMinLen("InitializationVector", 16)) + } + if s.KmsKeyRegion != nil && len(*s.KmsKeyRegion) < 9 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyRegion", 9)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDecryptionMode sets the DecryptionMode field's value. +func (s *InputDecryptionSettings) SetDecryptionMode(v string) *InputDecryptionSettings { + s.DecryptionMode = &v + return s +} + +// SetEncryptedDecryptionKey sets the EncryptedDecryptionKey field's value. +func (s *InputDecryptionSettings) SetEncryptedDecryptionKey(v string) *InputDecryptionSettings { + s.EncryptedDecryptionKey = &v + return s +} + +// SetInitializationVector sets the InitializationVector field's value. +func (s *InputDecryptionSettings) SetInitializationVector(v string) *InputDecryptionSettings { + s.InitializationVector = &v + return s +} + +// SetKmsKeyRegion sets the KmsKeyRegion field's value. +func (s *InputDecryptionSettings) SetKmsKeyRegion(v string) *InputDecryptionSettings { + s.KmsKeyRegion = &v + return s +} + +// Specified video input in a template. +type InputTemplate struct { + _ struct{} `type:"structure"` + + // Specifies set of audio selectors within an input to combine. An input may + // have multiple audio selector groups. See "Audio Selector Group":#inputs-audio_selector_group + // for more information. + AudioSelectorGroups map[string]*AudioSelectorGroup `locationName:"audioSelectorGroups" type:"map"` + + // Use Audio selectors (AudioSelectors) to specify a track or set of tracks + // from the input that you will use in your outputs. You can use mutiple Audio + // selectors per input. + AudioSelectors map[string]*AudioSelector `locationName:"audioSelectors" type:"map"` + + // Use Captions selectors (CaptionSelectors) to specify the captions data from + // the input that you will use in your outputs. You can use mutiple captions + // selectors per input. + CaptionSelectors map[string]*CaptionSelector `locationName:"captionSelectors" type:"map"` + + // Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. + // Default is disabled. Only manaully controllable for MPEG2 and uncompressed + // video inputs. + DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"` + + // Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default + // is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video + // inputs. + DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"` + + // Use Filter enable (InputFilterEnable) to specify how the transcoding service + // applies the denoise and deblock filters. You must also enable the filters + // separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). + // * Auto - The transcoding service determines whether to apply filtering, depending + // on input type and quality. * Disable - The input is not filtered. This is + // true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). + // * Force - The in put is filtered regardless of input type. + FilterEnable *string `locationName:"filterEnable" type:"string" enum:"InputFilterEnable"` + + // Use Filter strength (FilterStrength) to adjust the magnitude the input filter + // settings (Deblock and Denoise). The range is -5 to 5. Default is 0. + FilterStrength *int64 `locationName:"filterStrength" type:"integer"` + + // Enable the image inserter feature to include a graphic overlay on your video. + // Enable or disable this feature for each input individually. This setting + // is disabled by default. + ImageInserter *ImageInserter `locationName:"imageInserter" type:"structure"` + + // (InputClippings) contains sets of start and end times that together specify + // a portion of the input to be used in the outputs. If you provide only a start + // time, the clip will be the entire input from that point to the end. If you + // provide only an end time, it will be the entire input up to that point. When + // you specify more than one input clip, the transcoding service creates the + // job outputs by stringing the clips together in the order you specify them. + InputClippings []*InputClipping `locationName:"inputClippings" type:"list"` + + // Use Program (programNumber) to select a specific program from within a multi-program + // transport stream. Note that Quad 4K is not currently supported. Default is + // the first program within the transport stream. If the program you specify + // doesn't exist, the transcoding service will use this default. + ProgramNumber *int64 `locationName:"programNumber" min:"1" type:"integer"` + + // Set PSI control (InputPsiControl) for transport stream inputs to specify + // which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio + // and video. * Use PSI - Scan only PSI data. + PsiControl *string `locationName:"psiControl" type:"string" enum:"InputPsiControl"` + + // Timecode source under input settings (InputTimecodeSource) only affects the + // behavior of features that apply to a single input at a time, such as input + // clipping and synchronizing some captions formats. Use this setting to specify + // whether the service counts frames by timecodes embedded in the video (EMBEDDED) + // or by starting the first frame at zero (ZEROBASED). In both cases, the timecode + // format is HH:MM:SS:FF or HH:MM:SS;FF, where FF is the frame number. Only + // set this to EMBEDDED if your source video has embedded timecodes. + TimecodeSource *string `locationName:"timecodeSource" type:"string" enum:"InputTimecodeSource"` + + // Selector for video. + VideoSelector *VideoSelector `locationName:"videoSelector" type:"structure"` +} + +// String returns the string representation +func (s InputTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputTemplate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputTemplate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputTemplate"} + if s.FilterStrength != nil && *s.FilterStrength < -5 { + invalidParams.Add(request.NewErrParamMinValue("FilterStrength", -5)) + } + if s.ProgramNumber != nil && *s.ProgramNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("ProgramNumber", 1)) + } + if s.AudioSelectors != nil { + for i, v := range s.AudioSelectors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CaptionSelectors != nil { + for i, v := range s.CaptionSelectors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ImageInserter != nil { + if err := s.ImageInserter.Validate(); err != nil { + invalidParams.AddNested("ImageInserter", err.(request.ErrInvalidParams)) + } + } + if s.VideoSelector != nil { + if err := s.VideoSelector.Validate(); err != nil { + invalidParams.AddNested("VideoSelector", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioSelectorGroups sets the AudioSelectorGroups field's value. +func (s *InputTemplate) SetAudioSelectorGroups(v map[string]*AudioSelectorGroup) *InputTemplate { + s.AudioSelectorGroups = v + return s +} + +// SetAudioSelectors sets the AudioSelectors field's value. +func (s *InputTemplate) SetAudioSelectors(v map[string]*AudioSelector) *InputTemplate { + s.AudioSelectors = v + return s +} + +// SetCaptionSelectors sets the CaptionSelectors field's value. +func (s *InputTemplate) SetCaptionSelectors(v map[string]*CaptionSelector) *InputTemplate { + s.CaptionSelectors = v + return s +} + +// SetDeblockFilter sets the DeblockFilter field's value. +func (s *InputTemplate) SetDeblockFilter(v string) *InputTemplate { + s.DeblockFilter = &v + return s +} + +// SetDenoiseFilter sets the DenoiseFilter field's value. +func (s *InputTemplate) SetDenoiseFilter(v string) *InputTemplate { + s.DenoiseFilter = &v + return s +} + +// SetFilterEnable sets the FilterEnable field's value. +func (s *InputTemplate) SetFilterEnable(v string) *InputTemplate { + s.FilterEnable = &v + return s +} + +// SetFilterStrength sets the FilterStrength field's value. +func (s *InputTemplate) SetFilterStrength(v int64) *InputTemplate { + s.FilterStrength = &v + return s +} + +// SetImageInserter sets the ImageInserter field's value. +func (s *InputTemplate) SetImageInserter(v *ImageInserter) *InputTemplate { + s.ImageInserter = v + return s +} + +// SetInputClippings sets the InputClippings field's value. +func (s *InputTemplate) SetInputClippings(v []*InputClipping) *InputTemplate { + s.InputClippings = v + return s +} + +// SetProgramNumber sets the ProgramNumber field's value. +func (s *InputTemplate) SetProgramNumber(v int64) *InputTemplate { + s.ProgramNumber = &v + return s +} + +// SetPsiControl sets the PsiControl field's value. +func (s *InputTemplate) SetPsiControl(v string) *InputTemplate { + s.PsiControl = &v + return s +} + +// SetTimecodeSource sets the TimecodeSource field's value. +func (s *InputTemplate) SetTimecodeSource(v string) *InputTemplate { + s.TimecodeSource = &v + return s +} + +// SetVideoSelector sets the VideoSelector field's value. +func (s *InputTemplate) SetVideoSelector(v *VideoSelector) *InputTemplate { + s.VideoSelector = v + return s +} + +// Settings that specify how your still graphic overlay appears. +type InsertableImage struct { + _ struct{} `type:"structure"` + + // Specify the time, in milliseconds, for the image to remain on the output + // video. This duration includes fade-in time but not fade-out time. + Duration *int64 `locationName:"duration" type:"integer"` + + // Specify the length of time, in milliseconds, between the Start time that + // you specify for the image insertion and the time that the image appears at + // full opacity. Full opacity is the level that you specify for the opacity + // setting. If you don't specify a value for Fade-in, the image will appear + // abruptly at the overlay start time. + FadeIn *int64 `locationName:"fadeIn" type:"integer"` + + // Specify the length of time, in milliseconds, between the end of the time + // that you have specified for the image overlay Duration and when the overlaid + // image has faded to total transparency. If you don't specify a value for Fade-out, + // the image will disappear abruptly at the end of the inserted image duration. + FadeOut *int64 `locationName:"fadeOut" type:"integer"` + + // Specify the height of the inserted image in pixels. If you specify a value + // that's larger than the video resolution height, the service will crop your + // overlaid image to fit. To use the native height of the image, keep this setting + // blank. + Height *int64 `locationName:"height" type:"integer"` + + // Specify the Amazon S3 location of the image that you want to overlay on the + // video. Use a PNG or TGA file. + ImageInserterInput *string `locationName:"imageInserterInput" min:"14" type:"string"` + + // Specify the distance, in pixels, between the inserted image and the left + // edge of the video frame. Required for any image overlay that you specify. + ImageX *int64 `locationName:"imageX" type:"integer"` + + // Specify the distance, in pixels, between the overlaid image and the top edge + // of the video frame. Required for any image overlay that you specify. + ImageY *int64 `locationName:"imageY" type:"integer"` + + // Specify how overlapping inserted images appear. Images with higher values + // for Layer appear on top of images with lower values for Layer. + Layer *int64 `locationName:"layer" type:"integer"` + + // Use Opacity (Opacity) to specify how much of the underlying video shows through + // the inserted image. 0 is transparent and 100 is fully opaque. Default is + // 50. + Opacity *int64 `locationName:"opacity" type:"integer"` + + // Specify the timecode of the frame that you want the overlay to first appear + // on. This must be in timecode (HH:MM:SS:FF or HH:MM:SS;FF) format. Remember + // to take into account your timecode source settings. + StartTime *string `locationName:"startTime" type:"string"` + + // Specify the width of the inserted image in pixels. If you specify a value + // that's larger than the video resolution width, the service will crop your + // overlaid image to fit. To use the native width of the image, keep this setting + // blank. + Width *int64 `locationName:"width" type:"integer"` +} + +// String returns the string representation +func (s InsertableImage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InsertableImage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InsertableImage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InsertableImage"} + if s.ImageInserterInput != nil && len(*s.ImageInserterInput) < 14 { + invalidParams.Add(request.NewErrParamMinLen("ImageInserterInput", 14)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDuration sets the Duration field's value. +func (s *InsertableImage) SetDuration(v int64) *InsertableImage { + s.Duration = &v + return s +} + +// SetFadeIn sets the FadeIn field's value. +func (s *InsertableImage) SetFadeIn(v int64) *InsertableImage { + s.FadeIn = &v + return s +} + +// SetFadeOut sets the FadeOut field's value. +func (s *InsertableImage) SetFadeOut(v int64) *InsertableImage { + s.FadeOut = &v + return s +} + +// SetHeight sets the Height field's value. +func (s *InsertableImage) SetHeight(v int64) *InsertableImage { + s.Height = &v + return s +} + +// SetImageInserterInput sets the ImageInserterInput field's value. +func (s *InsertableImage) SetImageInserterInput(v string) *InsertableImage { + s.ImageInserterInput = &v + return s +} + +// SetImageX sets the ImageX field's value. +func (s *InsertableImage) SetImageX(v int64) *InsertableImage { + s.ImageX = &v + return s +} + +// SetImageY sets the ImageY field's value. +func (s *InsertableImage) SetImageY(v int64) *InsertableImage { + s.ImageY = &v + return s +} + +// SetLayer sets the Layer field's value. +func (s *InsertableImage) SetLayer(v int64) *InsertableImage { + s.Layer = &v + return s +} + +// SetOpacity sets the Opacity field's value. +func (s *InsertableImage) SetOpacity(v int64) *InsertableImage { + s.Opacity = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *InsertableImage) SetStartTime(v string) *InsertableImage { + s.StartTime = &v + return s +} + +// SetWidth sets the Width field's value. +func (s *InsertableImage) SetWidth(v int64) *InsertableImage { + s.Width = &v + return s +} + +// Each job converts an input file into an output file or files. For more information, +// see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html +type Job struct { + _ struct{} `type:"structure"` + + // Acceleration settings for job execution. + AccelerationSettings *AccelerationSettings `locationName:"accelerationSettings" type:"structure"` + + // An identifier for this resource that is unique within all of AWS. + Arn *string `locationName:"arn" type:"string"` + + // Optional. Choose a tag type that AWS Billing and Cost Management will use + // to sort your AWS Elemental MediaConvert costs on any billing report that + // you set up. Any transcoding outputs that don't have an associated tag will + // appear in your billing report unsorted. If you don't choose a valid value + // for this field, your job outputs will appear on the billing report unsorted. + BillingTagsSource *string `locationName:"billingTagsSource" type:"string" enum:"BillingTagsSource"` + + // The time, in Unix epoch format in seconds, when the job got created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unixTimestamp"` + + // Error code for the job + ErrorCode *int64 `locationName:"errorCode" type:"integer"` + + // Error message of Job + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // A portion of the job's ARN, unique within your AWS Elemental MediaConvert + // resources + Id *string `locationName:"id" type:"string"` + + // The job template that the job is created from, if it is created from a job + // template. + JobTemplate *string `locationName:"jobTemplate" type:"string"` + + // List of output group details + OutputGroupDetails []*OutputGroupDetail `locationName:"outputGroupDetails" type:"list"` + + // Optional. When you create a job, you can specify a queue to send it to. If + // you don't specify, the job will go to the default queue. For more about queues, + // see the User Guide topic at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html + Queue *string `locationName:"queue" type:"string"` + + // The IAM role you use for creating this job. For details about permissions, + // see the User Guide topic at the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html + // + // Role is a required field + Role *string `locationName:"role" type:"string" required:"true"` + + // JobSettings contains all the transcode settings for a job. + // + // Settings is a required field + Settings *JobSettings `locationName:"settings" type:"structure" required:"true"` + + // A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR. + Status *string `locationName:"status" type:"string" enum:"JobStatus"` + + // Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch + // Events. Set the interval, in seconds, between status updates. MediaConvert + // sends an update at this interval from the time the service begins processing + // your job to the time it completes the transcode or encounters an error. + StatusUpdateIntervalInSecs *int64 `locationName:"statusUpdateIntervalInSecs" min:"10" type:"long"` + + // Information about when jobs are submitted, started, and finished is specified + // in Unix epoch format in seconds. + Timing *Timing `locationName:"timing" type:"structure"` + + // User-defined metadata that you want to associate with an MediaConvert job. + // You specify metadata in key/value pairs. + UserMetadata map[string]*string `locationName:"userMetadata" type:"map"` +} + +// String returns the string representation +func (s Job) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Job) GoString() string { + return s.String() +} + +// SetAccelerationSettings sets the AccelerationSettings field's value. +func (s *Job) SetAccelerationSettings(v *AccelerationSettings) *Job { + s.AccelerationSettings = v + return s +} + +// SetArn sets the Arn field's value. +func (s *Job) SetArn(v string) *Job { + s.Arn = &v + return s +} + +// SetBillingTagsSource sets the BillingTagsSource field's value. +func (s *Job) SetBillingTagsSource(v string) *Job { + s.BillingTagsSource = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Job) SetCreatedAt(v time.Time) *Job { + s.CreatedAt = &v + return s +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *Job) SetErrorCode(v int64) *Job { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *Job) SetErrorMessage(v string) *Job { + s.ErrorMessage = &v + return s +} + +// SetId sets the Id field's value. +func (s *Job) SetId(v string) *Job { + s.Id = &v + return s +} + +// SetJobTemplate sets the JobTemplate field's value. +func (s *Job) SetJobTemplate(v string) *Job { + s.JobTemplate = &v + return s +} + +// SetOutputGroupDetails sets the OutputGroupDetails field's value. +func (s *Job) SetOutputGroupDetails(v []*OutputGroupDetail) *Job { + s.OutputGroupDetails = v + return s +} + +// SetQueue sets the Queue field's value. +func (s *Job) SetQueue(v string) *Job { + s.Queue = &v + return s +} + +// SetRole sets the Role field's value. +func (s *Job) SetRole(v string) *Job { + s.Role = &v + return s +} + +// SetSettings sets the Settings field's value. +func (s *Job) SetSettings(v *JobSettings) *Job { + s.Settings = v + return s +} + +// SetStatus sets the Status field's value. +func (s *Job) SetStatus(v string) *Job { + s.Status = &v + return s +} + +// SetStatusUpdateIntervalInSecs sets the StatusUpdateIntervalInSecs field's value. +func (s *Job) SetStatusUpdateIntervalInSecs(v int64) *Job { + s.StatusUpdateIntervalInSecs = &v + return s +} + +// SetTiming sets the Timing field's value. +func (s *Job) SetTiming(v *Timing) *Job { + s.Timing = v + return s +} + +// SetUserMetadata sets the UserMetadata field's value. +func (s *Job) SetUserMetadata(v map[string]*string) *Job { + s.UserMetadata = v + return s +} + +// JobSettings contains all the transcode settings for a job. +type JobSettings struct { + _ struct{} `type:"structure"` + + // When specified, this offset (in milliseconds) is added to the input Ad Avail + // PTS time. + AdAvailOffset *int64 `locationName:"adAvailOffset" type:"integer"` + + // Settings for ad avail blanking. Video can be blanked or overlaid with an + // image, and audio muted during SCTE-35 triggered ad avails. + AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"` + + // Settings for Event Signaling And Messaging (ESAM). + Esam *EsamSettings `locationName:"esam" type:"structure"` + + // Use Inputs (inputs) to define source file used in the transcode job. There + // can be multiple inputs add in a job. These inputs will be concantenated together + // to create the output. + Inputs []*Input `locationName:"inputs" type:"list"` + + // Overlay motion graphics on top of your video. The motion graphics that you + // specify here appear on all outputs in all output groups. + MotionImageInserter *MotionImageInserter `locationName:"motionImageInserter" type:"structure"` + + // Settings for Nielsen Configuration + NielsenConfiguration *NielsenConfiguration `locationName:"nielsenConfiguration" type:"structure"` + + // (OutputGroups) contains one group of settings for each set of outputs that + // share a common package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, + // MXF, and no container) are grouped in a single output group as well. Required + // in (OutputGroups) is a group of settings that apply to the whole group. This + // required object depends on the value you set for (Type) under (OutputGroups)>(OutputGroupSettings). + // Type, settings object pairs are as follows. * FILE_GROUP_SETTINGS, FileGroupSettings + // * HLS_GROUP_SETTINGS, HlsGroupSettings * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings + // * MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, + // CmafGroupSettings + OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list"` + + // Contains settings used to acquire and adjust timecode information from inputs. + TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure"` + + // Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags + // in your job. To include timed metadata, you must enable it here, enable it + // in each output container, and specify tags and timecodes in ID3 insertion + // (Id3Insertion) objects. + TimedMetadataInsertion *TimedMetadataInsertion `locationName:"timedMetadataInsertion" type:"structure"` +} + +// String returns the string representation +func (s JobSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JobSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *JobSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JobSettings"} + if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 { + invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000)) + } + if s.AvailBlanking != nil { + if err := s.AvailBlanking.Validate(); err != nil { + invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams)) + } + } + if s.Inputs != nil { + for i, v := range s.Inputs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Inputs", i), err.(request.ErrInvalidParams)) + } + } + } + if s.MotionImageInserter != nil { + if err := s.MotionImageInserter.Validate(); err != nil { + invalidParams.AddNested("MotionImageInserter", err.(request.ErrInvalidParams)) + } + } + if s.OutputGroups != nil { + for i, v := range s.OutputGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdAvailOffset sets the AdAvailOffset field's value. +func (s *JobSettings) SetAdAvailOffset(v int64) *JobSettings { + s.AdAvailOffset = &v + return s +} + +// SetAvailBlanking sets the AvailBlanking field's value. +func (s *JobSettings) SetAvailBlanking(v *AvailBlanking) *JobSettings { + s.AvailBlanking = v + return s +} + +// SetEsam sets the Esam field's value. +func (s *JobSettings) SetEsam(v *EsamSettings) *JobSettings { + s.Esam = v + return s +} + +// SetInputs sets the Inputs field's value. +func (s *JobSettings) SetInputs(v []*Input) *JobSettings { + s.Inputs = v + return s +} + +// SetMotionImageInserter sets the MotionImageInserter field's value. +func (s *JobSettings) SetMotionImageInserter(v *MotionImageInserter) *JobSettings { + s.MotionImageInserter = v + return s +} + +// SetNielsenConfiguration sets the NielsenConfiguration field's value. +func (s *JobSettings) SetNielsenConfiguration(v *NielsenConfiguration) *JobSettings { + s.NielsenConfiguration = v + return s +} + +// SetOutputGroups sets the OutputGroups field's value. +func (s *JobSettings) SetOutputGroups(v []*OutputGroup) *JobSettings { + s.OutputGroups = v + return s +} + +// SetTimecodeConfig sets the TimecodeConfig field's value. +func (s *JobSettings) SetTimecodeConfig(v *TimecodeConfig) *JobSettings { + s.TimecodeConfig = v + return s +} + +// SetTimedMetadataInsertion sets the TimedMetadataInsertion field's value. +func (s *JobSettings) SetTimedMetadataInsertion(v *TimedMetadataInsertion) *JobSettings { + s.TimedMetadataInsertion = v + return s +} + +// A job template is a pre-made set of encoding instructions that you can use +// to quickly create a job. +type JobTemplate struct { + _ struct{} `type:"structure"` + + // Acceleration settings for job execution. + AccelerationSettings *AccelerationSettings `locationName:"accelerationSettings" type:"structure"` + + // An identifier for this resource that is unique within all of AWS. + Arn *string `locationName:"arn" type:"string"` + + // An optional category you create to organize your job templates. + Category *string `locationName:"category" type:"string"` + + // The timestamp in epoch seconds for Job template creation. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unixTimestamp"` + + // An optional description you create for each job template. + Description *string `locationName:"description" type:"string"` + + // The timestamp in epoch seconds when the Job template was last updated. + LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp" timestampFormat:"unixTimestamp"` + + // A name you create for each job template. Each name must be unique within + // your account. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Optional. The queue that jobs created from this template are assigned to. + // If you don't specify this, jobs will go to the default queue. + Queue *string `locationName:"queue" type:"string"` + + // JobTemplateSettings contains all the transcode settings saved in the template + // that will be applied to jobs created from it. + // + // Settings is a required field + Settings *JobTemplateSettings `locationName:"settings" type:"structure" required:"true"` + + // Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch + // Events. Set the interval, in seconds, between status updates. MediaConvert + // sends an update at this interval from the time the service begins processing + // your job to the time it completes the transcode or encounters an error. + StatusUpdateIntervalInSecs *int64 `locationName:"statusUpdateIntervalInSecs" min:"10" type:"long"` + + // A job template can be of two types: system or custom. System or built-in + // job templates can't be modified or deleted by the user. + Type *string `locationName:"type" type:"string" enum:"Type"` +} + +// String returns the string representation +func (s JobTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JobTemplate) GoString() string { + return s.String() +} + +// SetAccelerationSettings sets the AccelerationSettings field's value. +func (s *JobTemplate) SetAccelerationSettings(v *AccelerationSettings) *JobTemplate { + s.AccelerationSettings = v + return s +} + +// SetArn sets the Arn field's value. +func (s *JobTemplate) SetArn(v string) *JobTemplate { + s.Arn = &v + return s +} + +// SetCategory sets the Category field's value. +func (s *JobTemplate) SetCategory(v string) *JobTemplate { + s.Category = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *JobTemplate) SetCreatedAt(v time.Time) *JobTemplate { + s.CreatedAt = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *JobTemplate) SetDescription(v string) *JobTemplate { + s.Description = &v + return s +} + +// SetLastUpdated sets the LastUpdated field's value. +func (s *JobTemplate) SetLastUpdated(v time.Time) *JobTemplate { + s.LastUpdated = &v + return s +} + +// SetName sets the Name field's value. +func (s *JobTemplate) SetName(v string) *JobTemplate { + s.Name = &v + return s +} + +// SetQueue sets the Queue field's value. +func (s *JobTemplate) SetQueue(v string) *JobTemplate { + s.Queue = &v + return s +} + +// SetSettings sets the Settings field's value. +func (s *JobTemplate) SetSettings(v *JobTemplateSettings) *JobTemplate { + s.Settings = v + return s +} + +// SetStatusUpdateIntervalInSecs sets the StatusUpdateIntervalInSecs field's value. +func (s *JobTemplate) SetStatusUpdateIntervalInSecs(v int64) *JobTemplate { + s.StatusUpdateIntervalInSecs = &v + return s +} + +// SetType sets the Type field's value. +func (s *JobTemplate) SetType(v string) *JobTemplate { + s.Type = &v + return s +} + +// JobTemplateSettings contains all the transcode settings saved in the template +// that will be applied to jobs created from it. +type JobTemplateSettings struct { + _ struct{} `type:"structure"` + + // When specified, this offset (in milliseconds) is added to the input Ad Avail + // PTS time. + AdAvailOffset *int64 `locationName:"adAvailOffset" type:"integer"` + + // Settings for ad avail blanking. Video can be blanked or overlaid with an + // image, and audio muted during SCTE-35 triggered ad avails. + AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"` + + // Settings for Event Signaling And Messaging (ESAM). + Esam *EsamSettings `locationName:"esam" type:"structure"` + + // Use Inputs (inputs) to define the source file used in the transcode job. + // There can only be one input in a job template. Using the API, you can include + // multiple inputs when referencing a job template. + Inputs []*InputTemplate `locationName:"inputs" type:"list"` + + // Overlay motion graphics on top of your video. The motion graphics that you + // specify here appear on all outputs in all output groups. + MotionImageInserter *MotionImageInserter `locationName:"motionImageInserter" type:"structure"` + + // Settings for Nielsen Configuration + NielsenConfiguration *NielsenConfiguration `locationName:"nielsenConfiguration" type:"structure"` + + // (OutputGroups) contains one group of settings for each set of outputs that + // share a common package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, + // MXF, and no container) are grouped in a single output group as well. Required + // in (OutputGroups) is a group of settings that apply to the whole group. This + // required object depends on the value you set for (Type) under (OutputGroups)>(OutputGroupSettings). + // Type, settings object pairs are as follows. * FILE_GROUP_SETTINGS, FileGroupSettings + // * HLS_GROUP_SETTINGS, HlsGroupSettings * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings + // * MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, + // CmafGroupSettings + OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list"` + + // Contains settings used to acquire and adjust timecode information from inputs. + TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure"` + + // Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags + // in your job. To include timed metadata, you must enable it here, enable it + // in each output container, and specify tags and timecodes in ID3 insertion + // (Id3Insertion) objects. + TimedMetadataInsertion *TimedMetadataInsertion `locationName:"timedMetadataInsertion" type:"structure"` +} + +// String returns the string representation +func (s JobTemplateSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JobTemplateSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *JobTemplateSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JobTemplateSettings"} + if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 { + invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000)) + } + if s.AvailBlanking != nil { + if err := s.AvailBlanking.Validate(); err != nil { + invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams)) + } + } + if s.Inputs != nil { + for i, v := range s.Inputs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Inputs", i), err.(request.ErrInvalidParams)) + } + } + } + if s.MotionImageInserter != nil { + if err := s.MotionImageInserter.Validate(); err != nil { + invalidParams.AddNested("MotionImageInserter", err.(request.ErrInvalidParams)) + } + } + if s.OutputGroups != nil { + for i, v := range s.OutputGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdAvailOffset sets the AdAvailOffset field's value. +func (s *JobTemplateSettings) SetAdAvailOffset(v int64) *JobTemplateSettings { + s.AdAvailOffset = &v + return s +} + +// SetAvailBlanking sets the AvailBlanking field's value. +func (s *JobTemplateSettings) SetAvailBlanking(v *AvailBlanking) *JobTemplateSettings { + s.AvailBlanking = v + return s +} + +// SetEsam sets the Esam field's value. +func (s *JobTemplateSettings) SetEsam(v *EsamSettings) *JobTemplateSettings { + s.Esam = v + return s +} + +// SetInputs sets the Inputs field's value. +func (s *JobTemplateSettings) SetInputs(v []*InputTemplate) *JobTemplateSettings { + s.Inputs = v + return s +} + +// SetMotionImageInserter sets the MotionImageInserter field's value. +func (s *JobTemplateSettings) SetMotionImageInserter(v *MotionImageInserter) *JobTemplateSettings { + s.MotionImageInserter = v + return s +} + +// SetNielsenConfiguration sets the NielsenConfiguration field's value. +func (s *JobTemplateSettings) SetNielsenConfiguration(v *NielsenConfiguration) *JobTemplateSettings { + s.NielsenConfiguration = v + return s +} + +// SetOutputGroups sets the OutputGroups field's value. +func (s *JobTemplateSettings) SetOutputGroups(v []*OutputGroup) *JobTemplateSettings { + s.OutputGroups = v + return s +} + +// SetTimecodeConfig sets the TimecodeConfig field's value. +func (s *JobTemplateSettings) SetTimecodeConfig(v *TimecodeConfig) *JobTemplateSettings { + s.TimecodeConfig = v + return s +} + +// SetTimedMetadataInsertion sets the TimedMetadataInsertion field's value. +func (s *JobTemplateSettings) SetTimedMetadataInsertion(v *TimedMetadataInsertion) *JobTemplateSettings { + s.TimedMetadataInsertion = v + return s +} + +// You can send list job templates requests with an empty body. Optionally, +// you can filter the response by category by specifying it in your request +// body. You can also optionally specify the maximum number, up to twenty, of +// job templates to be returned. +type ListJobTemplatesInput struct { + _ struct{} `type:"structure"` + + // Optionally, specify a job template category to limit responses to only job + // templates from that category. + Category *string `location:"querystring" locationName:"category" type:"string"` + + // Optional. When you request a list of job templates, you can choose to list + // them alphabetically by NAME or chronologically by CREATION_DATE. If you don't + // specify, the service will list them by name. + ListBy *string `location:"querystring" locationName:"listBy" type:"string" enum:"JobTemplateListBy"` + + // Optional. Number of job templates, up to twenty, that will be returned at + // one time. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // Use this string, provided with the response to a previous request, to request + // the next batch of job templates. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // When you request lists of resources, you can optionally specify whether they + // are sorted in ASCENDING or DESCENDING order. Default varies by resource. + Order *string `location:"querystring" locationName:"order" type:"string" enum:"Order"` +} + +// String returns the string representation +func (s ListJobTemplatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListJobTemplatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListJobTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListJobTemplatesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCategory sets the Category field's value. +func (s *ListJobTemplatesInput) SetCategory(v string) *ListJobTemplatesInput { + s.Category = &v + return s +} + +// SetListBy sets the ListBy field's value. +func (s *ListJobTemplatesInput) SetListBy(v string) *ListJobTemplatesInput { + s.ListBy = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListJobTemplatesInput) SetMaxResults(v int64) *ListJobTemplatesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListJobTemplatesInput) SetNextToken(v string) *ListJobTemplatesInput { + s.NextToken = &v + return s +} + +// SetOrder sets the Order field's value. +func (s *ListJobTemplatesInput) SetOrder(v string) *ListJobTemplatesInput { + s.Order = &v + return s +} + +// Successful list job templates requests return a JSON array of job templates. +// If you don't specify how they are ordered, you will receive them in alphabetical +// order by name. +type ListJobTemplatesOutput struct { + _ struct{} `type:"structure"` + + // List of Job templates. + JobTemplates []*JobTemplate `locationName:"jobTemplates" type:"list"` + + // Use this string to request the next batch of job templates. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListJobTemplatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListJobTemplatesOutput) GoString() string { + return s.String() +} + +// SetJobTemplates sets the JobTemplates field's value. +func (s *ListJobTemplatesOutput) SetJobTemplates(v []*JobTemplate) *ListJobTemplatesOutput { + s.JobTemplates = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListJobTemplatesOutput) SetNextToken(v string) *ListJobTemplatesOutput { + s.NextToken = &v + return s +} + +// You can send list jobs requests with an empty body. Optionally, you can filter +// the response by queue and/or job status by specifying them in your request +// body. You can also optionally specify the maximum number, up to twenty, of +// jobs to be returned. +type ListJobsInput struct { + _ struct{} `type:"structure"` + + // Optional. Number of jobs, up to twenty, that will be returned at one time. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // Use this string, provided with the response to a previous request, to request + // the next batch of jobs. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // When you request lists of resources, you can optionally specify whether they + // are sorted in ASCENDING or DESCENDING order. Default varies by resource. + Order *string `location:"querystring" locationName:"order" type:"string" enum:"Order"` + + // Provide a queue name to get back only jobs from that queue. + Queue *string `location:"querystring" locationName:"queue" type:"string"` + + // A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR. + Status *string `location:"querystring" locationName:"status" type:"string" enum:"JobStatus"` +} + +// String returns the string representation +func (s ListJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"} + 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 *ListJobsInput) SetMaxResults(v int64) *ListJobsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput { + s.NextToken = &v + return s +} + +// SetOrder sets the Order field's value. +func (s *ListJobsInput) SetOrder(v string) *ListJobsInput { + s.Order = &v + return s +} + +// SetQueue sets the Queue field's value. +func (s *ListJobsInput) SetQueue(v string) *ListJobsInput { + s.Queue = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListJobsInput) SetStatus(v string) *ListJobsInput { + s.Status = &v + return s +} + +// Successful list jobs requests return a JSON array of jobs. If you don't specify +// how they are ordered, you will receive the most recently created first. +type ListJobsOutput struct { + _ struct{} `type:"structure"` + + // List of jobs + Jobs []*Job `locationName:"jobs" type:"list"` + + // Use this string to request the next batch of jobs. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListJobsOutput) GoString() string { + return s.String() +} + +// SetJobs sets the Jobs field's value. +func (s *ListJobsOutput) SetJobs(v []*Job) *ListJobsOutput { + s.Jobs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput { + s.NextToken = &v + return s +} + +// You can send list presets requests with an empty body. Optionally, you can +// filter the response by category by specifying it in your request body. You +// can also optionally specify the maximum number, up to twenty, of queues to +// be returned. +type ListPresetsInput struct { + _ struct{} `type:"structure"` + + // Optionally, specify a preset category to limit responses to only presets + // from that category. + Category *string `location:"querystring" locationName:"category" type:"string"` + + // Optional. When you request a list of presets, you can choose to list them + // alphabetically by NAME or chronologically by CREATION_DATE. If you don't + // specify, the service will list them by name. + ListBy *string `location:"querystring" locationName:"listBy" type:"string" enum:"PresetListBy"` + + // Optional. Number of presets, up to twenty, that will be returned at one time + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // Use this string, provided with the response to a previous request, to request + // the next batch of presets. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // When you request lists of resources, you can optionally specify whether they + // are sorted in ASCENDING or DESCENDING order. Default varies by resource. + Order *string `location:"querystring" locationName:"order" type:"string" enum:"Order"` +} + +// String returns the string representation +func (s ListPresetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPresetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPresetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPresetsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCategory sets the Category field's value. +func (s *ListPresetsInput) SetCategory(v string) *ListPresetsInput { + s.Category = &v + return s +} + +// SetListBy sets the ListBy field's value. +func (s *ListPresetsInput) SetListBy(v string) *ListPresetsInput { + s.ListBy = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPresetsInput) SetMaxResults(v int64) *ListPresetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPresetsInput) SetNextToken(v string) *ListPresetsInput { + s.NextToken = &v + return s +} + +// SetOrder sets the Order field's value. +func (s *ListPresetsInput) SetOrder(v string) *ListPresetsInput { + s.Order = &v + return s +} + +// Successful list presets requests return a JSON array of presets. If you don't +// specify how they are ordered, you will receive them alphabetically by name. +type ListPresetsOutput struct { + _ struct{} `type:"structure"` + + // Use this string to request the next batch of presets. + NextToken *string `locationName:"nextToken" type:"string"` + + // List of presets + Presets []*Preset `locationName:"presets" type:"list"` +} + +// String returns the string representation +func (s ListPresetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPresetsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPresetsOutput) SetNextToken(v string) *ListPresetsOutput { + s.NextToken = &v + return s +} + +// SetPresets sets the Presets field's value. +func (s *ListPresetsOutput) SetPresets(v []*Preset) *ListPresetsOutput { + s.Presets = v + return s +} + +// You can send list queues requests with an empty body. You can optionally +// specify the maximum number, up to twenty, of queues to be returned. +type ListQueuesInput struct { + _ struct{} `type:"structure"` + + // Optional. When you request a list of queues, you can choose to list them + // alphabetically by NAME or chronologically by CREATION_DATE. If you don't + // specify, the service will list them by creation date. + ListBy *string `location:"querystring" locationName:"listBy" type:"string" enum:"QueueListBy"` + + // Optional. Number of queues, up to twenty, that will be returned at one time. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // Use this string, provided with the response to a previous request, to request + // the next batch of queues. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // When you request lists of resources, you can optionally specify whether they + // are sorted in ASCENDING or DESCENDING order. Default varies by resource. + Order *string `location:"querystring" locationName:"order" type:"string" enum:"Order"` +} + +// String returns the string representation +func (s ListQueuesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListQueuesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListQueuesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListQueuesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetListBy sets the ListBy field's value. +func (s *ListQueuesInput) SetListBy(v string) *ListQueuesInput { + s.ListBy = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListQueuesInput) SetMaxResults(v int64) *ListQueuesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListQueuesInput) SetNextToken(v string) *ListQueuesInput { + s.NextToken = &v + return s +} + +// SetOrder sets the Order field's value. +func (s *ListQueuesInput) SetOrder(v string) *ListQueuesInput { + s.Order = &v + return s +} + +// Successful list queues requests return a JSON array of queues. If you don't +// specify how they are ordered, you will receive them alphabetically by name. +type ListQueuesOutput struct { + _ struct{} `type:"structure"` + + // Use this string to request the next batch of queues. + NextToken *string `locationName:"nextToken" type:"string"` + + // List of queues. + Queues []*Queue `locationName:"queues" type:"list"` +} + +// String returns the string representation +func (s ListQueuesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListQueuesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListQueuesOutput) SetNextToken(v string) *ListQueuesOutput { + s.NextToken = &v + return s +} + +// SetQueues sets the Queues field's value. +func (s *ListQueuesOutput) SetQueues(v []*Queue) *ListQueuesOutput { + s.Queues = v + return s +} + +// List the tags for your AWS Elemental MediaConvert resource by sending a request +// with the Amazon Resource Name (ARN) of the resource. To get the ARN, send +// a GET request with the resource name. +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want to list tags + // for. To get the ARN, send a GET request with the resource name. + // + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` +} + +// 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.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *ListTagsForResourceInput) SetArn(v string) *ListTagsForResourceInput { + s.Arn = &v + return s +} + +// A successful request to list the tags for a resource returns a JSON map of +// tags. +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) and tags for an AWS Elemental MediaConvert + // resource. + ResourceTags *ResourceTags `locationName:"resourceTags" type:"structure"` +} + +// 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() +} + +// SetResourceTags sets the ResourceTags field's value. +func (s *ListTagsForResourceOutput) SetResourceTags(v *ResourceTags) *ListTagsForResourceOutput { + s.ResourceTags = v + return s +} + +// Settings for SCTE-35 signals from ESAM. Include this in your job settings +// to put SCTE-35 markers in your HLS and transport stream outputs at the insertion +// points that you specify in an ESAM XML document. Provide the document in +// the setting SCC XML (sccXml). +type M2tsScte35Esam struct { + _ struct{} `type:"structure"` + + // Packet Identifier (PID) of the SCTE-35 stream in the transport stream generated + // by ESAM. + Scte35EsamPid *int64 `locationName:"scte35EsamPid" min:"32" type:"integer"` +} + +// String returns the string representation +func (s M2tsScte35Esam) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s M2tsScte35Esam) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *M2tsScte35Esam) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "M2tsScte35Esam"} + if s.Scte35EsamPid != nil && *s.Scte35EsamPid < 32 { + invalidParams.Add(request.NewErrParamMinValue("Scte35EsamPid", 32)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScte35EsamPid sets the Scte35EsamPid field's value. +func (s *M2tsScte35Esam) SetScte35EsamPid(v int64) *M2tsScte35Esam { + s.Scte35EsamPid = &v + return s +} + +// MPEG-2 TS container settings. These apply to outputs in a File output group +// when the output's container (ContainerType) is MPEG-2 Transport Stream (M2TS). +// In these assets, data is organized by the program map table (PMT). Each transport +// stream program contains subsets of data, including audio, video, and metadata. +// Each of these subsets of data has a numerical label called a packet identifier +// (PID). Each transport stream program corresponds to one MediaConvert output. +// The PMT lists the types of data in a program along with their PID. Downstream +// systems and players use the program map table to look up the PID for each +// type of data it accesses and then uses the PIDs to locate specific data within +// the asset. +type M2tsSettings struct { + _ struct{} `type:"structure"` + + // Selects between the DVB and ATSC buffer models for Dolby Digital audio. + AudioBufferModel *string `locationName:"audioBufferModel" type:"string" enum:"M2tsAudioBufferModel"` + + // The number of audio frames to insert for each PES packet. + AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"` + + // Specify the packet identifiers (PIDs) for any elementary audio streams you + // include in this output. Specify multiple PIDs as a JSON array. Default is + // the range 482-492. + AudioPids []*int64 `locationName:"audioPids" type:"list"` + + // Specify the output bitrate of the transport stream in bits per second. Setting + // to 0 lets the muxer automatically determine the appropriate bitrate. Other + // common values are 3750000, 7500000, and 15000000. + Bitrate *int64 `locationName:"bitrate" type:"integer"` + + // Controls what buffer model to use for accurate interleaving. If set to MULTIPLEX, + // use multiplex buffer model. If set to NONE, this can lead to lower latency, + // but low-memory devices may not be able to play back the stream without interruptions. + BufferModel *string `locationName:"bufferModel" type:"string" enum:"M2tsBufferModel"` + + // Inserts DVB Network Information Table (NIT) at the specified table repetition + // interval. + DvbNitSettings *DvbNitSettings `locationName:"dvbNitSettings" type:"structure"` + + // Inserts DVB Service Description Table (NIT) at the specified table repetition + // interval. + DvbSdtSettings *DvbSdtSettings `locationName:"dvbSdtSettings" type:"structure"` + + // Specify the packet identifiers (PIDs) for DVB subtitle data included in this + // output. Specify multiple PIDs as a JSON array. Default is the range 460-479. + DvbSubPids []*int64 `locationName:"dvbSubPids" type:"list"` + + // Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. + DvbTdtSettings *DvbTdtSettings `locationName:"dvbTdtSettings" type:"structure"` + + // Specify the packet identifier (PID) for DVB teletext data you include in + // this output. Default is 499. + DvbTeletextPid *int64 `locationName:"dvbTeletextPid" min:"32" type:"integer"` + + // When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to + // partitions 3 and 4. The interval between these additional markers will be + // fixed, and will be slightly shorter than the video EBP marker interval. When + // set to VIDEO_INTERVAL, these additional markers will not be inserted. Only + // applicable when EBP segmentation markers are is selected (segmentationMarkers + // is EBP or EBP_LEGACY). + EbpAudioInterval *string `locationName:"ebpAudioInterval" type:"string" enum:"M2tsEbpAudioInterval"` + + // Selects which PIDs to place EBP markers on. They can either be placed only + // on the video PID, or on both the video PID and all audio PIDs. Only applicable + // when EBP segmentation markers are is selected (segmentationMarkers is EBP + // or EBP_LEGACY). + EbpPlacement *string `locationName:"ebpPlacement" type:"string" enum:"M2tsEbpPlacement"` + + // Controls whether to include the ES Rate field in the PES header. + EsRateInPes *string `locationName:"esRateInPes" type:"string" enum:"M2tsEsRateInPes"` + + // Keep the default value (DEFAULT) unless you know that your audio EBP markers + // are incorrectly appearing before your video EBP markers. To correct this + // problem, set this value to Force (FORCE). + ForceTsVideoEbpOrder *string `locationName:"forceTsVideoEbpOrder" type:"string" enum:"M2tsForceTsVideoEbpOrder"` + + // The length, in seconds, of each fragment. Only used with EBP markers. + FragmentTime *float64 `locationName:"fragmentTime" type:"double"` + + // Specify the maximum time, in milliseconds, between Program Clock References + // (PCRs) inserted into the transport stream. + MaxPcrInterval *int64 `locationName:"maxPcrInterval" type:"integer"` + + // When set, enforces that Encoder Boundary Points do not come within the specified + // time interval of each other by looking ahead at input video. If another EBP + // is going to come in within the specified time interval, the current EBP is + // not emitted, and the segment is "stretched" to the next marker. The lookahead + // value does not add latency to the system. The Live Event must be configured + // elsewhere to create sufficient latency to make the lookahead accurate. + MinEbpInterval *int64 `locationName:"minEbpInterval" type:"integer"` + + // If INSERT, Nielsen inaudible tones for media tracking will be detected in + // the input audio and an equivalent ID3 tag will be inserted in the output. + NielsenId3 *string `locationName:"nielsenId3" type:"string" enum:"M2tsNielsenId3"` + + // Value in bits per second of extra null packets to insert into the transport + // stream. This can be used if a downstream encryption system requires periodic + // null packets. + NullPacketBitrate *float64 `locationName:"nullPacketBitrate" type:"double"` + + // The number of milliseconds between instances of this table in the output + // transport stream. + PatInterval *int64 `locationName:"patInterval" type:"integer"` + + // When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted + // for every Packetized Elementary Stream (PES) header. This is effective only + // when the PCR PID is the same as the video or audio elementary stream. + PcrControl *string `locationName:"pcrControl" type:"string" enum:"M2tsPcrControl"` + + // Specify the packet identifier (PID) for the program clock reference (PCR) + // in this output. If you do not specify a value, the service will use the value + // for Video PID (VideoPid). + PcrPid *int64 `locationName:"pcrPid" min:"32" type:"integer"` + + // Specify the number of milliseconds between instances of the program map table + // (PMT) in the output transport stream. + PmtInterval *int64 `locationName:"pmtInterval" type:"integer"` + + // Specify the packet identifier (PID) for the program map table (PMT) itself. + // Default is 480. + PmtPid *int64 `locationName:"pmtPid" min:"32" type:"integer"` + + // Specify the packet identifier (PID) of the private metadata stream. Default + // is 503. + PrivateMetadataPid *int64 `locationName:"privateMetadataPid" min:"32" type:"integer"` + + // Use Program number (programNumber) to specify the program number used in + // the program map table (PMT) for this output. Default is 1. Program numbers + // and program map tables are parts of MPEG-2 transport stream containers, used + // for organizing data. + ProgramNumber *int64 `locationName:"programNumber" type:"integer"` + + // When set to CBR, inserts null packets into transport stream to fill specified + // bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, + // but the output will not be padded up to that bitrate. + RateMode *string `locationName:"rateMode" type:"string" enum:"M2tsRateMode"` + + // Include this in your job settings to put SCTE-35 markers in your HLS and + // transport stream outputs at the insertion points that you specify in an ESAM + // XML document. Provide the document in the setting SCC XML (sccXml). + Scte35Esam *M2tsScte35Esam `locationName:"scte35Esam" type:"structure"` + + // Specify the packet identifier (PID) of the SCTE-35 stream in the transport + // stream. + Scte35Pid *int64 `locationName:"scte35Pid" min:"32" type:"integer"` + + // Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from + // input to output. + Scte35Source *string `locationName:"scte35Source" type:"string" enum:"M2tsScte35Source"` + + // Inserts segmentation markers at each segmentation_time period. rai_segstart + // sets the Random Access Indicator bit in the adaptation field. rai_adapt sets + // the RAI bit and adds the current timecode in the private data bytes. psi_segstart + // inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary + // Point information to the adaptation field as per OpenCable specification + // OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information + // to the adaptation field using a legacy proprietary format. + SegmentationMarkers *string `locationName:"segmentationMarkers" type:"string" enum:"M2tsSegmentationMarkers"` + + // The segmentation style parameter controls how segmentation markers are inserted + // into the transport stream. With avails, it is possible that segments may + // be truncated, which can influence where future segmentation markers are inserted. + // When a segmentation style of "reset_cadence" is selected and a segment is + // truncated due to an avail, we will reset the segmentation cadence. This means + // the subsequent segment will have a duration of of $segmentation_time seconds. + // When a segmentation style of "maintain_cadence" is selected and a segment + // is truncated due to an avail, we will not reset the segmentation cadence. + // This means the subsequent segment will likely be truncated as well. However, + // all segments after that will have a duration of $segmentation_time seconds. + // Note that EBP lookahead is a slight exception to this rule. + SegmentationStyle *string `locationName:"segmentationStyle" type:"string" enum:"M2tsSegmentationStyle"` + + // Specify the length, in seconds, of each segment. Required unless markers + // is set to _none_. + SegmentationTime *float64 `locationName:"segmentationTime" type:"double"` + + // Specify the packet identifier (PID) for timed metadata in this output. Default + // is 502. + TimedMetadataPid *int64 `locationName:"timedMetadataPid" min:"32" type:"integer"` + + // Specify the ID for the transport stream itself in the program map table for + // this output. Transport stream IDs and program map tables are parts of MPEG-2 + // transport stream containers, used for organizing data. + TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"` + + // Specify the packet identifier (PID) of the elementary video stream in the + // transport stream. + VideoPid *int64 `locationName:"videoPid" min:"32" type:"integer"` +} + +// String returns the string representation +func (s M2tsSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s M2tsSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *M2tsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "M2tsSettings"} + if s.DvbTeletextPid != nil && *s.DvbTeletextPid < 32 { + invalidParams.Add(request.NewErrParamMinValue("DvbTeletextPid", 32)) + } + if s.PcrPid != nil && *s.PcrPid < 32 { + invalidParams.Add(request.NewErrParamMinValue("PcrPid", 32)) + } + if s.PmtPid != nil && *s.PmtPid < 32 { + invalidParams.Add(request.NewErrParamMinValue("PmtPid", 32)) + } + if s.PrivateMetadataPid != nil && *s.PrivateMetadataPid < 32 { + invalidParams.Add(request.NewErrParamMinValue("PrivateMetadataPid", 32)) + } + if s.Scte35Pid != nil && *s.Scte35Pid < 32 { + invalidParams.Add(request.NewErrParamMinValue("Scte35Pid", 32)) + } + if s.TimedMetadataPid != nil && *s.TimedMetadataPid < 32 { + invalidParams.Add(request.NewErrParamMinValue("TimedMetadataPid", 32)) + } + if s.VideoPid != nil && *s.VideoPid < 32 { + invalidParams.Add(request.NewErrParamMinValue("VideoPid", 32)) + } + if s.DvbNitSettings != nil { + if err := s.DvbNitSettings.Validate(); err != nil { + invalidParams.AddNested("DvbNitSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbSdtSettings != nil { + if err := s.DvbSdtSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSdtSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbTdtSettings != nil { + if err := s.DvbTdtSettings.Validate(); err != nil { + invalidParams.AddNested("DvbTdtSettings", err.(request.ErrInvalidParams)) + } + } + if s.Scte35Esam != nil { + if err := s.Scte35Esam.Validate(); err != nil { + invalidParams.AddNested("Scte35Esam", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioBufferModel sets the AudioBufferModel field's value. +func (s *M2tsSettings) SetAudioBufferModel(v string) *M2tsSettings { + s.AudioBufferModel = &v + return s +} + +// SetAudioFramesPerPes sets the AudioFramesPerPes field's value. +func (s *M2tsSettings) SetAudioFramesPerPes(v int64) *M2tsSettings { + s.AudioFramesPerPes = &v + return s +} + +// SetAudioPids sets the AudioPids field's value. +func (s *M2tsSettings) SetAudioPids(v []*int64) *M2tsSettings { + s.AudioPids = v + return s +} + +// SetBitrate sets the Bitrate field's value. +func (s *M2tsSettings) SetBitrate(v int64) *M2tsSettings { + s.Bitrate = &v + return s +} + +// SetBufferModel sets the BufferModel field's value. +func (s *M2tsSettings) SetBufferModel(v string) *M2tsSettings { + s.BufferModel = &v + return s +} + +// SetDvbNitSettings sets the DvbNitSettings field's value. +func (s *M2tsSettings) SetDvbNitSettings(v *DvbNitSettings) *M2tsSettings { + s.DvbNitSettings = v + return s +} + +// SetDvbSdtSettings sets the DvbSdtSettings field's value. +func (s *M2tsSettings) SetDvbSdtSettings(v *DvbSdtSettings) *M2tsSettings { + s.DvbSdtSettings = v + return s +} + +// SetDvbSubPids sets the DvbSubPids field's value. +func (s *M2tsSettings) SetDvbSubPids(v []*int64) *M2tsSettings { + s.DvbSubPids = v + return s +} + +// SetDvbTdtSettings sets the DvbTdtSettings field's value. +func (s *M2tsSettings) SetDvbTdtSettings(v *DvbTdtSettings) *M2tsSettings { + s.DvbTdtSettings = v + return s +} + +// SetDvbTeletextPid sets the DvbTeletextPid field's value. +func (s *M2tsSettings) SetDvbTeletextPid(v int64) *M2tsSettings { + s.DvbTeletextPid = &v + return s +} + +// SetEbpAudioInterval sets the EbpAudioInterval field's value. +func (s *M2tsSettings) SetEbpAudioInterval(v string) *M2tsSettings { + s.EbpAudioInterval = &v + return s +} + +// SetEbpPlacement sets the EbpPlacement field's value. +func (s *M2tsSettings) SetEbpPlacement(v string) *M2tsSettings { + s.EbpPlacement = &v + return s +} + +// SetEsRateInPes sets the EsRateInPes field's value. +func (s *M2tsSettings) SetEsRateInPes(v string) *M2tsSettings { + s.EsRateInPes = &v + return s +} + +// SetForceTsVideoEbpOrder sets the ForceTsVideoEbpOrder field's value. +func (s *M2tsSettings) SetForceTsVideoEbpOrder(v string) *M2tsSettings { + s.ForceTsVideoEbpOrder = &v + return s +} + +// SetFragmentTime sets the FragmentTime field's value. +func (s *M2tsSettings) SetFragmentTime(v float64) *M2tsSettings { + s.FragmentTime = &v + return s +} + +// SetMaxPcrInterval sets the MaxPcrInterval field's value. +func (s *M2tsSettings) SetMaxPcrInterval(v int64) *M2tsSettings { + s.MaxPcrInterval = &v + return s +} + +// SetMinEbpInterval sets the MinEbpInterval field's value. +func (s *M2tsSettings) SetMinEbpInterval(v int64) *M2tsSettings { + s.MinEbpInterval = &v + return s +} + +// SetNielsenId3 sets the NielsenId3 field's value. +func (s *M2tsSettings) SetNielsenId3(v string) *M2tsSettings { + s.NielsenId3 = &v + return s +} + +// SetNullPacketBitrate sets the NullPacketBitrate field's value. +func (s *M2tsSettings) SetNullPacketBitrate(v float64) *M2tsSettings { + s.NullPacketBitrate = &v + return s +} + +// SetPatInterval sets the PatInterval field's value. +func (s *M2tsSettings) SetPatInterval(v int64) *M2tsSettings { + s.PatInterval = &v + return s +} + +// SetPcrControl sets the PcrControl field's value. +func (s *M2tsSettings) SetPcrControl(v string) *M2tsSettings { + s.PcrControl = &v + return s +} + +// SetPcrPid sets the PcrPid field's value. +func (s *M2tsSettings) SetPcrPid(v int64) *M2tsSettings { + s.PcrPid = &v + return s +} + +// SetPmtInterval sets the PmtInterval field's value. +func (s *M2tsSettings) SetPmtInterval(v int64) *M2tsSettings { + s.PmtInterval = &v + return s +} + +// SetPmtPid sets the PmtPid field's value. +func (s *M2tsSettings) SetPmtPid(v int64) *M2tsSettings { + s.PmtPid = &v + return s +} + +// SetPrivateMetadataPid sets the PrivateMetadataPid field's value. +func (s *M2tsSettings) SetPrivateMetadataPid(v int64) *M2tsSettings { + s.PrivateMetadataPid = &v + return s +} + +// SetProgramNumber sets the ProgramNumber field's value. +func (s *M2tsSettings) SetProgramNumber(v int64) *M2tsSettings { + s.ProgramNumber = &v + return s +} + +// SetRateMode sets the RateMode field's value. +func (s *M2tsSettings) SetRateMode(v string) *M2tsSettings { + s.RateMode = &v + return s +} + +// SetScte35Esam sets the Scte35Esam field's value. +func (s *M2tsSettings) SetScte35Esam(v *M2tsScte35Esam) *M2tsSettings { + s.Scte35Esam = v + return s +} + +// SetScte35Pid sets the Scte35Pid field's value. +func (s *M2tsSettings) SetScte35Pid(v int64) *M2tsSettings { + s.Scte35Pid = &v + return s +} + +// SetScte35Source sets the Scte35Source field's value. +func (s *M2tsSettings) SetScte35Source(v string) *M2tsSettings { + s.Scte35Source = &v + return s +} + +// SetSegmentationMarkers sets the SegmentationMarkers field's value. +func (s *M2tsSettings) SetSegmentationMarkers(v string) *M2tsSettings { + s.SegmentationMarkers = &v + return s +} + +// SetSegmentationStyle sets the SegmentationStyle field's value. +func (s *M2tsSettings) SetSegmentationStyle(v string) *M2tsSettings { + s.SegmentationStyle = &v + return s +} + +// SetSegmentationTime sets the SegmentationTime field's value. +func (s *M2tsSettings) SetSegmentationTime(v float64) *M2tsSettings { + s.SegmentationTime = &v + return s +} + +// SetTimedMetadataPid sets the TimedMetadataPid field's value. +func (s *M2tsSettings) SetTimedMetadataPid(v int64) *M2tsSettings { + s.TimedMetadataPid = &v + return s +} + +// SetTransportStreamId sets the TransportStreamId field's value. +func (s *M2tsSettings) SetTransportStreamId(v int64) *M2tsSettings { + s.TransportStreamId = &v + return s +} + +// SetVideoPid sets the VideoPid field's value. +func (s *M2tsSettings) SetVideoPid(v int64) *M2tsSettings { + s.VideoPid = &v + return s +} + +// Settings for TS segments in HLS +type M3u8Settings struct { + _ struct{} `type:"structure"` + + // The number of audio frames to insert for each PES packet. + AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"` + + // Packet Identifier (PID) of the elementary audio stream(s) in the transport + // stream. Multiple values are accepted, and can be entered in ranges and/or + // by comma separation. + AudioPids []*int64 `locationName:"audioPids" type:"list"` + + // If INSERT, Nielsen inaudible tones for media tracking will be detected in + // the input audio and an equivalent ID3 tag will be inserted in the output. + NielsenId3 *string `locationName:"nielsenId3" type:"string" enum:"M3u8NielsenId3"` + + // The number of milliseconds between instances of this table in the output + // transport stream. + PatInterval *int64 `locationName:"patInterval" type:"integer"` + + // When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted + // for every Packetized Elementary Stream (PES) header. This parameter is effective + // only when the PCR PID is the same as the video or audio elementary stream. + PcrControl *string `locationName:"pcrControl" type:"string" enum:"M3u8PcrControl"` + + // Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport + // stream. When no value is given, the encoder will assign the same value as + // the Video PID. + PcrPid *int64 `locationName:"pcrPid" min:"32" type:"integer"` + + // The number of milliseconds between instances of this table in the output + // transport stream. + PmtInterval *int64 `locationName:"pmtInterval" type:"integer"` + + // Packet Identifier (PID) for the Program Map Table (PMT) in the transport + // stream. + PmtPid *int64 `locationName:"pmtPid" min:"32" type:"integer"` + + // Packet Identifier (PID) of the private metadata stream in the transport stream. + PrivateMetadataPid *int64 `locationName:"privateMetadataPid" min:"32" type:"integer"` + + // The value of the program number field in the Program Map Table. + ProgramNumber *int64 `locationName:"programNumber" type:"integer"` + + // Packet Identifier (PID) of the SCTE-35 stream in the transport stream. + Scte35Pid *int64 `locationName:"scte35Pid" min:"32" type:"integer"` + + // Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from + // input to output. + Scte35Source *string `locationName:"scte35Source" type:"string" enum:"M3u8Scte35Source"` + + // Applies only to HLS outputs. Use this setting to specify whether the service + // inserts the ID3 timed metadata from the input in this output. + TimedMetadata *string `locationName:"timedMetadata" type:"string" enum:"TimedMetadata"` + + // Packet Identifier (PID) of the timed metadata stream in the transport stream. + TimedMetadataPid *int64 `locationName:"timedMetadataPid" min:"32" type:"integer"` + + // The value of the transport stream ID field in the Program Map Table. + TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"` + + // Packet Identifier (PID) of the elementary video stream in the transport stream. + VideoPid *int64 `locationName:"videoPid" min:"32" type:"integer"` +} + +// String returns the string representation +func (s M3u8Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s M3u8Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *M3u8Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "M3u8Settings"} + if s.PcrPid != nil && *s.PcrPid < 32 { + invalidParams.Add(request.NewErrParamMinValue("PcrPid", 32)) + } + if s.PmtPid != nil && *s.PmtPid < 32 { + invalidParams.Add(request.NewErrParamMinValue("PmtPid", 32)) + } + if s.PrivateMetadataPid != nil && *s.PrivateMetadataPid < 32 { + invalidParams.Add(request.NewErrParamMinValue("PrivateMetadataPid", 32)) + } + if s.Scte35Pid != nil && *s.Scte35Pid < 32 { + invalidParams.Add(request.NewErrParamMinValue("Scte35Pid", 32)) + } + if s.TimedMetadataPid != nil && *s.TimedMetadataPid < 32 { + invalidParams.Add(request.NewErrParamMinValue("TimedMetadataPid", 32)) + } + if s.VideoPid != nil && *s.VideoPid < 32 { + invalidParams.Add(request.NewErrParamMinValue("VideoPid", 32)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioFramesPerPes sets the AudioFramesPerPes field's value. +func (s *M3u8Settings) SetAudioFramesPerPes(v int64) *M3u8Settings { + s.AudioFramesPerPes = &v + return s +} + +// SetAudioPids sets the AudioPids field's value. +func (s *M3u8Settings) SetAudioPids(v []*int64) *M3u8Settings { + s.AudioPids = v + return s +} + +// SetNielsenId3 sets the NielsenId3 field's value. +func (s *M3u8Settings) SetNielsenId3(v string) *M3u8Settings { + s.NielsenId3 = &v + return s +} + +// SetPatInterval sets the PatInterval field's value. +func (s *M3u8Settings) SetPatInterval(v int64) *M3u8Settings { + s.PatInterval = &v + return s +} + +// SetPcrControl sets the PcrControl field's value. +func (s *M3u8Settings) SetPcrControl(v string) *M3u8Settings { + s.PcrControl = &v + return s +} + +// SetPcrPid sets the PcrPid field's value. +func (s *M3u8Settings) SetPcrPid(v int64) *M3u8Settings { + s.PcrPid = &v + return s +} + +// SetPmtInterval sets the PmtInterval field's value. +func (s *M3u8Settings) SetPmtInterval(v int64) *M3u8Settings { + s.PmtInterval = &v + return s +} + +// SetPmtPid sets the PmtPid field's value. +func (s *M3u8Settings) SetPmtPid(v int64) *M3u8Settings { + s.PmtPid = &v + return s +} + +// SetPrivateMetadataPid sets the PrivateMetadataPid field's value. +func (s *M3u8Settings) SetPrivateMetadataPid(v int64) *M3u8Settings { + s.PrivateMetadataPid = &v + return s +} + +// SetProgramNumber sets the ProgramNumber field's value. +func (s *M3u8Settings) SetProgramNumber(v int64) *M3u8Settings { + s.ProgramNumber = &v + return s +} + +// SetScte35Pid sets the Scte35Pid field's value. +func (s *M3u8Settings) SetScte35Pid(v int64) *M3u8Settings { + s.Scte35Pid = &v + return s +} + +// SetScte35Source sets the Scte35Source field's value. +func (s *M3u8Settings) SetScte35Source(v string) *M3u8Settings { + s.Scte35Source = &v + return s +} + +// SetTimedMetadata sets the TimedMetadata field's value. +func (s *M3u8Settings) SetTimedMetadata(v string) *M3u8Settings { + s.TimedMetadata = &v + return s +} + +// SetTimedMetadataPid sets the TimedMetadataPid field's value. +func (s *M3u8Settings) SetTimedMetadataPid(v int64) *M3u8Settings { + s.TimedMetadataPid = &v + return s +} + +// SetTransportStreamId sets the TransportStreamId field's value. +func (s *M3u8Settings) SetTransportStreamId(v int64) *M3u8Settings { + s.TransportStreamId = &v + return s +} + +// SetVideoPid sets the VideoPid field's value. +func (s *M3u8Settings) SetVideoPid(v int64) *M3u8Settings { + s.VideoPid = &v + return s +} + +// Overlay motion graphics on top of your video at the time that you specify. +type MotionImageInserter struct { + _ struct{} `type:"structure"` + + // If your motion graphic asset is a .mov file, keep this setting unspecified. + // If your motion graphic asset is a series of .png files, specify the frame + // rate of the overlay in frames per second, as a fraction. For example, specify + // 24 fps as 24/1. Make sure that the number of images in your series matches + // the frame rate and your intended overlay duration. For example, if you want + // a 30-second overlay at 30 fps, you should have 900 .png images. This overlay + // frame rate doesn't need to match the frame rate of the underlying video. + Framerate *MotionImageInsertionFramerate `locationName:"framerate" type:"structure"` + + // Specify the .mov file or series of .png files that you want to overlay on + // your video. For .png files, provide the file name of the first file in the + // series. Make sure that the names of the .png files end with sequential numbers + // that specify the order that they are played in. For example, overlay_000.png, + // overlay_001.png, overlay_002.png, and so on. The sequence must start at zero, + // and each image file name must have the same number of digits. Pad your initial + // file names with enough zeros to complete the sequence. For example, if the + // first image is overlay_0.png, there can be only 10 images in the sequence, + // with the last image being overlay_9.png. But if the first image is overlay_00.png, + // there can be 100 images in the sequence. + Input *string `locationName:"input" min:"14" type:"string"` + + // Choose the type of motion graphic asset that you are providing for your overlay. + // You can choose either a .mov file or a series of .png files. + InsertionMode *string `locationName:"insertionMode" type:"string" enum:"MotionImageInsertionMode"` + + // Use Offset to specify the placement of your motion graphic overlay on the + // video frame. Specify in pixels, from the upper-left corner of the frame. + // If you don't specify an offset, the service scales your overlay to the full + // size of the frame. Otherwise, the service inserts the overlay at its native + // resolution and scales the size up or down with any video scaling. + Offset *MotionImageInsertionOffset `locationName:"offset" type:"structure"` + + // Specify whether your motion graphic overlay repeats on a loop or plays only + // once. + Playback *string `locationName:"playback" type:"string" enum:"MotionImagePlayback"` + + // Specify when the motion overlay begins. Use timecode format (HH:MM:SS:FF + // or HH:MM:SS;FF). Make sure that the timecode you provide here takes into + // account how you have set up your timecode configuration under both job settings + // and input settings. The simplest way to do that is to set both to start at + // 0. If you need to set up your job to follow timecodes embedded in your source + // that don't start at zero, make sure that you specify a start time that is + // after the first embedded timecode. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/setting-up-timecode.html + // Find job-wide and input timecode configuration settings in your JSON job + // settings specification at settings>timecodeConfig>source and settings>inputs>timecodeSource. + StartTime *string `locationName:"startTime" min:"11" type:"string"` +} + +// String returns the string representation +func (s MotionImageInserter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MotionImageInserter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MotionImageInserter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MotionImageInserter"} + if s.Input != nil && len(*s.Input) < 14 { + invalidParams.Add(request.NewErrParamMinLen("Input", 14)) + } + if s.StartTime != nil && len(*s.StartTime) < 11 { + invalidParams.Add(request.NewErrParamMinLen("StartTime", 11)) + } + if s.Framerate != nil { + if err := s.Framerate.Validate(); err != nil { + invalidParams.AddNested("Framerate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFramerate sets the Framerate field's value. +func (s *MotionImageInserter) SetFramerate(v *MotionImageInsertionFramerate) *MotionImageInserter { + s.Framerate = v + return s +} + +// SetInput sets the Input field's value. +func (s *MotionImageInserter) SetInput(v string) *MotionImageInserter { + s.Input = &v + return s +} + +// SetInsertionMode sets the InsertionMode field's value. +func (s *MotionImageInserter) SetInsertionMode(v string) *MotionImageInserter { + s.InsertionMode = &v + return s +} + +// SetOffset sets the Offset field's value. +func (s *MotionImageInserter) SetOffset(v *MotionImageInsertionOffset) *MotionImageInserter { + s.Offset = v + return s +} + +// SetPlayback sets the Playback field's value. +func (s *MotionImageInserter) SetPlayback(v string) *MotionImageInserter { + s.Playback = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *MotionImageInserter) SetStartTime(v string) *MotionImageInserter { + s.StartTime = &v + return s +} + +// For motion overlays that don't have a built-in frame rate, specify the frame +// rate of the overlay in frames per second, as a fraction. For example, specify +// 24 fps as 24/1. The overlay frame rate doesn't need to match the frame rate +// of the underlying video. +type MotionImageInsertionFramerate struct { + _ struct{} `type:"structure"` + + // The bottom of the fraction that expresses your overlay frame rate. For example, + // if your frame rate is 24 fps, set this value to 1. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` + + // The top of the fraction that expresses your overlay frame rate. For example, + // if your frame rate is 24 fps, set this value to 24. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` +} + +// String returns the string representation +func (s MotionImageInsertionFramerate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MotionImageInsertionFramerate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MotionImageInsertionFramerate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MotionImageInsertionFramerate"} + if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) + } + if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *MotionImageInsertionFramerate) SetFramerateDenominator(v int64) *MotionImageInsertionFramerate { + s.FramerateDenominator = &v + return s +} + +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *MotionImageInsertionFramerate) SetFramerateNumerator(v int64) *MotionImageInsertionFramerate { + s.FramerateNumerator = &v + return s +} + +// Specify the offset between the upper-left corner of the video frame and the +// top left corner of the overlay. +type MotionImageInsertionOffset struct { + _ struct{} `type:"structure"` + + // Set the distance, in pixels, between the overlay and the left edge of the + // video frame. + ImageX *int64 `locationName:"imageX" type:"integer"` + + // Set the distance, in pixels, between the overlay and the top edge of the + // video frame. + ImageY *int64 `locationName:"imageY" type:"integer"` +} + +// String returns the string representation +func (s MotionImageInsertionOffset) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MotionImageInsertionOffset) GoString() string { + return s.String() +} + +// SetImageX sets the ImageX field's value. +func (s *MotionImageInsertionOffset) SetImageX(v int64) *MotionImageInsertionOffset { + s.ImageX = &v + return s +} + +// SetImageY sets the ImageY field's value. +func (s *MotionImageInsertionOffset) SetImageY(v int64) *MotionImageInsertionOffset { + s.ImageY = &v + return s +} + +// Settings for MOV Container. +type MovSettings struct { + _ struct{} `type:"structure"` + + // When enabled, include 'clap' atom if appropriate for the video output settings. + ClapAtom *string `locationName:"clapAtom" type:"string" enum:"MovClapAtom"` + + // When enabled, file composition times will start at zero, composition times + // in the 'ctts' (composition time to sample) box for B-frames will be negative, + // and a 'cslg' (composition shift least greatest) box will be included per + // 14496-1 amendment 1. This improves compatibility with Apple players and tools. + CslgAtom *string `locationName:"cslgAtom" type:"string" enum:"MovCslgAtom"` + + // When set to XDCAM, writes MPEG2 video streams into the QuickTime file using + // XDCAM fourcc codes. This increases compatibility with Apple editors and players, + // but may decrease compatibility with other players. Only applicable when the + // video codec is MPEG2. + Mpeg2FourCCControl *string `locationName:"mpeg2FourCCControl" type:"string" enum:"MovMpeg2FourCCControl"` + + // If set to OMNEON, inserts Omneon-compatible padding + PaddingControl *string `locationName:"paddingControl" type:"string" enum:"MovPaddingControl"` + + // Always keep the default value (SELF_CONTAINED) for this setting. + Reference *string `locationName:"reference" type:"string" enum:"MovReference"` +} + +// String returns the string representation +func (s MovSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MovSettings) GoString() string { + return s.String() +} + +// SetClapAtom sets the ClapAtom field's value. +func (s *MovSettings) SetClapAtom(v string) *MovSettings { + s.ClapAtom = &v + return s +} + +// SetCslgAtom sets the CslgAtom field's value. +func (s *MovSettings) SetCslgAtom(v string) *MovSettings { + s.CslgAtom = &v + return s +} + +// SetMpeg2FourCCControl sets the Mpeg2FourCCControl field's value. +func (s *MovSettings) SetMpeg2FourCCControl(v string) *MovSettings { + s.Mpeg2FourCCControl = &v + return s +} + +// SetPaddingControl sets the PaddingControl field's value. +func (s *MovSettings) SetPaddingControl(v string) *MovSettings { + s.PaddingControl = &v + return s +} + +// SetReference sets the Reference field's value. +func (s *MovSettings) SetReference(v string) *MovSettings { + s.Reference = &v + return s +} + +// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to +// the value MP2. +type Mp2Settings struct { + _ struct{} `type:"structure"` + + // Average bitrate in bits/second. + Bitrate *int64 `locationName:"bitrate" min:"32000" type:"integer"` + + // Set Channels to specify the number of channels in this output audio track. + // Choosing Mono in the console will give you 1 output channel; choosing Stereo + // will give you 2. In the API, valid values are 1 and 2. + Channels *int64 `locationName:"channels" min:"1" type:"integer"` + + // Sample rate in hz. + SampleRate *int64 `locationName:"sampleRate" min:"32000" type:"integer"` +} + +// String returns the string representation +func (s Mp2Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Mp2Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Mp2Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Mp2Settings"} + if s.Bitrate != nil && *s.Bitrate < 32000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 32000)) + } + if s.Channels != nil && *s.Channels < 1 { + invalidParams.Add(request.NewErrParamMinValue("Channels", 1)) + } + if s.SampleRate != nil && *s.SampleRate < 32000 { + invalidParams.Add(request.NewErrParamMinValue("SampleRate", 32000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitrate sets the Bitrate field's value. +func (s *Mp2Settings) SetBitrate(v int64) *Mp2Settings { + s.Bitrate = &v + return s +} + +// SetChannels sets the Channels field's value. +func (s *Mp2Settings) SetChannels(v int64) *Mp2Settings { + s.Channels = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *Mp2Settings) SetSampleRate(v int64) *Mp2Settings { + s.SampleRate = &v + return s +} + +// Settings for MP4 Container +type Mp4Settings struct { + _ struct{} `type:"structure"` + + // When enabled, file composition times will start at zero, composition times + // in the 'ctts' (composition time to sample) box for B-frames will be negative, + // and a 'cslg' (composition shift least greatest) box will be included per + // 14496-1 amendment 1. This improves compatibility with Apple players and tools. + CslgAtom *string `locationName:"cslgAtom" type:"string" enum:"Mp4CslgAtom"` + + // Inserts a free-space box immediately after the moov box. + FreeSpaceBox *string `locationName:"freeSpaceBox" type:"string" enum:"Mp4FreeSpaceBox"` + + // If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning + // of the archive as required for progressive downloading. Otherwise it is placed + // normally at the end. + MoovPlacement *string `locationName:"moovPlacement" type:"string" enum:"Mp4MoovPlacement"` + + // Overrides the "Major Brand" field in the output file. Usually not necessary + // to specify. + Mp4MajorBrand *string `locationName:"mp4MajorBrand" type:"string"` +} + +// String returns the string representation +func (s Mp4Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Mp4Settings) GoString() string { + return s.String() +} + +// SetCslgAtom sets the CslgAtom field's value. +func (s *Mp4Settings) SetCslgAtom(v string) *Mp4Settings { + s.CslgAtom = &v + return s +} + +// SetFreeSpaceBox sets the FreeSpaceBox field's value. +func (s *Mp4Settings) SetFreeSpaceBox(v string) *Mp4Settings { + s.FreeSpaceBox = &v + return s +} + +// SetMoovPlacement sets the MoovPlacement field's value. +func (s *Mp4Settings) SetMoovPlacement(v string) *Mp4Settings { + s.MoovPlacement = &v + return s +} + +// SetMp4MajorBrand sets the Mp4MajorBrand field's value. +func (s *Mp4Settings) SetMp4MajorBrand(v string) *Mp4Settings { + s.Mp4MajorBrand = &v + return s +} + +// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to +// the value MPEG2. +type Mpeg2Settings struct { + _ struct{} `type:"structure"` + + // Adaptive quantization. Allows intra-frame quantizers to vary to improve visual + // quality. + AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"Mpeg2AdaptiveQuantization"` + + // Average bitrate in bits/second. Required for VBR and CBR. For MS Smooth outputs, + // bitrates must be unique when rounded down to the nearest multiple of 1000. + Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"` + + // Use Level (Mpeg2CodecLevel) to set the MPEG-2 level for the video output. + CodecLevel *string `locationName:"codecLevel" type:"string" enum:"Mpeg2CodecLevel"` + + // Use Profile (Mpeg2CodecProfile) to set the MPEG-2 profile for the video output. + CodecProfile *string `locationName:"codecProfile" type:"string" enum:"Mpeg2CodecProfile"` + + // Choose Adaptive to improve subjective video quality for high-motion content. + // This will cause the service to use fewer B-frames (which infer information + // based on other frames) for high-motion portions of the video and more B-frames + // for low-motion portions. The maximum number of B-frames is limited by the + // value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames). + DynamicSubGop *string `locationName:"dynamicSubGop" type:"string" enum:"Mpeg2DynamicSubGop"` + + // If you are using the console, use the Framerate setting to specify the frame + // rate for this output. If you want to keep the same frame rate as the input + // video, choose Follow source. If you want to do frame rate conversion, choose + // a frame rate from the dropdown list or choose Custom. The framerates shown + // in the dropdown list are decimal approximations of fractions. If you choose + // Custom, specify your frame rate as a fraction. If you are creating your transcoding + // job sepecification as a JSON file without the console, use FramerateControl + // to specify which value the service uses for the frame rate for this output. + // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate + // from the input. Choose SPECIFIED if you want the service to use the frame + // rate you specify in the settings FramerateNumerator and FramerateDenominator. + FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Mpeg2FramerateControl"` + + // When set to INTERPOLATE, produces smoother motion during frame rate conversion. + FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Mpeg2FramerateConversionAlgorithm"` + + // Frame rate denominator. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` + + // Frame rate numerator - frame rate is a fraction, e.g. 24000 / 1001 = 23.976 + // fps. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"24" type:"integer"` + + // Frequency of closed GOPs. In streaming applications, it is recommended that + // this be set to 1 so a decoder joining mid-stream will receive an IDR frame + // as quickly as possible. Setting this value to 0 will break output segmenting. + GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"` + + // GOP Length (keyframe interval) in frames or seconds. Must be greater than + // zero. + GopSize *float64 `locationName:"gopSize" type:"double"` + + // Indicates if the GOP Size in MPEG2 is specified in frames or seconds. If + // seconds the system will convert the GOP Size into a frame count at run time. + GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"Mpeg2GopSizeUnits"` + + // Percentage of the buffer that should initially be filled (HRD buffer model). + HrdBufferInitialFillPercentage *int64 `locationName:"hrdBufferInitialFillPercentage" type:"integer"` + + // Size of buffer (HRD buffer model) in bits. For example, enter five megabits + // as 5000000. + HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"` + + // Use Interlace mode (InterlaceMode) to choose the scan line type for the output. + // * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce + // interlaced output with the entire output having the same field polarity (top + // or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default + // Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, + // behavior depends on the input scan type. - If the source is interlaced, the + // output will be interlaced with the same polarity as the source (it will follow + // the source). The output could therefore be a mix of "top field first" and + // "bottom field first". - If the source is progressive, the output will be + // interlaced with "top field first" or "bottom field first" polarity, depending + // on which of the Follow options you chose. + InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"Mpeg2InterlaceMode"` + + // Use Intra DC precision (Mpeg2IntraDcPrecision) to set quantization precision + // for intra-block DC coefficients. If you choose the value auto, the service + // will automatically select the precision based on the per-frame compression + // ratio. + IntraDcPrecision *string `locationName:"intraDcPrecision" type:"string" enum:"Mpeg2IntraDcPrecision"` + + // Maximum bitrate in bits/second. For example, enter five megabits per second + // as 5000000. + MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"` + + // Enforces separation between repeated (cadence) I-frames and I-frames inserted + // by Scene Change Detection. If a scene change I-frame is within I-interval + // frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene + // change I-frame. GOP stretch requires enabling lookahead as well as setting + // I-interval. The normal cadence resumes for the next GOP. This setting is + // only used when Scene Change Detect is enabled. Note: Maximum GOP stretch + // = GOP size + Min-I-interval - 1 + MinIInterval *int64 `locationName:"minIInterval" type:"integer"` + + // Number of B-frames between reference frames. + NumberBFramesBetweenReferenceFrames *int64 `locationName:"numberBFramesBetweenReferenceFrames" type:"integer"` + + // Using the API, enable ParFollowSource if you want the service to use the + // pixel aspect ratio from the input. Using the console, do this by choosing + // Follow source for Pixel aspect ratio. + ParControl *string `locationName:"parControl" type:"string" enum:"Mpeg2ParControl"` + + // Pixel Aspect Ratio denominator. + ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` + + // Pixel Aspect Ratio numerator. + ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` + + // Use Quality tuning level (Mpeg2QualityTuningLevel) to specifiy whether to + // use single-pass or multipass video encoding. + QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"Mpeg2QualityTuningLevel"` + + // Use Rate control mode (Mpeg2RateControlMode) to specifiy whether the bitrate + // is variable (vbr) or constant (cbr). + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"Mpeg2RateControlMode"` + + // Scene change detection (inserts I-frames on scene changes). + SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"Mpeg2SceneChangeDetect"` + + // Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled + // as 25fps, and audio is sped up correspondingly. + SlowPal *string `locationName:"slowPal" type:"string" enum:"Mpeg2SlowPal"` + + // Softness. Selects quantizer matrix, larger values reduce high-frequency content + // in the encoded image. + Softness *int64 `locationName:"softness" type:"integer"` + + // Adjust quantization within each frame based on spatial variation of content + // complexity. + SpatialAdaptiveQuantization *string `locationName:"spatialAdaptiveQuantization" type:"string" enum:"Mpeg2SpatialAdaptiveQuantization"` + + // Produces a Type D-10 compatible bitstream (SMPTE 356M-2001). + Syntax *string `locationName:"syntax" type:"string" enum:"Mpeg2Syntax"` + + // Only use Telecine (Mpeg2Telecine) when you set Framerate (Framerate) to 29.970. + // Set Telecine (Mpeg2Telecine) to Hard (hard) to produce a 29.97i output from + // a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave + // converstion to the player. + Telecine *string `locationName:"telecine" type:"string" enum:"Mpeg2Telecine"` + + // Adjust quantization within each frame based on temporal variation of content + // complexity. + TemporalAdaptiveQuantization *string `locationName:"temporalAdaptiveQuantization" type:"string" enum:"Mpeg2TemporalAdaptiveQuantization"` +} + +// String returns the string representation +func (s Mpeg2Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Mpeg2Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Mpeg2Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Mpeg2Settings"} + if s.Bitrate != nil && *s.Bitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000)) + } + if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) + } + if s.FramerateNumerator != nil && *s.FramerateNumerator < 24 { + invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 24)) + } + if s.MaxBitrate != nil && *s.MaxBitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000)) + } + if s.ParDenominator != nil && *s.ParDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + } + if s.ParNumerator != nil && *s.ParNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdaptiveQuantization sets the AdaptiveQuantization field's value. +func (s *Mpeg2Settings) SetAdaptiveQuantization(v string) *Mpeg2Settings { + s.AdaptiveQuantization = &v + return s +} + +// SetBitrate sets the Bitrate field's value. +func (s *Mpeg2Settings) SetBitrate(v int64) *Mpeg2Settings { + s.Bitrate = &v + return s +} + +// SetCodecLevel sets the CodecLevel field's value. +func (s *Mpeg2Settings) SetCodecLevel(v string) *Mpeg2Settings { + s.CodecLevel = &v + return s +} + +// SetCodecProfile sets the CodecProfile field's value. +func (s *Mpeg2Settings) SetCodecProfile(v string) *Mpeg2Settings { + s.CodecProfile = &v + return s +} + +// SetDynamicSubGop sets the DynamicSubGop field's value. +func (s *Mpeg2Settings) SetDynamicSubGop(v string) *Mpeg2Settings { + s.DynamicSubGop = &v + return s +} + +// SetFramerateControl sets the FramerateControl field's value. +func (s *Mpeg2Settings) SetFramerateControl(v string) *Mpeg2Settings { + s.FramerateControl = &v + return s +} + +// SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value. +func (s *Mpeg2Settings) SetFramerateConversionAlgorithm(v string) *Mpeg2Settings { + s.FramerateConversionAlgorithm = &v + return s +} + +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *Mpeg2Settings) SetFramerateDenominator(v int64) *Mpeg2Settings { + s.FramerateDenominator = &v + return s +} + +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *Mpeg2Settings) SetFramerateNumerator(v int64) *Mpeg2Settings { + s.FramerateNumerator = &v + return s +} + +// SetGopClosedCadence sets the GopClosedCadence field's value. +func (s *Mpeg2Settings) SetGopClosedCadence(v int64) *Mpeg2Settings { + s.GopClosedCadence = &v + return s +} + +// SetGopSize sets the GopSize field's value. +func (s *Mpeg2Settings) SetGopSize(v float64) *Mpeg2Settings { + s.GopSize = &v + return s +} + +// SetGopSizeUnits sets the GopSizeUnits field's value. +func (s *Mpeg2Settings) SetGopSizeUnits(v string) *Mpeg2Settings { + s.GopSizeUnits = &v + return s +} + +// SetHrdBufferInitialFillPercentage sets the HrdBufferInitialFillPercentage field's value. +func (s *Mpeg2Settings) SetHrdBufferInitialFillPercentage(v int64) *Mpeg2Settings { + s.HrdBufferInitialFillPercentage = &v + return s +} + +// SetHrdBufferSize sets the HrdBufferSize field's value. +func (s *Mpeg2Settings) SetHrdBufferSize(v int64) *Mpeg2Settings { + s.HrdBufferSize = &v + return s +} + +// SetInterlaceMode sets the InterlaceMode field's value. +func (s *Mpeg2Settings) SetInterlaceMode(v string) *Mpeg2Settings { + s.InterlaceMode = &v + return s +} + +// SetIntraDcPrecision sets the IntraDcPrecision field's value. +func (s *Mpeg2Settings) SetIntraDcPrecision(v string) *Mpeg2Settings { + s.IntraDcPrecision = &v + return s +} + +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *Mpeg2Settings) SetMaxBitrate(v int64) *Mpeg2Settings { + s.MaxBitrate = &v + return s +} + +// SetMinIInterval sets the MinIInterval field's value. +func (s *Mpeg2Settings) SetMinIInterval(v int64) *Mpeg2Settings { + s.MinIInterval = &v + return s +} + +// SetNumberBFramesBetweenReferenceFrames sets the NumberBFramesBetweenReferenceFrames field's value. +func (s *Mpeg2Settings) SetNumberBFramesBetweenReferenceFrames(v int64) *Mpeg2Settings { + s.NumberBFramesBetweenReferenceFrames = &v + return s +} + +// SetParControl sets the ParControl field's value. +func (s *Mpeg2Settings) SetParControl(v string) *Mpeg2Settings { + s.ParControl = &v + return s +} + +// SetParDenominator sets the ParDenominator field's value. +func (s *Mpeg2Settings) SetParDenominator(v int64) *Mpeg2Settings { + s.ParDenominator = &v + return s +} + +// SetParNumerator sets the ParNumerator field's value. +func (s *Mpeg2Settings) SetParNumerator(v int64) *Mpeg2Settings { + s.ParNumerator = &v + return s +} + +// SetQualityTuningLevel sets the QualityTuningLevel field's value. +func (s *Mpeg2Settings) SetQualityTuningLevel(v string) *Mpeg2Settings { + s.QualityTuningLevel = &v + return s +} + +// SetRateControlMode sets the RateControlMode field's value. +func (s *Mpeg2Settings) SetRateControlMode(v string) *Mpeg2Settings { + s.RateControlMode = &v + return s +} + +// SetSceneChangeDetect sets the SceneChangeDetect field's value. +func (s *Mpeg2Settings) SetSceneChangeDetect(v string) *Mpeg2Settings { + s.SceneChangeDetect = &v + return s +} + +// SetSlowPal sets the SlowPal field's value. +func (s *Mpeg2Settings) SetSlowPal(v string) *Mpeg2Settings { + s.SlowPal = &v + return s +} + +// SetSoftness sets the Softness field's value. +func (s *Mpeg2Settings) SetSoftness(v int64) *Mpeg2Settings { + s.Softness = &v + return s +} + +// SetSpatialAdaptiveQuantization sets the SpatialAdaptiveQuantization field's value. +func (s *Mpeg2Settings) SetSpatialAdaptiveQuantization(v string) *Mpeg2Settings { + s.SpatialAdaptiveQuantization = &v + return s +} + +// SetSyntax sets the Syntax field's value. +func (s *Mpeg2Settings) SetSyntax(v string) *Mpeg2Settings { + s.Syntax = &v + return s +} + +// SetTelecine sets the Telecine field's value. +func (s *Mpeg2Settings) SetTelecine(v string) *Mpeg2Settings { + s.Telecine = &v + return s +} + +// SetTemporalAdaptiveQuantization sets the TemporalAdaptiveQuantization field's value. +func (s *Mpeg2Settings) SetTemporalAdaptiveQuantization(v string) *Mpeg2Settings { + s.TemporalAdaptiveQuantization = &v + return s +} + +// If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify +// the value SpekeKeyProvider. +type MsSmoothEncryptionSettings struct { + _ struct{} `type:"structure"` + + // Settings for use with a SPEKE key provider + SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure"` +} + +// String returns the string representation +func (s MsSmoothEncryptionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MsSmoothEncryptionSettings) GoString() string { + return s.String() +} + +// SetSpekeKeyProvider sets the SpekeKeyProvider field's value. +func (s *MsSmoothEncryptionSettings) SetSpekeKeyProvider(v *SpekeKeyProvider) *MsSmoothEncryptionSettings { + s.SpekeKeyProvider = v + return s +} + +// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to +// MS_SMOOTH_GROUP_SETTINGS. +type MsSmoothGroupSettings struct { + _ struct{} `type:"structure"` + + // COMBINE_DUPLICATE_STREAMS combines identical audio encoding settings across + // a Microsoft Smooth output group into a single audio stream. + AudioDeduplication *string `locationName:"audioDeduplication" type:"string" enum:"MsSmoothAudioDeduplication"` + + // Use Destination (Destination) to specify the S3 output location and the output + // filename base. Destination accepts format identifiers. If you do not specify + // the base filename in the URI, the service will use the filename of the input + // file. If your job has multiple inputs, the service uses the filename of the + // first input file. + Destination *string `locationName:"destination" type:"string"` + + // If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify + // the value SpekeKeyProvider. + Encryption *MsSmoothEncryptionSettings `locationName:"encryption" type:"structure"` + + // Use Fragment length (FragmentLength) to specify the mp4 fragment sizes in + // seconds. Fragment length must be compatible with GOP size and frame rate. + FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"` + + // Use Manifest encoding (MsSmoothManifestEncoding) to specify the encoding + // format for the server and client manifest. Valid options are utf8 and utf16. + ManifestEncoding *string `locationName:"manifestEncoding" type:"string" enum:"MsSmoothManifestEncoding"` +} + +// String returns the string representation +func (s MsSmoothGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MsSmoothGroupSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MsSmoothGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MsSmoothGroupSettings"} + if s.FragmentLength != nil && *s.FragmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioDeduplication sets the AudioDeduplication field's value. +func (s *MsSmoothGroupSettings) SetAudioDeduplication(v string) *MsSmoothGroupSettings { + s.AudioDeduplication = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *MsSmoothGroupSettings) SetDestination(v string) *MsSmoothGroupSettings { + s.Destination = &v + return s +} + +// SetEncryption sets the Encryption field's value. +func (s *MsSmoothGroupSettings) SetEncryption(v *MsSmoothEncryptionSettings) *MsSmoothGroupSettings { + s.Encryption = v + return s +} + +// SetFragmentLength sets the FragmentLength field's value. +func (s *MsSmoothGroupSettings) SetFragmentLength(v int64) *MsSmoothGroupSettings { + s.FragmentLength = &v + return s +} + +// SetManifestEncoding sets the ManifestEncoding field's value. +func (s *MsSmoothGroupSettings) SetManifestEncoding(v string) *MsSmoothGroupSettings { + s.ManifestEncoding = &v + return s +} + +// Settings for Nielsen Configuration +type NielsenConfiguration struct { + _ struct{} `type:"structure"` + + // Use Nielsen Configuration (NielsenConfiguration) to set the Nielsen measurement + // system breakout code. Supported values are 0, 3, 7, and 9. + BreakoutCode *int64 `locationName:"breakoutCode" type:"integer"` + + // Use Distributor ID (DistributorID) to specify the distributor ID that is + // assigned to your organization by Neilsen. + DistributorId *string `locationName:"distributorId" type:"string"` +} + +// String returns the string representation +func (s NielsenConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NielsenConfiguration) GoString() string { + return s.String() +} + +// SetBreakoutCode sets the BreakoutCode field's value. +func (s *NielsenConfiguration) SetBreakoutCode(v int64) *NielsenConfiguration { + s.BreakoutCode = &v + return s +} + +// SetDistributorId sets the DistributorId field's value. +func (s *NielsenConfiguration) SetDistributorId(v string) *NielsenConfiguration { + s.DistributorId = &v + return s +} + +// Enable the Noise reducer (NoiseReducer) feature to remove noise from your +// video output if necessary. Enable or disable this feature for each output +// individually. This setting is disabled by default. When you enable Noise +// reducer (NoiseReducer), you must also select a value for Noise reducer filter +// (NoiseReducerFilter). +type NoiseReducer struct { + _ struct{} `type:"structure"` + + // Use Noise reducer filter (NoiseReducerFilter) to select one of the following + // spatial image filtering functions. To use this setting, you must also enable + // Noise reducer (NoiseReducer). * Bilateral is an edge preserving noise reduction + // filter. * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) are convolution + // filters. * Conserve is a min/max noise reduction filter. * Spatial is a frequency-domain + // filter based on JND principles. + Filter *string `locationName:"filter" type:"string" enum:"NoiseReducerFilter"` + + // Settings for a noise reducer filter + FilterSettings *NoiseReducerFilterSettings `locationName:"filterSettings" type:"structure"` + + // Noise reducer filter settings for spatial filter. + SpatialFilterSettings *NoiseReducerSpatialFilterSettings `locationName:"spatialFilterSettings" type:"structure"` +} + +// String returns the string representation +func (s NoiseReducer) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NoiseReducer) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NoiseReducer) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NoiseReducer"} + if s.SpatialFilterSettings != nil { + if err := s.SpatialFilterSettings.Validate(); err != nil { + invalidParams.AddNested("SpatialFilterSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilter sets the Filter field's value. +func (s *NoiseReducer) SetFilter(v string) *NoiseReducer { + s.Filter = &v + return s +} + +// SetFilterSettings sets the FilterSettings field's value. +func (s *NoiseReducer) SetFilterSettings(v *NoiseReducerFilterSettings) *NoiseReducer { + s.FilterSettings = v + return s +} + +// SetSpatialFilterSettings sets the SpatialFilterSettings field's value. +func (s *NoiseReducer) SetSpatialFilterSettings(v *NoiseReducerSpatialFilterSettings) *NoiseReducer { + s.SpatialFilterSettings = v + return s +} + +// Settings for a noise reducer filter +type NoiseReducerFilterSettings struct { + _ struct{} `type:"structure"` + + // Relative strength of noise reducing filter. Higher values produce stronger + // filtering. + Strength *int64 `locationName:"strength" type:"integer"` +} + +// String returns the string representation +func (s NoiseReducerFilterSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NoiseReducerFilterSettings) GoString() string { + return s.String() +} + +// SetStrength sets the Strength field's value. +func (s *NoiseReducerFilterSettings) SetStrength(v int64) *NoiseReducerFilterSettings { + s.Strength = &v + return s +} + +// Noise reducer filter settings for spatial filter. +type NoiseReducerSpatialFilterSettings struct { + _ struct{} `type:"structure"` + + // Specify strength of post noise reduction sharpening filter, with 0 disabling + // the filter and 3 enabling it at maximum strength. + PostFilterSharpenStrength *int64 `locationName:"postFilterSharpenStrength" type:"integer"` + + // The speed of the filter, from -2 (lower speed) to 3 (higher speed), with + // 0 being the nominal value. + Speed *int64 `locationName:"speed" type:"integer"` + + // Relative strength of noise reducing filter. Higher values produce stronger + // filtering. + Strength *int64 `locationName:"strength" type:"integer"` +} + +// String returns the string representation +func (s NoiseReducerSpatialFilterSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NoiseReducerSpatialFilterSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NoiseReducerSpatialFilterSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NoiseReducerSpatialFilterSettings"} + if s.Speed != nil && *s.Speed < -2 { + invalidParams.Add(request.NewErrParamMinValue("Speed", -2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPostFilterSharpenStrength sets the PostFilterSharpenStrength field's value. +func (s *NoiseReducerSpatialFilterSettings) SetPostFilterSharpenStrength(v int64) *NoiseReducerSpatialFilterSettings { + s.PostFilterSharpenStrength = &v + return s +} + +// SetSpeed sets the Speed field's value. +func (s *NoiseReducerSpatialFilterSettings) SetSpeed(v int64) *NoiseReducerSpatialFilterSettings { + s.Speed = &v + return s +} + +// SetStrength sets the Strength field's value. +func (s *NoiseReducerSpatialFilterSettings) SetStrength(v int64) *NoiseReducerSpatialFilterSettings { + s.Strength = &v + return s +} + +// An output object describes the settings for a single output file or stream +// in an output group. +type Output struct { + _ struct{} `type:"structure"` + + // (AudioDescriptions) contains groups of audio encoding settings organized + // by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions) + // can contain multiple groups of encoding settings. + AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list"` + + // (CaptionDescriptions) contains groups of captions settings. For each output + // that has captions, include one instance of (CaptionDescriptions). (CaptionDescriptions) + // can contain multiple groups of captions settings. + CaptionDescriptions []*CaptionDescription `locationName:"captionDescriptions" type:"list"` + + // Container specific settings. + ContainerSettings *ContainerSettings `locationName:"containerSettings" type:"structure"` + + // Use Extension (Extension) to specify the file extension for outputs in File + // output groups. If you do not specify a value, the service will use default + // extensions by container type as follows * MPEG-2 transport stream, m2ts * + // Quicktime, mov * MXF container, mxf * MPEG-4 container, mp4 * No Container, + // the service will use codec extensions (e.g. AAC, H265, H265, AC3) + Extension *string `locationName:"extension" type:"string"` + + // Use Name modifier (NameModifier) to have the service add a string to the + // end of each output filename. You specify the base filename as part of your + // destination URI. When you create multiple outputs in the same output group, + // Name modifier (NameModifier) is required. Name modifier also accepts format + // identifiers. For DASH ISO outputs, if you use the format identifiers $Number$ + // or $Time$ in one output, you must use them in the same way in all outputs + // of the output group. + NameModifier *string `locationName:"nameModifier" min:"1" type:"string"` + + // Specific settings for this type of output. + OutputSettings *OutputSettings `locationName:"outputSettings" type:"structure"` + + // Use Preset (Preset) to specifiy a preset for your transcoding settings. Provide + // the system or custom preset name. You can specify either Preset (Preset) + // or Container settings (ContainerSettings), but not both. + Preset *string `locationName:"preset" type:"string"` + + // (VideoDescription) contains a group of video encoding settings. The specific + // video settings depend on the video codec you choose when you specify a value + // for Video codec (codec). Include one instance of (VideoDescription) per output. + VideoDescription *VideoDescription `locationName:"videoDescription" type:"structure"` +} + +// String returns the string representation +func (s Output) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Output) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Output) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Output"} + if s.NameModifier != nil && len(*s.NameModifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NameModifier", 1)) + } + if s.AudioDescriptions != nil { + for i, v := range s.AudioDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CaptionDescriptions != nil { + for i, v := range s.CaptionDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ContainerSettings != nil { + if err := s.ContainerSettings.Validate(); err != nil { + invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams)) + } + } + if s.VideoDescription != nil { + if err := s.VideoDescription.Validate(); err != nil { + invalidParams.AddNested("VideoDescription", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioDescriptions sets the AudioDescriptions field's value. +func (s *Output) SetAudioDescriptions(v []*AudioDescription) *Output { + s.AudioDescriptions = v + return s +} + +// SetCaptionDescriptions sets the CaptionDescriptions field's value. +func (s *Output) SetCaptionDescriptions(v []*CaptionDescription) *Output { + s.CaptionDescriptions = v + return s +} + +// SetContainerSettings sets the ContainerSettings field's value. +func (s *Output) SetContainerSettings(v *ContainerSettings) *Output { + s.ContainerSettings = v + return s +} + +// SetExtension sets the Extension field's value. +func (s *Output) SetExtension(v string) *Output { + s.Extension = &v + return s +} + +// SetNameModifier sets the NameModifier field's value. +func (s *Output) SetNameModifier(v string) *Output { + s.NameModifier = &v + return s +} + +// SetOutputSettings sets the OutputSettings field's value. +func (s *Output) SetOutputSettings(v *OutputSettings) *Output { + s.OutputSettings = v + return s +} + +// SetPreset sets the Preset field's value. +func (s *Output) SetPreset(v string) *Output { + s.Preset = &v + return s +} + +// SetVideoDescription sets the VideoDescription field's value. +func (s *Output) SetVideoDescription(v *VideoDescription) *Output { + s.VideoDescription = v + return s +} + +// OutputChannel mapping settings. +type OutputChannelMapping struct { + _ struct{} `type:"structure"` + + // List of input channels + InputChannels []*int64 `locationName:"inputChannels" type:"list"` +} + +// String returns the string representation +func (s OutputChannelMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputChannelMapping) GoString() string { + return s.String() +} + +// SetInputChannels sets the InputChannels field's value. +func (s *OutputChannelMapping) SetInputChannels(v []*int64) *OutputChannelMapping { + s.InputChannels = v + return s +} + +// Details regarding output +type OutputDetail struct { + _ struct{} `type:"structure"` + + // Duration in milliseconds + DurationInMs *int64 `locationName:"durationInMs" type:"integer"` + + // Contains details about the output's video stream + VideoDetails *VideoDetail `locationName:"videoDetails" type:"structure"` +} + +// String returns the string representation +func (s OutputDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputDetail) GoString() string { + return s.String() +} + +// SetDurationInMs sets the DurationInMs field's value. +func (s *OutputDetail) SetDurationInMs(v int64) *OutputDetail { + s.DurationInMs = &v + return s +} + +// SetVideoDetails sets the VideoDetails field's value. +func (s *OutputDetail) SetVideoDetails(v *VideoDetail) *OutputDetail { + s.VideoDetails = v + return s +} + +// Group of outputs +type OutputGroup struct { + _ struct{} `type:"structure"` + + // Use Custom Group Name (CustomName) to specify a name for the output group. + // This value is displayed on the console and can make your job settings JSON + // more human-readable. It does not affect your outputs. Use up to twelve characters + // that are either letters, numbers, spaces, or underscores. + CustomName *string `locationName:"customName" type:"string"` + + // Name of the output group + Name *string `locationName:"name" type:"string"` + + // Output Group settings, including type + OutputGroupSettings *OutputGroupSettings `locationName:"outputGroupSettings" type:"structure"` + + // This object holds groups of encoding settings, one group of settings per + // output. + Outputs []*Output `locationName:"outputs" type:"list"` +} + +// String returns the string representation +func (s OutputGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputGroup) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OutputGroup) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OutputGroup"} + if s.OutputGroupSettings != nil { + if err := s.OutputGroupSettings.Validate(); err != nil { + invalidParams.AddNested("OutputGroupSettings", err.(request.ErrInvalidParams)) + } + } + if s.Outputs != nil { + for i, v := range s.Outputs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomName sets the CustomName field's value. +func (s *OutputGroup) SetCustomName(v string) *OutputGroup { + s.CustomName = &v + return s +} + +// SetName sets the Name field's value. +func (s *OutputGroup) SetName(v string) *OutputGroup { + s.Name = &v + return s +} + +// SetOutputGroupSettings sets the OutputGroupSettings field's value. +func (s *OutputGroup) SetOutputGroupSettings(v *OutputGroupSettings) *OutputGroup { + s.OutputGroupSettings = v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *OutputGroup) SetOutputs(v []*Output) *OutputGroup { + s.Outputs = v + return s +} + +// Contains details about the output groups specified in the job settings. +type OutputGroupDetail struct { + _ struct{} `type:"structure"` + + // Details about the output + OutputDetails []*OutputDetail `locationName:"outputDetails" type:"list"` +} + +// String returns the string representation +func (s OutputGroupDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputGroupDetail) GoString() string { + return s.String() +} + +// SetOutputDetails sets the OutputDetails field's value. +func (s *OutputGroupDetail) SetOutputDetails(v []*OutputDetail) *OutputGroupDetail { + s.OutputDetails = v + return s +} + +// Output Group settings, including type +type OutputGroupSettings struct { + _ struct{} `type:"structure"` + + // Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to + // CMAF_GROUP_SETTINGS. Each output in a CMAF Output Group may only contain + // a single video, audio, or caption output. + CmafGroupSettings *CmafGroupSettings `locationName:"cmafGroupSettings" type:"structure"` + + // Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to + // DASH_ISO_GROUP_SETTINGS. + DashIsoGroupSettings *DashIsoGroupSettings `locationName:"dashIsoGroupSettings" type:"structure"` + + // Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to + // FILE_GROUP_SETTINGS. + FileGroupSettings *FileGroupSettings `locationName:"fileGroupSettings" type:"structure"` + + // Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to + // HLS_GROUP_SETTINGS. + HlsGroupSettings *HlsGroupSettings `locationName:"hlsGroupSettings" type:"structure"` + + // Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to + // MS_SMOOTH_GROUP_SETTINGS. + MsSmoothGroupSettings *MsSmoothGroupSettings `locationName:"msSmoothGroupSettings" type:"structure"` + + // Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming, + // CMAF) + Type *string `locationName:"type" type:"string" enum:"OutputGroupType"` +} + +// String returns the string representation +func (s OutputGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputGroupSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OutputGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OutputGroupSettings"} + if s.CmafGroupSettings != nil { + if err := s.CmafGroupSettings.Validate(); err != nil { + invalidParams.AddNested("CmafGroupSettings", err.(request.ErrInvalidParams)) + } + } + if s.DashIsoGroupSettings != nil { + if err := s.DashIsoGroupSettings.Validate(); err != nil { + invalidParams.AddNested("DashIsoGroupSettings", err.(request.ErrInvalidParams)) + } + } + if s.HlsGroupSettings != nil { + if err := s.HlsGroupSettings.Validate(); err != nil { + invalidParams.AddNested("HlsGroupSettings", err.(request.ErrInvalidParams)) + } + } + if s.MsSmoothGroupSettings != nil { + if err := s.MsSmoothGroupSettings.Validate(); err != nil { + invalidParams.AddNested("MsSmoothGroupSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCmafGroupSettings sets the CmafGroupSettings field's value. +func (s *OutputGroupSettings) SetCmafGroupSettings(v *CmafGroupSettings) *OutputGroupSettings { + s.CmafGroupSettings = v + return s +} + +// SetDashIsoGroupSettings sets the DashIsoGroupSettings field's value. +func (s *OutputGroupSettings) SetDashIsoGroupSettings(v *DashIsoGroupSettings) *OutputGroupSettings { + s.DashIsoGroupSettings = v + return s +} + +// SetFileGroupSettings sets the FileGroupSettings field's value. +func (s *OutputGroupSettings) SetFileGroupSettings(v *FileGroupSettings) *OutputGroupSettings { + s.FileGroupSettings = v + return s +} + +// SetHlsGroupSettings sets the HlsGroupSettings field's value. +func (s *OutputGroupSettings) SetHlsGroupSettings(v *HlsGroupSettings) *OutputGroupSettings { + s.HlsGroupSettings = v + return s +} + +// SetMsSmoothGroupSettings sets the MsSmoothGroupSettings field's value. +func (s *OutputGroupSettings) SetMsSmoothGroupSettings(v *MsSmoothGroupSettings) *OutputGroupSettings { + s.MsSmoothGroupSettings = v + return s +} + +// SetType sets the Type field's value. +func (s *OutputGroupSettings) SetType(v string) *OutputGroupSettings { + s.Type = &v + return s +} + +// Specific settings for this type of output. +type OutputSettings struct { + _ struct{} `type:"structure"` + + // Settings for HLS output groups + HlsSettings *HlsSettings `locationName:"hlsSettings" type:"structure"` +} + +// String returns the string representation +func (s OutputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputSettings) GoString() string { + return s.String() +} + +// SetHlsSettings sets the HlsSettings field's value. +func (s *OutputSettings) SetHlsSettings(v *HlsSettings) *OutputSettings { + s.HlsSettings = v + return s +} + +// A preset is a collection of preconfigured media conversion settings that +// you want MediaConvert to apply to the output during the conversion process. +type Preset struct { + _ struct{} `type:"structure"` + + // An identifier for this resource that is unique within all of AWS. + Arn *string `locationName:"arn" type:"string"` + + // An optional category you create to organize your presets. + Category *string `locationName:"category" type:"string"` + + // The timestamp in epoch seconds for preset creation. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unixTimestamp"` + + // An optional description you create for each preset. + Description *string `locationName:"description" type:"string"` + + // The timestamp in epoch seconds when the preset was last updated. + LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp" timestampFormat:"unixTimestamp"` + + // A name you create for each preset. Each name must be unique within your account. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Settings for preset + // + // Settings is a required field + Settings *PresetSettings `locationName:"settings" type:"structure" required:"true"` + + // A preset can be of two types: system or custom. System or built-in preset + // can't be modified or deleted by the user. + Type *string `locationName:"type" type:"string" enum:"Type"` +} + +// String returns the string representation +func (s Preset) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Preset) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Preset) SetArn(v string) *Preset { + s.Arn = &v + return s +} + +// SetCategory sets the Category field's value. +func (s *Preset) SetCategory(v string) *Preset { + s.Category = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Preset) SetCreatedAt(v time.Time) *Preset { + s.CreatedAt = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Preset) SetDescription(v string) *Preset { + s.Description = &v + return s +} + +// SetLastUpdated sets the LastUpdated field's value. +func (s *Preset) SetLastUpdated(v time.Time) *Preset { + s.LastUpdated = &v + return s +} + +// SetName sets the Name field's value. +func (s *Preset) SetName(v string) *Preset { + s.Name = &v + return s +} + +// SetSettings sets the Settings field's value. +func (s *Preset) SetSettings(v *PresetSettings) *Preset { + s.Settings = v + return s +} + +// SetType sets the Type field's value. +func (s *Preset) SetType(v string) *Preset { + s.Type = &v + return s +} + +// Settings for preset +type PresetSettings struct { + _ struct{} `type:"structure"` + + // (AudioDescriptions) contains groups of audio encoding settings organized + // by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions) + // can contain multiple groups of encoding settings. + AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list"` + + // Caption settings for this preset. There can be multiple caption settings + // in a single output. + CaptionDescriptions []*CaptionDescriptionPreset `locationName:"captionDescriptions" type:"list"` + + // Container specific settings. + ContainerSettings *ContainerSettings `locationName:"containerSettings" type:"structure"` + + // (VideoDescription) contains a group of video encoding settings. The specific + // video settings depend on the video codec you choose when you specify a value + // for Video codec (codec). Include one instance of (VideoDescription) per output. + VideoDescription *VideoDescription `locationName:"videoDescription" type:"structure"` +} + +// String returns the string representation +func (s PresetSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PresetSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PresetSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PresetSettings"} + if s.AudioDescriptions != nil { + for i, v := range s.AudioDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CaptionDescriptions != nil { + for i, v := range s.CaptionDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ContainerSettings != nil { + if err := s.ContainerSettings.Validate(); err != nil { + invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams)) + } + } + if s.VideoDescription != nil { + if err := s.VideoDescription.Validate(); err != nil { + invalidParams.AddNested("VideoDescription", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioDescriptions sets the AudioDescriptions field's value. +func (s *PresetSettings) SetAudioDescriptions(v []*AudioDescription) *PresetSettings { + s.AudioDescriptions = v + return s +} + +// SetCaptionDescriptions sets the CaptionDescriptions field's value. +func (s *PresetSettings) SetCaptionDescriptions(v []*CaptionDescriptionPreset) *PresetSettings { + s.CaptionDescriptions = v + return s +} + +// SetContainerSettings sets the ContainerSettings field's value. +func (s *PresetSettings) SetContainerSettings(v *ContainerSettings) *PresetSettings { + s.ContainerSettings = v + return s +} + +// SetVideoDescription sets the VideoDescription field's value. +func (s *PresetSettings) SetVideoDescription(v *VideoDescription) *PresetSettings { + s.VideoDescription = v + return s +} + +// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to +// the value PRORES. +type ProresSettings struct { + _ struct{} `type:"structure"` + + // Use Profile (ProResCodecProfile) to specifiy the type of Apple ProRes codec + // to use for this output. + CodecProfile *string `locationName:"codecProfile" type:"string" enum:"ProresCodecProfile"` + + // If you are using the console, use the Framerate setting to specify the frame + // rate for this output. If you want to keep the same frame rate as the input + // video, choose Follow source. If you want to do frame rate conversion, choose + // a frame rate from the dropdown list or choose Custom. The framerates shown + // in the dropdown list are decimal approximations of fractions. If you choose + // Custom, specify your frame rate as a fraction. If you are creating your transcoding + // job sepecification as a JSON file without the console, use FramerateControl + // to specify which value the service uses for the frame rate for this output. + // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate + // from the input. Choose SPECIFIED if you want the service to use the frame + // rate you specify in the settings FramerateNumerator and FramerateDenominator. + FramerateControl *string `locationName:"framerateControl" type:"string" enum:"ProresFramerateControl"` + + // When set to INTERPOLATE, produces smoother motion during frame rate conversion. + FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"ProresFramerateConversionAlgorithm"` + + // Frame rate denominator. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` + + // When you use the API for transcode jobs that use frame rate conversion, specify + // the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use + // FramerateNumerator to specify the numerator of this fraction. In this example, + // use 24000 for the value of FramerateNumerator. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` + + // Use Interlace mode (InterlaceMode) to choose the scan line type for the output. + // * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce + // interlaced output with the entire output having the same field polarity (top + // or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default + // Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, + // behavior depends on the input scan type. - If the source is interlaced, the + // output will be interlaced with the same polarity as the source (it will follow + // the source). The output could therefore be a mix of "top field first" and + // "bottom field first". - If the source is progressive, the output will be + // interlaced with "top field first" or "bottom field first" polarity, depending + // on which of the Follow options you chose. + InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"ProresInterlaceMode"` + + // Use (ProresParControl) to specify how the service determines the pixel aspect + // ratio. Set to Follow source (INITIALIZE_FROM_SOURCE) to use the pixel aspect + // ratio from the input. To specify a different pixel aspect ratio: Using the + // console, choose it from the dropdown menu. Using the API, set ProresParControl + // to (SPECIFIED) and provide for (ParNumerator) and (ParDenominator). + ParControl *string `locationName:"parControl" type:"string" enum:"ProresParControl"` + + // Pixel Aspect Ratio denominator. + ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` + + // Pixel Aspect Ratio numerator. + ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` + + // Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled + // as 25fps, and audio is sped up correspondingly. + SlowPal *string `locationName:"slowPal" type:"string" enum:"ProresSlowPal"` + + // Only use Telecine (ProresTelecine) when you set Framerate (Framerate) to + // 29.970. Set Telecine (ProresTelecine) to Hard (hard) to produce a 29.97i + // output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output + // and leave converstion to the player. + Telecine *string `locationName:"telecine" type:"string" enum:"ProresTelecine"` +} + +// String returns the string representation +func (s ProresSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProresSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProresSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProresSettings"} + if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) + } + if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + } + if s.ParDenominator != nil && *s.ParDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + } + if s.ParNumerator != nil && *s.ParNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodecProfile sets the CodecProfile field's value. +func (s *ProresSettings) SetCodecProfile(v string) *ProresSettings { + s.CodecProfile = &v + return s +} + +// SetFramerateControl sets the FramerateControl field's value. +func (s *ProresSettings) SetFramerateControl(v string) *ProresSettings { + s.FramerateControl = &v + return s +} + +// SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value. +func (s *ProresSettings) SetFramerateConversionAlgorithm(v string) *ProresSettings { + s.FramerateConversionAlgorithm = &v + return s +} + +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *ProresSettings) SetFramerateDenominator(v int64) *ProresSettings { + s.FramerateDenominator = &v + return s +} + +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *ProresSettings) SetFramerateNumerator(v int64) *ProresSettings { + s.FramerateNumerator = &v + return s +} + +// SetInterlaceMode sets the InterlaceMode field's value. +func (s *ProresSettings) SetInterlaceMode(v string) *ProresSettings { + s.InterlaceMode = &v + return s +} + +// SetParControl sets the ParControl field's value. +func (s *ProresSettings) SetParControl(v string) *ProresSettings { + s.ParControl = &v + return s +} + +// SetParDenominator sets the ParDenominator field's value. +func (s *ProresSettings) SetParDenominator(v int64) *ProresSettings { + s.ParDenominator = &v + return s +} + +// SetParNumerator sets the ParNumerator field's value. +func (s *ProresSettings) SetParNumerator(v int64) *ProresSettings { + s.ParNumerator = &v + return s +} + +// SetSlowPal sets the SlowPal field's value. +func (s *ProresSettings) SetSlowPal(v string) *ProresSettings { + s.SlowPal = &v + return s +} + +// SetTelecine sets the Telecine field's value. +func (s *ProresSettings) SetTelecine(v string) *ProresSettings { + s.Telecine = &v + return s +} + +// You can use queues to manage the resources that are available to your AWS +// account for running multiple transcoding jobs at the same time. If you don't +// specify a queue, the service sends all jobs through the default queue. For +// more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html. +type Queue struct { + _ struct{} `type:"structure"` + + // An identifier for this resource that is unique within all of AWS. + Arn *string `locationName:"arn" type:"string"` + + // The timestamp in epoch seconds for when you created the queue. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unixTimestamp"` + + // An optional description that you create for each queue. + Description *string `locationName:"description" type:"string"` + + // The timestamp in epoch seconds for when you most recently updated the queue. + LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp" timestampFormat:"unixTimestamp"` + + // A name that you create for each queue. Each name must be unique within your + // account. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Specifies whether the pricing plan for the queue is on-demand or reserved. + // For on-demand, you pay per minute, billed in increments of .01 minute. For + // reserved, you pay for the transcoding capacity of the entire queue, regardless + // of how much or how little you use it. Reserved pricing requires a 12-month + // commitment. + PricingPlan *string `locationName:"pricingPlan" type:"string" enum:"PricingPlan"` + + // The estimated number of jobs with a PROGRESSING status. + ProgressingJobsCount *int64 `locationName:"progressingJobsCount" type:"integer"` + + // Details about the pricing plan for your reserved queue. Required for reserved + // queues and not applicable to on-demand queues. + ReservationPlan *ReservationPlan `locationName:"reservationPlan" type:"structure"` + + // Queues can be ACTIVE or PAUSED. If you pause a queue, the service won't begin + // processing jobs in that queue. Jobs that are running when you pause the queue + // continue to run until they finish or result in an error. + Status *string `locationName:"status" type:"string" enum:"QueueStatus"` + + // The estimated number of jobs with a SUBMITTED status. + SubmittedJobsCount *int64 `locationName:"submittedJobsCount" type:"integer"` + + // Specifies whether this on-demand queue is system or custom. System queues + // are built in. You can't modify or delete system queues. You can create and + // modify custom queues. + Type *string `locationName:"type" type:"string" enum:"Type"` +} + +// String returns the string representation +func (s Queue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Queue) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Queue) SetArn(v string) *Queue { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Queue) SetCreatedAt(v time.Time) *Queue { + s.CreatedAt = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Queue) SetDescription(v string) *Queue { + s.Description = &v + return s +} + +// SetLastUpdated sets the LastUpdated field's value. +func (s *Queue) SetLastUpdated(v time.Time) *Queue { + s.LastUpdated = &v + return s +} + +// SetName sets the Name field's value. +func (s *Queue) SetName(v string) *Queue { + s.Name = &v + return s +} + +// SetPricingPlan sets the PricingPlan field's value. +func (s *Queue) SetPricingPlan(v string) *Queue { + s.PricingPlan = &v + return s +} + +// SetProgressingJobsCount sets the ProgressingJobsCount field's value. +func (s *Queue) SetProgressingJobsCount(v int64) *Queue { + s.ProgressingJobsCount = &v + return s +} + +// SetReservationPlan sets the ReservationPlan field's value. +func (s *Queue) SetReservationPlan(v *ReservationPlan) *Queue { + s.ReservationPlan = v + return s +} + +// SetStatus sets the Status field's value. +func (s *Queue) SetStatus(v string) *Queue { + s.Status = &v + return s +} + +// SetSubmittedJobsCount sets the SubmittedJobsCount field's value. +func (s *Queue) SetSubmittedJobsCount(v int64) *Queue { + s.SubmittedJobsCount = &v + return s +} + +// SetType sets the Type field's value. +func (s *Queue) SetType(v string) *Queue { + s.Type = &v + return s +} + +// Use Rectangle to identify a specific area of the video frame. +type Rectangle struct { + _ struct{} `type:"structure"` + + // Height of rectangle in pixels. Specify only even numbers. + Height *int64 `locationName:"height" min:"2" type:"integer"` + + // Width of rectangle in pixels. Specify only even numbers. + Width *int64 `locationName:"width" min:"2" type:"integer"` + + // The distance, in pixels, between the rectangle and the left edge of the video + // frame. Specify only even numbers. + X *int64 `locationName:"x" type:"integer"` + + // The distance, in pixels, between the rectangle and the top edge of the video + // frame. Specify only even numbers. + Y *int64 `locationName:"y" type:"integer"` +} + +// String returns the string representation +func (s Rectangle) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Rectangle) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Rectangle) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Rectangle"} + if s.Height != nil && *s.Height < 2 { + invalidParams.Add(request.NewErrParamMinValue("Height", 2)) + } + if s.Width != nil && *s.Width < 2 { + invalidParams.Add(request.NewErrParamMinValue("Width", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHeight sets the Height field's value. +func (s *Rectangle) SetHeight(v int64) *Rectangle { + s.Height = &v + return s +} + +// SetWidth sets the Width field's value. +func (s *Rectangle) SetWidth(v int64) *Rectangle { + s.Width = &v + return s +} + +// SetX sets the X field's value. +func (s *Rectangle) SetX(v int64) *Rectangle { + s.X = &v + return s +} + +// SetY sets the Y field's value. +func (s *Rectangle) SetY(v int64) *Rectangle { + s.Y = &v + return s +} + +// Use Manual audio remixing (RemixSettings) to adjust audio levels for each +// audio channel in each output of your job. With audio remixing, you can output +// more or fewer audio channels than your input audio source provides. +type RemixSettings struct { + _ struct{} `type:"structure"` + + // Channel mapping (ChannelMapping) contains the group of fields that hold the + // remixing value for each channel. Units are in dB. Acceptable values are within + // the range from -60 (mute) through 6. A setting of 0 passes the input channel + // unchanged to the output channel (no attenuation or amplification). + ChannelMapping *ChannelMapping `locationName:"channelMapping" type:"structure"` + + // Specify the number of audio channels from your input that you want to use + // in your output. With remixing, you might combine or split the data in these + // channels, so the number of channels in your final output might be different. + ChannelsIn *int64 `locationName:"channelsIn" min:"1" type:"integer"` + + // Specify the number of channels in this output after remixing. Valid values: + // 1, 2, 4, 6, 8 + ChannelsOut *int64 `locationName:"channelsOut" min:"1" type:"integer"` +} + +// String returns the string representation +func (s RemixSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemixSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemixSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemixSettings"} + if s.ChannelsIn != nil && *s.ChannelsIn < 1 { + invalidParams.Add(request.NewErrParamMinValue("ChannelsIn", 1)) + } + if s.ChannelsOut != nil && *s.ChannelsOut < 1 { + invalidParams.Add(request.NewErrParamMinValue("ChannelsOut", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelMapping sets the ChannelMapping field's value. +func (s *RemixSettings) SetChannelMapping(v *ChannelMapping) *RemixSettings { + s.ChannelMapping = v + return s +} + +// SetChannelsIn sets the ChannelsIn field's value. +func (s *RemixSettings) SetChannelsIn(v int64) *RemixSettings { + s.ChannelsIn = &v + return s +} + +// SetChannelsOut sets the ChannelsOut field's value. +func (s *RemixSettings) SetChannelsOut(v int64) *RemixSettings { + s.ChannelsOut = &v + return s +} + +// Details about the pricing plan for your reserved queue. Required for reserved +// queues and not applicable to on-demand queues. +type ReservationPlan struct { + _ struct{} `type:"structure"` + + // The length of the term of your reserved queue pricing plan commitment. + Commitment *string `locationName:"commitment" type:"string" enum:"Commitment"` + + // The timestamp in epoch seconds for when the current pricing plan term for + // this reserved queue expires. + ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp" timestampFormat:"unixTimestamp"` + + // The timestamp in epoch seconds for when you set up the current pricing plan + // for this reserved queue. + PurchasedAt *time.Time `locationName:"purchasedAt" type:"timestamp" timestampFormat:"unixTimestamp"` + + // Specifies whether the term of your reserved queue pricing plan is automatically + // extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term. + RenewalType *string `locationName:"renewalType" type:"string" enum:"RenewalType"` + + // Specifies the number of reserved transcode slots (RTS) for this queue. The + // number of RTS determines how many jobs the queue can process in parallel; + // each RTS can process one job at a time. When you increase this number, you + // extend your existing commitment with a new 12-month commitment for a larger + // number of RTS. The new commitment begins when you purchase the additional + // capacity. You can't decrease the number of RTS in your reserved queue. + ReservedSlots *int64 `locationName:"reservedSlots" type:"integer"` + + // Specifies whether the pricing plan for your reserved queue is ACTIVE or EXPIRED. + Status *string `locationName:"status" type:"string" enum:"ReservationPlanStatus"` +} + +// String returns the string representation +func (s ReservationPlan) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReservationPlan) GoString() string { + return s.String() +} + +// SetCommitment sets the Commitment field's value. +func (s *ReservationPlan) SetCommitment(v string) *ReservationPlan { + s.Commitment = &v + return s +} + +// SetExpiresAt sets the ExpiresAt field's value. +func (s *ReservationPlan) SetExpiresAt(v time.Time) *ReservationPlan { + s.ExpiresAt = &v + return s +} + +// SetPurchasedAt sets the PurchasedAt field's value. +func (s *ReservationPlan) SetPurchasedAt(v time.Time) *ReservationPlan { + s.PurchasedAt = &v + return s +} + +// SetRenewalType sets the RenewalType field's value. +func (s *ReservationPlan) SetRenewalType(v string) *ReservationPlan { + s.RenewalType = &v + return s +} + +// SetReservedSlots sets the ReservedSlots field's value. +func (s *ReservationPlan) SetReservedSlots(v int64) *ReservationPlan { + s.ReservedSlots = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ReservationPlan) SetStatus(v string) *ReservationPlan { + s.Status = &v + return s +} + +// Details about the pricing plan for your reserved queue. Required for reserved +// queues and not applicable to on-demand queues. +type ReservationPlanSettings struct { + _ struct{} `type:"structure"` + + // The length of the term of your reserved queue pricing plan commitment. + // + // Commitment is a required field + Commitment *string `locationName:"commitment" type:"string" required:"true" enum:"Commitment"` + + // Specifies whether the term of your reserved queue pricing plan is automatically + // extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term. When your + // term is auto renewed, you extend your commitment by 12 months from the auto + // renew date. You can cancel this commitment. + // + // RenewalType is a required field + RenewalType *string `locationName:"renewalType" type:"string" required:"true" enum:"RenewalType"` + + // Specifies the number of reserved transcode slots (RTS) for this queue. The + // number of RTS determines how many jobs the queue can process in parallel; + // each RTS can process one job at a time. You can't decrease the number of + // RTS in your reserved queue. You can increase the number of RTS by extending + // your existing commitment with a new 12-month commitment for the larger number. + // The new commitment begins when you purchase the additional capacity. You + // can't cancel your commitment or revert to your original commitment after + // you increase the capacity. + // + // ReservedSlots is a required field + ReservedSlots *int64 `locationName:"reservedSlots" type:"integer" required:"true"` +} + +// String returns the string representation +func (s ReservationPlanSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReservationPlanSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReservationPlanSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReservationPlanSettings"} + if s.Commitment == nil { + invalidParams.Add(request.NewErrParamRequired("Commitment")) + } + if s.RenewalType == nil { + invalidParams.Add(request.NewErrParamRequired("RenewalType")) + } + if s.ReservedSlots == nil { + invalidParams.Add(request.NewErrParamRequired("ReservedSlots")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCommitment sets the Commitment field's value. +func (s *ReservationPlanSettings) SetCommitment(v string) *ReservationPlanSettings { + s.Commitment = &v + return s +} + +// SetRenewalType sets the RenewalType field's value. +func (s *ReservationPlanSettings) SetRenewalType(v string) *ReservationPlanSettings { + s.RenewalType = &v + return s +} + +// SetReservedSlots sets the ReservedSlots field's value. +func (s *ReservationPlanSettings) SetReservedSlots(v int64) *ReservationPlanSettings { + s.ReservedSlots = &v + return s +} + +// The Amazon Resource Name (ARN) and tags for an AWS Elemental MediaConvert +// resource. +type ResourceTags struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource. + Arn *string `locationName:"arn" type:"string"` + + // The tags for the resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s ResourceTags) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceTags) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ResourceTags) SetArn(v string) *ResourceTags { + s.Arn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ResourceTags) SetTags(v map[string]*string) *ResourceTags { + s.Tags = v + return s +} + +// Settings for SCC caption output. +type SccDestinationSettings struct { + _ struct{} `type:"structure"` + + // Set Framerate (SccDestinationFramerate) to make sure that the captions and + // the video are synchronized in the output. Specify a frame rate that matches + // the frame rate of the associated video. If the video frame rate is 29.97, + // choose 29.97 dropframe (FRAMERATE_29_97_DROPFRAME) only if the video has + // video_insertion=true and drop_frame_timecode=true; otherwise, choose 29.97 + // non-dropframe (FRAMERATE_29_97_NON_DROPFRAME). + Framerate *string `locationName:"framerate" type:"string" enum:"SccDestinationFramerate"` +} + +// String returns the string representation +func (s SccDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SccDestinationSettings) GoString() string { + return s.String() +} + +// SetFramerate sets the Framerate field's value. +func (s *SccDestinationSettings) SetFramerate(v string) *SccDestinationSettings { + s.Framerate = &v + return s +} + +// Settings for use with a SPEKE key provider +type SpekeKeyProvider struct { + _ struct{} `type:"structure"` + + // Optional AWS Certificate Manager ARN for a certificate to send to the keyprovider. + // The certificate holds a key used by the keyprovider to encrypt the keys in + // its response. + CertificateArn *string `locationName:"certificateArn" type:"string"` + + // The SPEKE-compliant server uses Resource ID (ResourceId) to identify content. + ResourceId *string `locationName:"resourceId" type:"string"` + + // Relates to SPEKE implementation. DRM system identifiers. DASH output groups + // support a max of two system ids. Other group types support one system id. + SystemIds []*string `locationName:"systemIds" type:"list"` + + // Use URL (Url) to specify the SPEKE-compliant server that will provide keys + // for content. + Url *string `locationName:"url" type:"string"` +} + +// String returns the string representation +func (s SpekeKeyProvider) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SpekeKeyProvider) GoString() string { + return s.String() +} + +// SetCertificateArn sets the CertificateArn field's value. +func (s *SpekeKeyProvider) SetCertificateArn(v string) *SpekeKeyProvider { + s.CertificateArn = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *SpekeKeyProvider) SetResourceId(v string) *SpekeKeyProvider { + s.ResourceId = &v + return s +} + +// SetSystemIds sets the SystemIds field's value. +func (s *SpekeKeyProvider) SetSystemIds(v []*string) *SpekeKeyProvider { + s.SystemIds = v + return s +} + +// SetUrl sets the Url field's value. +func (s *SpekeKeyProvider) SetUrl(v string) *SpekeKeyProvider { + s.Url = &v + return s +} + +// Use these settings to set up encryption with a static key provider. +type StaticKeyProvider struct { + _ struct{} `type:"structure"` + + // Relates to DRM implementation. Sets the value of the KEYFORMAT attribute. + // Must be 'identity' or a reverse DNS string. May be omitted to indicate an + // implicit value of 'identity'. + KeyFormat *string `locationName:"keyFormat" type:"string"` + + // Relates to DRM implementation. Either a single positive integer version value + // or a slash delimited list of version values (1/2/3). + KeyFormatVersions *string `locationName:"keyFormatVersions" type:"string"` + + // Relates to DRM implementation. Use a 32-character hexidecimal string to specify + // Key Value (StaticKeyValue). + StaticKeyValue *string `locationName:"staticKeyValue" type:"string"` + + // Relates to DRM implementation. The location of the license server used for + // protecting content. + Url *string `locationName:"url" type:"string"` +} + +// String returns the string representation +func (s StaticKeyProvider) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StaticKeyProvider) GoString() string { + return s.String() +} + +// SetKeyFormat sets the KeyFormat field's value. +func (s *StaticKeyProvider) SetKeyFormat(v string) *StaticKeyProvider { + s.KeyFormat = &v + return s +} + +// SetKeyFormatVersions sets the KeyFormatVersions field's value. +func (s *StaticKeyProvider) SetKeyFormatVersions(v string) *StaticKeyProvider { + s.KeyFormatVersions = &v + return s +} + +// SetStaticKeyValue sets the StaticKeyValue field's value. +func (s *StaticKeyProvider) SetStaticKeyValue(v string) *StaticKeyProvider { + s.StaticKeyValue = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *StaticKeyProvider) SetUrl(v string) *StaticKeyProvider { + s.Url = &v + return s +} + +// To add tags to a queue, preset, or job template, send a request with the +// Amazon Resource Name (ARN) of the resource and the tags that you want to +// add. +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want to tag. To get + // the ARN, send a GET request with the resource name. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The tags that you want to add to the resource. You can tag resources with + // a key-value pair or with only a key. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *TagResourceInput) SetArn(v string) *TagResourceInput { + s.Arn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +// A successful request to add tags to a resource returns an OK message. +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// Settings for Teletext caption output +type TeletextDestinationSettings struct { + _ struct{} `type:"structure"` + + // Set pageNumber to the Teletext page number for the destination captions for + // this output. This value must be a three-digit hexadecimal string; strings + // ending in -FF are invalid. If you are passing through the entire set of Teletext + // data, do not use this field. + PageNumber *string `locationName:"pageNumber" min:"3" type:"string"` +} + +// String returns the string representation +func (s TeletextDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TeletextDestinationSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TeletextDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TeletextDestinationSettings"} + if s.PageNumber != nil && len(*s.PageNumber) < 3 { + invalidParams.Add(request.NewErrParamMinLen("PageNumber", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPageNumber sets the PageNumber field's value. +func (s *TeletextDestinationSettings) SetPageNumber(v string) *TeletextDestinationSettings { + s.PageNumber = &v + return s +} + +// Settings specific to Teletext caption sources, including Page number. +type TeletextSourceSettings struct { + _ struct{} `type:"structure"` + + // Use Page Number (PageNumber) to specify the three-digit hexadecimal page + // number that will be used for Teletext captions. Do not use this setting if + // you are passing through teletext from the input source to output. + PageNumber *string `locationName:"pageNumber" min:"3" type:"string"` +} + +// String returns the string representation +func (s TeletextSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TeletextSourceSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TeletextSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TeletextSourceSettings"} + if s.PageNumber != nil && len(*s.PageNumber) < 3 { + invalidParams.Add(request.NewErrParamMinLen("PageNumber", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPageNumber sets the PageNumber field's value. +func (s *TeletextSourceSettings) SetPageNumber(v string) *TeletextSourceSettings { + s.PageNumber = &v + return s +} + +// Timecode burn-in (TimecodeBurnIn)--Burns the output timecode and specified +// prefix into the output. +type TimecodeBurnin struct { + _ struct{} `type:"structure"` + + // Use Font Size (FontSize) to set the font size of any burned-in timecode. + // Valid values are 10, 16, 32, 48. + FontSize *int64 `locationName:"fontSize" min:"10" type:"integer"` + + // Use Position (Position) under under Timecode burn-in (TimecodeBurnIn) to + // specify the location the burned-in timecode on output video. + Position *string `locationName:"position" type:"string" enum:"TimecodeBurninPosition"` + + // Use Prefix (Prefix) to place ASCII characters before any burned-in timecode. + // For example, a prefix of "EZ-" will result in the timecode "EZ-00:00:00:00". + // Provide either the characters themselves or the ASCII code equivalents. The + // supported range of characters is 0x20 through 0x7e. This includes letters, + // numbers, and all special characters represented on a standard English keyboard. + Prefix *string `locationName:"prefix" type:"string"` +} + +// String returns the string representation +func (s TimecodeBurnin) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TimecodeBurnin) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TimecodeBurnin) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TimecodeBurnin"} + if s.FontSize != nil && *s.FontSize < 10 { + invalidParams.Add(request.NewErrParamMinValue("FontSize", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFontSize sets the FontSize field's value. +func (s *TimecodeBurnin) SetFontSize(v int64) *TimecodeBurnin { + s.FontSize = &v + return s +} + +// SetPosition sets the Position field's value. +func (s *TimecodeBurnin) SetPosition(v string) *TimecodeBurnin { + s.Position = &v + return s +} + +// SetPrefix sets the Prefix field's value. +func (s *TimecodeBurnin) SetPrefix(v string) *TimecodeBurnin { + s.Prefix = &v + return s +} + +// These settings control how the service handles timecodes throughout the job. +// These settings don't affect input clipping. +type TimecodeConfig struct { + _ struct{} `type:"structure"` + + // If you use an editing platform that relies on an anchor timecode, use Anchor + // Timecode (Anchor) to specify a timecode that will match the input video frame + // to the output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) + // or (HH:MM:SS;FF). This setting ignores frame rate conversion. System behavior + // for Anchor Timecode varies depending on your setting for Source (TimecodeSource). + // * If Source (TimecodeSource) is set to Specified Start (SPECIFIEDSTART), + // the first input frame is the specified value in Start Timecode (Start). Anchor + // Timecode (Anchor) and Start Timecode (Start) are used calculate output timecode. + // * If Source (TimecodeSource) is set to Start at 0 (ZEROBASED) the first frame + // is 00:00:00:00. * If Source (TimecodeSource) is set to Embedded (EMBEDDED), + // the first frame is the timecode value on the first input frame of the input. + Anchor *string `locationName:"anchor" type:"string"` + + // Use Source (TimecodeSource) to set how timecodes are handled within this + // job. To make sure that your video, audio, captions, and markers are synchronized + // and that time-based features, such as image inserter, work correctly, choose + // the Timecode source option that matches your assets. All timecodes are in + // a 24-hour format with frame number (HH:MM:SS:FF). * Embedded (EMBEDDED) - + // Use the timecode that is in the input video. If no embedded timecode is in + // the source, the service will use Start at 0 (ZEROBASED) instead. * Start + // at 0 (ZEROBASED) - Set the timecode of the initial frame to 00:00:00:00. + // * Specified Start (SPECIFIEDSTART) - Set the timecode of the initial frame + // to a value other than zero. You use Start timecode (Start) to provide this + // value. + Source *string `locationName:"source" type:"string" enum:"TimecodeSource"` + + // Only use when you set Source (TimecodeSource) to Specified start (SPECIFIEDSTART). + // Use Start timecode (Start) to specify the timecode for the initial frame. + // Use 24-hour format with frame number, (HH:MM:SS:FF) or (HH:MM:SS;FF). + Start *string `locationName:"start" type:"string"` + + // Only applies to outputs that support program-date-time stamp. Use Timestamp + // offset (TimestampOffset) to overwrite the timecode date without affecting + // the time and frame number. Provide the new date as a string in the format + // "yyyy-mm-dd". To use Time stamp offset, you must also enable Insert program-date-time + // (InsertProgramDateTime) in the output settings. For example, if the date + // part of your timecodes is 2002-1-25 and you want to change it to one year + // later, set Timestamp offset (TimestampOffset) to 2003-1-25. + TimestampOffset *string `locationName:"timestampOffset" type:"string"` +} + +// String returns the string representation +func (s TimecodeConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TimecodeConfig) GoString() string { + return s.String() +} + +// SetAnchor sets the Anchor field's value. +func (s *TimecodeConfig) SetAnchor(v string) *TimecodeConfig { + s.Anchor = &v + return s +} + +// SetSource sets the Source field's value. +func (s *TimecodeConfig) SetSource(v string) *TimecodeConfig { + s.Source = &v + return s +} + +// SetStart sets the Start field's value. +func (s *TimecodeConfig) SetStart(v string) *TimecodeConfig { + s.Start = &v + return s +} + +// SetTimestampOffset sets the TimestampOffset field's value. +func (s *TimecodeConfig) SetTimestampOffset(v string) *TimecodeConfig { + s.TimestampOffset = &v + return s +} + +// Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags +// in your job. To include timed metadata, you must enable it here, enable it +// in each output container, and specify tags and timecodes in ID3 insertion +// (Id3Insertion) objects. +type TimedMetadataInsertion struct { + _ struct{} `type:"structure"` + + // Id3Insertions contains the array of Id3Insertion instances. + Id3Insertions []*Id3Insertion `locationName:"id3Insertions" type:"list"` +} + +// String returns the string representation +func (s TimedMetadataInsertion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TimedMetadataInsertion) GoString() string { + return s.String() +} + +// SetId3Insertions sets the Id3Insertions field's value. +func (s *TimedMetadataInsertion) SetId3Insertions(v []*Id3Insertion) *TimedMetadataInsertion { + s.Id3Insertions = v + return s +} + +// Information about when jobs are submitted, started, and finished is specified +// in Unix epoch format in seconds. +type Timing struct { + _ struct{} `type:"structure"` + + // The time, in Unix epoch format, that the transcoding job finished + FinishTime *time.Time `locationName:"finishTime" type:"timestamp" timestampFormat:"unixTimestamp"` + + // The time, in Unix epoch format, that transcoding for the job began. + StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"unixTimestamp"` + + // The time, in Unix epoch format, that you submitted the job. + SubmitTime *time.Time `locationName:"submitTime" type:"timestamp" timestampFormat:"unixTimestamp"` +} + +// String returns the string representation +func (s Timing) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Timing) GoString() string { + return s.String() +} + +// SetFinishTime sets the FinishTime field's value. +func (s *Timing) SetFinishTime(v time.Time) *Timing { + s.FinishTime = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *Timing) SetStartTime(v time.Time) *Timing { + s.StartTime = &v + return s +} + +// SetSubmitTime sets the SubmitTime field's value. +func (s *Timing) SetSubmitTime(v time.Time) *Timing { + s.SubmitTime = &v + return s +} + +// Settings specific to caption sources that are specfied by track number. Sources +// include IMSC in IMF. +type TrackSourceSettings struct { + _ struct{} `type:"structure"` + + // Use this setting to select a single captions track from a source. Track numbers + // correspond to the order in the captions source file. For IMF sources, track + // numbering is based on the order that the captions appear in the CPL. For + // example, use 1 to select the captions asset that is listed first in the CPL. + // To include more than one captions track in your job outputs, create multiple + // input captions selectors. Specify one track per selector. + TrackNumber *int64 `locationName:"trackNumber" min:"1" type:"integer"` +} + +// String returns the string representation +func (s TrackSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrackSourceSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TrackSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TrackSourceSettings"} + if s.TrackNumber != nil && *s.TrackNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("TrackNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTrackNumber sets the TrackNumber field's value. +func (s *TrackSourceSettings) SetTrackNumber(v int64) *TrackSourceSettings { + s.TrackNumber = &v + return s +} + +// Settings specific to TTML caption outputs, including Pass style information +// (TtmlStylePassthrough). +type TtmlDestinationSettings struct { + _ struct{} `type:"structure"` + + // Pass through style and position information from a TTML-like input source + // (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or TTML output. + StylePassthrough *string `locationName:"stylePassthrough" type:"string" enum:"TtmlStylePassthrough"` +} + +// String returns the string representation +func (s TtmlDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TtmlDestinationSettings) GoString() string { + return s.String() +} + +// SetStylePassthrough sets the StylePassthrough field's value. +func (s *TtmlDestinationSettings) SetStylePassthrough(v string) *TtmlDestinationSettings { + s.StylePassthrough = &v + return s +} + +// To remove tags from a resource, send a request with the Amazon Resource Name +// (ARN) of the resource and the keys of the tags that you want to remove. +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want to remove tags + // from. To get the ARN, send a GET request with the resource name. + // + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` + + // The keys of the tags that you want to remove from the resource. + TagKeys []*string `locationName:"tagKeys" type:"list"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *UntagResourceInput) SetArn(v string) *UntagResourceInput { + s.Arn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +// A successful request to remove tags from a resource returns an OK message. +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +// Modify a job template by sending a request with the job template name and +// any of the following that you wish to change: description, category, and +// queue. +type UpdateJobTemplateInput struct { + _ struct{} `type:"structure"` + + // This is a beta feature. If you are interested in using this feature, please + // contact AWS customer support. + AccelerationSettings *AccelerationSettings `locationName:"accelerationSettings" type:"structure"` + + // The new category for the job template, if you are changing it. + Category *string `locationName:"category" type:"string"` + + // The new description for the job template, if you are changing it. + Description *string `locationName:"description" type:"string"` + + // The name of the job template you are modifying + // + // Name is a required field + Name *string `location:"uri" locationName:"name" type:"string" required:"true"` + + // The new queue for the job template, if you are changing it. + Queue *string `locationName:"queue" type:"string"` + + // JobTemplateSettings contains all the transcode settings saved in the template + // that will be applied to jobs created from it. + Settings *JobTemplateSettings `locationName:"settings" type:"structure"` + + // Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch + // Events. Set the interval, in seconds, between status updates. MediaConvert + // sends an update at this interval from the time the service begins processing + // your job to the time it completes the transcode or encounters an error. + StatusUpdateIntervalInSecs *int64 `locationName:"statusUpdateIntervalInSecs" min:"10" type:"long"` +} + +// String returns the string representation +func (s UpdateJobTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateJobTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateJobTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateJobTemplateInput"} + 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.StatusUpdateIntervalInSecs != nil && *s.StatusUpdateIntervalInSecs < 10 { + invalidParams.Add(request.NewErrParamMinValue("StatusUpdateIntervalInSecs", 10)) + } + if s.AccelerationSettings != nil { + if err := s.AccelerationSettings.Validate(); err != nil { + invalidParams.AddNested("AccelerationSettings", err.(request.ErrInvalidParams)) + } + } + if s.Settings != nil { + if err := s.Settings.Validate(); err != nil { + invalidParams.AddNested("Settings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccelerationSettings sets the AccelerationSettings field's value. +func (s *UpdateJobTemplateInput) SetAccelerationSettings(v *AccelerationSettings) *UpdateJobTemplateInput { + s.AccelerationSettings = v + return s +} + +// SetCategory sets the Category field's value. +func (s *UpdateJobTemplateInput) SetCategory(v string) *UpdateJobTemplateInput { + s.Category = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateJobTemplateInput) SetDescription(v string) *UpdateJobTemplateInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateJobTemplateInput) SetName(v string) *UpdateJobTemplateInput { + s.Name = &v + return s +} + +// SetQueue sets the Queue field's value. +func (s *UpdateJobTemplateInput) SetQueue(v string) *UpdateJobTemplateInput { + s.Queue = &v + return s +} + +// SetSettings sets the Settings field's value. +func (s *UpdateJobTemplateInput) SetSettings(v *JobTemplateSettings) *UpdateJobTemplateInput { + s.Settings = v + return s +} + +// SetStatusUpdateIntervalInSecs sets the StatusUpdateIntervalInSecs field's value. +func (s *UpdateJobTemplateInput) SetStatusUpdateIntervalInSecs(v int64) *UpdateJobTemplateInput { + s.StatusUpdateIntervalInSecs = &v + return s +} + +// Successful update job template requests will return the new job template +// JSON. +type UpdateJobTemplateOutput struct { + _ struct{} `type:"structure"` + + // A job template is a pre-made set of encoding instructions that you can use + // to quickly create a job. + JobTemplate *JobTemplate `locationName:"jobTemplate" type:"structure"` +} + +// String returns the string representation +func (s UpdateJobTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateJobTemplateOutput) GoString() string { + return s.String() +} + +// SetJobTemplate sets the JobTemplate field's value. +func (s *UpdateJobTemplateOutput) SetJobTemplate(v *JobTemplate) *UpdateJobTemplateOutput { + s.JobTemplate = v + return s +} + +// Modify a preset by sending a request with the preset name and any of the +// following that you wish to change: description, category, and transcoding +// settings. +type UpdatePresetInput struct { + _ struct{} `type:"structure"` + + // The new category for the preset, if you are changing it. + Category *string `locationName:"category" type:"string"` + + // The new description for the preset, if you are changing it. + Description *string `locationName:"description" type:"string"` + + // The name of the preset you are modifying. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" type:"string" required:"true"` + + // Settings for preset + Settings *PresetSettings `locationName:"settings" type:"structure"` +} + +// String returns the string representation +func (s UpdatePresetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePresetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePresetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePresetInput"} + 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.Settings != nil { + if err := s.Settings.Validate(); err != nil { + invalidParams.AddNested("Settings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCategory sets the Category field's value. +func (s *UpdatePresetInput) SetCategory(v string) *UpdatePresetInput { + s.Category = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdatePresetInput) SetDescription(v string) *UpdatePresetInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdatePresetInput) SetName(v string) *UpdatePresetInput { + s.Name = &v + return s +} + +// SetSettings sets the Settings field's value. +func (s *UpdatePresetInput) SetSettings(v *PresetSettings) *UpdatePresetInput { + s.Settings = v + return s +} + +// Successful update preset requests will return the new preset JSON. +type UpdatePresetOutput struct { + _ struct{} `type:"structure"` + + // A preset is a collection of preconfigured media conversion settings that + // you want MediaConvert to apply to the output during the conversion process. + Preset *Preset `locationName:"preset" type:"structure"` +} + +// String returns the string representation +func (s UpdatePresetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePresetOutput) GoString() string { + return s.String() +} + +// SetPreset sets the Preset field's value. +func (s *UpdatePresetOutput) SetPreset(v *Preset) *UpdatePresetOutput { + s.Preset = v + return s +} + +// Modify a queue by sending a request with the queue name and any changes to +// the queue. +type UpdateQueueInput struct { + _ struct{} `type:"structure"` + + // The new description for the queue, if you are changing it. + Description *string `locationName:"description" type:"string"` + + // The name of the queue that you are modifying. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" type:"string" required:"true"` + + // The new details of your pricing plan for your reserved queue. When you set + // up a new pricing plan to replace an expired one, you enter into another 12-month + // commitment. When you add capacity to your queue by increasing the number + // of RTS, you extend the term of your commitment to 12 months from when you + // add capacity. After you make these commitments, you can't cancel them. + ReservationPlanSettings *ReservationPlanSettings `locationName:"reservationPlanSettings" type:"structure"` + + // Pause or activate a queue by changing its status between ACTIVE and PAUSED. + // If you pause a queue, jobs in that queue won't begin. Jobs that are running + // when you pause the queue continue to run until they finish or result in an + // error. + Status *string `locationName:"status" type:"string" enum:"QueueStatus"` +} + +// String returns the string representation +func (s UpdateQueueInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateQueueInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateQueueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateQueueInput"} + 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.ReservationPlanSettings != nil { + if err := s.ReservationPlanSettings.Validate(); err != nil { + invalidParams.AddNested("ReservationPlanSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateQueueInput) SetDescription(v string) *UpdateQueueInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateQueueInput) SetName(v string) *UpdateQueueInput { + s.Name = &v + return s +} + +// SetReservationPlanSettings sets the ReservationPlanSettings field's value. +func (s *UpdateQueueInput) SetReservationPlanSettings(v *ReservationPlanSettings) *UpdateQueueInput { + s.ReservationPlanSettings = v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateQueueInput) SetStatus(v string) *UpdateQueueInput { + s.Status = &v + return s +} + +// Successful update queue requests return the new queue information in JSON +// format. +type UpdateQueueOutput struct { + _ struct{} `type:"structure"` + + // You can use queues to manage the resources that are available to your AWS + // account for running multiple transcoding jobs at the same time. If you don't + // specify a queue, the service sends all jobs through the default queue. For + // more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html. + Queue *Queue `locationName:"queue" type:"structure"` +} + +// String returns the string representation +func (s UpdateQueueOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateQueueOutput) GoString() string { + return s.String() +} + +// SetQueue sets the Queue field's value. +func (s *UpdateQueueOutput) SetQueue(v *Queue) *UpdateQueueOutput { + s.Queue = v + return s +} + +// Video codec settings, (CodecSettings) under (VideoDescription), contains +// the group of settings related to video encoding. The settings in this group +// vary depending on the value you choose for Video codec (Codec). For each +// codec enum you choose, define the corresponding settings object. The following +// lists the codec enum, settings object pairs. * H_264, H264Settings * H_265, +// H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * FRAME_CAPTURE, +// FrameCaptureSettings +type VideoCodecSettings struct { + _ struct{} `type:"structure"` + + // Specifies the video codec. This must be equal to one of the enum values defined + // by the object VideoCodec. + Codec *string `locationName:"codec" type:"string" enum:"VideoCodec"` + + // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to + // the value FRAME_CAPTURE. + FrameCaptureSettings *FrameCaptureSettings `locationName:"frameCaptureSettings" type:"structure"` + + // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to + // the value H_264. + H264Settings *H264Settings `locationName:"h264Settings" type:"structure"` + + // Settings for H265 codec + H265Settings *H265Settings `locationName:"h265Settings" type:"structure"` + + // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to + // the value MPEG2. + Mpeg2Settings *Mpeg2Settings `locationName:"mpeg2Settings" type:"structure"` + + // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to + // the value PRORES. + ProresSettings *ProresSettings `locationName:"proresSettings" type:"structure"` +} + +// String returns the string representation +func (s VideoCodecSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VideoCodecSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VideoCodecSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VideoCodecSettings"} + if s.FrameCaptureSettings != nil { + if err := s.FrameCaptureSettings.Validate(); err != nil { + invalidParams.AddNested("FrameCaptureSettings", err.(request.ErrInvalidParams)) + } + } + if s.H264Settings != nil { + if err := s.H264Settings.Validate(); err != nil { + invalidParams.AddNested("H264Settings", err.(request.ErrInvalidParams)) + } + } + if s.H265Settings != nil { + if err := s.H265Settings.Validate(); err != nil { + invalidParams.AddNested("H265Settings", err.(request.ErrInvalidParams)) + } + } + if s.Mpeg2Settings != nil { + if err := s.Mpeg2Settings.Validate(); err != nil { + invalidParams.AddNested("Mpeg2Settings", err.(request.ErrInvalidParams)) + } + } + if s.ProresSettings != nil { + if err := s.ProresSettings.Validate(); err != nil { + invalidParams.AddNested("ProresSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodec sets the Codec field's value. +func (s *VideoCodecSettings) SetCodec(v string) *VideoCodecSettings { + s.Codec = &v + return s +} + +// SetFrameCaptureSettings sets the FrameCaptureSettings field's value. +func (s *VideoCodecSettings) SetFrameCaptureSettings(v *FrameCaptureSettings) *VideoCodecSettings { + s.FrameCaptureSettings = v + return s +} + +// SetH264Settings sets the H264Settings field's value. +func (s *VideoCodecSettings) SetH264Settings(v *H264Settings) *VideoCodecSettings { + s.H264Settings = v + return s +} + +// SetH265Settings sets the H265Settings field's value. +func (s *VideoCodecSettings) SetH265Settings(v *H265Settings) *VideoCodecSettings { + s.H265Settings = v + return s +} + +// SetMpeg2Settings sets the Mpeg2Settings field's value. +func (s *VideoCodecSettings) SetMpeg2Settings(v *Mpeg2Settings) *VideoCodecSettings { + s.Mpeg2Settings = v + return s +} + +// SetProresSettings sets the ProresSettings field's value. +func (s *VideoCodecSettings) SetProresSettings(v *ProresSettings) *VideoCodecSettings { + s.ProresSettings = v + return s +} + +// Settings for video outputs +type VideoDescription struct { + _ struct{} `type:"structure"` + + // This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert + // AFD signaling (AfdSignaling) to specify whether the service includes AFD + // values in the output video data and what those values are. * Choose None + // to remove all AFD values from this output. * Choose Fixed to ignore input + // AFD values and instead encode the value specified in the job. * Choose Auto + // to calculate output AFD values based on the input AFD scaler data. + AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"` + + // You no longer need to specify the anti-alias filter. It's now automatically + // applied to all outputs. This property is deprecated. + AntiAlias *string `locationName:"antiAlias" type:"string" enum:"AntiAlias"` + + // Video codec settings, (CodecSettings) under (VideoDescription), contains + // the group of settings related to video encoding. The settings in this group + // vary depending on the value you choose for Video codec (Codec). For each + // codec enum you choose, define the corresponding settings object. The following + // lists the codec enum, settings object pairs. * H_264, H264Settings * H_265, + // H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * FRAME_CAPTURE, + // FrameCaptureSettings + CodecSettings *VideoCodecSettings `locationName:"codecSettings" type:"structure"` + + // Enable Insert color metadata (ColorMetadata) to include color metadata in + // this output. This setting is enabled by default. + ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"ColorMetadata"` + + // Applies only if your input aspect ratio is different from your output aspect + // ratio. Use Input cropping rectangle (Crop) to specify the video area the + // service will include in the output. This will crop the input source, causing + // video pixels to be removed on encode. If you crop your input frame size to + // smaller than your output frame size, make sure to specify the behavior you + // want in your output setting "Scaling behavior". + Crop *Rectangle `locationName:"crop" type:"structure"` + + // Applies only to 29.97 fps outputs. When this feature is enabled, the service + // will use drop-frame timecode on outputs. If it is not possible to use drop-frame + // timecode, the system will fall back to non-drop-frame. This setting is enabled + // by default when Timecode insertion (TimecodeInsertion) is enabled. + DropFrameTimecode *string `locationName:"dropFrameTimecode" type:"string" enum:"DropFrameTimecode"` + + // Applies only if you set AFD Signaling(AfdSignaling) to Fixed (FIXED). Use + // Fixed (FixedAfd) to specify a four-bit AFD value which the service will write + // on all frames of this video output. + FixedAfd *int64 `locationName:"fixedAfd" type:"integer"` + + // Use the Height (Height) setting to define the video resolution height for + // this output. Specify in pixels. If you don't provide a value here, the service + // will use the input height. + Height *int64 `locationName:"height" min:"32" type:"integer"` + + // Use Position (Position) to point to a rectangle object to define your position. + // This setting overrides any other aspect ratio. + Position *Rectangle `locationName:"position" type:"structure"` + + // Use Respond to AFD (RespondToAfd) to specify how the service changes the + // video itself in response to AFD values in the input. * Choose Respond to + // clip the input video frame according to the AFD value, input display aspect + // ratio, and output display aspect ratio. * Choose Passthrough to include the + // input AFD values. Do not choose this when AfdSignaling is set to (NONE). + // A preferred implementation of this workflow is to set RespondToAfd to (NONE) + // and set AfdSignaling to (AUTO). * Choose None to remove all input AFD values + // from this output. + RespondToAfd *string `locationName:"respondToAfd" type:"string" enum:"RespondToAfd"` + + // Applies only if your input aspect ratio is different from your output aspect + // ratio. Choose "Stretch to output" to have the service stretch your video + // image to fit. Keep the setting "Default" to allow the service to letterbox + // your video instead. This setting overrides any positioning value you specify + // elsewhere in the job. + ScalingBehavior *string `locationName:"scalingBehavior" type:"string" enum:"ScalingBehavior"` + + // Use Sharpness (Sharpness) setting to specify the strength of anti-aliasing. + // This setting changes the width of the anti-alias filter kernel used for scaling. + // Sharpness only applies if your output resolution is different from your input + // resolution. 0 is the softest setting, 100 the sharpest, and 50 recommended + // for most content. + Sharpness *int64 `locationName:"sharpness" type:"integer"` + + // Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode + // insertion when the input frame rate is identical to the output frame rate. + // To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion) + // to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED. + // When the service inserts timecodes in an output, by default, it uses any + // embedded timecodes from the input. If none are present, the service will + // set the timecode for the first output frame to zero. To change this default + // behavior, adjust the settings under Timecode configuration (TimecodeConfig). + // In the console, these settings are located under Job > Job settings > Timecode + // configuration. Note - Timecode source under input settings (InputTimecodeSource) + // does not affect the timecodes that are inserted in the output. Source under + // Job settings > Timecode configuration (TimecodeSource) does. + TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"VideoTimecodeInsertion"` + + // Find additional transcoding features under Preprocessors (VideoPreprocessors). + // Enable the features at each output individually. These features are disabled + // by default. + VideoPreprocessors *VideoPreprocessor `locationName:"videoPreprocessors" type:"structure"` + + // Use Width (Width) to define the video resolution width, in pixels, for this + // output. If you don't provide a value here, the service will use the input + // width. + Width *int64 `locationName:"width" min:"32" type:"integer"` +} + +// String returns the string representation +func (s VideoDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VideoDescription) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VideoDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VideoDescription"} + if s.Height != nil && *s.Height < 32 { + invalidParams.Add(request.NewErrParamMinValue("Height", 32)) + } + if s.Width != nil && *s.Width < 32 { + invalidParams.Add(request.NewErrParamMinValue("Width", 32)) + } + if s.CodecSettings != nil { + if err := s.CodecSettings.Validate(); err != nil { + invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams)) + } + } + if s.Crop != nil { + if err := s.Crop.Validate(); err != nil { + invalidParams.AddNested("Crop", err.(request.ErrInvalidParams)) + } + } + if s.Position != nil { + if err := s.Position.Validate(); err != nil { + invalidParams.AddNested("Position", err.(request.ErrInvalidParams)) + } + } + if s.VideoPreprocessors != nil { + if err := s.VideoPreprocessors.Validate(); err != nil { + invalidParams.AddNested("VideoPreprocessors", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAfdSignaling sets the AfdSignaling field's value. +func (s *VideoDescription) SetAfdSignaling(v string) *VideoDescription { + s.AfdSignaling = &v + return s +} + +// SetAntiAlias sets the AntiAlias field's value. +func (s *VideoDescription) SetAntiAlias(v string) *VideoDescription { + s.AntiAlias = &v + return s +} + +// SetCodecSettings sets the CodecSettings field's value. +func (s *VideoDescription) SetCodecSettings(v *VideoCodecSettings) *VideoDescription { + s.CodecSettings = v + return s +} + +// SetColorMetadata sets the ColorMetadata field's value. +func (s *VideoDescription) SetColorMetadata(v string) *VideoDescription { + s.ColorMetadata = &v + return s +} + +// SetCrop sets the Crop field's value. +func (s *VideoDescription) SetCrop(v *Rectangle) *VideoDescription { + s.Crop = v + return s +} + +// SetDropFrameTimecode sets the DropFrameTimecode field's value. +func (s *VideoDescription) SetDropFrameTimecode(v string) *VideoDescription { + s.DropFrameTimecode = &v + return s +} + +// SetFixedAfd sets the FixedAfd field's value. +func (s *VideoDescription) SetFixedAfd(v int64) *VideoDescription { + s.FixedAfd = &v + return s +} + +// SetHeight sets the Height field's value. +func (s *VideoDescription) SetHeight(v int64) *VideoDescription { + s.Height = &v + return s +} + +// SetPosition sets the Position field's value. +func (s *VideoDescription) SetPosition(v *Rectangle) *VideoDescription { + s.Position = v + return s +} + +// SetRespondToAfd sets the RespondToAfd field's value. +func (s *VideoDescription) SetRespondToAfd(v string) *VideoDescription { + s.RespondToAfd = &v + return s +} + +// SetScalingBehavior sets the ScalingBehavior field's value. +func (s *VideoDescription) SetScalingBehavior(v string) *VideoDescription { + s.ScalingBehavior = &v + return s +} + +// SetSharpness sets the Sharpness field's value. +func (s *VideoDescription) SetSharpness(v int64) *VideoDescription { + s.Sharpness = &v + return s +} + +// SetTimecodeInsertion sets the TimecodeInsertion field's value. +func (s *VideoDescription) SetTimecodeInsertion(v string) *VideoDescription { + s.TimecodeInsertion = &v + return s +} + +// SetVideoPreprocessors sets the VideoPreprocessors field's value. +func (s *VideoDescription) SetVideoPreprocessors(v *VideoPreprocessor) *VideoDescription { + s.VideoPreprocessors = v + return s +} + +// SetWidth sets the Width field's value. +func (s *VideoDescription) SetWidth(v int64) *VideoDescription { + s.Width = &v + return s +} + +// Contains details about the output's video stream +type VideoDetail struct { + _ struct{} `type:"structure"` + + // Height in pixels for the output + HeightInPx *int64 `locationName:"heightInPx" type:"integer"` + + // Width in pixels for the output + WidthInPx *int64 `locationName:"widthInPx" type:"integer"` +} + +// String returns the string representation +func (s VideoDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VideoDetail) GoString() string { + return s.String() +} + +// SetHeightInPx sets the HeightInPx field's value. +func (s *VideoDetail) SetHeightInPx(v int64) *VideoDetail { + s.HeightInPx = &v + return s +} + +// SetWidthInPx sets the WidthInPx field's value. +func (s *VideoDetail) SetWidthInPx(v int64) *VideoDetail { + s.WidthInPx = &v + return s +} + +// Find additional transcoding features under Preprocessors (VideoPreprocessors). +// Enable the features at each output individually. These features are disabled +// by default. +type VideoPreprocessor struct { + _ struct{} `type:"structure"` + + // Enable the Color corrector (ColorCorrector) feature if necessary. Enable + // or disable this feature for each output individually. This setting is disabled + // by default. + ColorCorrector *ColorCorrector `locationName:"colorCorrector" type:"structure"` + + // Use Deinterlacer (Deinterlacer) to produce smoother motion and a clearer + // picture. + Deinterlacer *Deinterlacer `locationName:"deinterlacer" type:"structure"` + + // Enable the Image inserter (ImageInserter) feature to include a graphic overlay + // on your video. Enable or disable this feature for each output individually. + // This setting is disabled by default. + ImageInserter *ImageInserter `locationName:"imageInserter" type:"structure"` + + // Enable the Noise reducer (NoiseReducer) feature to remove noise from your + // video output if necessary. Enable or disable this feature for each output + // individually. This setting is disabled by default. + NoiseReducer *NoiseReducer `locationName:"noiseReducer" type:"structure"` + + // Timecode burn-in (TimecodeBurnIn)--Burns the output timecode and specified + // prefix into the output. + TimecodeBurnin *TimecodeBurnin `locationName:"timecodeBurnin" type:"structure"` +} + +// String returns the string representation +func (s VideoPreprocessor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VideoPreprocessor) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VideoPreprocessor) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VideoPreprocessor"} + if s.ColorCorrector != nil { + if err := s.ColorCorrector.Validate(); err != nil { + invalidParams.AddNested("ColorCorrector", err.(request.ErrInvalidParams)) + } + } + if s.ImageInserter != nil { + if err := s.ImageInserter.Validate(); err != nil { + invalidParams.AddNested("ImageInserter", err.(request.ErrInvalidParams)) + } + } + if s.NoiseReducer != nil { + if err := s.NoiseReducer.Validate(); err != nil { + invalidParams.AddNested("NoiseReducer", err.(request.ErrInvalidParams)) + } + } + if s.TimecodeBurnin != nil { + if err := s.TimecodeBurnin.Validate(); err != nil { + invalidParams.AddNested("TimecodeBurnin", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColorCorrector sets the ColorCorrector field's value. +func (s *VideoPreprocessor) SetColorCorrector(v *ColorCorrector) *VideoPreprocessor { + s.ColorCorrector = v + return s +} + +// SetDeinterlacer sets the Deinterlacer field's value. +func (s *VideoPreprocessor) SetDeinterlacer(v *Deinterlacer) *VideoPreprocessor { + s.Deinterlacer = v + return s +} + +// SetImageInserter sets the ImageInserter field's value. +func (s *VideoPreprocessor) SetImageInserter(v *ImageInserter) *VideoPreprocessor { + s.ImageInserter = v + return s +} + +// SetNoiseReducer sets the NoiseReducer field's value. +func (s *VideoPreprocessor) SetNoiseReducer(v *NoiseReducer) *VideoPreprocessor { + s.NoiseReducer = v + return s +} + +// SetTimecodeBurnin sets the TimecodeBurnin field's value. +func (s *VideoPreprocessor) SetTimecodeBurnin(v *TimecodeBurnin) *VideoPreprocessor { + s.TimecodeBurnin = v + return s +} + +// Selector for video. +type VideoSelector struct { + _ struct{} `type:"structure"` + + // If your input video has accurate color space metadata, or if you don't know + // about color space, leave this set to the default value FOLLOW. The service + // will automatically detect your input color space. If your input video has + // metadata indicating the wrong color space, or if your input video is missing + // color space metadata that should be there, specify the accurate color space + // here. If you choose HDR10, you can also correct inaccurate color space coefficients, + // using the HDR master display information controls. You must also set Color + // space usage (ColorSpaceUsage) to FORCE for the service to use these values. + ColorSpace *string `locationName:"colorSpace" type:"string" enum:"ColorSpace"` + + // There are two sources for color metadata, the input file and the job configuration + // (in the Color space and HDR master display informaiton settings). The Color + // space usage setting controls which takes precedence. FORCE: The system will + // use color metadata supplied by user, if any. If the user does not supply + // color metadata, the system will use data from the source. FALLBACK: The system + // will use color metadata from the source. If source has no color metadata, + // the system will use user-supplied color metadata values if available. + ColorSpaceUsage *string `locationName:"colorSpaceUsage" type:"string" enum:"ColorSpaceUsage"` + + // Use the "HDR master display information" (Hdr10Metadata) settings to correct + // HDR metadata or to provide missing metadata. These values vary depending + // on the input video and must be provided by a color grader. Range is 0 to + // 50,000; each increment represents 0.00002 in CIE1931 color coordinate. Note + // that these settings are not color correction. Note that if you are creating + // HDR outputs inside of an HLS CMAF package, to comply with the Apple specification, + // you must use the following settings. Set "MP4 packaging type" (writeMp4PackagingType) + // to HVC1 (HVC1). Set "Profile" (H265Settings > codecProfile) to Main10/High + // (MAIN10_HIGH). Set "Level" (H265Settings > codecLevel) to 5 (LEVEL_5). + Hdr10Metadata *Hdr10Metadata `locationName:"hdr10Metadata" type:"structure"` + + // Use PID (Pid) to select specific video data from an input file. Specify this + // value as an integer; the system automatically converts it to the hexidecimal + // value. For example, 257 selects PID 0x101. A PID, or packet identifier, is + // an identifier for a set of data in an MPEG-2 transport stream container. + Pid *int64 `locationName:"pid" min:"1" type:"integer"` + + // Selects a specific program from within a multi-program transport stream. + // Note that Quad 4K is not currently supported. + ProgramNumber *int64 `locationName:"programNumber" type:"integer"` + + // Use Rotate (InputRotate) to specify how the service rotates your video. You + // can choose automatic rotation or specify a rotation. You can specify a clockwise + // rotation of 0, 90, 180, or 270 degrees. If your input video container is + // .mov or .mp4 and your input has rotation metadata, you can choose Automatic + // to have the service rotate your video according to the rotation specified + // in the metadata. The rotation must be within one degree of 90, 180, or 270 + // degrees. If the rotation metadata specifies any other rotation, the service + // will default to no rotation. By default, the service does no rotation, even + // if your input video has rotation metadata. The service doesn't pass through + // rotation metadata. + Rotate *string `locationName:"rotate" type:"string" enum:"InputRotate"` +} + +// String returns the string representation +func (s VideoSelector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VideoSelector) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VideoSelector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VideoSelector"} + if s.Pid != nil && *s.Pid < 1 { + invalidParams.Add(request.NewErrParamMinValue("Pid", 1)) + } + if s.ProgramNumber != nil && *s.ProgramNumber < -2.147483648e+09 { + invalidParams.Add(request.NewErrParamMinValue("ProgramNumber", -2.147483648e+09)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColorSpace sets the ColorSpace field's value. +func (s *VideoSelector) SetColorSpace(v string) *VideoSelector { + s.ColorSpace = &v + return s +} + +// SetColorSpaceUsage sets the ColorSpaceUsage field's value. +func (s *VideoSelector) SetColorSpaceUsage(v string) *VideoSelector { + s.ColorSpaceUsage = &v + return s +} + +// SetHdr10Metadata sets the Hdr10Metadata field's value. +func (s *VideoSelector) SetHdr10Metadata(v *Hdr10Metadata) *VideoSelector { + s.Hdr10Metadata = v + return s +} + +// SetPid sets the Pid field's value. +func (s *VideoSelector) SetPid(v int64) *VideoSelector { + s.Pid = &v + return s +} + +// SetProgramNumber sets the ProgramNumber field's value. +func (s *VideoSelector) SetProgramNumber(v int64) *VideoSelector { + s.ProgramNumber = &v + return s +} + +// SetRotate sets the Rotate field's value. +func (s *VideoSelector) SetRotate(v string) *VideoSelector { + s.Rotate = &v + return s +} + +// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to +// the value WAV. +type WavSettings struct { + _ struct{} `type:"structure"` + + // Specify Bit depth (BitDepth), in bits per sample, to choose the encoding + // quality for this audio track. + BitDepth *int64 `locationName:"bitDepth" min:"16" type:"integer"` + + // Set Channels to specify the number of channels in this output audio track. + // With WAV, valid values 1, 2, 4, and 8. In the console, these values are Mono, + // Stereo, 4-Channel, and 8-Channel, respectively. + Channels *int64 `locationName:"channels" min:"1" type:"integer"` + + // The service defaults to using RIFF for WAV outputs. If your output audio + // is likely to exceed 4 GB in file size, or if you otherwise need the extended + // support of the RF64 format, set your output WAV file format to RF64. + Format *string `locationName:"format" type:"string" enum:"WavFormat"` + + // Sample rate in Hz. + SampleRate *int64 `locationName:"sampleRate" min:"8000" type:"integer"` +} + +// String returns the string representation +func (s WavSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WavSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WavSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WavSettings"} + if s.BitDepth != nil && *s.BitDepth < 16 { + invalidParams.Add(request.NewErrParamMinValue("BitDepth", 16)) + } + if s.Channels != nil && *s.Channels < 1 { + invalidParams.Add(request.NewErrParamMinValue("Channels", 1)) + } + if s.SampleRate != nil && *s.SampleRate < 8000 { + invalidParams.Add(request.NewErrParamMinValue("SampleRate", 8000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitDepth sets the BitDepth field's value. +func (s *WavSettings) SetBitDepth(v int64) *WavSettings { + s.BitDepth = &v + return s +} + +// SetChannels sets the Channels field's value. +func (s *WavSettings) SetChannels(v int64) *WavSettings { + s.Channels = &v + return s +} + +// SetFormat sets the Format field's value. +func (s *WavSettings) SetFormat(v string) *WavSettings { + s.Format = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *WavSettings) SetSampleRate(v int64) *WavSettings { + s.SampleRate = &v + return s +} + +// Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio +// + audio description (AD) as a stereo pair. The value for AudioType will be +// set to 3, which signals to downstream systems that this stream contains "broadcaster +// mixed AD". Note that the input received by the encoder must contain pre-mixed +// audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD, +// the encoder ignores any values you provide in AudioType and FollowInputAudioType. +// Choose NORMAL when the input does not contain pre-mixed audio + audio description +// (AD). In this case, the encoder will use any values you provide for AudioType +// and FollowInputAudioType. +const ( + // AacAudioDescriptionBroadcasterMixBroadcasterMixedAd is a AacAudioDescriptionBroadcasterMix enum value + AacAudioDescriptionBroadcasterMixBroadcasterMixedAd = "BROADCASTER_MIXED_AD" + + // AacAudioDescriptionBroadcasterMixNormal is a AacAudioDescriptionBroadcasterMix enum value + AacAudioDescriptionBroadcasterMixNormal = "NORMAL" +) + +// AAC Profile. +const ( + // AacCodecProfileLc is a AacCodecProfile enum value + AacCodecProfileLc = "LC" + + // AacCodecProfileHev1 is a AacCodecProfile enum value + AacCodecProfileHev1 = "HEV1" + + // AacCodecProfileHev2 is a AacCodecProfile enum value + AacCodecProfileHev2 = "HEV2" +) + +// Mono (Audio Description), Mono, Stereo, or 5.1 channel layout. Valid values +// depend on rate control mode and profile. "1.0 - Audio Description (Receiver +// Mix)" setting receives a stereo description plus control track and emits +// a mono AAC encode of the description track, with control data emitted in +// the PES header as per ETSI TS 101 154 Annex E. +const ( + // AacCodingModeAdReceiverMix is a AacCodingMode enum value + AacCodingModeAdReceiverMix = "AD_RECEIVER_MIX" + + // AacCodingModeCodingMode10 is a AacCodingMode enum value + AacCodingModeCodingMode10 = "CODING_MODE_1_0" + + // AacCodingModeCodingMode11 is a AacCodingMode enum value + AacCodingModeCodingMode11 = "CODING_MODE_1_1" + + // AacCodingModeCodingMode20 is a AacCodingMode enum value + AacCodingModeCodingMode20 = "CODING_MODE_2_0" + + // AacCodingModeCodingMode51 is a AacCodingMode enum value + AacCodingModeCodingMode51 = "CODING_MODE_5_1" +) + +// Rate Control Mode. +const ( + // AacRateControlModeCbr is a AacRateControlMode enum value + AacRateControlModeCbr = "CBR" + + // AacRateControlModeVbr is a AacRateControlMode enum value + AacRateControlModeVbr = "VBR" +) + +// Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, +// you must choose "No container" for the output container. +const ( + // AacRawFormatLatmLoas is a AacRawFormat enum value + AacRawFormatLatmLoas = "LATM_LOAS" + + // AacRawFormatNone is a AacRawFormat enum value + AacRawFormatNone = "NONE" +) + +// Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream +// containers. +const ( + // AacSpecificationMpeg2 is a AacSpecification enum value + AacSpecificationMpeg2 = "MPEG2" + + // AacSpecificationMpeg4 is a AacSpecification enum value + AacSpecificationMpeg4 = "MPEG4" +) + +// VBR Quality Level - Only used if rate_control_mode is VBR. +const ( + // AacVbrQualityLow is a AacVbrQuality enum value + AacVbrQualityLow = "LOW" + + // AacVbrQualityMediumLow is a AacVbrQuality enum value + AacVbrQualityMediumLow = "MEDIUM_LOW" + + // AacVbrQualityMediumHigh is a AacVbrQuality enum value + AacVbrQualityMediumHigh = "MEDIUM_HIGH" + + // AacVbrQualityHigh is a AacVbrQuality enum value + AacVbrQualityHigh = "HIGH" +) + +// Specifies the "Bitstream Mode" (bsmod) for the emitted AC-3 stream. See ATSC +// A/52-2012 for background on these values. +const ( + // Ac3BitstreamModeCompleteMain is a Ac3BitstreamMode enum value + Ac3BitstreamModeCompleteMain = "COMPLETE_MAIN" + + // Ac3BitstreamModeCommentary is a Ac3BitstreamMode enum value + Ac3BitstreamModeCommentary = "COMMENTARY" + + // Ac3BitstreamModeDialogue is a Ac3BitstreamMode enum value + Ac3BitstreamModeDialogue = "DIALOGUE" + + // Ac3BitstreamModeEmergency is a Ac3BitstreamMode enum value + Ac3BitstreamModeEmergency = "EMERGENCY" + + // Ac3BitstreamModeHearingImpaired is a Ac3BitstreamMode enum value + Ac3BitstreamModeHearingImpaired = "HEARING_IMPAIRED" + + // Ac3BitstreamModeMusicAndEffects is a Ac3BitstreamMode enum value + Ac3BitstreamModeMusicAndEffects = "MUSIC_AND_EFFECTS" + + // Ac3BitstreamModeVisuallyImpaired is a Ac3BitstreamMode enum value + Ac3BitstreamModeVisuallyImpaired = "VISUALLY_IMPAIRED" + + // Ac3BitstreamModeVoiceOver is a Ac3BitstreamMode enum value + Ac3BitstreamModeVoiceOver = "VOICE_OVER" +) + +// Dolby Digital coding mode. Determines number of channels. +const ( + // Ac3CodingModeCodingMode10 is a Ac3CodingMode enum value + Ac3CodingModeCodingMode10 = "CODING_MODE_1_0" + + // Ac3CodingModeCodingMode11 is a Ac3CodingMode enum value + Ac3CodingModeCodingMode11 = "CODING_MODE_1_1" + + // Ac3CodingModeCodingMode20 is a Ac3CodingMode enum value + Ac3CodingModeCodingMode20 = "CODING_MODE_2_0" + + // Ac3CodingModeCodingMode32Lfe is a Ac3CodingMode enum value + Ac3CodingModeCodingMode32Lfe = "CODING_MODE_3_2_LFE" +) + +// If set to FILM_STANDARD, adds dynamic range compression signaling to the +// output bitstream as defined in the Dolby Digital specification. +const ( + // Ac3DynamicRangeCompressionProfileFilmStandard is a Ac3DynamicRangeCompressionProfile enum value + Ac3DynamicRangeCompressionProfileFilmStandard = "FILM_STANDARD" + + // Ac3DynamicRangeCompressionProfileNone is a Ac3DynamicRangeCompressionProfile enum value + Ac3DynamicRangeCompressionProfileNone = "NONE" +) + +// Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only +// valid with 3_2_LFE coding mode. +const ( + // Ac3LfeFilterEnabled is a Ac3LfeFilter enum value + Ac3LfeFilterEnabled = "ENABLED" + + // Ac3LfeFilterDisabled is a Ac3LfeFilter enum value + Ac3LfeFilterDisabled = "DISABLED" +) + +// When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, +// or DolbyE decoder that supplied this audio data. If audio was not supplied +// from one of these streams, then the static metadata settings will be used. +const ( + // Ac3MetadataControlFollowInput is a Ac3MetadataControl enum value + Ac3MetadataControlFollowInput = "FOLLOW_INPUT" + + // Ac3MetadataControlUseConfigured is a Ac3MetadataControl enum value + Ac3MetadataControlUseConfigured = "USE_CONFIGURED" +) + +// Acceleration configuration for the job. +const ( + // AccelerationModeDisabled is a AccelerationMode enum value + AccelerationModeDisabled = "DISABLED" + + // AccelerationModeEnabled is a AccelerationMode enum value + AccelerationModeEnabled = "ENABLED" +) + +// This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert +// AFD signaling (AfdSignaling) to specify whether the service includes AFD +// values in the output video data and what those values are. * Choose None +// to remove all AFD values from this output. * Choose Fixed to ignore input +// AFD values and instead encode the value specified in the job. * Choose Auto +// to calculate output AFD values based on the input AFD scaler data. +const ( + // AfdSignalingNone is a AfdSignaling enum value + AfdSignalingNone = "NONE" + + // AfdSignalingAuto is a AfdSignaling enum value + AfdSignalingAuto = "AUTO" + + // AfdSignalingFixed is a AfdSignaling enum value + AfdSignalingFixed = "FIXED" +) + +// You no longer need to specify the anti-alias filter. It's now automatically +// applied to all outputs. This property is deprecated. +const ( + // AntiAliasDisabled is a AntiAlias enum value + AntiAliasDisabled = "DISABLED" + + // AntiAliasEnabled is a AntiAlias enum value + AntiAliasEnabled = "ENABLED" +) + +// Type of Audio codec. +const ( + // AudioCodecAac is a AudioCodec enum value + AudioCodecAac = "AAC" + + // AudioCodecMp2 is a AudioCodec enum value + AudioCodecMp2 = "MP2" + + // AudioCodecWav is a AudioCodec enum value + AudioCodecWav = "WAV" + + // AudioCodecAiff is a AudioCodec enum value + AudioCodecAiff = "AIFF" + + // AudioCodecAc3 is a AudioCodec enum value + AudioCodecAc3 = "AC3" + + // AudioCodecEac3 is a AudioCodec enum value + AudioCodecEac3 = "EAC3" + + // AudioCodecPassthrough is a AudioCodec enum value + AudioCodecPassthrough = "PASSTHROUGH" +) + +// Enable this setting on one audio selector to set it as the default for the +// job. The service uses this default for outputs where it can't find the specified +// input audio. If you don't set a default, those outputs have no audio. +const ( + // AudioDefaultSelectionDefault is a AudioDefaultSelection enum value + AudioDefaultSelectionDefault = "DEFAULT" + + // AudioDefaultSelectionNotDefault is a AudioDefaultSelection enum value + AudioDefaultSelectionNotDefault = "NOT_DEFAULT" +) + +// Choosing FOLLOW_INPUT will cause the ISO 639 language code of the output +// to follow the ISO 639 language code of the input. The language specified +// for languageCode' will be used when USE_CONFIGURED is selected or when FOLLOW_INPUT +// is selected but there is no ISO 639 language code specified by the input. +const ( + // AudioLanguageCodeControlFollowInput is a AudioLanguageCodeControl enum value + AudioLanguageCodeControlFollowInput = "FOLLOW_INPUT" + + // AudioLanguageCodeControlUseConfigured is a AudioLanguageCodeControl enum value + AudioLanguageCodeControlUseConfigured = "USE_CONFIGURED" +) + +// Audio normalization algorithm to use. 1770-1 conforms to the CALM Act specification, +// 1770-2 conforms to the EBU R-128 specification. +const ( + // AudioNormalizationAlgorithmItuBs17701 is a AudioNormalizationAlgorithm enum value + AudioNormalizationAlgorithmItuBs17701 = "ITU_BS_1770_1" + + // AudioNormalizationAlgorithmItuBs17702 is a AudioNormalizationAlgorithm enum value + AudioNormalizationAlgorithmItuBs17702 = "ITU_BS_1770_2" +) + +// When enabled the output audio is corrected using the chosen algorithm. If +// disabled, the audio will be measured but not adjusted. +const ( + // AudioNormalizationAlgorithmControlCorrectAudio is a AudioNormalizationAlgorithmControl enum value + AudioNormalizationAlgorithmControlCorrectAudio = "CORRECT_AUDIO" + + // AudioNormalizationAlgorithmControlMeasureOnly is a AudioNormalizationAlgorithmControl enum value + AudioNormalizationAlgorithmControlMeasureOnly = "MEASURE_ONLY" +) + +// If set to LOG, log each output's audio track loudness to a CSV file. +const ( + // AudioNormalizationLoudnessLoggingLog is a AudioNormalizationLoudnessLogging enum value + AudioNormalizationLoudnessLoggingLog = "LOG" + + // AudioNormalizationLoudnessLoggingDontLog is a AudioNormalizationLoudnessLogging enum value + AudioNormalizationLoudnessLoggingDontLog = "DONT_LOG" +) + +// If set to TRUE_PEAK, calculate and log the TruePeak for each output's audio +// track loudness. +const ( + // AudioNormalizationPeakCalculationTruePeak is a AudioNormalizationPeakCalculation enum value + AudioNormalizationPeakCalculationTruePeak = "TRUE_PEAK" + + // AudioNormalizationPeakCalculationNone is a AudioNormalizationPeakCalculation enum value + AudioNormalizationPeakCalculationNone = "NONE" +) + +// Specifies the type of the audio selector. +const ( + // AudioSelectorTypePid is a AudioSelectorType enum value + AudioSelectorTypePid = "PID" + + // AudioSelectorTypeTrack is a AudioSelectorType enum value + AudioSelectorTypeTrack = "TRACK" + + // AudioSelectorTypeLanguageCode is a AudioSelectorType enum value + AudioSelectorTypeLanguageCode = "LANGUAGE_CODE" +) + +// When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then +// that value is passed through to the output. If the input contains no ISO +// 639 audio_type, the value in Audio Type is included in the output. Otherwise +// the value in Audio Type is included in the output. Note that this field and +// audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD. +const ( + // AudioTypeControlFollowInput is a AudioTypeControl enum value + AudioTypeControlFollowInput = "FOLLOW_INPUT" + + // AudioTypeControlUseConfigured is a AudioTypeControl enum value + AudioTypeControlUseConfigured = "USE_CONFIGURED" +) + +// Optional. Choose a tag type that AWS Billing and Cost Management will use +// to sort your AWS Elemental MediaConvert costs on any billing report that +// you set up. Any transcoding outputs that don't have an associated tag will +// appear in your billing report unsorted. If you don't choose a valid value +// for this field, your job outputs will appear on the billing report unsorted. +const ( + // BillingTagsSourceQueue is a BillingTagsSource enum value + BillingTagsSourceQueue = "QUEUE" + + // BillingTagsSourcePreset is a BillingTagsSource enum value + BillingTagsSourcePreset = "PRESET" + + // BillingTagsSourceJobTemplate is a BillingTagsSource enum value + BillingTagsSourceJobTemplate = "JOB_TEMPLATE" +) + +// If no explicit x_position or y_position is provided, setting alignment to +// centered will place the captions at the bottom center of the output. Similarly, +// setting a left alignment will align captions to the bottom left of the output. +// If x and y positions are given in conjunction with the alignment parameter, +// the font will be justified (either left or centered) relative to those coordinates. +// This option is not valid for source captions that are STL, 608/embedded or +// teletext. These source settings are already pre-defined by the caption stream. +// All burn-in and DVB-Sub font settings must match. +const ( + // BurninSubtitleAlignmentCentered is a BurninSubtitleAlignment enum value + BurninSubtitleAlignmentCentered = "CENTERED" + + // BurninSubtitleAlignmentLeft is a BurninSubtitleAlignment enum value + BurninSubtitleAlignmentLeft = "LEFT" +) + +// Specifies the color of the rectangle behind the captions.All burn-in and +// DVB-Sub font settings must match. +const ( + // BurninSubtitleBackgroundColorNone is a BurninSubtitleBackgroundColor enum value + BurninSubtitleBackgroundColorNone = "NONE" + + // BurninSubtitleBackgroundColorBlack is a BurninSubtitleBackgroundColor enum value + BurninSubtitleBackgroundColorBlack = "BLACK" + + // BurninSubtitleBackgroundColorWhite is a BurninSubtitleBackgroundColor enum value + BurninSubtitleBackgroundColorWhite = "WHITE" +) + +// Specifies the color of the burned-in captions. This option is not valid for +// source captions that are STL, 608/embedded or teletext. These source settings +// are already pre-defined by the caption stream. All burn-in and DVB-Sub font +// settings must match. +const ( + // BurninSubtitleFontColorWhite is a BurninSubtitleFontColor enum value + BurninSubtitleFontColorWhite = "WHITE" + + // BurninSubtitleFontColorBlack is a BurninSubtitleFontColor enum value + BurninSubtitleFontColorBlack = "BLACK" + + // BurninSubtitleFontColorYellow is a BurninSubtitleFontColor enum value + BurninSubtitleFontColorYellow = "YELLOW" + + // BurninSubtitleFontColorRed is a BurninSubtitleFontColor enum value + BurninSubtitleFontColorRed = "RED" + + // BurninSubtitleFontColorGreen is a BurninSubtitleFontColor enum value + BurninSubtitleFontColorGreen = "GREEN" + + // BurninSubtitleFontColorBlue is a BurninSubtitleFontColor enum value + BurninSubtitleFontColorBlue = "BLUE" +) + +// Specifies font outline color. This option is not valid for source captions +// that are either 608/embedded or teletext. These source settings are already +// pre-defined by the caption stream. All burn-in and DVB-Sub font settings +// must match. +const ( + // BurninSubtitleOutlineColorBlack is a BurninSubtitleOutlineColor enum value + BurninSubtitleOutlineColorBlack = "BLACK" + + // BurninSubtitleOutlineColorWhite is a BurninSubtitleOutlineColor enum value + BurninSubtitleOutlineColorWhite = "WHITE" + + // BurninSubtitleOutlineColorYellow is a BurninSubtitleOutlineColor enum value + BurninSubtitleOutlineColorYellow = "YELLOW" + + // BurninSubtitleOutlineColorRed is a BurninSubtitleOutlineColor enum value + BurninSubtitleOutlineColorRed = "RED" + + // BurninSubtitleOutlineColorGreen is a BurninSubtitleOutlineColor enum value + BurninSubtitleOutlineColorGreen = "GREEN" + + // BurninSubtitleOutlineColorBlue is a BurninSubtitleOutlineColor enum value + BurninSubtitleOutlineColorBlue = "BLUE" +) + +// Specifies the color of the shadow cast by the captions.All burn-in and DVB-Sub +// font settings must match. +const ( + // BurninSubtitleShadowColorNone is a BurninSubtitleShadowColor enum value + BurninSubtitleShadowColorNone = "NONE" + + // BurninSubtitleShadowColorBlack is a BurninSubtitleShadowColor enum value + BurninSubtitleShadowColorBlack = "BLACK" + + // BurninSubtitleShadowColorWhite is a BurninSubtitleShadowColor enum value + BurninSubtitleShadowColorWhite = "WHITE" +) + +// Only applies to jobs with input captions in Teletext or STL formats. Specify +// whether the spacing between letters in your captions is set by the captions +// grid or varies depending on letter width. Choose fixed grid to conform to +// the spacing specified in the captions file more accurately. Choose proportional +// to make the text easier to read if the captions are closed caption. +const ( + // BurninSubtitleTeletextSpacingFixedGrid is a BurninSubtitleTeletextSpacing enum value + BurninSubtitleTeletextSpacingFixedGrid = "FIXED_GRID" + + // BurninSubtitleTeletextSpacingProportional is a BurninSubtitleTeletextSpacing enum value + BurninSubtitleTeletextSpacingProportional = "PROPORTIONAL" +) + +// Specify the format for this set of captions on this output. The default format +// is embedded without SCTE-20. Other options are embedded with SCTE-20, burn-in, +// DVB-sub, SCC, SRT, teletext, TTML, and web-VTT. If you are using SCTE-20, +// choose SCTE-20 plus embedded (SCTE20_PLUS_EMBEDDED) to create an output that +// complies with the SCTE-43 spec. To create a non-compliant output where the +// embedded captions come first, choose Embedded plus SCTE-20 (EMBEDDED_PLUS_SCTE20). +const ( + // CaptionDestinationTypeBurnIn is a CaptionDestinationType enum value + CaptionDestinationTypeBurnIn = "BURN_IN" + + // CaptionDestinationTypeDvbSub is a CaptionDestinationType enum value + CaptionDestinationTypeDvbSub = "DVB_SUB" + + // CaptionDestinationTypeEmbedded is a CaptionDestinationType enum value + CaptionDestinationTypeEmbedded = "EMBEDDED" + + // CaptionDestinationTypeEmbeddedPlusScte20 is a CaptionDestinationType enum value + CaptionDestinationTypeEmbeddedPlusScte20 = "EMBEDDED_PLUS_SCTE20" + + // CaptionDestinationTypeScte20PlusEmbedded is a CaptionDestinationType enum value + CaptionDestinationTypeScte20PlusEmbedded = "SCTE20_PLUS_EMBEDDED" + + // CaptionDestinationTypeScc is a CaptionDestinationType enum value + CaptionDestinationTypeScc = "SCC" + + // CaptionDestinationTypeSrt is a CaptionDestinationType enum value + CaptionDestinationTypeSrt = "SRT" + + // CaptionDestinationTypeSmi is a CaptionDestinationType enum value + CaptionDestinationTypeSmi = "SMI" + + // CaptionDestinationTypeTeletext is a CaptionDestinationType enum value + CaptionDestinationTypeTeletext = "TELETEXT" + + // CaptionDestinationTypeTtml is a CaptionDestinationType enum value + CaptionDestinationTypeTtml = "TTML" + + // CaptionDestinationTypeWebvtt is a CaptionDestinationType enum value + CaptionDestinationTypeWebvtt = "WEBVTT" +) + +// Use Source (SourceType) to identify the format of your input captions. The +// service cannot auto-detect caption format. +const ( + // CaptionSourceTypeAncillary is a CaptionSourceType enum value + CaptionSourceTypeAncillary = "ANCILLARY" + + // CaptionSourceTypeDvbSub is a CaptionSourceType enum value + CaptionSourceTypeDvbSub = "DVB_SUB" + + // CaptionSourceTypeEmbedded is a CaptionSourceType enum value + CaptionSourceTypeEmbedded = "EMBEDDED" + + // CaptionSourceTypeScte20 is a CaptionSourceType enum value + CaptionSourceTypeScte20 = "SCTE20" + + // CaptionSourceTypeScc is a CaptionSourceType enum value + CaptionSourceTypeScc = "SCC" + + // CaptionSourceTypeTtml is a CaptionSourceType enum value + CaptionSourceTypeTtml = "TTML" + + // CaptionSourceTypeStl is a CaptionSourceType enum value + CaptionSourceTypeStl = "STL" + + // CaptionSourceTypeSrt is a CaptionSourceType enum value + CaptionSourceTypeSrt = "SRT" + + // CaptionSourceTypeSmi is a CaptionSourceType enum value + CaptionSourceTypeSmi = "SMI" + + // CaptionSourceTypeTeletext is a CaptionSourceType enum value + CaptionSourceTypeTeletext = "TELETEXT" + + // CaptionSourceTypeNullSource is a CaptionSourceType enum value + CaptionSourceTypeNullSource = "NULL_SOURCE" + + // CaptionSourceTypeImsc is a CaptionSourceType enum value + CaptionSourceTypeImsc = "IMSC" +) + +// When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client +// from saving media segments for later replay. +const ( + // CmafClientCacheDisabled is a CmafClientCache enum value + CmafClientCacheDisabled = "DISABLED" + + // CmafClientCacheEnabled is a CmafClientCache enum value + CmafClientCacheEnabled = "ENABLED" +) + +// Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist +// generation. +const ( + // CmafCodecSpecificationRfc6381 is a CmafCodecSpecification enum value + CmafCodecSpecificationRfc6381 = "RFC_6381" + + // CmafCodecSpecificationRfc4281 is a CmafCodecSpecification enum value + CmafCodecSpecificationRfc4281 = "RFC_4281" +) + +// Encrypts the segments with the given encryption scheme. Leave blank to disable. +// Selecting 'Disabled' in the web interface also disables encryption. +const ( + // CmafEncryptionTypeSampleAes is a CmafEncryptionType enum value + CmafEncryptionTypeSampleAes = "SAMPLE_AES" +) + +// The Initialization Vector is a 128-bit number used in conjunction with the +// key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed +// in the manifest. Otherwise Initialization Vector is not in the manifest. +const ( + // CmafInitializationVectorInManifestInclude is a CmafInitializationVectorInManifest enum value + CmafInitializationVectorInManifestInclude = "INCLUDE" + + // CmafInitializationVectorInManifestExclude is a CmafInitializationVectorInManifest enum value + CmafInitializationVectorInManifestExclude = "EXCLUDE" +) + +// Indicates which type of key provider is used for encryption. +const ( + // CmafKeyProviderTypeStaticKey is a CmafKeyProviderType enum value + CmafKeyProviderTypeStaticKey = "STATIC_KEY" +) + +// When set to GZIP, compresses HLS playlist. +const ( + // CmafManifestCompressionGzip is a CmafManifestCompression enum value + CmafManifestCompressionGzip = "GZIP" + + // CmafManifestCompressionNone is a CmafManifestCompression enum value + CmafManifestCompressionNone = "NONE" +) + +// Indicates whether the output manifest should use floating point values for +// segment duration. +const ( + // CmafManifestDurationFormatFloatingPoint is a CmafManifestDurationFormat enum value + CmafManifestDurationFormatFloatingPoint = "FLOATING_POINT" + + // CmafManifestDurationFormatInteger is a CmafManifestDurationFormat enum value + CmafManifestDurationFormatInteger = "INTEGER" +) + +// When set to SINGLE_FILE, a single output file is generated, which is internally +// segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, +// separate segment files will be created. +const ( + // CmafSegmentControlSingleFile is a CmafSegmentControl enum value + CmafSegmentControlSingleFile = "SINGLE_FILE" + + // CmafSegmentControlSegmentedFiles is a CmafSegmentControl enum value + CmafSegmentControlSegmentedFiles = "SEGMENTED_FILES" +) + +// Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag +// of variant manifest. +const ( + // CmafStreamInfResolutionInclude is a CmafStreamInfResolution enum value + CmafStreamInfResolutionInclude = "INCLUDE" + + // CmafStreamInfResolutionExclude is a CmafStreamInfResolution enum value + CmafStreamInfResolutionExclude = "EXCLUDE" +) + +// When set to ENABLED, a DASH MPD manifest will be generated for this output. +const ( + // CmafWriteDASHManifestDisabled is a CmafWriteDASHManifest enum value + CmafWriteDASHManifestDisabled = "DISABLED" + + // CmafWriteDASHManifestEnabled is a CmafWriteDASHManifest enum value + CmafWriteDASHManifestEnabled = "ENABLED" +) + +// When set to ENABLED, an Apple HLS manifest will be generated for this output. +const ( + // CmafWriteHLSManifestDisabled is a CmafWriteHLSManifest enum value + CmafWriteHLSManifestDisabled = "DISABLED" + + // CmafWriteHLSManifestEnabled is a CmafWriteHLSManifest enum value + CmafWriteHLSManifestEnabled = "ENABLED" +) + +// Enable Insert color metadata (ColorMetadata) to include color metadata in +// this output. This setting is enabled by default. +const ( + // ColorMetadataIgnore is a ColorMetadata enum value + ColorMetadataIgnore = "IGNORE" + + // ColorMetadataInsert is a ColorMetadata enum value + ColorMetadataInsert = "INSERT" +) + +// If your input video has accurate color space metadata, or if you don't know +// about color space, leave this set to the default value FOLLOW. The service +// will automatically detect your input color space. If your input video has +// metadata indicating the wrong color space, or if your input video is missing +// color space metadata that should be there, specify the accurate color space +// here. If you choose HDR10, you can also correct inaccurate color space coefficients, +// using the HDR master display information controls. You must also set Color +// space usage (ColorSpaceUsage) to FORCE for the service to use these values. +const ( + // ColorSpaceFollow is a ColorSpace enum value + ColorSpaceFollow = "FOLLOW" + + // ColorSpaceRec601 is a ColorSpace enum value + ColorSpaceRec601 = "REC_601" + + // ColorSpaceRec709 is a ColorSpace enum value + ColorSpaceRec709 = "REC_709" + + // ColorSpaceHdr10 is a ColorSpace enum value + ColorSpaceHdr10 = "HDR10" + + // ColorSpaceHlg2020 is a ColorSpace enum value + ColorSpaceHlg2020 = "HLG_2020" +) + +// Determines if colorspace conversion will be performed. If set to _None_, +// no conversion will be performed. If _Force 601_ or _Force 709_ are selected, +// conversion will be performed for inputs with differing colorspaces. An input's +// colorspace can be specified explicitly in the "Video Selector":#inputs-video_selector +// if necessary. +const ( + // ColorSpaceConversionNone is a ColorSpaceConversion enum value + ColorSpaceConversionNone = "NONE" + + // ColorSpaceConversionForce601 is a ColorSpaceConversion enum value + ColorSpaceConversionForce601 = "FORCE_601" + + // ColorSpaceConversionForce709 is a ColorSpaceConversion enum value + ColorSpaceConversionForce709 = "FORCE_709" + + // ColorSpaceConversionForceHdr10 is a ColorSpaceConversion enum value + ColorSpaceConversionForceHdr10 = "FORCE_HDR10" + + // ColorSpaceConversionForceHlg2020 is a ColorSpaceConversion enum value + ColorSpaceConversionForceHlg2020 = "FORCE_HLG_2020" +) + +// There are two sources for color metadata, the input file and the job configuration +// (in the Color space and HDR master display informaiton settings). The Color +// space usage setting controls which takes precedence. FORCE: The system will +// use color metadata supplied by user, if any. If the user does not supply +// color metadata, the system will use data from the source. FALLBACK: The system +// will use color metadata from the source. If source has no color metadata, +// the system will use user-supplied color metadata values if available. +const ( + // ColorSpaceUsageForce is a ColorSpaceUsage enum value + ColorSpaceUsageForce = "FORCE" + + // ColorSpaceUsageFallback is a ColorSpaceUsage enum value + ColorSpaceUsageFallback = "FALLBACK" +) + +// The length of the term of your reserved queue pricing plan commitment. +const ( + // CommitmentOneYear is a Commitment enum value + CommitmentOneYear = "ONE_YEAR" +) + +// Container for this output. Some containers require a container settings object. +// If not specified, the default object will be created. +const ( + // ContainerTypeF4v is a ContainerType enum value + ContainerTypeF4v = "F4V" + + // ContainerTypeIsmv is a ContainerType enum value + ContainerTypeIsmv = "ISMV" + + // ContainerTypeM2ts is a ContainerType enum value + ContainerTypeM2ts = "M2TS" + + // ContainerTypeM3u8 is a ContainerType enum value + ContainerTypeM3u8 = "M3U8" + + // ContainerTypeCmfc is a ContainerType enum value + ContainerTypeCmfc = "CMFC" + + // ContainerTypeMov is a ContainerType enum value + ContainerTypeMov = "MOV" + + // ContainerTypeMp4 is a ContainerType enum value + ContainerTypeMp4 = "MP4" + + // ContainerTypeMpd is a ContainerType enum value + ContainerTypeMpd = "MPD" + + // ContainerTypeMxf is a ContainerType enum value + ContainerTypeMxf = "MXF" + + // ContainerTypeRaw is a ContainerType enum value + ContainerTypeRaw = "RAW" +) + +// Supports HbbTV specification as indicated +const ( + // DashIsoHbbtvComplianceHbbtv15 is a DashIsoHbbtvCompliance enum value + DashIsoHbbtvComplianceHbbtv15 = "HBBTV_1_5" + + // DashIsoHbbtvComplianceNone is a DashIsoHbbtvCompliance enum value + DashIsoHbbtvComplianceNone = "NONE" +) + +// When set to SINGLE_FILE, a single output file is generated, which is internally +// segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, +// separate segment files will be created. +const ( + // DashIsoSegmentControlSingleFile is a DashIsoSegmentControl enum value + DashIsoSegmentControlSingleFile = "SINGLE_FILE" + + // DashIsoSegmentControlSegmentedFiles is a DashIsoSegmentControl enum value + DashIsoSegmentControlSegmentedFiles = "SEGMENTED_FILES" +) + +// When you enable Precise segment duration in manifests (writeSegmentTimelineInRepresentation), +// your DASH manifest shows precise segment durations. The segment duration +// information appears inside the SegmentTimeline element, inside SegmentTemplate +// at the Representation level. When this feature isn't enabled, the segment +// durations in your DASH manifest are approximate. The segment duration information +// appears in the duration attribute of the SegmentTemplate element. +const ( + // DashIsoWriteSegmentTimelineInRepresentationEnabled is a DashIsoWriteSegmentTimelineInRepresentation enum value + DashIsoWriteSegmentTimelineInRepresentationEnabled = "ENABLED" + + // DashIsoWriteSegmentTimelineInRepresentationDisabled is a DashIsoWriteSegmentTimelineInRepresentation enum value + DashIsoWriteSegmentTimelineInRepresentationDisabled = "DISABLED" +) + +// This specifies how the encrypted file needs to be decrypted. +const ( + // DecryptionModeAesCtr is a DecryptionMode enum value + DecryptionModeAesCtr = "AES_CTR" + + // DecryptionModeAesCbc is a DecryptionMode enum value + DecryptionModeAesCbc = "AES_CBC" + + // DecryptionModeAesGcm is a DecryptionMode enum value + DecryptionModeAesGcm = "AES_GCM" +) + +// Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace (DEINTERLACE) +// or Adaptive (ADAPTIVE). Motion adaptive interpolate (INTERPOLATE) produces +// sharper pictures, while blend (BLEND) produces smoother motion. Use (INTERPOLATE_TICKER) +// OR (BLEND_TICKER) if your source file includes a ticker, such as a scrolling +// headline at the bottom of the frame. +const ( + // DeinterlaceAlgorithmInterpolate is a DeinterlaceAlgorithm enum value + DeinterlaceAlgorithmInterpolate = "INTERPOLATE" + + // DeinterlaceAlgorithmInterpolateTicker is a DeinterlaceAlgorithm enum value + DeinterlaceAlgorithmInterpolateTicker = "INTERPOLATE_TICKER" + + // DeinterlaceAlgorithmBlend is a DeinterlaceAlgorithm enum value + DeinterlaceAlgorithmBlend = "BLEND" + + // DeinterlaceAlgorithmBlendTicker is a DeinterlaceAlgorithm enum value + DeinterlaceAlgorithmBlendTicker = "BLEND_TICKER" +) + +// - When set to NORMAL (default), the deinterlacer does not convert frames +// that are tagged in metadata as progressive. It will only convert those that +// are tagged as some other type. - When set to FORCE_ALL_FRAMES, the deinterlacer +// converts every frame to progressive - even those that are already tagged +// as progressive. Turn Force mode on only if there is a good chance that the +// metadata has tagged frames as progressive when they are not progressive. +// Do not turn on otherwise; processing frames that are already progressive +// into progressive will probably result in lower quality video. +const ( + // DeinterlacerControlForceAllFrames is a DeinterlacerControl enum value + DeinterlacerControlForceAllFrames = "FORCE_ALL_FRAMES" + + // DeinterlacerControlNormal is a DeinterlacerControl enum value + DeinterlacerControlNormal = "NORMAL" +) + +// Use Deinterlacer (DeinterlaceMode) to choose how the service will do deinterlacing. +// Default is Deinterlace. - Deinterlace converts interlaced to progressive. +// - Inverse telecine converts Hard Telecine 29.97i to progressive 23.976p. +// - Adaptive auto-detects and converts to progressive. +const ( + // DeinterlacerModeDeinterlace is a DeinterlacerMode enum value + DeinterlacerModeDeinterlace = "DEINTERLACE" + + // DeinterlacerModeInverseTelecine is a DeinterlacerMode enum value + DeinterlacerModeInverseTelecine = "INVERSE_TELECINE" + + // DeinterlacerModeAdaptive is a DeinterlacerMode enum value + DeinterlacerModeAdaptive = "ADAPTIVE" +) + +// Optional field, defaults to DEFAULT. Specify DEFAULT for this operation to +// return your endpoints if any exist, or to create an endpoint for you and +// return it if one doesn't already exist. Specify GET_ONLY to return your endpoints +// if any exist, or an empty list if none exist. +const ( + // DescribeEndpointsModeDefault is a DescribeEndpointsMode enum value + DescribeEndpointsModeDefault = "DEFAULT" + + // DescribeEndpointsModeGetOnly is a DescribeEndpointsMode enum value + DescribeEndpointsModeGetOnly = "GET_ONLY" +) + +// Applies only to 29.97 fps outputs. When this feature is enabled, the service +// will use drop-frame timecode on outputs. If it is not possible to use drop-frame +// timecode, the system will fall back to non-drop-frame. This setting is enabled +// by default when Timecode insertion (TimecodeInsertion) is enabled. +const ( + // DropFrameTimecodeDisabled is a DropFrameTimecode enum value + DropFrameTimecodeDisabled = "DISABLED" + + // DropFrameTimecodeEnabled is a DropFrameTimecode enum value + DropFrameTimecodeEnabled = "ENABLED" +) + +// If no explicit x_position or y_position is provided, setting alignment to +// centered will place the captions at the bottom center of the output. Similarly, +// setting a left alignment will align captions to the bottom left of the output. +// If x and y positions are given in conjunction with the alignment parameter, +// the font will be justified (either left or centered) relative to those coordinates. +// This option is not valid for source captions that are STL, 608/embedded or +// teletext. These source settings are already pre-defined by the caption stream. +// All burn-in and DVB-Sub font settings must match. +const ( + // DvbSubtitleAlignmentCentered is a DvbSubtitleAlignment enum value + DvbSubtitleAlignmentCentered = "CENTERED" + + // DvbSubtitleAlignmentLeft is a DvbSubtitleAlignment enum value + DvbSubtitleAlignmentLeft = "LEFT" +) + +// Specifies the color of the rectangle behind the captions.All burn-in and +// DVB-Sub font settings must match. +const ( + // DvbSubtitleBackgroundColorNone is a DvbSubtitleBackgroundColor enum value + DvbSubtitleBackgroundColorNone = "NONE" + + // DvbSubtitleBackgroundColorBlack is a DvbSubtitleBackgroundColor enum value + DvbSubtitleBackgroundColorBlack = "BLACK" + + // DvbSubtitleBackgroundColorWhite is a DvbSubtitleBackgroundColor enum value + DvbSubtitleBackgroundColorWhite = "WHITE" +) + +// Specifies the color of the burned-in captions. This option is not valid for +// source captions that are STL, 608/embedded or teletext. These source settings +// are already pre-defined by the caption stream. All burn-in and DVB-Sub font +// settings must match. +const ( + // DvbSubtitleFontColorWhite is a DvbSubtitleFontColor enum value + DvbSubtitleFontColorWhite = "WHITE" + + // DvbSubtitleFontColorBlack is a DvbSubtitleFontColor enum value + DvbSubtitleFontColorBlack = "BLACK" + + // DvbSubtitleFontColorYellow is a DvbSubtitleFontColor enum value + DvbSubtitleFontColorYellow = "YELLOW" + + // DvbSubtitleFontColorRed is a DvbSubtitleFontColor enum value + DvbSubtitleFontColorRed = "RED" + + // DvbSubtitleFontColorGreen is a DvbSubtitleFontColor enum value + DvbSubtitleFontColorGreen = "GREEN" + + // DvbSubtitleFontColorBlue is a DvbSubtitleFontColor enum value + DvbSubtitleFontColorBlue = "BLUE" +) + +// Specifies font outline color. This option is not valid for source captions +// that are either 608/embedded or teletext. These source settings are already +// pre-defined by the caption stream. All burn-in and DVB-Sub font settings +// must match. +const ( + // DvbSubtitleOutlineColorBlack is a DvbSubtitleOutlineColor enum value + DvbSubtitleOutlineColorBlack = "BLACK" + + // DvbSubtitleOutlineColorWhite is a DvbSubtitleOutlineColor enum value + DvbSubtitleOutlineColorWhite = "WHITE" + + // DvbSubtitleOutlineColorYellow is a DvbSubtitleOutlineColor enum value + DvbSubtitleOutlineColorYellow = "YELLOW" + + // DvbSubtitleOutlineColorRed is a DvbSubtitleOutlineColor enum value + DvbSubtitleOutlineColorRed = "RED" + + // DvbSubtitleOutlineColorGreen is a DvbSubtitleOutlineColor enum value + DvbSubtitleOutlineColorGreen = "GREEN" + + // DvbSubtitleOutlineColorBlue is a DvbSubtitleOutlineColor enum value + DvbSubtitleOutlineColorBlue = "BLUE" +) + +// Specifies the color of the shadow cast by the captions.All burn-in and DVB-Sub +// font settings must match. +const ( + // DvbSubtitleShadowColorNone is a DvbSubtitleShadowColor enum value + DvbSubtitleShadowColorNone = "NONE" + + // DvbSubtitleShadowColorBlack is a DvbSubtitleShadowColor enum value + DvbSubtitleShadowColorBlack = "BLACK" + + // DvbSubtitleShadowColorWhite is a DvbSubtitleShadowColor enum value + DvbSubtitleShadowColorWhite = "WHITE" +) + +// Only applies to jobs with input captions in Teletext or STL formats. Specify +// whether the spacing between letters in your captions is set by the captions +// grid or varies depending on letter width. Choose fixed grid to conform to +// the spacing specified in the captions file more accurately. Choose proportional +// to make the text easier to read if the captions are closed caption. +const ( + // DvbSubtitleTeletextSpacingFixedGrid is a DvbSubtitleTeletextSpacing enum value + DvbSubtitleTeletextSpacingFixedGrid = "FIXED_GRID" + + // DvbSubtitleTeletextSpacingProportional is a DvbSubtitleTeletextSpacing enum value + DvbSubtitleTeletextSpacingProportional = "PROPORTIONAL" +) + +// If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. +// Only used for 3/2 coding mode. +const ( + // Eac3AttenuationControlAttenuate3Db is a Eac3AttenuationControl enum value + Eac3AttenuationControlAttenuate3Db = "ATTENUATE_3_DB" + + // Eac3AttenuationControlNone is a Eac3AttenuationControl enum value + Eac3AttenuationControlNone = "NONE" +) + +// Specifies the "Bitstream Mode" (bsmod) for the emitted E-AC-3 stream. See +// ATSC A/52-2012 (Annex E) for background on these values. +const ( + // Eac3BitstreamModeCompleteMain is a Eac3BitstreamMode enum value + Eac3BitstreamModeCompleteMain = "COMPLETE_MAIN" + + // Eac3BitstreamModeCommentary is a Eac3BitstreamMode enum value + Eac3BitstreamModeCommentary = "COMMENTARY" + + // Eac3BitstreamModeEmergency is a Eac3BitstreamMode enum value + Eac3BitstreamModeEmergency = "EMERGENCY" + + // Eac3BitstreamModeHearingImpaired is a Eac3BitstreamMode enum value + Eac3BitstreamModeHearingImpaired = "HEARING_IMPAIRED" + + // Eac3BitstreamModeVisuallyImpaired is a Eac3BitstreamMode enum value + Eac3BitstreamModeVisuallyImpaired = "VISUALLY_IMPAIRED" +) + +// Dolby Digital Plus coding mode. Determines number of channels. +const ( + // Eac3CodingModeCodingMode10 is a Eac3CodingMode enum value + Eac3CodingModeCodingMode10 = "CODING_MODE_1_0" + + // Eac3CodingModeCodingMode20 is a Eac3CodingMode enum value + Eac3CodingModeCodingMode20 = "CODING_MODE_2_0" + + // Eac3CodingModeCodingMode32 is a Eac3CodingMode enum value + Eac3CodingModeCodingMode32 = "CODING_MODE_3_2" +) + +// Activates a DC highpass filter for all input channels. +const ( + // Eac3DcFilterEnabled is a Eac3DcFilter enum value + Eac3DcFilterEnabled = "ENABLED" + + // Eac3DcFilterDisabled is a Eac3DcFilter enum value + Eac3DcFilterDisabled = "DISABLED" +) + +// Enables Dynamic Range Compression that restricts the absolute peak level +// for a signal. +const ( + // Eac3DynamicRangeCompressionLineNone is a Eac3DynamicRangeCompressionLine enum value + Eac3DynamicRangeCompressionLineNone = "NONE" + + // Eac3DynamicRangeCompressionLineFilmStandard is a Eac3DynamicRangeCompressionLine enum value + Eac3DynamicRangeCompressionLineFilmStandard = "FILM_STANDARD" + + // Eac3DynamicRangeCompressionLineFilmLight is a Eac3DynamicRangeCompressionLine enum value + Eac3DynamicRangeCompressionLineFilmLight = "FILM_LIGHT" + + // Eac3DynamicRangeCompressionLineMusicStandard is a Eac3DynamicRangeCompressionLine enum value + Eac3DynamicRangeCompressionLineMusicStandard = "MUSIC_STANDARD" + + // Eac3DynamicRangeCompressionLineMusicLight is a Eac3DynamicRangeCompressionLine enum value + Eac3DynamicRangeCompressionLineMusicLight = "MUSIC_LIGHT" + + // Eac3DynamicRangeCompressionLineSpeech is a Eac3DynamicRangeCompressionLine enum value + Eac3DynamicRangeCompressionLineSpeech = "SPEECH" +) + +// Enables Heavy Dynamic Range Compression, ensures that the instantaneous signal +// peaks do not exceed specified levels. +const ( + // Eac3DynamicRangeCompressionRfNone is a Eac3DynamicRangeCompressionRf enum value + Eac3DynamicRangeCompressionRfNone = "NONE" + + // Eac3DynamicRangeCompressionRfFilmStandard is a Eac3DynamicRangeCompressionRf enum value + Eac3DynamicRangeCompressionRfFilmStandard = "FILM_STANDARD" + + // Eac3DynamicRangeCompressionRfFilmLight is a Eac3DynamicRangeCompressionRf enum value + Eac3DynamicRangeCompressionRfFilmLight = "FILM_LIGHT" + + // Eac3DynamicRangeCompressionRfMusicStandard is a Eac3DynamicRangeCompressionRf enum value + Eac3DynamicRangeCompressionRfMusicStandard = "MUSIC_STANDARD" + + // Eac3DynamicRangeCompressionRfMusicLight is a Eac3DynamicRangeCompressionRf enum value + Eac3DynamicRangeCompressionRfMusicLight = "MUSIC_LIGHT" + + // Eac3DynamicRangeCompressionRfSpeech is a Eac3DynamicRangeCompressionRf enum value + Eac3DynamicRangeCompressionRfSpeech = "SPEECH" +) + +// When encoding 3/2 audio, controls whether the LFE channel is enabled +const ( + // Eac3LfeControlLfe is a Eac3LfeControl enum value + Eac3LfeControlLfe = "LFE" + + // Eac3LfeControlNoLfe is a Eac3LfeControl enum value + Eac3LfeControlNoLfe = "NO_LFE" +) + +// Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only +// valid with 3_2_LFE coding mode. +const ( + // Eac3LfeFilterEnabled is a Eac3LfeFilter enum value + Eac3LfeFilterEnabled = "ENABLED" + + // Eac3LfeFilterDisabled is a Eac3LfeFilter enum value + Eac3LfeFilterDisabled = "DISABLED" +) + +// When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, +// or DolbyE decoder that supplied this audio data. If audio was not supplied +// from one of these streams, then the static metadata settings will be used. +const ( + // Eac3MetadataControlFollowInput is a Eac3MetadataControl enum value + Eac3MetadataControlFollowInput = "FOLLOW_INPUT" + + // Eac3MetadataControlUseConfigured is a Eac3MetadataControl enum value + Eac3MetadataControlUseConfigured = "USE_CONFIGURED" +) + +// When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is +// present on the input. this detection is dynamic over the life of the transcode. +// Inputs that alternate between DD+ and non-DD+ content will have a consistent +// DD+ output as the system alternates between passthrough and encoding. +const ( + // Eac3PassthroughControlWhenPossible is a Eac3PassthroughControl enum value + Eac3PassthroughControlWhenPossible = "WHEN_POSSIBLE" + + // Eac3PassthroughControlNoPassthrough is a Eac3PassthroughControl enum value + Eac3PassthroughControlNoPassthrough = "NO_PASSTHROUGH" +) + +// Controls the amount of phase-shift applied to the surround channels. Only +// used for 3/2 coding mode. +const ( + // Eac3PhaseControlShift90Degrees is a Eac3PhaseControl enum value + Eac3PhaseControlShift90Degrees = "SHIFT_90_DEGREES" + + // Eac3PhaseControlNoShift is a Eac3PhaseControl enum value + Eac3PhaseControlNoShift = "NO_SHIFT" +) + +// Stereo downmix preference. Only used for 3/2 coding mode. +const ( + // Eac3StereoDownmixNotIndicated is a Eac3StereoDownmix enum value + Eac3StereoDownmixNotIndicated = "NOT_INDICATED" + + // Eac3StereoDownmixLoRo is a Eac3StereoDownmix enum value + Eac3StereoDownmixLoRo = "LO_RO" + + // Eac3StereoDownmixLtRt is a Eac3StereoDownmix enum value + Eac3StereoDownmixLtRt = "LT_RT" + + // Eac3StereoDownmixDpl2 is a Eac3StereoDownmix enum value + Eac3StereoDownmixDpl2 = "DPL2" +) + +// When encoding 3/2 audio, sets whether an extra center back surround channel +// is matrix encoded into the left and right surround channels. +const ( + // Eac3SurroundExModeNotIndicated is a Eac3SurroundExMode enum value + Eac3SurroundExModeNotIndicated = "NOT_INDICATED" + + // Eac3SurroundExModeEnabled is a Eac3SurroundExMode enum value + Eac3SurroundExModeEnabled = "ENABLED" + + // Eac3SurroundExModeDisabled is a Eac3SurroundExMode enum value + Eac3SurroundExModeDisabled = "DISABLED" +) + +// When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into +// the two channels. +const ( + // Eac3SurroundModeNotIndicated is a Eac3SurroundMode enum value + Eac3SurroundModeNotIndicated = "NOT_INDICATED" + + // Eac3SurroundModeEnabled is a Eac3SurroundMode enum value + Eac3SurroundModeEnabled = "ENABLED" + + // Eac3SurroundModeDisabled is a Eac3SurroundMode enum value + Eac3SurroundModeDisabled = "DISABLED" +) + +// When set to UPCONVERT, 608 data is both passed through via the "608 compatibility +// bytes" fields of the 708 wrapper as well as translated into 708. 708 data +// present in the source content will be discarded. +const ( + // EmbeddedConvert608To708Upconvert is a EmbeddedConvert608To708 enum value + EmbeddedConvert608To708Upconvert = "UPCONVERT" + + // EmbeddedConvert608To708Disabled is a EmbeddedConvert608To708 enum value + EmbeddedConvert608To708Disabled = "DISABLED" +) + +// If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning +// of the archive as required for progressive downloading. Otherwise it is placed +// normally at the end. +const ( + // F4vMoovPlacementProgressiveDownload is a F4vMoovPlacement enum value + F4vMoovPlacementProgressiveDownload = "PROGRESSIVE_DOWNLOAD" + + // F4vMoovPlacementNormal is a F4vMoovPlacement enum value + F4vMoovPlacementNormal = "NORMAL" +) + +// If set to UPCONVERT, 608 caption data is both passed through via the "608 +// compatibility bytes" fields of the 708 wrapper as well as translated into +// 708. 708 data present in the source content will be discarded. +const ( + // FileSourceConvert608To708Upconvert is a FileSourceConvert608To708 enum value + FileSourceConvert608To708Upconvert = "UPCONVERT" + + // FileSourceConvert608To708Disabled is a FileSourceConvert608To708 enum value + FileSourceConvert608To708Disabled = "DISABLED" +) + +// Provide the font script, using an ISO 15924 script code, if the LanguageCode +// is not sufficient for determining the script type. Where LanguageCode or +// CustomLanguageCode is sufficient, use "AUTOMATIC" or leave unset. +const ( + // FontScriptAutomatic is a FontScript enum value + FontScriptAutomatic = "AUTOMATIC" + + // FontScriptHans is a FontScript enum value + FontScriptHans = "HANS" + + // FontScriptHant is a FontScript enum value + FontScriptHant = "HANT" +) + +// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual +// quality. +const ( + // H264AdaptiveQuantizationOff is a H264AdaptiveQuantization enum value + H264AdaptiveQuantizationOff = "OFF" + + // H264AdaptiveQuantizationLow is a H264AdaptiveQuantization enum value + H264AdaptiveQuantizationLow = "LOW" + + // H264AdaptiveQuantizationMedium is a H264AdaptiveQuantization enum value + H264AdaptiveQuantizationMedium = "MEDIUM" + + // H264AdaptiveQuantizationHigh is a H264AdaptiveQuantization enum value + H264AdaptiveQuantizationHigh = "HIGH" + + // H264AdaptiveQuantizationHigher is a H264AdaptiveQuantization enum value + H264AdaptiveQuantizationHigher = "HIGHER" + + // H264AdaptiveQuantizationMax is a H264AdaptiveQuantization enum value + H264AdaptiveQuantizationMax = "MAX" +) + +// Specify an H.264 level that is consistent with your output video settings. +// If you aren't sure what level to specify, choose Auto (AUTO). +const ( + // H264CodecLevelAuto is a H264CodecLevel enum value + H264CodecLevelAuto = "AUTO" + + // H264CodecLevelLevel1 is a H264CodecLevel enum value + H264CodecLevelLevel1 = "LEVEL_1" + + // H264CodecLevelLevel11 is a H264CodecLevel enum value + H264CodecLevelLevel11 = "LEVEL_1_1" + + // H264CodecLevelLevel12 is a H264CodecLevel enum value + H264CodecLevelLevel12 = "LEVEL_1_2" + + // H264CodecLevelLevel13 is a H264CodecLevel enum value + H264CodecLevelLevel13 = "LEVEL_1_3" + + // H264CodecLevelLevel2 is a H264CodecLevel enum value + H264CodecLevelLevel2 = "LEVEL_2" + + // H264CodecLevelLevel21 is a H264CodecLevel enum value + H264CodecLevelLevel21 = "LEVEL_2_1" + + // H264CodecLevelLevel22 is a H264CodecLevel enum value + H264CodecLevelLevel22 = "LEVEL_2_2" + + // H264CodecLevelLevel3 is a H264CodecLevel enum value + H264CodecLevelLevel3 = "LEVEL_3" + + // H264CodecLevelLevel31 is a H264CodecLevel enum value + H264CodecLevelLevel31 = "LEVEL_3_1" + + // H264CodecLevelLevel32 is a H264CodecLevel enum value + H264CodecLevelLevel32 = "LEVEL_3_2" + + // H264CodecLevelLevel4 is a H264CodecLevel enum value + H264CodecLevelLevel4 = "LEVEL_4" + + // H264CodecLevelLevel41 is a H264CodecLevel enum value + H264CodecLevelLevel41 = "LEVEL_4_1" + + // H264CodecLevelLevel42 is a H264CodecLevel enum value + H264CodecLevelLevel42 = "LEVEL_4_2" + + // H264CodecLevelLevel5 is a H264CodecLevel enum value + H264CodecLevelLevel5 = "LEVEL_5" + + // H264CodecLevelLevel51 is a H264CodecLevel enum value + H264CodecLevelLevel51 = "LEVEL_5_1" + + // H264CodecLevelLevel52 is a H264CodecLevel enum value + H264CodecLevelLevel52 = "LEVEL_5_2" +) + +// H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the +// AVC-I License. +const ( + // H264CodecProfileBaseline is a H264CodecProfile enum value + H264CodecProfileBaseline = "BASELINE" + + // H264CodecProfileHigh is a H264CodecProfile enum value + H264CodecProfileHigh = "HIGH" + + // H264CodecProfileHigh10bit is a H264CodecProfile enum value + H264CodecProfileHigh10bit = "HIGH_10BIT" + + // H264CodecProfileHigh422 is a H264CodecProfile enum value + H264CodecProfileHigh422 = "HIGH_422" + + // H264CodecProfileHigh42210bit is a H264CodecProfile enum value + H264CodecProfileHigh42210bit = "HIGH_422_10BIT" + + // H264CodecProfileMain is a H264CodecProfile enum value + H264CodecProfileMain = "MAIN" +) + +// Choose Adaptive to improve subjective video quality for high-motion content. +// This will cause the service to use fewer B-frames (which infer information +// based on other frames) for high-motion portions of the video and more B-frames +// for low-motion portions. The maximum number of B-frames is limited by the +// value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames). +const ( + // H264DynamicSubGopAdaptive is a H264DynamicSubGop enum value + H264DynamicSubGopAdaptive = "ADAPTIVE" + + // H264DynamicSubGopStatic is a H264DynamicSubGop enum value + H264DynamicSubGopStatic = "STATIC" +) + +// Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC. +const ( + // H264EntropyEncodingCabac is a H264EntropyEncoding enum value + H264EntropyEncodingCabac = "CABAC" + + // H264EntropyEncodingCavlc is a H264EntropyEncoding enum value + H264EntropyEncodingCavlc = "CAVLC" +) + +// Choosing FORCE_FIELD disables PAFF encoding for interlaced outputs. +const ( + // H264FieldEncodingPaff is a H264FieldEncoding enum value + H264FieldEncodingPaff = "PAFF" + + // H264FieldEncodingForceField is a H264FieldEncoding enum value + H264FieldEncodingForceField = "FORCE_FIELD" +) + +// Adjust quantization within each frame to reduce flicker or 'pop' on I-frames. +const ( + // H264FlickerAdaptiveQuantizationDisabled is a H264FlickerAdaptiveQuantization enum value + H264FlickerAdaptiveQuantizationDisabled = "DISABLED" + + // H264FlickerAdaptiveQuantizationEnabled is a H264FlickerAdaptiveQuantization enum value + H264FlickerAdaptiveQuantizationEnabled = "ENABLED" +) + +// If you are using the console, use the Framerate setting to specify the frame +// rate for this output. If you want to keep the same frame rate as the input +// video, choose Follow source. If you want to do frame rate conversion, choose +// a frame rate from the dropdown list or choose Custom. The framerates shown +// in the dropdown list are decimal approximations of fractions. If you choose +// Custom, specify your frame rate as a fraction. If you are creating your transcoding +// job specification as a JSON file without the console, use FramerateControl +// to specify which value the service uses for the frame rate for this output. +// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate +// from the input. Choose SPECIFIED if you want the service to use the frame +// rate you specify in the settings FramerateNumerator and FramerateDenominator. +const ( + // H264FramerateControlInitializeFromSource is a H264FramerateControl enum value + H264FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // H264FramerateControlSpecified is a H264FramerateControl enum value + H264FramerateControlSpecified = "SPECIFIED" +) + +// When set to INTERPOLATE, produces smoother motion during frame rate conversion. +const ( + // H264FramerateConversionAlgorithmDuplicateDrop is a H264FramerateConversionAlgorithm enum value + H264FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" + + // H264FramerateConversionAlgorithmInterpolate is a H264FramerateConversionAlgorithm enum value + H264FramerateConversionAlgorithmInterpolate = "INTERPOLATE" +) + +// If enable, use reference B frames for GOP structures that have B frames > +// 1. +const ( + // H264GopBReferenceDisabled is a H264GopBReference enum value + H264GopBReferenceDisabled = "DISABLED" + + // H264GopBReferenceEnabled is a H264GopBReference enum value + H264GopBReferenceEnabled = "ENABLED" +) + +// Indicates if the GOP Size in H264 is specified in frames or seconds. If seconds +// the system will convert the GOP Size into a frame count at run time. +const ( + // H264GopSizeUnitsFrames is a H264GopSizeUnits enum value + H264GopSizeUnitsFrames = "FRAMES" + + // H264GopSizeUnitsSeconds is a H264GopSizeUnits enum value + H264GopSizeUnitsSeconds = "SECONDS" +) + +// Use Interlace mode (InterlaceMode) to choose the scan line type for the output. +// * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce +// interlaced output with the entire output having the same field polarity (top +// or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default +// Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, +// behavior depends on the input scan type, as follows. - If the source is interlaced, +// the output will be interlaced with the same polarity as the source (it will +// follow the source). The output could therefore be a mix of "top field first" +// and "bottom field first". - If the source is progressive, the output will +// be interlaced with "top field first" or "bottom field first" polarity, depending +// on which of the Follow options you chose. +const ( + // H264InterlaceModeProgressive is a H264InterlaceMode enum value + H264InterlaceModeProgressive = "PROGRESSIVE" + + // H264InterlaceModeTopField is a H264InterlaceMode enum value + H264InterlaceModeTopField = "TOP_FIELD" + + // H264InterlaceModeBottomField is a H264InterlaceMode enum value + H264InterlaceModeBottomField = "BOTTOM_FIELD" + + // H264InterlaceModeFollowTopField is a H264InterlaceMode enum value + H264InterlaceModeFollowTopField = "FOLLOW_TOP_FIELD" + + // H264InterlaceModeFollowBottomField is a H264InterlaceMode enum value + H264InterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD" +) + +// Using the API, enable ParFollowSource if you want the service to use the +// pixel aspect ratio from the input. Using the console, do this by choosing +// Follow source for Pixel aspect ratio. +const ( + // H264ParControlInitializeFromSource is a H264ParControl enum value + H264ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // H264ParControlSpecified is a H264ParControl enum value + H264ParControlSpecified = "SPECIFIED" +) + +// Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to +// use fast single-pass, high-quality singlepass, or high-quality multipass +// video encoding. +const ( + // H264QualityTuningLevelSinglePass is a H264QualityTuningLevel enum value + H264QualityTuningLevelSinglePass = "SINGLE_PASS" + + // H264QualityTuningLevelSinglePassHq is a H264QualityTuningLevel enum value + H264QualityTuningLevelSinglePassHq = "SINGLE_PASS_HQ" + + // H264QualityTuningLevelMultiPassHq is a H264QualityTuningLevel enum value + H264QualityTuningLevelMultiPassHq = "MULTI_PASS_HQ" +) + +// Use this setting to specify whether this output has a variable bitrate (VBR), +// constant bitrate (CBR) or quality-defined variable bitrate (QVBR). +const ( + // H264RateControlModeVbr is a H264RateControlMode enum value + H264RateControlModeVbr = "VBR" + + // H264RateControlModeCbr is a H264RateControlMode enum value + H264RateControlModeCbr = "CBR" + + // H264RateControlModeQvbr is a H264RateControlMode enum value + H264RateControlModeQvbr = "QVBR" +) + +// Places a PPS header on each encoded picture, even if repeated. +const ( + // H264RepeatPpsDisabled is a H264RepeatPps enum value + H264RepeatPpsDisabled = "DISABLED" + + // H264RepeatPpsEnabled is a H264RepeatPps enum value + H264RepeatPpsEnabled = "ENABLED" +) + +// Scene change detection (inserts I-frames on scene changes). +const ( + // H264SceneChangeDetectDisabled is a H264SceneChangeDetect enum value + H264SceneChangeDetectDisabled = "DISABLED" + + // H264SceneChangeDetectEnabled is a H264SceneChangeDetect enum value + H264SceneChangeDetectEnabled = "ENABLED" +) + +// Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled +// as 25fps, and audio is sped up correspondingly. +const ( + // H264SlowPalDisabled is a H264SlowPal enum value + H264SlowPalDisabled = "DISABLED" + + // H264SlowPalEnabled is a H264SlowPal enum value + H264SlowPalEnabled = "ENABLED" +) + +// Adjust quantization within each frame based on spatial variation of content +// complexity. +const ( + // H264SpatialAdaptiveQuantizationDisabled is a H264SpatialAdaptiveQuantization enum value + H264SpatialAdaptiveQuantizationDisabled = "DISABLED" + + // H264SpatialAdaptiveQuantizationEnabled is a H264SpatialAdaptiveQuantization enum value + H264SpatialAdaptiveQuantizationEnabled = "ENABLED" +) + +// Produces a bitstream compliant with SMPTE RP-2027. +const ( + // H264SyntaxDefault is a H264Syntax enum value + H264SyntaxDefault = "DEFAULT" + + // H264SyntaxRp2027 is a H264Syntax enum value + H264SyntaxRp2027 = "RP2027" +) + +// This field applies only if the Streams > Advanced > Framerate (framerate) +// field is set to 29.970. This field works with the Streams > Advanced > Preprocessors +// > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced +// Mode field (interlace_mode) to identify the scan type for the output: Progressive, +// Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output +// from 23.976 input. - Soft: produces 23.976; the player converts this output +// to 29.97i. +const ( + // H264TelecineNone is a H264Telecine enum value + H264TelecineNone = "NONE" + + // H264TelecineSoft is a H264Telecine enum value + H264TelecineSoft = "SOFT" + + // H264TelecineHard is a H264Telecine enum value + H264TelecineHard = "HARD" +) + +// Adjust quantization within each frame based on temporal variation of content +// complexity. +const ( + // H264TemporalAdaptiveQuantizationDisabled is a H264TemporalAdaptiveQuantization enum value + H264TemporalAdaptiveQuantizationDisabled = "DISABLED" + + // H264TemporalAdaptiveQuantizationEnabled is a H264TemporalAdaptiveQuantization enum value + H264TemporalAdaptiveQuantizationEnabled = "ENABLED" +) + +// Inserts timecode for each frame as 4 bytes of an unregistered SEI message. +const ( + // H264UnregisteredSeiTimecodeDisabled is a H264UnregisteredSeiTimecode enum value + H264UnregisteredSeiTimecodeDisabled = "DISABLED" + + // H264UnregisteredSeiTimecodeEnabled is a H264UnregisteredSeiTimecode enum value + H264UnregisteredSeiTimecodeEnabled = "ENABLED" +) + +// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual +// quality. +const ( + // H265AdaptiveQuantizationOff is a H265AdaptiveQuantization enum value + H265AdaptiveQuantizationOff = "OFF" + + // H265AdaptiveQuantizationLow is a H265AdaptiveQuantization enum value + H265AdaptiveQuantizationLow = "LOW" + + // H265AdaptiveQuantizationMedium is a H265AdaptiveQuantization enum value + H265AdaptiveQuantizationMedium = "MEDIUM" + + // H265AdaptiveQuantizationHigh is a H265AdaptiveQuantization enum value + H265AdaptiveQuantizationHigh = "HIGH" + + // H265AdaptiveQuantizationHigher is a H265AdaptiveQuantization enum value + H265AdaptiveQuantizationHigher = "HIGHER" + + // H265AdaptiveQuantizationMax is a H265AdaptiveQuantization enum value + H265AdaptiveQuantizationMax = "MAX" +) + +// Enables Alternate Transfer Function SEI message for outputs using Hybrid +// Log Gamma (HLG) Electro-Optical Transfer Function (EOTF). +const ( + // H265AlternateTransferFunctionSeiDisabled is a H265AlternateTransferFunctionSei enum value + H265AlternateTransferFunctionSeiDisabled = "DISABLED" + + // H265AlternateTransferFunctionSeiEnabled is a H265AlternateTransferFunctionSei enum value + H265AlternateTransferFunctionSeiEnabled = "ENABLED" +) + +// H.265 Level. +const ( + // H265CodecLevelAuto is a H265CodecLevel enum value + H265CodecLevelAuto = "AUTO" + + // H265CodecLevelLevel1 is a H265CodecLevel enum value + H265CodecLevelLevel1 = "LEVEL_1" + + // H265CodecLevelLevel2 is a H265CodecLevel enum value + H265CodecLevelLevel2 = "LEVEL_2" + + // H265CodecLevelLevel21 is a H265CodecLevel enum value + H265CodecLevelLevel21 = "LEVEL_2_1" + + // H265CodecLevelLevel3 is a H265CodecLevel enum value + H265CodecLevelLevel3 = "LEVEL_3" + + // H265CodecLevelLevel31 is a H265CodecLevel enum value + H265CodecLevelLevel31 = "LEVEL_3_1" + + // H265CodecLevelLevel4 is a H265CodecLevel enum value + H265CodecLevelLevel4 = "LEVEL_4" + + // H265CodecLevelLevel41 is a H265CodecLevel enum value + H265CodecLevelLevel41 = "LEVEL_4_1" + + // H265CodecLevelLevel5 is a H265CodecLevel enum value + H265CodecLevelLevel5 = "LEVEL_5" + + // H265CodecLevelLevel51 is a H265CodecLevel enum value + H265CodecLevelLevel51 = "LEVEL_5_1" + + // H265CodecLevelLevel52 is a H265CodecLevel enum value + H265CodecLevelLevel52 = "LEVEL_5_2" + + // H265CodecLevelLevel6 is a H265CodecLevel enum value + H265CodecLevelLevel6 = "LEVEL_6" + + // H265CodecLevelLevel61 is a H265CodecLevel enum value + H265CodecLevelLevel61 = "LEVEL_6_1" + + // H265CodecLevelLevel62 is a H265CodecLevel enum value + H265CodecLevelLevel62 = "LEVEL_6_2" +) + +// Represents the Profile and Tier, per the HEVC (H.265) specification. Selections +// are grouped as [Profile] / [Tier], so "Main/High" represents Main Profile +// with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License. +const ( + // H265CodecProfileMainMain is a H265CodecProfile enum value + H265CodecProfileMainMain = "MAIN_MAIN" + + // H265CodecProfileMainHigh is a H265CodecProfile enum value + H265CodecProfileMainHigh = "MAIN_HIGH" + + // H265CodecProfileMain10Main is a H265CodecProfile enum value + H265CodecProfileMain10Main = "MAIN10_MAIN" + + // H265CodecProfileMain10High is a H265CodecProfile enum value + H265CodecProfileMain10High = "MAIN10_HIGH" + + // H265CodecProfileMain4228bitMain is a H265CodecProfile enum value + H265CodecProfileMain4228bitMain = "MAIN_422_8BIT_MAIN" + + // H265CodecProfileMain4228bitHigh is a H265CodecProfile enum value + H265CodecProfileMain4228bitHigh = "MAIN_422_8BIT_HIGH" + + // H265CodecProfileMain42210bitMain is a H265CodecProfile enum value + H265CodecProfileMain42210bitMain = "MAIN_422_10BIT_MAIN" + + // H265CodecProfileMain42210bitHigh is a H265CodecProfile enum value + H265CodecProfileMain42210bitHigh = "MAIN_422_10BIT_HIGH" +) + +// Choose Adaptive to improve subjective video quality for high-motion content. +// This will cause the service to use fewer B-frames (which infer information +// based on other frames) for high-motion portions of the video and more B-frames +// for low-motion portions. The maximum number of B-frames is limited by the +// value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames). +const ( + // H265DynamicSubGopAdaptive is a H265DynamicSubGop enum value + H265DynamicSubGopAdaptive = "ADAPTIVE" + + // H265DynamicSubGopStatic is a H265DynamicSubGop enum value + H265DynamicSubGopStatic = "STATIC" +) + +// Adjust quantization within each frame to reduce flicker or 'pop' on I-frames. +const ( + // H265FlickerAdaptiveQuantizationDisabled is a H265FlickerAdaptiveQuantization enum value + H265FlickerAdaptiveQuantizationDisabled = "DISABLED" + + // H265FlickerAdaptiveQuantizationEnabled is a H265FlickerAdaptiveQuantization enum value + H265FlickerAdaptiveQuantizationEnabled = "ENABLED" +) + +// If you are using the console, use the Framerate setting to specify the frame +// rate for this output. If you want to keep the same frame rate as the input +// video, choose Follow source. If you want to do frame rate conversion, choose +// a frame rate from the dropdown list or choose Custom. The framerates shown +// in the dropdown list are decimal approximations of fractions. If you choose +// Custom, specify your frame rate as a fraction. If you are creating your transcoding +// job sepecification as a JSON file without the console, use FramerateControl +// to specify which value the service uses for the frame rate for this output. +// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate +// from the input. Choose SPECIFIED if you want the service to use the frame +// rate you specify in the settings FramerateNumerator and FramerateDenominator. +const ( + // H265FramerateControlInitializeFromSource is a H265FramerateControl enum value + H265FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // H265FramerateControlSpecified is a H265FramerateControl enum value + H265FramerateControlSpecified = "SPECIFIED" +) + +// When set to INTERPOLATE, produces smoother motion during frame rate conversion. +const ( + // H265FramerateConversionAlgorithmDuplicateDrop is a H265FramerateConversionAlgorithm enum value + H265FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" + + // H265FramerateConversionAlgorithmInterpolate is a H265FramerateConversionAlgorithm enum value + H265FramerateConversionAlgorithmInterpolate = "INTERPOLATE" +) + +// If enable, use reference B frames for GOP structures that have B frames > +// 1. +const ( + // H265GopBReferenceDisabled is a H265GopBReference enum value + H265GopBReferenceDisabled = "DISABLED" + + // H265GopBReferenceEnabled is a H265GopBReference enum value + H265GopBReferenceEnabled = "ENABLED" +) + +// Indicates if the GOP Size in H265 is specified in frames or seconds. If seconds +// the system will convert the GOP Size into a frame count at run time. +const ( + // H265GopSizeUnitsFrames is a H265GopSizeUnits enum value + H265GopSizeUnitsFrames = "FRAMES" + + // H265GopSizeUnitsSeconds is a H265GopSizeUnits enum value + H265GopSizeUnitsSeconds = "SECONDS" +) + +// Use Interlace mode (InterlaceMode) to choose the scan line type for the output. +// * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce +// interlaced output with the entire output having the same field polarity (top +// or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default +// Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, +// behavior depends on the input scan type. - If the source is interlaced, the +// output will be interlaced with the same polarity as the source (it will follow +// the source). The output could therefore be a mix of "top field first" and +// "bottom field first". - If the source is progressive, the output will be +// interlaced with "top field first" or "bottom field first" polarity, depending +// on which of the Follow options you chose. +const ( + // H265InterlaceModeProgressive is a H265InterlaceMode enum value + H265InterlaceModeProgressive = "PROGRESSIVE" + + // H265InterlaceModeTopField is a H265InterlaceMode enum value + H265InterlaceModeTopField = "TOP_FIELD" + + // H265InterlaceModeBottomField is a H265InterlaceMode enum value + H265InterlaceModeBottomField = "BOTTOM_FIELD" + + // H265InterlaceModeFollowTopField is a H265InterlaceMode enum value + H265InterlaceModeFollowTopField = "FOLLOW_TOP_FIELD" + + // H265InterlaceModeFollowBottomField is a H265InterlaceMode enum value + H265InterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD" +) + +// Using the API, enable ParFollowSource if you want the service to use the +// pixel aspect ratio from the input. Using the console, do this by choosing +// Follow source for Pixel aspect ratio. +const ( + // H265ParControlInitializeFromSource is a H265ParControl enum value + H265ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // H265ParControlSpecified is a H265ParControl enum value + H265ParControlSpecified = "SPECIFIED" +) + +// Use Quality tuning level (H265QualityTuningLevel) to specifiy whether to +// use fast single-pass, high-quality singlepass, or high-quality multipass +// video encoding. +const ( + // H265QualityTuningLevelSinglePass is a H265QualityTuningLevel enum value + H265QualityTuningLevelSinglePass = "SINGLE_PASS" + + // H265QualityTuningLevelSinglePassHq is a H265QualityTuningLevel enum value + H265QualityTuningLevelSinglePassHq = "SINGLE_PASS_HQ" + + // H265QualityTuningLevelMultiPassHq is a H265QualityTuningLevel enum value + H265QualityTuningLevelMultiPassHq = "MULTI_PASS_HQ" +) + +// Use this setting to specify whether this output has a variable bitrate (VBR), +// constant bitrate (CBR) or quality-defined variable bitrate (QVBR). +const ( + // H265RateControlModeVbr is a H265RateControlMode enum value + H265RateControlModeVbr = "VBR" + + // H265RateControlModeCbr is a H265RateControlMode enum value + H265RateControlModeCbr = "CBR" + + // H265RateControlModeQvbr is a H265RateControlMode enum value + H265RateControlModeQvbr = "QVBR" +) + +// Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode dynamically +// selects best strength based on content +const ( + // H265SampleAdaptiveOffsetFilterModeDefault is a H265SampleAdaptiveOffsetFilterMode enum value + H265SampleAdaptiveOffsetFilterModeDefault = "DEFAULT" + + // H265SampleAdaptiveOffsetFilterModeAdaptive is a H265SampleAdaptiveOffsetFilterMode enum value + H265SampleAdaptiveOffsetFilterModeAdaptive = "ADAPTIVE" + + // H265SampleAdaptiveOffsetFilterModeOff is a H265SampleAdaptiveOffsetFilterMode enum value + H265SampleAdaptiveOffsetFilterModeOff = "OFF" +) + +// Scene change detection (inserts I-frames on scene changes). +const ( + // H265SceneChangeDetectDisabled is a H265SceneChangeDetect enum value + H265SceneChangeDetectDisabled = "DISABLED" + + // H265SceneChangeDetectEnabled is a H265SceneChangeDetect enum value + H265SceneChangeDetectEnabled = "ENABLED" +) + +// Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled +// as 25fps, and audio is sped up correspondingly. +const ( + // H265SlowPalDisabled is a H265SlowPal enum value + H265SlowPalDisabled = "DISABLED" + + // H265SlowPalEnabled is a H265SlowPal enum value + H265SlowPalEnabled = "ENABLED" +) + +// Adjust quantization within each frame based on spatial variation of content +// complexity. +const ( + // H265SpatialAdaptiveQuantizationDisabled is a H265SpatialAdaptiveQuantization enum value + H265SpatialAdaptiveQuantizationDisabled = "DISABLED" + + // H265SpatialAdaptiveQuantizationEnabled is a H265SpatialAdaptiveQuantization enum value + H265SpatialAdaptiveQuantizationEnabled = "ENABLED" +) + +// This field applies only if the Streams > Advanced > Framerate (framerate) +// field is set to 29.970. This field works with the Streams > Advanced > Preprocessors +// > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced +// Mode field (interlace_mode) to identify the scan type for the output: Progressive, +// Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output +// from 23.976 input. - Soft: produces 23.976; the player converts this output +// to 29.97i. +const ( + // H265TelecineNone is a H265Telecine enum value + H265TelecineNone = "NONE" + + // H265TelecineSoft is a H265Telecine enum value + H265TelecineSoft = "SOFT" + + // H265TelecineHard is a H265Telecine enum value + H265TelecineHard = "HARD" +) + +// Adjust quantization within each frame based on temporal variation of content +// complexity. +const ( + // H265TemporalAdaptiveQuantizationDisabled is a H265TemporalAdaptiveQuantization enum value + H265TemporalAdaptiveQuantizationDisabled = "DISABLED" + + // H265TemporalAdaptiveQuantizationEnabled is a H265TemporalAdaptiveQuantization enum value + H265TemporalAdaptiveQuantizationEnabled = "ENABLED" +) + +// Enables temporal layer identifiers in the encoded bitstream. Up to 3 layers +// are supported depending on GOP structure: I- and P-frames form one layer, +// reference B-frames can form a second layer and non-reference b-frames can +// form a third layer. Decoders can optionally decode only the lower temporal +// layers to generate a lower frame rate output. For example, given a bitstream +// with temporal IDs and with b-frames = 1 (i.e. IbPbPb display order), a decoder +// could decode all the frames for full frame rate output or only the I and +// P frames (lowest temporal layer) for a half frame rate output. +const ( + // H265TemporalIdsDisabled is a H265TemporalIds enum value + H265TemporalIdsDisabled = "DISABLED" + + // H265TemporalIdsEnabled is a H265TemporalIds enum value + H265TemporalIdsEnabled = "ENABLED" +) + +// Enable use of tiles, allowing horizontal as well as vertical subdivision +// of the encoded pictures. +const ( + // H265TilesDisabled is a H265Tiles enum value + H265TilesDisabled = "DISABLED" + + // H265TilesEnabled is a H265Tiles enum value + H265TilesEnabled = "ENABLED" +) + +// Inserts timecode for each frame as 4 bytes of an unregistered SEI message. +const ( + // H265UnregisteredSeiTimecodeDisabled is a H265UnregisteredSeiTimecode enum value + H265UnregisteredSeiTimecodeDisabled = "DISABLED" + + // H265UnregisteredSeiTimecodeEnabled is a H265UnregisteredSeiTimecode enum value + H265UnregisteredSeiTimecodeEnabled = "ENABLED" +) + +// Use this setting only for outputs encoded with H.265 that are in CMAF or +// DASH output groups. If you include writeMp4PackagingType in your JSON job +// specification for other outputs, your video might not work properly with +// downstream systems and video players. If the location of parameter set NAL +// units don't matter in your workflow, ignore this setting. The service defaults +// to marking your output as HEV1. Choose HVC1 to mark your output as HVC1. +// This makes your output compliant with this specification: ISO IECJTC1 SC29 +// N13798 Text ISO/IEC FDIS 14496-15 3rd Edition. For these outputs, the service +// stores parameter set NAL units in the sample headers but not in the samples +// directly. Keep the default HEV1 to mark your output as HEV1. For these outputs, +// the service writes parameter set NAL units directly into the samples. +const ( + // H265WriteMp4PackagingTypeHvc1 is a H265WriteMp4PackagingType enum value + H265WriteMp4PackagingTypeHvc1 = "HVC1" + + // H265WriteMp4PackagingTypeHev1 is a H265WriteMp4PackagingType enum value + H265WriteMp4PackagingTypeHev1 = "HEV1" +) + +const ( + // HlsAdMarkersElemental is a HlsAdMarkers enum value + HlsAdMarkersElemental = "ELEMENTAL" + + // HlsAdMarkersElementalScte35 is a HlsAdMarkers enum value + HlsAdMarkersElementalScte35 = "ELEMENTAL_SCTE35" +) + +// Four types of audio-only tracks are supported: Audio-Only Variant Stream +// The client can play back this audio-only stream instead of video in low-bandwidth +// scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate +// Audio, Auto Select, Default Alternate rendition that the client should try +// to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest +// with DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default +// Alternate rendition that the client may try to play back by default. Represented +// as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate +// Audio, not Auto Select Alternate rendition that the client will not try to +// play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with +// DEFAULT=NO, AUTOSELECT=NO +const ( + // HlsAudioTrackTypeAlternateAudioAutoSelectDefault is a HlsAudioTrackType enum value + HlsAudioTrackTypeAlternateAudioAutoSelectDefault = "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT" + + // HlsAudioTrackTypeAlternateAudioAutoSelect is a HlsAudioTrackType enum value + HlsAudioTrackTypeAlternateAudioAutoSelect = "ALTERNATE_AUDIO_AUTO_SELECT" + + // HlsAudioTrackTypeAlternateAudioNotAutoSelect is a HlsAudioTrackType enum value + HlsAudioTrackTypeAlternateAudioNotAutoSelect = "ALTERNATE_AUDIO_NOT_AUTO_SELECT" + + // HlsAudioTrackTypeAudioOnlyVariantStream is a HlsAudioTrackType enum value + HlsAudioTrackTypeAudioOnlyVariantStream = "AUDIO_ONLY_VARIANT_STREAM" +) + +// Applies only to 608 Embedded output captions. Insert: Include CLOSED-CAPTIONS +// lines in the manifest. Specify at least one language in the CC1 Language +// Code field. One CLOSED-CAPTION line is added for each Language Code you specify. +// Make sure to specify the languages in the order in which they appear in the +// original source (if the source is embedded format) or the order of the caption +// selectors (if the source is other than embedded). Otherwise, languages in +// the manifest will not match up properly with the output captions. None: Include +// CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS +// line from the manifest. +const ( + // HlsCaptionLanguageSettingInsert is a HlsCaptionLanguageSetting enum value + HlsCaptionLanguageSettingInsert = "INSERT" + + // HlsCaptionLanguageSettingOmit is a HlsCaptionLanguageSetting enum value + HlsCaptionLanguageSettingOmit = "OMIT" + + // HlsCaptionLanguageSettingNone is a HlsCaptionLanguageSetting enum value + HlsCaptionLanguageSettingNone = "NONE" +) + +// When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client +// from saving media segments for later replay. +const ( + // HlsClientCacheDisabled is a HlsClientCache enum value + HlsClientCacheDisabled = "DISABLED" + + // HlsClientCacheEnabled is a HlsClientCache enum value + HlsClientCacheEnabled = "ENABLED" +) + +// Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist +// generation. +const ( + // HlsCodecSpecificationRfc6381 is a HlsCodecSpecification enum value + HlsCodecSpecificationRfc6381 = "RFC_6381" + + // HlsCodecSpecificationRfc4281 is a HlsCodecSpecification enum value + HlsCodecSpecificationRfc4281 = "RFC_4281" +) + +// Indicates whether segments should be placed in subdirectories. +const ( + // HlsDirectoryStructureSingleDirectory is a HlsDirectoryStructure enum value + HlsDirectoryStructureSingleDirectory = "SINGLE_DIRECTORY" + + // HlsDirectoryStructureSubdirectoryPerStream is a HlsDirectoryStructure enum value + HlsDirectoryStructureSubdirectoryPerStream = "SUBDIRECTORY_PER_STREAM" +) + +// Encrypts the segments with the given encryption scheme. Leave blank to disable. +// Selecting 'Disabled' in the web interface also disables encryption. +const ( + // HlsEncryptionTypeAes128 is a HlsEncryptionType enum value + HlsEncryptionTypeAes128 = "AES128" + + // HlsEncryptionTypeSampleAes is a HlsEncryptionType enum value + HlsEncryptionTypeSampleAes = "SAMPLE_AES" +) + +// When set to INCLUDE, writes I-Frame Only Manifest in addition to the HLS +// manifest +const ( + // HlsIFrameOnlyManifestInclude is a HlsIFrameOnlyManifest enum value + HlsIFrameOnlyManifestInclude = "INCLUDE" + + // HlsIFrameOnlyManifestExclude is a HlsIFrameOnlyManifest enum value + HlsIFrameOnlyManifestExclude = "EXCLUDE" +) + +// The Initialization Vector is a 128-bit number used in conjunction with the +// key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed +// in the manifest. Otherwise Initialization Vector is not in the manifest. +const ( + // HlsInitializationVectorInManifestInclude is a HlsInitializationVectorInManifest enum value + HlsInitializationVectorInManifestInclude = "INCLUDE" + + // HlsInitializationVectorInManifestExclude is a HlsInitializationVectorInManifest enum value + HlsInitializationVectorInManifestExclude = "EXCLUDE" +) + +// Indicates which type of key provider is used for encryption. +const ( + // HlsKeyProviderTypeSpeke is a HlsKeyProviderType enum value + HlsKeyProviderTypeSpeke = "SPEKE" + + // HlsKeyProviderTypeStaticKey is a HlsKeyProviderType enum value + HlsKeyProviderTypeStaticKey = "STATIC_KEY" +) + +// When set to GZIP, compresses HLS playlist. +const ( + // HlsManifestCompressionGzip is a HlsManifestCompression enum value + HlsManifestCompressionGzip = "GZIP" + + // HlsManifestCompressionNone is a HlsManifestCompression enum value + HlsManifestCompressionNone = "NONE" +) + +// Indicates whether the output manifest should use floating point values for +// segment duration. +const ( + // HlsManifestDurationFormatFloatingPoint is a HlsManifestDurationFormat enum value + HlsManifestDurationFormatFloatingPoint = "FLOATING_POINT" + + // HlsManifestDurationFormatInteger is a HlsManifestDurationFormat enum value + HlsManifestDurationFormatInteger = "INTEGER" +) + +// Enable this setting to insert the EXT-X-SESSION-KEY element into the master +// playlist. This allows for offline Apple HLS FairPlay content protection. +const ( + // HlsOfflineEncryptedEnabled is a HlsOfflineEncrypted enum value + HlsOfflineEncryptedEnabled = "ENABLED" + + // HlsOfflineEncryptedDisabled is a HlsOfflineEncrypted enum value + HlsOfflineEncryptedDisabled = "DISABLED" +) + +// Indicates whether the .m3u8 manifest file should be generated for this HLS +// output group. +const ( + // HlsOutputSelectionManifestsAndSegments is a HlsOutputSelection enum value + HlsOutputSelectionManifestsAndSegments = "MANIFESTS_AND_SEGMENTS" + + // HlsOutputSelectionSegmentsOnly is a HlsOutputSelection enum value + HlsOutputSelectionSegmentsOnly = "SEGMENTS_ONLY" +) + +// Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. +// The value is calculated as follows: either the program date and time are +// initialized using the input timecode source, or the time is initialized using +// the input timecode source and the date is initialized using the timestamp_offset. +const ( + // HlsProgramDateTimeInclude is a HlsProgramDateTime enum value + HlsProgramDateTimeInclude = "INCLUDE" + + // HlsProgramDateTimeExclude is a HlsProgramDateTime enum value + HlsProgramDateTimeExclude = "EXCLUDE" +) + +// When set to SINGLE_FILE, emits program as a single media resource (.ts) file, +// uses #EXT-X-BYTERANGE tags to index segment for playback. +const ( + // HlsSegmentControlSingleFile is a HlsSegmentControl enum value + HlsSegmentControlSingleFile = "SINGLE_FILE" + + // HlsSegmentControlSegmentedFiles is a HlsSegmentControl enum value + HlsSegmentControlSegmentedFiles = "SEGMENTED_FILES" +) + +// Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag +// of variant manifest. +const ( + // HlsStreamInfResolutionInclude is a HlsStreamInfResolution enum value + HlsStreamInfResolutionInclude = "INCLUDE" + + // HlsStreamInfResolutionExclude is a HlsStreamInfResolution enum value + HlsStreamInfResolutionExclude = "EXCLUDE" +) + +// Indicates ID3 frame that has the timecode. +const ( + // HlsTimedMetadataId3FrameNone is a HlsTimedMetadataId3Frame enum value + HlsTimedMetadataId3FrameNone = "NONE" + + // HlsTimedMetadataId3FramePriv is a HlsTimedMetadataId3Frame enum value + HlsTimedMetadataId3FramePriv = "PRIV" + + // HlsTimedMetadataId3FrameTdrl is a HlsTimedMetadataId3Frame enum value + HlsTimedMetadataId3FrameTdrl = "TDRL" +) + +// Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. +// Default is disabled. Only manaully controllable for MPEG2 and uncompressed +// video inputs. +const ( + // InputDeblockFilterEnabled is a InputDeblockFilter enum value + InputDeblockFilterEnabled = "ENABLED" + + // InputDeblockFilterDisabled is a InputDeblockFilter enum value + InputDeblockFilterDisabled = "DISABLED" +) + +// Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default +// is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video +// inputs. +const ( + // InputDenoiseFilterEnabled is a InputDenoiseFilter enum value + InputDenoiseFilterEnabled = "ENABLED" + + // InputDenoiseFilterDisabled is a InputDenoiseFilter enum value + InputDenoiseFilterDisabled = "DISABLED" +) + +// Use Filter enable (InputFilterEnable) to specify how the transcoding service +// applies the denoise and deblock filters. You must also enable the filters +// separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). +// * Auto - The transcoding service determines whether to apply filtering, depending +// on input type and quality. * Disable - The input is not filtered. This is +// true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). +// * Force - The in put is filtered regardless of input type. +const ( + // InputFilterEnableAuto is a InputFilterEnable enum value + InputFilterEnableAuto = "AUTO" + + // InputFilterEnableDisable is a InputFilterEnable enum value + InputFilterEnableDisable = "DISABLE" + + // InputFilterEnableForce is a InputFilterEnable enum value + InputFilterEnableForce = "FORCE" +) + +// Set PSI control (InputPsiControl) for transport stream inputs to specify +// which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio +// and video. * Use PSI - Scan only PSI data. +const ( + // InputPsiControlIgnorePsi is a InputPsiControl enum value + InputPsiControlIgnorePsi = "IGNORE_PSI" + + // InputPsiControlUsePsi is a InputPsiControl enum value + InputPsiControlUsePsi = "USE_PSI" +) + +// Use Rotate (InputRotate) to specify how the service rotates your video. You +// can choose automatic rotation or specify a rotation. You can specify a clockwise +// rotation of 0, 90, 180, or 270 degrees. If your input video container is +// .mov or .mp4 and your input has rotation metadata, you can choose Automatic +// to have the service rotate your video according to the rotation specified +// in the metadata. The rotation must be within one degree of 90, 180, or 270 +// degrees. If the rotation metadata specifies any other rotation, the service +// will default to no rotation. By default, the service does no rotation, even +// if your input video has rotation metadata. The service doesn't pass through +// rotation metadata. +const ( + // InputRotateDegree0 is a InputRotate enum value + InputRotateDegree0 = "DEGREE_0" + + // InputRotateDegrees90 is a InputRotate enum value + InputRotateDegrees90 = "DEGREES_90" + + // InputRotateDegrees180 is a InputRotate enum value + InputRotateDegrees180 = "DEGREES_180" + + // InputRotateDegrees270 is a InputRotate enum value + InputRotateDegrees270 = "DEGREES_270" + + // InputRotateAuto is a InputRotate enum value + InputRotateAuto = "AUTO" +) + +// Timecode source under input settings (InputTimecodeSource) only affects the +// behavior of features that apply to a single input at a time, such as input +// clipping and synchronizing some captions formats. Use this setting to specify +// whether the service counts frames by timecodes embedded in the video (EMBEDDED) +// or by starting the first frame at zero (ZEROBASED). In both cases, the timecode +// format is HH:MM:SS:FF or HH:MM:SS;FF, where FF is the frame number. Only +// set this to EMBEDDED if your source video has embedded timecodes. +const ( + // InputTimecodeSourceEmbedded is a InputTimecodeSource enum value + InputTimecodeSourceEmbedded = "EMBEDDED" + + // InputTimecodeSourceZerobased is a InputTimecodeSource enum value + InputTimecodeSourceZerobased = "ZEROBASED" + + // InputTimecodeSourceSpecifiedstart is a InputTimecodeSource enum value + InputTimecodeSourceSpecifiedstart = "SPECIFIEDSTART" +) + +// A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR. +const ( + // JobStatusSubmitted is a JobStatus enum value + JobStatusSubmitted = "SUBMITTED" + + // JobStatusProgressing is a JobStatus enum value + JobStatusProgressing = "PROGRESSING" + + // JobStatusComplete is a JobStatus enum value + JobStatusComplete = "COMPLETE" + + // JobStatusCanceled is a JobStatus enum value + JobStatusCanceled = "CANCELED" + + // JobStatusError is a JobStatus enum value + JobStatusError = "ERROR" +) + +// Optional. When you request a list of job templates, you can choose to list +// them alphabetically by NAME or chronologically by CREATION_DATE. If you don't +// specify, the service will list them by name. +const ( + // JobTemplateListByName is a JobTemplateListBy enum value + JobTemplateListByName = "NAME" + + // JobTemplateListByCreationDate is a JobTemplateListBy enum value + JobTemplateListByCreationDate = "CREATION_DATE" + + // JobTemplateListBySystem is a JobTemplateListBy enum value + JobTemplateListBySystem = "SYSTEM" +) + +// Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php. +const ( + // LanguageCodeEng is a LanguageCode enum value + LanguageCodeEng = "ENG" + + // LanguageCodeSpa is a LanguageCode enum value + LanguageCodeSpa = "SPA" + + // LanguageCodeFra is a LanguageCode enum value + LanguageCodeFra = "FRA" + + // LanguageCodeDeu is a LanguageCode enum value + LanguageCodeDeu = "DEU" + + // LanguageCodeGer is a LanguageCode enum value + LanguageCodeGer = "GER" + + // LanguageCodeZho is a LanguageCode enum value + LanguageCodeZho = "ZHO" + + // LanguageCodeAra is a LanguageCode enum value + LanguageCodeAra = "ARA" + + // LanguageCodeHin is a LanguageCode enum value + LanguageCodeHin = "HIN" + + // LanguageCodeJpn is a LanguageCode enum value + LanguageCodeJpn = "JPN" + + // LanguageCodeRus is a LanguageCode enum value + LanguageCodeRus = "RUS" + + // LanguageCodePor is a LanguageCode enum value + LanguageCodePor = "POR" + + // LanguageCodeIta is a LanguageCode enum value + LanguageCodeIta = "ITA" + + // LanguageCodeUrd is a LanguageCode enum value + LanguageCodeUrd = "URD" + + // LanguageCodeVie is a LanguageCode enum value + LanguageCodeVie = "VIE" + + // LanguageCodeKor is a LanguageCode enum value + LanguageCodeKor = "KOR" + + // LanguageCodePan is a LanguageCode enum value + LanguageCodePan = "PAN" + + // LanguageCodeAbk is a LanguageCode enum value + LanguageCodeAbk = "ABK" + + // LanguageCodeAar is a LanguageCode enum value + LanguageCodeAar = "AAR" + + // LanguageCodeAfr is a LanguageCode enum value + LanguageCodeAfr = "AFR" + + // LanguageCodeAka is a LanguageCode enum value + LanguageCodeAka = "AKA" + + // LanguageCodeSqi is a LanguageCode enum value + LanguageCodeSqi = "SQI" + + // LanguageCodeAmh is a LanguageCode enum value + LanguageCodeAmh = "AMH" + + // LanguageCodeArg is a LanguageCode enum value + LanguageCodeArg = "ARG" + + // LanguageCodeHye is a LanguageCode enum value + LanguageCodeHye = "HYE" + + // LanguageCodeAsm is a LanguageCode enum value + LanguageCodeAsm = "ASM" + + // LanguageCodeAva is a LanguageCode enum value + LanguageCodeAva = "AVA" + + // LanguageCodeAve is a LanguageCode enum value + LanguageCodeAve = "AVE" + + // LanguageCodeAym is a LanguageCode enum value + LanguageCodeAym = "AYM" + + // LanguageCodeAze is a LanguageCode enum value + LanguageCodeAze = "AZE" + + // LanguageCodeBam is a LanguageCode enum value + LanguageCodeBam = "BAM" + + // LanguageCodeBak is a LanguageCode enum value + LanguageCodeBak = "BAK" + + // LanguageCodeEus is a LanguageCode enum value + LanguageCodeEus = "EUS" + + // LanguageCodeBel is a LanguageCode enum value + LanguageCodeBel = "BEL" + + // LanguageCodeBen is a LanguageCode enum value + LanguageCodeBen = "BEN" + + // LanguageCodeBih is a LanguageCode enum value + LanguageCodeBih = "BIH" + + // LanguageCodeBis is a LanguageCode enum value + LanguageCodeBis = "BIS" + + // LanguageCodeBos is a LanguageCode enum value + LanguageCodeBos = "BOS" + + // LanguageCodeBre is a LanguageCode enum value + LanguageCodeBre = "BRE" + + // LanguageCodeBul is a LanguageCode enum value + LanguageCodeBul = "BUL" + + // LanguageCodeMya is a LanguageCode enum value + LanguageCodeMya = "MYA" + + // LanguageCodeCat is a LanguageCode enum value + LanguageCodeCat = "CAT" + + // LanguageCodeKhm is a LanguageCode enum value + LanguageCodeKhm = "KHM" + + // LanguageCodeCha is a LanguageCode enum value + LanguageCodeCha = "CHA" + + // LanguageCodeChe is a LanguageCode enum value + LanguageCodeChe = "CHE" + + // LanguageCodeNya is a LanguageCode enum value + LanguageCodeNya = "NYA" + + // LanguageCodeChu is a LanguageCode enum value + LanguageCodeChu = "CHU" + + // LanguageCodeChv is a LanguageCode enum value + LanguageCodeChv = "CHV" + + // LanguageCodeCor is a LanguageCode enum value + LanguageCodeCor = "COR" + + // LanguageCodeCos is a LanguageCode enum value + LanguageCodeCos = "COS" + + // LanguageCodeCre is a LanguageCode enum value + LanguageCodeCre = "CRE" + + // LanguageCodeHrv is a LanguageCode enum value + LanguageCodeHrv = "HRV" + + // LanguageCodeCes is a LanguageCode enum value + LanguageCodeCes = "CES" + + // LanguageCodeDan is a LanguageCode enum value + LanguageCodeDan = "DAN" + + // LanguageCodeDiv is a LanguageCode enum value + LanguageCodeDiv = "DIV" + + // LanguageCodeNld is a LanguageCode enum value + LanguageCodeNld = "NLD" + + // LanguageCodeDzo is a LanguageCode enum value + LanguageCodeDzo = "DZO" + + // LanguageCodeEnm is a LanguageCode enum value + LanguageCodeEnm = "ENM" + + // LanguageCodeEpo is a LanguageCode enum value + LanguageCodeEpo = "EPO" + + // LanguageCodeEst is a LanguageCode enum value + LanguageCodeEst = "EST" + + // LanguageCodeEwe is a LanguageCode enum value + LanguageCodeEwe = "EWE" + + // LanguageCodeFao is a LanguageCode enum value + LanguageCodeFao = "FAO" + + // LanguageCodeFij is a LanguageCode enum value + LanguageCodeFij = "FIJ" + + // LanguageCodeFin is a LanguageCode enum value + LanguageCodeFin = "FIN" + + // LanguageCodeFrm is a LanguageCode enum value + LanguageCodeFrm = "FRM" + + // LanguageCodeFul is a LanguageCode enum value + LanguageCodeFul = "FUL" + + // LanguageCodeGla is a LanguageCode enum value + LanguageCodeGla = "GLA" + + // LanguageCodeGlg is a LanguageCode enum value + LanguageCodeGlg = "GLG" + + // LanguageCodeLug is a LanguageCode enum value + LanguageCodeLug = "LUG" + + // LanguageCodeKat is a LanguageCode enum value + LanguageCodeKat = "KAT" + + // LanguageCodeEll is a LanguageCode enum value + LanguageCodeEll = "ELL" + + // LanguageCodeGrn is a LanguageCode enum value + LanguageCodeGrn = "GRN" + + // LanguageCodeGuj is a LanguageCode enum value + LanguageCodeGuj = "GUJ" + + // LanguageCodeHat is a LanguageCode enum value + LanguageCodeHat = "HAT" + + // LanguageCodeHau is a LanguageCode enum value + LanguageCodeHau = "HAU" + + // LanguageCodeHeb is a LanguageCode enum value + LanguageCodeHeb = "HEB" + + // LanguageCodeHer is a LanguageCode enum value + LanguageCodeHer = "HER" + + // LanguageCodeHmo is a LanguageCode enum value + LanguageCodeHmo = "HMO" + + // LanguageCodeHun is a LanguageCode enum value + LanguageCodeHun = "HUN" + + // LanguageCodeIsl is a LanguageCode enum value + LanguageCodeIsl = "ISL" + + // LanguageCodeIdo is a LanguageCode enum value + LanguageCodeIdo = "IDO" + + // LanguageCodeIbo is a LanguageCode enum value + LanguageCodeIbo = "IBO" + + // LanguageCodeInd is a LanguageCode enum value + LanguageCodeInd = "IND" + + // LanguageCodeIna is a LanguageCode enum value + LanguageCodeIna = "INA" + + // LanguageCodeIle is a LanguageCode enum value + LanguageCodeIle = "ILE" + + // LanguageCodeIku is a LanguageCode enum value + LanguageCodeIku = "IKU" + + // LanguageCodeIpk is a LanguageCode enum value + LanguageCodeIpk = "IPK" + + // LanguageCodeGle is a LanguageCode enum value + LanguageCodeGle = "GLE" + + // LanguageCodeJav is a LanguageCode enum value + LanguageCodeJav = "JAV" + + // LanguageCodeKal is a LanguageCode enum value + LanguageCodeKal = "KAL" + + // LanguageCodeKan is a LanguageCode enum value + LanguageCodeKan = "KAN" + + // LanguageCodeKau is a LanguageCode enum value + LanguageCodeKau = "KAU" + + // LanguageCodeKas is a LanguageCode enum value + LanguageCodeKas = "KAS" + + // LanguageCodeKaz is a LanguageCode enum value + LanguageCodeKaz = "KAZ" + + // LanguageCodeKik is a LanguageCode enum value + LanguageCodeKik = "KIK" + + // LanguageCodeKin is a LanguageCode enum value + LanguageCodeKin = "KIN" + + // LanguageCodeKir is a LanguageCode enum value + LanguageCodeKir = "KIR" + + // LanguageCodeKom is a LanguageCode enum value + LanguageCodeKom = "KOM" + + // LanguageCodeKon is a LanguageCode enum value + LanguageCodeKon = "KON" + + // LanguageCodeKua is a LanguageCode enum value + LanguageCodeKua = "KUA" + + // LanguageCodeKur is a LanguageCode enum value + LanguageCodeKur = "KUR" + + // LanguageCodeLao is a LanguageCode enum value + LanguageCodeLao = "LAO" + + // LanguageCodeLat is a LanguageCode enum value + LanguageCodeLat = "LAT" + + // LanguageCodeLav is a LanguageCode enum value + LanguageCodeLav = "LAV" + + // LanguageCodeLim is a LanguageCode enum value + LanguageCodeLim = "LIM" + + // LanguageCodeLin is a LanguageCode enum value + LanguageCodeLin = "LIN" + + // LanguageCodeLit is a LanguageCode enum value + LanguageCodeLit = "LIT" + + // LanguageCodeLub is a LanguageCode enum value + LanguageCodeLub = "LUB" + + // LanguageCodeLtz is a LanguageCode enum value + LanguageCodeLtz = "LTZ" + + // LanguageCodeMkd is a LanguageCode enum value + LanguageCodeMkd = "MKD" + + // LanguageCodeMlg is a LanguageCode enum value + LanguageCodeMlg = "MLG" + + // LanguageCodeMsa is a LanguageCode enum value + LanguageCodeMsa = "MSA" + + // LanguageCodeMal is a LanguageCode enum value + LanguageCodeMal = "MAL" + + // LanguageCodeMlt is a LanguageCode enum value + LanguageCodeMlt = "MLT" + + // LanguageCodeGlv is a LanguageCode enum value + LanguageCodeGlv = "GLV" + + // LanguageCodeMri is a LanguageCode enum value + LanguageCodeMri = "MRI" + + // LanguageCodeMar is a LanguageCode enum value + LanguageCodeMar = "MAR" + + // LanguageCodeMah is a LanguageCode enum value + LanguageCodeMah = "MAH" + + // LanguageCodeMon is a LanguageCode enum value + LanguageCodeMon = "MON" + + // LanguageCodeNau is a LanguageCode enum value + LanguageCodeNau = "NAU" + + // LanguageCodeNav is a LanguageCode enum value + LanguageCodeNav = "NAV" + + // LanguageCodeNde is a LanguageCode enum value + LanguageCodeNde = "NDE" + + // LanguageCodeNbl is a LanguageCode enum value + LanguageCodeNbl = "NBL" + + // LanguageCodeNdo is a LanguageCode enum value + LanguageCodeNdo = "NDO" + + // LanguageCodeNep is a LanguageCode enum value + LanguageCodeNep = "NEP" + + // LanguageCodeSme is a LanguageCode enum value + LanguageCodeSme = "SME" + + // LanguageCodeNor is a LanguageCode enum value + LanguageCodeNor = "NOR" + + // LanguageCodeNob is a LanguageCode enum value + LanguageCodeNob = "NOB" + + // LanguageCodeNno is a LanguageCode enum value + LanguageCodeNno = "NNO" + + // LanguageCodeOci is a LanguageCode enum value + LanguageCodeOci = "OCI" + + // LanguageCodeOji is a LanguageCode enum value + LanguageCodeOji = "OJI" + + // LanguageCodeOri is a LanguageCode enum value + LanguageCodeOri = "ORI" + + // LanguageCodeOrm is a LanguageCode enum value + LanguageCodeOrm = "ORM" + + // LanguageCodeOss is a LanguageCode enum value + LanguageCodeOss = "OSS" + + // LanguageCodePli is a LanguageCode enum value + LanguageCodePli = "PLI" + + // LanguageCodeFas is a LanguageCode enum value + LanguageCodeFas = "FAS" + + // LanguageCodePol is a LanguageCode enum value + LanguageCodePol = "POL" + + // LanguageCodePus is a LanguageCode enum value + LanguageCodePus = "PUS" + + // LanguageCodeQue is a LanguageCode enum value + LanguageCodeQue = "QUE" + + // LanguageCodeQaa is a LanguageCode enum value + LanguageCodeQaa = "QAA" + + // LanguageCodeRon is a LanguageCode enum value + LanguageCodeRon = "RON" + + // LanguageCodeRoh is a LanguageCode enum value + LanguageCodeRoh = "ROH" + + // LanguageCodeRun is a LanguageCode enum value + LanguageCodeRun = "RUN" + + // LanguageCodeSmo is a LanguageCode enum value + LanguageCodeSmo = "SMO" + + // LanguageCodeSag is a LanguageCode enum value + LanguageCodeSag = "SAG" + + // LanguageCodeSan is a LanguageCode enum value + LanguageCodeSan = "SAN" + + // LanguageCodeSrd is a LanguageCode enum value + LanguageCodeSrd = "SRD" + + // LanguageCodeSrb is a LanguageCode enum value + LanguageCodeSrb = "SRB" + + // LanguageCodeSna is a LanguageCode enum value + LanguageCodeSna = "SNA" + + // LanguageCodeIii is a LanguageCode enum value + LanguageCodeIii = "III" + + // LanguageCodeSnd is a LanguageCode enum value + LanguageCodeSnd = "SND" + + // LanguageCodeSin is a LanguageCode enum value + LanguageCodeSin = "SIN" + + // LanguageCodeSlk is a LanguageCode enum value + LanguageCodeSlk = "SLK" + + // LanguageCodeSlv is a LanguageCode enum value + LanguageCodeSlv = "SLV" + + // LanguageCodeSom is a LanguageCode enum value + LanguageCodeSom = "SOM" + + // LanguageCodeSot is a LanguageCode enum value + LanguageCodeSot = "SOT" + + // LanguageCodeSun is a LanguageCode enum value + LanguageCodeSun = "SUN" + + // LanguageCodeSwa is a LanguageCode enum value + LanguageCodeSwa = "SWA" + + // LanguageCodeSsw is a LanguageCode enum value + LanguageCodeSsw = "SSW" + + // LanguageCodeSwe is a LanguageCode enum value + LanguageCodeSwe = "SWE" + + // LanguageCodeTgl is a LanguageCode enum value + LanguageCodeTgl = "TGL" + + // LanguageCodeTah is a LanguageCode enum value + LanguageCodeTah = "TAH" + + // LanguageCodeTgk is a LanguageCode enum value + LanguageCodeTgk = "TGK" + + // LanguageCodeTam is a LanguageCode enum value + LanguageCodeTam = "TAM" + + // LanguageCodeTat is a LanguageCode enum value + LanguageCodeTat = "TAT" + + // LanguageCodeTel is a LanguageCode enum value + LanguageCodeTel = "TEL" + + // LanguageCodeTha is a LanguageCode enum value + LanguageCodeTha = "THA" + + // LanguageCodeBod is a LanguageCode enum value + LanguageCodeBod = "BOD" + + // LanguageCodeTir is a LanguageCode enum value + LanguageCodeTir = "TIR" + + // LanguageCodeTon is a LanguageCode enum value + LanguageCodeTon = "TON" + + // LanguageCodeTso is a LanguageCode enum value + LanguageCodeTso = "TSO" + + // LanguageCodeTsn is a LanguageCode enum value + LanguageCodeTsn = "TSN" + + // LanguageCodeTur is a LanguageCode enum value + LanguageCodeTur = "TUR" + + // LanguageCodeTuk is a LanguageCode enum value + LanguageCodeTuk = "TUK" + + // LanguageCodeTwi is a LanguageCode enum value + LanguageCodeTwi = "TWI" + + // LanguageCodeUig is a LanguageCode enum value + LanguageCodeUig = "UIG" + + // LanguageCodeUkr is a LanguageCode enum value + LanguageCodeUkr = "UKR" + + // LanguageCodeUzb is a LanguageCode enum value + LanguageCodeUzb = "UZB" + + // LanguageCodeVen is a LanguageCode enum value + LanguageCodeVen = "VEN" + + // LanguageCodeVol is a LanguageCode enum value + LanguageCodeVol = "VOL" + + // LanguageCodeWln is a LanguageCode enum value + LanguageCodeWln = "WLN" + + // LanguageCodeCym is a LanguageCode enum value + LanguageCodeCym = "CYM" + + // LanguageCodeFry is a LanguageCode enum value + LanguageCodeFry = "FRY" + + // LanguageCodeWol is a LanguageCode enum value + LanguageCodeWol = "WOL" + + // LanguageCodeXho is a LanguageCode enum value + LanguageCodeXho = "XHO" + + // LanguageCodeYid is a LanguageCode enum value + LanguageCodeYid = "YID" + + // LanguageCodeYor is a LanguageCode enum value + LanguageCodeYor = "YOR" + + // LanguageCodeZha is a LanguageCode enum value + LanguageCodeZha = "ZHA" + + // LanguageCodeZul is a LanguageCode enum value + LanguageCodeZul = "ZUL" + + // LanguageCodeOrj is a LanguageCode enum value + LanguageCodeOrj = "ORJ" + + // LanguageCodeQpc is a LanguageCode enum value + LanguageCodeQpc = "QPC" + + // LanguageCodeTng is a LanguageCode enum value + LanguageCodeTng = "TNG" +) + +// Selects between the DVB and ATSC buffer models for Dolby Digital audio. +const ( + // M2tsAudioBufferModelDvb is a M2tsAudioBufferModel enum value + M2tsAudioBufferModelDvb = "DVB" + + // M2tsAudioBufferModelAtsc is a M2tsAudioBufferModel enum value + M2tsAudioBufferModelAtsc = "ATSC" +) + +// Controls what buffer model to use for accurate interleaving. If set to MULTIPLEX, +// use multiplex buffer model. If set to NONE, this can lead to lower latency, +// but low-memory devices may not be able to play back the stream without interruptions. +const ( + // M2tsBufferModelMultiplex is a M2tsBufferModel enum value + M2tsBufferModelMultiplex = "MULTIPLEX" + + // M2tsBufferModelNone is a M2tsBufferModel enum value + M2tsBufferModelNone = "NONE" +) + +// When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to +// partitions 3 and 4. The interval between these additional markers will be +// fixed, and will be slightly shorter than the video EBP marker interval. When +// set to VIDEO_INTERVAL, these additional markers will not be inserted. Only +// applicable when EBP segmentation markers are is selected (segmentationMarkers +// is EBP or EBP_LEGACY). +const ( + // M2tsEbpAudioIntervalVideoAndFixedIntervals is a M2tsEbpAudioInterval enum value + M2tsEbpAudioIntervalVideoAndFixedIntervals = "VIDEO_AND_FIXED_INTERVALS" + + // M2tsEbpAudioIntervalVideoInterval is a M2tsEbpAudioInterval enum value + M2tsEbpAudioIntervalVideoInterval = "VIDEO_INTERVAL" +) + +// Selects which PIDs to place EBP markers on. They can either be placed only +// on the video PID, or on both the video PID and all audio PIDs. Only applicable +// when EBP segmentation markers are is selected (segmentationMarkers is EBP +// or EBP_LEGACY). +const ( + // M2tsEbpPlacementVideoAndAudioPids is a M2tsEbpPlacement enum value + M2tsEbpPlacementVideoAndAudioPids = "VIDEO_AND_AUDIO_PIDS" + + // M2tsEbpPlacementVideoPid is a M2tsEbpPlacement enum value + M2tsEbpPlacementVideoPid = "VIDEO_PID" +) + +// Controls whether to include the ES Rate field in the PES header. +const ( + // M2tsEsRateInPesInclude is a M2tsEsRateInPes enum value + M2tsEsRateInPesInclude = "INCLUDE" + + // M2tsEsRateInPesExclude is a M2tsEsRateInPes enum value + M2tsEsRateInPesExclude = "EXCLUDE" +) + +// Keep the default value (DEFAULT) unless you know that your audio EBP markers +// are incorrectly appearing before your video EBP markers. To correct this +// problem, set this value to Force (FORCE). +const ( + // M2tsForceTsVideoEbpOrderForce is a M2tsForceTsVideoEbpOrder enum value + M2tsForceTsVideoEbpOrderForce = "FORCE" + + // M2tsForceTsVideoEbpOrderDefault is a M2tsForceTsVideoEbpOrder enum value + M2tsForceTsVideoEbpOrderDefault = "DEFAULT" +) + +// If INSERT, Nielsen inaudible tones for media tracking will be detected in +// the input audio and an equivalent ID3 tag will be inserted in the output. +const ( + // M2tsNielsenId3Insert is a M2tsNielsenId3 enum value + M2tsNielsenId3Insert = "INSERT" + + // M2tsNielsenId3None is a M2tsNielsenId3 enum value + M2tsNielsenId3None = "NONE" +) + +// When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted +// for every Packetized Elementary Stream (PES) header. This is effective only +// when the PCR PID is the same as the video or audio elementary stream. +const ( + // M2tsPcrControlPcrEveryPesPacket is a M2tsPcrControl enum value + M2tsPcrControlPcrEveryPesPacket = "PCR_EVERY_PES_PACKET" + + // M2tsPcrControlConfiguredPcrPeriod is a M2tsPcrControl enum value + M2tsPcrControlConfiguredPcrPeriod = "CONFIGURED_PCR_PERIOD" +) + +// When set to CBR, inserts null packets into transport stream to fill specified +// bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, +// but the output will not be padded up to that bitrate. +const ( + // M2tsRateModeVbr is a M2tsRateMode enum value + M2tsRateModeVbr = "VBR" + + // M2tsRateModeCbr is a M2tsRateMode enum value + M2tsRateModeCbr = "CBR" +) + +// Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from +// input to output. +const ( + // M2tsScte35SourcePassthrough is a M2tsScte35Source enum value + M2tsScte35SourcePassthrough = "PASSTHROUGH" + + // M2tsScte35SourceNone is a M2tsScte35Source enum value + M2tsScte35SourceNone = "NONE" +) + +// Inserts segmentation markers at each segmentation_time period. rai_segstart +// sets the Random Access Indicator bit in the adaptation field. rai_adapt sets +// the RAI bit and adds the current timecode in the private data bytes. psi_segstart +// inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary +// Point information to the adaptation field as per OpenCable specification +// OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information +// to the adaptation field using a legacy proprietary format. +const ( + // M2tsSegmentationMarkersNone is a M2tsSegmentationMarkers enum value + M2tsSegmentationMarkersNone = "NONE" + + // M2tsSegmentationMarkersRaiSegstart is a M2tsSegmentationMarkers enum value + M2tsSegmentationMarkersRaiSegstart = "RAI_SEGSTART" + + // M2tsSegmentationMarkersRaiAdapt is a M2tsSegmentationMarkers enum value + M2tsSegmentationMarkersRaiAdapt = "RAI_ADAPT" + + // M2tsSegmentationMarkersPsiSegstart is a M2tsSegmentationMarkers enum value + M2tsSegmentationMarkersPsiSegstart = "PSI_SEGSTART" + + // M2tsSegmentationMarkersEbp is a M2tsSegmentationMarkers enum value + M2tsSegmentationMarkersEbp = "EBP" + + // M2tsSegmentationMarkersEbpLegacy is a M2tsSegmentationMarkers enum value + M2tsSegmentationMarkersEbpLegacy = "EBP_LEGACY" +) + +// The segmentation style parameter controls how segmentation markers are inserted +// into the transport stream. With avails, it is possible that segments may +// be truncated, which can influence where future segmentation markers are inserted. +// When a segmentation style of "reset_cadence" is selected and a segment is +// truncated due to an avail, we will reset the segmentation cadence. This means +// the subsequent segment will have a duration of of $segmentation_time seconds. +// When a segmentation style of "maintain_cadence" is selected and a segment +// is truncated due to an avail, we will not reset the segmentation cadence. +// This means the subsequent segment will likely be truncated as well. However, +// all segments after that will have a duration of $segmentation_time seconds. +// Note that EBP lookahead is a slight exception to this rule. +const ( + // M2tsSegmentationStyleMaintainCadence is a M2tsSegmentationStyle enum value + M2tsSegmentationStyleMaintainCadence = "MAINTAIN_CADENCE" + + // M2tsSegmentationStyleResetCadence is a M2tsSegmentationStyle enum value + M2tsSegmentationStyleResetCadence = "RESET_CADENCE" +) + +// If INSERT, Nielsen inaudible tones for media tracking will be detected in +// the input audio and an equivalent ID3 tag will be inserted in the output. +const ( + // M3u8NielsenId3Insert is a M3u8NielsenId3 enum value + M3u8NielsenId3Insert = "INSERT" + + // M3u8NielsenId3None is a M3u8NielsenId3 enum value + M3u8NielsenId3None = "NONE" +) + +// When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted +// for every Packetized Elementary Stream (PES) header. This parameter is effective +// only when the PCR PID is the same as the video or audio elementary stream. +const ( + // M3u8PcrControlPcrEveryPesPacket is a M3u8PcrControl enum value + M3u8PcrControlPcrEveryPesPacket = "PCR_EVERY_PES_PACKET" + + // M3u8PcrControlConfiguredPcrPeriod is a M3u8PcrControl enum value + M3u8PcrControlConfiguredPcrPeriod = "CONFIGURED_PCR_PERIOD" +) + +// Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from +// input to output. +const ( + // M3u8Scte35SourcePassthrough is a M3u8Scte35Source enum value + M3u8Scte35SourcePassthrough = "PASSTHROUGH" + + // M3u8Scte35SourceNone is a M3u8Scte35Source enum value + M3u8Scte35SourceNone = "NONE" +) + +// Choose the type of motion graphic asset that you are providing for your overlay. +// You can choose either a .mov file or a series of .png files. +const ( + // MotionImageInsertionModeMov is a MotionImageInsertionMode enum value + MotionImageInsertionModeMov = "MOV" + + // MotionImageInsertionModePng is a MotionImageInsertionMode enum value + MotionImageInsertionModePng = "PNG" +) + +// Specify whether your motion graphic overlay repeats on a loop or plays only +// once. +const ( + // MotionImagePlaybackOnce is a MotionImagePlayback enum value + MotionImagePlaybackOnce = "ONCE" + + // MotionImagePlaybackRepeat is a MotionImagePlayback enum value + MotionImagePlaybackRepeat = "REPEAT" +) + +// When enabled, include 'clap' atom if appropriate for the video output settings. +const ( + // MovClapAtomInclude is a MovClapAtom enum value + MovClapAtomInclude = "INCLUDE" + + // MovClapAtomExclude is a MovClapAtom enum value + MovClapAtomExclude = "EXCLUDE" +) + +// When enabled, file composition times will start at zero, composition times +// in the 'ctts' (composition time to sample) box for B-frames will be negative, +// and a 'cslg' (composition shift least greatest) box will be included per +// 14496-1 amendment 1. This improves compatibility with Apple players and tools. +const ( + // MovCslgAtomInclude is a MovCslgAtom enum value + MovCslgAtomInclude = "INCLUDE" + + // MovCslgAtomExclude is a MovCslgAtom enum value + MovCslgAtomExclude = "EXCLUDE" +) + +// When set to XDCAM, writes MPEG2 video streams into the QuickTime file using +// XDCAM fourcc codes. This increases compatibility with Apple editors and players, +// but may decrease compatibility with other players. Only applicable when the +// video codec is MPEG2. +const ( + // MovMpeg2FourCCControlXdcam is a MovMpeg2FourCCControl enum value + MovMpeg2FourCCControlXdcam = "XDCAM" + + // MovMpeg2FourCCControlMpeg is a MovMpeg2FourCCControl enum value + MovMpeg2FourCCControlMpeg = "MPEG" +) + +// If set to OMNEON, inserts Omneon-compatible padding +const ( + // MovPaddingControlOmneon is a MovPaddingControl enum value + MovPaddingControlOmneon = "OMNEON" + + // MovPaddingControlNone is a MovPaddingControl enum value + MovPaddingControlNone = "NONE" +) + +// Always keep the default value (SELF_CONTAINED) for this setting. +const ( + // MovReferenceSelfContained is a MovReference enum value + MovReferenceSelfContained = "SELF_CONTAINED" + + // MovReferenceExternal is a MovReference enum value + MovReferenceExternal = "EXTERNAL" +) + +// When enabled, file composition times will start at zero, composition times +// in the 'ctts' (composition time to sample) box for B-frames will be negative, +// and a 'cslg' (composition shift least greatest) box will be included per +// 14496-1 amendment 1. This improves compatibility with Apple players and tools. +const ( + // Mp4CslgAtomInclude is a Mp4CslgAtom enum value + Mp4CslgAtomInclude = "INCLUDE" + + // Mp4CslgAtomExclude is a Mp4CslgAtom enum value + Mp4CslgAtomExclude = "EXCLUDE" +) + +// Inserts a free-space box immediately after the moov box. +const ( + // Mp4FreeSpaceBoxInclude is a Mp4FreeSpaceBox enum value + Mp4FreeSpaceBoxInclude = "INCLUDE" + + // Mp4FreeSpaceBoxExclude is a Mp4FreeSpaceBox enum value + Mp4FreeSpaceBoxExclude = "EXCLUDE" +) + +// If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning +// of the archive as required for progressive downloading. Otherwise it is placed +// normally at the end. +const ( + // Mp4MoovPlacementProgressiveDownload is a Mp4MoovPlacement enum value + Mp4MoovPlacementProgressiveDownload = "PROGRESSIVE_DOWNLOAD" + + // Mp4MoovPlacementNormal is a Mp4MoovPlacement enum value + Mp4MoovPlacementNormal = "NORMAL" +) + +// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual +// quality. +const ( + // Mpeg2AdaptiveQuantizationOff is a Mpeg2AdaptiveQuantization enum value + Mpeg2AdaptiveQuantizationOff = "OFF" + + // Mpeg2AdaptiveQuantizationLow is a Mpeg2AdaptiveQuantization enum value + Mpeg2AdaptiveQuantizationLow = "LOW" + + // Mpeg2AdaptiveQuantizationMedium is a Mpeg2AdaptiveQuantization enum value + Mpeg2AdaptiveQuantizationMedium = "MEDIUM" + + // Mpeg2AdaptiveQuantizationHigh is a Mpeg2AdaptiveQuantization enum value + Mpeg2AdaptiveQuantizationHigh = "HIGH" +) + +// Use Level (Mpeg2CodecLevel) to set the MPEG-2 level for the video output. +const ( + // Mpeg2CodecLevelAuto is a Mpeg2CodecLevel enum value + Mpeg2CodecLevelAuto = "AUTO" + + // Mpeg2CodecLevelLow is a Mpeg2CodecLevel enum value + Mpeg2CodecLevelLow = "LOW" + + // Mpeg2CodecLevelMain is a Mpeg2CodecLevel enum value + Mpeg2CodecLevelMain = "MAIN" + + // Mpeg2CodecLevelHigh1440 is a Mpeg2CodecLevel enum value + Mpeg2CodecLevelHigh1440 = "HIGH1440" + + // Mpeg2CodecLevelHigh is a Mpeg2CodecLevel enum value + Mpeg2CodecLevelHigh = "HIGH" +) + +// Use Profile (Mpeg2CodecProfile) to set the MPEG-2 profile for the video output. +const ( + // Mpeg2CodecProfileMain is a Mpeg2CodecProfile enum value + Mpeg2CodecProfileMain = "MAIN" + + // Mpeg2CodecProfileProfile422 is a Mpeg2CodecProfile enum value + Mpeg2CodecProfileProfile422 = "PROFILE_422" +) + +// Choose Adaptive to improve subjective video quality for high-motion content. +// This will cause the service to use fewer B-frames (which infer information +// based on other frames) for high-motion portions of the video and more B-frames +// for low-motion portions. The maximum number of B-frames is limited by the +// value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames). +const ( + // Mpeg2DynamicSubGopAdaptive is a Mpeg2DynamicSubGop enum value + Mpeg2DynamicSubGopAdaptive = "ADAPTIVE" + + // Mpeg2DynamicSubGopStatic is a Mpeg2DynamicSubGop enum value + Mpeg2DynamicSubGopStatic = "STATIC" +) + +// If you are using the console, use the Framerate setting to specify the frame +// rate for this output. If you want to keep the same frame rate as the input +// video, choose Follow source. If you want to do frame rate conversion, choose +// a frame rate from the dropdown list or choose Custom. The framerates shown +// in the dropdown list are decimal approximations of fractions. If you choose +// Custom, specify your frame rate as a fraction. If you are creating your transcoding +// job sepecification as a JSON file without the console, use FramerateControl +// to specify which value the service uses for the frame rate for this output. +// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate +// from the input. Choose SPECIFIED if you want the service to use the frame +// rate you specify in the settings FramerateNumerator and FramerateDenominator. +const ( + // Mpeg2FramerateControlInitializeFromSource is a Mpeg2FramerateControl enum value + Mpeg2FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // Mpeg2FramerateControlSpecified is a Mpeg2FramerateControl enum value + Mpeg2FramerateControlSpecified = "SPECIFIED" +) + +// When set to INTERPOLATE, produces smoother motion during frame rate conversion. +const ( + // Mpeg2FramerateConversionAlgorithmDuplicateDrop is a Mpeg2FramerateConversionAlgorithm enum value + Mpeg2FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" + + // Mpeg2FramerateConversionAlgorithmInterpolate is a Mpeg2FramerateConversionAlgorithm enum value + Mpeg2FramerateConversionAlgorithmInterpolate = "INTERPOLATE" +) + +// Indicates if the GOP Size in MPEG2 is specified in frames or seconds. If +// seconds the system will convert the GOP Size into a frame count at run time. +const ( + // Mpeg2GopSizeUnitsFrames is a Mpeg2GopSizeUnits enum value + Mpeg2GopSizeUnitsFrames = "FRAMES" + + // Mpeg2GopSizeUnitsSeconds is a Mpeg2GopSizeUnits enum value + Mpeg2GopSizeUnitsSeconds = "SECONDS" +) + +// Use Interlace mode (InterlaceMode) to choose the scan line type for the output. +// * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce +// interlaced output with the entire output having the same field polarity (top +// or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default +// Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, +// behavior depends on the input scan type. - If the source is interlaced, the +// output will be interlaced with the same polarity as the source (it will follow +// the source). The output could therefore be a mix of "top field first" and +// "bottom field first". - If the source is progressive, the output will be +// interlaced with "top field first" or "bottom field first" polarity, depending +// on which of the Follow options you chose. +const ( + // Mpeg2InterlaceModeProgressive is a Mpeg2InterlaceMode enum value + Mpeg2InterlaceModeProgressive = "PROGRESSIVE" + + // Mpeg2InterlaceModeTopField is a Mpeg2InterlaceMode enum value + Mpeg2InterlaceModeTopField = "TOP_FIELD" + + // Mpeg2InterlaceModeBottomField is a Mpeg2InterlaceMode enum value + Mpeg2InterlaceModeBottomField = "BOTTOM_FIELD" + + // Mpeg2InterlaceModeFollowTopField is a Mpeg2InterlaceMode enum value + Mpeg2InterlaceModeFollowTopField = "FOLLOW_TOP_FIELD" + + // Mpeg2InterlaceModeFollowBottomField is a Mpeg2InterlaceMode enum value + Mpeg2InterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD" +) + +// Use Intra DC precision (Mpeg2IntraDcPrecision) to set quantization precision +// for intra-block DC coefficients. If you choose the value auto, the service +// will automatically select the precision based on the per-frame compression +// ratio. +const ( + // Mpeg2IntraDcPrecisionAuto is a Mpeg2IntraDcPrecision enum value + Mpeg2IntraDcPrecisionAuto = "AUTO" + + // Mpeg2IntraDcPrecisionIntraDcPrecision8 is a Mpeg2IntraDcPrecision enum value + Mpeg2IntraDcPrecisionIntraDcPrecision8 = "INTRA_DC_PRECISION_8" + + // Mpeg2IntraDcPrecisionIntraDcPrecision9 is a Mpeg2IntraDcPrecision enum value + Mpeg2IntraDcPrecisionIntraDcPrecision9 = "INTRA_DC_PRECISION_9" + + // Mpeg2IntraDcPrecisionIntraDcPrecision10 is a Mpeg2IntraDcPrecision enum value + Mpeg2IntraDcPrecisionIntraDcPrecision10 = "INTRA_DC_PRECISION_10" + + // Mpeg2IntraDcPrecisionIntraDcPrecision11 is a Mpeg2IntraDcPrecision enum value + Mpeg2IntraDcPrecisionIntraDcPrecision11 = "INTRA_DC_PRECISION_11" +) + +// Using the API, enable ParFollowSource if you want the service to use the +// pixel aspect ratio from the input. Using the console, do this by choosing +// Follow source for Pixel aspect ratio. +const ( + // Mpeg2ParControlInitializeFromSource is a Mpeg2ParControl enum value + Mpeg2ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // Mpeg2ParControlSpecified is a Mpeg2ParControl enum value + Mpeg2ParControlSpecified = "SPECIFIED" +) + +// Use Quality tuning level (Mpeg2QualityTuningLevel) to specifiy whether to +// use single-pass or multipass video encoding. +const ( + // Mpeg2QualityTuningLevelSinglePass is a Mpeg2QualityTuningLevel enum value + Mpeg2QualityTuningLevelSinglePass = "SINGLE_PASS" + + // Mpeg2QualityTuningLevelMultiPass is a Mpeg2QualityTuningLevel enum value + Mpeg2QualityTuningLevelMultiPass = "MULTI_PASS" +) + +// Use Rate control mode (Mpeg2RateControlMode) to specifiy whether the bitrate +// is variable (vbr) or constant (cbr). +const ( + // Mpeg2RateControlModeVbr is a Mpeg2RateControlMode enum value + Mpeg2RateControlModeVbr = "VBR" + + // Mpeg2RateControlModeCbr is a Mpeg2RateControlMode enum value + Mpeg2RateControlModeCbr = "CBR" +) + +// Scene change detection (inserts I-frames on scene changes). +const ( + // Mpeg2SceneChangeDetectDisabled is a Mpeg2SceneChangeDetect enum value + Mpeg2SceneChangeDetectDisabled = "DISABLED" + + // Mpeg2SceneChangeDetectEnabled is a Mpeg2SceneChangeDetect enum value + Mpeg2SceneChangeDetectEnabled = "ENABLED" +) + +// Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled +// as 25fps, and audio is sped up correspondingly. +const ( + // Mpeg2SlowPalDisabled is a Mpeg2SlowPal enum value + Mpeg2SlowPalDisabled = "DISABLED" + + // Mpeg2SlowPalEnabled is a Mpeg2SlowPal enum value + Mpeg2SlowPalEnabled = "ENABLED" +) + +// Adjust quantization within each frame based on spatial variation of content +// complexity. +const ( + // Mpeg2SpatialAdaptiveQuantizationDisabled is a Mpeg2SpatialAdaptiveQuantization enum value + Mpeg2SpatialAdaptiveQuantizationDisabled = "DISABLED" + + // Mpeg2SpatialAdaptiveQuantizationEnabled is a Mpeg2SpatialAdaptiveQuantization enum value + Mpeg2SpatialAdaptiveQuantizationEnabled = "ENABLED" +) + +// Produces a Type D-10 compatible bitstream (SMPTE 356M-2001). +const ( + // Mpeg2SyntaxDefault is a Mpeg2Syntax enum value + Mpeg2SyntaxDefault = "DEFAULT" + + // Mpeg2SyntaxD10 is a Mpeg2Syntax enum value + Mpeg2SyntaxD10 = "D_10" +) + +// Only use Telecine (Mpeg2Telecine) when you set Framerate (Framerate) to 29.970. +// Set Telecine (Mpeg2Telecine) to Hard (hard) to produce a 29.97i output from +// a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave +// converstion to the player. +const ( + // Mpeg2TelecineNone is a Mpeg2Telecine enum value + Mpeg2TelecineNone = "NONE" + + // Mpeg2TelecineSoft is a Mpeg2Telecine enum value + Mpeg2TelecineSoft = "SOFT" + + // Mpeg2TelecineHard is a Mpeg2Telecine enum value + Mpeg2TelecineHard = "HARD" +) + +// Adjust quantization within each frame based on temporal variation of content +// complexity. +const ( + // Mpeg2TemporalAdaptiveQuantizationDisabled is a Mpeg2TemporalAdaptiveQuantization enum value + Mpeg2TemporalAdaptiveQuantizationDisabled = "DISABLED" + + // Mpeg2TemporalAdaptiveQuantizationEnabled is a Mpeg2TemporalAdaptiveQuantization enum value + Mpeg2TemporalAdaptiveQuantizationEnabled = "ENABLED" +) + +// COMBINE_DUPLICATE_STREAMS combines identical audio encoding settings across +// a Microsoft Smooth output group into a single audio stream. +const ( + // MsSmoothAudioDeduplicationCombineDuplicateStreams is a MsSmoothAudioDeduplication enum value + MsSmoothAudioDeduplicationCombineDuplicateStreams = "COMBINE_DUPLICATE_STREAMS" + + // MsSmoothAudioDeduplicationNone is a MsSmoothAudioDeduplication enum value + MsSmoothAudioDeduplicationNone = "NONE" +) + +// Use Manifest encoding (MsSmoothManifestEncoding) to specify the encoding +// format for the server and client manifest. Valid options are utf8 and utf16. +const ( + // MsSmoothManifestEncodingUtf8 is a MsSmoothManifestEncoding enum value + MsSmoothManifestEncodingUtf8 = "UTF8" + + // MsSmoothManifestEncodingUtf16 is a MsSmoothManifestEncoding enum value + MsSmoothManifestEncodingUtf16 = "UTF16" +) + +// Use Noise reducer filter (NoiseReducerFilter) to select one of the following +// spatial image filtering functions. To use this setting, you must also enable +// Noise reducer (NoiseReducer). * Bilateral is an edge preserving noise reduction +// filter. * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) are convolution +// filters. * Conserve is a min/max noise reduction filter. * Spatial is a frequency-domain +// filter based on JND principles. +const ( + // NoiseReducerFilterBilateral is a NoiseReducerFilter enum value + NoiseReducerFilterBilateral = "BILATERAL" + + // NoiseReducerFilterMean is a NoiseReducerFilter enum value + NoiseReducerFilterMean = "MEAN" + + // NoiseReducerFilterGaussian is a NoiseReducerFilter enum value + NoiseReducerFilterGaussian = "GAUSSIAN" + + // NoiseReducerFilterLanczos is a NoiseReducerFilter enum value + NoiseReducerFilterLanczos = "LANCZOS" + + // NoiseReducerFilterSharpen is a NoiseReducerFilter enum value + NoiseReducerFilterSharpen = "SHARPEN" + + // NoiseReducerFilterConserve is a NoiseReducerFilter enum value + NoiseReducerFilterConserve = "CONSERVE" + + // NoiseReducerFilterSpatial is a NoiseReducerFilter enum value + NoiseReducerFilterSpatial = "SPATIAL" +) + +// When you request lists of resources, you can optionally specify whether they +// are sorted in ASCENDING or DESCENDING order. Default varies by resource. +const ( + // OrderAscending is a Order enum value + OrderAscending = "ASCENDING" + + // OrderDescending is a Order enum value + OrderDescending = "DESCENDING" +) + +// Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming, +// CMAF) +const ( + // OutputGroupTypeHlsGroupSettings is a OutputGroupType enum value + OutputGroupTypeHlsGroupSettings = "HLS_GROUP_SETTINGS" + + // OutputGroupTypeDashIsoGroupSettings is a OutputGroupType enum value + OutputGroupTypeDashIsoGroupSettings = "DASH_ISO_GROUP_SETTINGS" + + // OutputGroupTypeFileGroupSettings is a OutputGroupType enum value + OutputGroupTypeFileGroupSettings = "FILE_GROUP_SETTINGS" + + // OutputGroupTypeMsSmoothGroupSettings is a OutputGroupType enum value + OutputGroupTypeMsSmoothGroupSettings = "MS_SMOOTH_GROUP_SETTINGS" + + // OutputGroupTypeCmafGroupSettings is a OutputGroupType enum value + OutputGroupTypeCmafGroupSettings = "CMAF_GROUP_SETTINGS" +) + +// Selects method of inserting SDT information into output stream. "Follow input +// SDT" copies SDT information from input stream to output stream. "Follow input +// SDT if present" copies SDT information from input stream to output stream +// if SDT information is present in the input, otherwise it will fall back on +// the user-defined values. Enter "SDT Manually" means user will enter the SDT +// information. "No SDT" means output stream will not contain SDT information. +const ( + // OutputSdtSdtFollow is a OutputSdt enum value + OutputSdtSdtFollow = "SDT_FOLLOW" + + // OutputSdtSdtFollowIfPresent is a OutputSdt enum value + OutputSdtSdtFollowIfPresent = "SDT_FOLLOW_IF_PRESENT" + + // OutputSdtSdtManual is a OutputSdt enum value + OutputSdtSdtManual = "SDT_MANUAL" + + // OutputSdtSdtNone is a OutputSdt enum value + OutputSdtSdtNone = "SDT_NONE" +) + +// Optional. When you request a list of presets, you can choose to list them +// alphabetically by NAME or chronologically by CREATION_DATE. If you don't +// specify, the service will list them by name. +const ( + // PresetListByName is a PresetListBy enum value + PresetListByName = "NAME" + + // PresetListByCreationDate is a PresetListBy enum value + PresetListByCreationDate = "CREATION_DATE" + + // PresetListBySystem is a PresetListBy enum value + PresetListBySystem = "SYSTEM" +) + +// Specifies whether the pricing plan for the queue is on-demand or reserved. +// For on-demand, you pay per minute, billed in increments of .01 minute. For +// reserved, you pay for the transcoding capacity of the entire queue, regardless +// of how much or how little you use it. Reserved pricing requires a 12-month +// commitment. +const ( + // PricingPlanOnDemand is a PricingPlan enum value + PricingPlanOnDemand = "ON_DEMAND" + + // PricingPlanReserved is a PricingPlan enum value + PricingPlanReserved = "RESERVED" +) + +// Use Profile (ProResCodecProfile) to specifiy the type of Apple ProRes codec +// to use for this output. +const ( + // ProresCodecProfileAppleProres422 is a ProresCodecProfile enum value + ProresCodecProfileAppleProres422 = "APPLE_PRORES_422" + + // ProresCodecProfileAppleProres422Hq is a ProresCodecProfile enum value + ProresCodecProfileAppleProres422Hq = "APPLE_PRORES_422_HQ" + + // ProresCodecProfileAppleProres422Lt is a ProresCodecProfile enum value + ProresCodecProfileAppleProres422Lt = "APPLE_PRORES_422_LT" + + // ProresCodecProfileAppleProres422Proxy is a ProresCodecProfile enum value + ProresCodecProfileAppleProres422Proxy = "APPLE_PRORES_422_PROXY" +) + +// If you are using the console, use the Framerate setting to specify the frame +// rate for this output. If you want to keep the same frame rate as the input +// video, choose Follow source. If you want to do frame rate conversion, choose +// a frame rate from the dropdown list or choose Custom. The framerates shown +// in the dropdown list are decimal approximations of fractions. If you choose +// Custom, specify your frame rate as a fraction. If you are creating your transcoding +// job sepecification as a JSON file without the console, use FramerateControl +// to specify which value the service uses for the frame rate for this output. +// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate +// from the input. Choose SPECIFIED if you want the service to use the frame +// rate you specify in the settings FramerateNumerator and FramerateDenominator. +const ( + // ProresFramerateControlInitializeFromSource is a ProresFramerateControl enum value + ProresFramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // ProresFramerateControlSpecified is a ProresFramerateControl enum value + ProresFramerateControlSpecified = "SPECIFIED" +) + +// When set to INTERPOLATE, produces smoother motion during frame rate conversion. +const ( + // ProresFramerateConversionAlgorithmDuplicateDrop is a ProresFramerateConversionAlgorithm enum value + ProresFramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" + + // ProresFramerateConversionAlgorithmInterpolate is a ProresFramerateConversionAlgorithm enum value + ProresFramerateConversionAlgorithmInterpolate = "INTERPOLATE" +) + +// Use Interlace mode (InterlaceMode) to choose the scan line type for the output. +// * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce +// interlaced output with the entire output having the same field polarity (top +// or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default +// Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, +// behavior depends on the input scan type. - If the source is interlaced, the +// output will be interlaced with the same polarity as the source (it will follow +// the source). The output could therefore be a mix of "top field first" and +// "bottom field first". - If the source is progressive, the output will be +// interlaced with "top field first" or "bottom field first" polarity, depending +// on which of the Follow options you chose. +const ( + // ProresInterlaceModeProgressive is a ProresInterlaceMode enum value + ProresInterlaceModeProgressive = "PROGRESSIVE" + + // ProresInterlaceModeTopField is a ProresInterlaceMode enum value + ProresInterlaceModeTopField = "TOP_FIELD" + + // ProresInterlaceModeBottomField is a ProresInterlaceMode enum value + ProresInterlaceModeBottomField = "BOTTOM_FIELD" + + // ProresInterlaceModeFollowTopField is a ProresInterlaceMode enum value + ProresInterlaceModeFollowTopField = "FOLLOW_TOP_FIELD" + + // ProresInterlaceModeFollowBottomField is a ProresInterlaceMode enum value + ProresInterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD" +) + +// Use (ProresParControl) to specify how the service determines the pixel aspect +// ratio. Set to Follow source (INITIALIZE_FROM_SOURCE) to use the pixel aspect +// ratio from the input. To specify a different pixel aspect ratio: Using the +// console, choose it from the dropdown menu. Using the API, set ProresParControl +// to (SPECIFIED) and provide for (ParNumerator) and (ParDenominator). +const ( + // ProresParControlInitializeFromSource is a ProresParControl enum value + ProresParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // ProresParControlSpecified is a ProresParControl enum value + ProresParControlSpecified = "SPECIFIED" +) + +// Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled +// as 25fps, and audio is sped up correspondingly. +const ( + // ProresSlowPalDisabled is a ProresSlowPal enum value + ProresSlowPalDisabled = "DISABLED" + + // ProresSlowPalEnabled is a ProresSlowPal enum value + ProresSlowPalEnabled = "ENABLED" +) + +// Only use Telecine (ProresTelecine) when you set Framerate (Framerate) to +// 29.970. Set Telecine (ProresTelecine) to Hard (hard) to produce a 29.97i +// output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output +// and leave converstion to the player. +const ( + // ProresTelecineNone is a ProresTelecine enum value + ProresTelecineNone = "NONE" + + // ProresTelecineHard is a ProresTelecine enum value + ProresTelecineHard = "HARD" +) + +// Optional. When you request a list of queues, you can choose to list them +// alphabetically by NAME or chronologically by CREATION_DATE. If you don't +// specify, the service will list them by creation date. +const ( + // QueueListByName is a QueueListBy enum value + QueueListByName = "NAME" + + // QueueListByCreationDate is a QueueListBy enum value + QueueListByCreationDate = "CREATION_DATE" +) + +// Queues can be ACTIVE or PAUSED. If you pause a queue, jobs in that queue +// won't begin. Jobs that are running when you pause a queue continue to run +// until they finish or result in an error. +const ( + // QueueStatusActive is a QueueStatus enum value + QueueStatusActive = "ACTIVE" + + // QueueStatusPaused is a QueueStatus enum value + QueueStatusPaused = "PAUSED" +) + +// Specifies whether the term of your reserved queue pricing plan is automatically +// extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term. +const ( + // RenewalTypeAutoRenew is a RenewalType enum value + RenewalTypeAutoRenew = "AUTO_RENEW" + + // RenewalTypeExpire is a RenewalType enum value + RenewalTypeExpire = "EXPIRE" +) + +// Specifies whether the pricing plan for your reserved queue is ACTIVE or EXPIRED. +const ( + // ReservationPlanStatusActive is a ReservationPlanStatus enum value + ReservationPlanStatusActive = "ACTIVE" + + // ReservationPlanStatusExpired is a ReservationPlanStatus enum value + ReservationPlanStatusExpired = "EXPIRED" +) + +// Use Respond to AFD (RespondToAfd) to specify how the service changes the +// video itself in response to AFD values in the input. * Choose Respond to +// clip the input video frame according to the AFD value, input display aspect +// ratio, and output display aspect ratio. * Choose Passthrough to include the +// input AFD values. Do not choose this when AfdSignaling is set to (NONE). +// A preferred implementation of this workflow is to set RespondToAfd to (NONE) +// and set AfdSignaling to (AUTO). * Choose None to remove all input AFD values +// from this output. +const ( + // RespondToAfdNone is a RespondToAfd enum value + RespondToAfdNone = "NONE" + + // RespondToAfdRespond is a RespondToAfd enum value + RespondToAfdRespond = "RESPOND" + + // RespondToAfdPassthrough is a RespondToAfd enum value + RespondToAfdPassthrough = "PASSTHROUGH" +) + +// Applies only if your input aspect ratio is different from your output aspect +// ratio. Choose "Stretch to output" to have the service stretch your video +// image to fit. Keep the setting "Default" to allow the service to letterbox +// your video instead. This setting overrides any positioning value you specify +// elsewhere in the job. +const ( + // ScalingBehaviorDefault is a ScalingBehavior enum value + ScalingBehaviorDefault = "DEFAULT" + + // ScalingBehaviorStretchToOutput is a ScalingBehavior enum value + ScalingBehaviorStretchToOutput = "STRETCH_TO_OUTPUT" +) + +// Set Framerate (SccDestinationFramerate) to make sure that the captions and +// the video are synchronized in the output. Specify a frame rate that matches +// the frame rate of the associated video. If the video frame rate is 29.97, +// choose 29.97 dropframe (FRAMERATE_29_97_DROPFRAME) only if the video has +// video_insertion=true and drop_frame_timecode=true; otherwise, choose 29.97 +// non-dropframe (FRAMERATE_29_97_NON_DROPFRAME). +const ( + // SccDestinationFramerateFramerate2397 is a SccDestinationFramerate enum value + SccDestinationFramerateFramerate2397 = "FRAMERATE_23_97" + + // SccDestinationFramerateFramerate24 is a SccDestinationFramerate enum value + SccDestinationFramerateFramerate24 = "FRAMERATE_24" + + // SccDestinationFramerateFramerate2997Dropframe is a SccDestinationFramerate enum value + SccDestinationFramerateFramerate2997Dropframe = "FRAMERATE_29_97_DROPFRAME" + + // SccDestinationFramerateFramerate2997NonDropframe is a SccDestinationFramerate enum value + SccDestinationFramerateFramerate2997NonDropframe = "FRAMERATE_29_97_NON_DROPFRAME" +) + +// Use Position (Position) under under Timecode burn-in (TimecodeBurnIn) to +// specify the location the burned-in timecode on output video. +const ( + // TimecodeBurninPositionTopCenter is a TimecodeBurninPosition enum value + TimecodeBurninPositionTopCenter = "TOP_CENTER" + + // TimecodeBurninPositionTopLeft is a TimecodeBurninPosition enum value + TimecodeBurninPositionTopLeft = "TOP_LEFT" + + // TimecodeBurninPositionTopRight is a TimecodeBurninPosition enum value + TimecodeBurninPositionTopRight = "TOP_RIGHT" + + // TimecodeBurninPositionMiddleLeft is a TimecodeBurninPosition enum value + TimecodeBurninPositionMiddleLeft = "MIDDLE_LEFT" + + // TimecodeBurninPositionMiddleCenter is a TimecodeBurninPosition enum value + TimecodeBurninPositionMiddleCenter = "MIDDLE_CENTER" + + // TimecodeBurninPositionMiddleRight is a TimecodeBurninPosition enum value + TimecodeBurninPositionMiddleRight = "MIDDLE_RIGHT" + + // TimecodeBurninPositionBottomLeft is a TimecodeBurninPosition enum value + TimecodeBurninPositionBottomLeft = "BOTTOM_LEFT" + + // TimecodeBurninPositionBottomCenter is a TimecodeBurninPosition enum value + TimecodeBurninPositionBottomCenter = "BOTTOM_CENTER" + + // TimecodeBurninPositionBottomRight is a TimecodeBurninPosition enum value + TimecodeBurninPositionBottomRight = "BOTTOM_RIGHT" +) + +// Use Source (TimecodeSource) to set how timecodes are handled within this +// job. To make sure that your video, audio, captions, and markers are synchronized +// and that time-based features, such as image inserter, work correctly, choose +// the Timecode source option that matches your assets. All timecodes are in +// a 24-hour format with frame number (HH:MM:SS:FF). * Embedded (EMBEDDED) - +// Use the timecode that is in the input video. If no embedded timecode is in +// the source, the service will use Start at 0 (ZEROBASED) instead. * Start +// at 0 (ZEROBASED) - Set the timecode of the initial frame to 00:00:00:00. +// * Specified Start (SPECIFIEDSTART) - Set the timecode of the initial frame +// to a value other than zero. You use Start timecode (Start) to provide this +// value. +const ( + // TimecodeSourceEmbedded is a TimecodeSource enum value + TimecodeSourceEmbedded = "EMBEDDED" + + // TimecodeSourceZerobased is a TimecodeSource enum value + TimecodeSourceZerobased = "ZEROBASED" + + // TimecodeSourceSpecifiedstart is a TimecodeSource enum value + TimecodeSourceSpecifiedstart = "SPECIFIEDSTART" +) + +// Applies only to HLS outputs. Use this setting to specify whether the service +// inserts the ID3 timed metadata from the input in this output. +const ( + // TimedMetadataPassthrough is a TimedMetadata enum value + TimedMetadataPassthrough = "PASSTHROUGH" + + // TimedMetadataNone is a TimedMetadata enum value + TimedMetadataNone = "NONE" +) + +// Pass through style and position information from a TTML-like input source +// (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or TTML output. +const ( + // TtmlStylePassthroughEnabled is a TtmlStylePassthrough enum value + TtmlStylePassthroughEnabled = "ENABLED" + + // TtmlStylePassthroughDisabled is a TtmlStylePassthrough enum value + TtmlStylePassthroughDisabled = "DISABLED" +) + +const ( + // TypeSystem is a Type enum value + TypeSystem = "SYSTEM" + + // TypeCustom is a Type enum value + TypeCustom = "CUSTOM" +) + +// Type of video codec +const ( + // VideoCodecFrameCapture is a VideoCodec enum value + VideoCodecFrameCapture = "FRAME_CAPTURE" + + // VideoCodecH264 is a VideoCodec enum value + VideoCodecH264 = "H_264" + + // VideoCodecH265 is a VideoCodec enum value + VideoCodecH265 = "H_265" + + // VideoCodecMpeg2 is a VideoCodec enum value + VideoCodecMpeg2 = "MPEG2" + + // VideoCodecProres is a VideoCodec enum value + VideoCodecProres = "PRORES" +) + +// Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode +// insertion when the input frame rate is identical to the output frame rate. +// To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion) +// to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED. +// When the service inserts timecodes in an output, by default, it uses any +// embedded timecodes from the input. If none are present, the service will +// set the timecode for the first output frame to zero. To change this default +// behavior, adjust the settings under Timecode configuration (TimecodeConfig). +// In the console, these settings are located under Job > Job settings > Timecode +// configuration. Note - Timecode source under input settings (InputTimecodeSource) +// does not affect the timecodes that are inserted in the output. Source under +// Job settings > Timecode configuration (TimecodeSource) does. +const ( + // VideoTimecodeInsertionDisabled is a VideoTimecodeInsertion enum value + VideoTimecodeInsertionDisabled = "DISABLED" + + // VideoTimecodeInsertionPicTimingSei is a VideoTimecodeInsertion enum value + VideoTimecodeInsertionPicTimingSei = "PIC_TIMING_SEI" +) + +// The service defaults to using RIFF for WAV outputs. If your output audio +// is likely to exceed 4 GB in file size, or if you otherwise need the extended +// support of the RF64 format, set your output WAV file format to RF64. +const ( + // WavFormatRiff is a WavFormat enum value + WavFormatRiff = "RIFF" + + // WavFormatRf64 is a WavFormat enum value + WavFormatRf64 = "RF64" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/doc.go new file mode 100644 index 00000000000..f30ea5eb708 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package mediaconvert provides the client and types for making API +// requests to AWS Elemental MediaConvert. +// +// AWS Elemental MediaConvert +// +// See https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29 for more information on this service. +// +// See mediaconvert package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mediaconvert/ +// +// Using the Client +// +// To contact AWS Elemental MediaConvert 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 Elemental MediaConvert client MediaConvert for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mediaconvert/#New +package mediaconvert diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/errors.go new file mode 100644 index 00000000000..7a607419d1c --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/errors.go @@ -0,0 +1,30 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediaconvert + +const ( + + // ErrCodeBadRequestException for service response error code + // "BadRequestException". + ErrCodeBadRequestException = "BadRequestException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + ErrCodeConflictException = "ConflictException" + + // ErrCodeForbiddenException for service response error code + // "ForbiddenException". + ErrCodeForbiddenException = "ForbiddenException" + + // ErrCodeInternalServerErrorException for service response error code + // "InternalServerErrorException". + ErrCodeInternalServerErrorException = "InternalServerErrorException" + + // ErrCodeNotFoundException for service response error code + // "NotFoundException". + ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + ErrCodeTooManyRequestsException = "TooManyRequestsException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/service.go new file mode 100644 index 00000000000..441039b6851 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/service.go @@ -0,0 +1,99 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediaconvert + +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/restjson" +) + +// MediaConvert provides the API operation methods for making requests to +// AWS Elemental MediaConvert. See this package's package overview docs +// for details on the service. +// +// MediaConvert methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type MediaConvert 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 = "mediaconvert" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "MediaConvert" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the MediaConvert 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 MediaConvert client from just a session. +// svc := mediaconvert.New(mySession) +// +// // Create a MediaConvert client with additional configuration +// svc := mediaconvert.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *MediaConvert { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "mediaconvert" + } + 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) *MediaConvert { + svc := &MediaConvert{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2017-08-29", + JSONVersion: "1.1", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a MediaConvert operation and runs any +// custom request initialization. +func (c *MediaConvert) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/medialive/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/medialive/api.go new file mode 100644 index 00000000000..2bce70ef154 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/medialive/api.go @@ -0,0 +1,18062 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package medialive + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opBatchUpdateSchedule = "BatchUpdateSchedule" + +// BatchUpdateScheduleRequest generates a "aws/request.Request" representing the +// client's request for the BatchUpdateSchedule 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 BatchUpdateSchedule for more information on using the BatchUpdateSchedule +// 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 BatchUpdateScheduleRequest method. +// req, resp := client.BatchUpdateScheduleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/BatchUpdateSchedule +func (c *MediaLive) BatchUpdateScheduleRequest(input *BatchUpdateScheduleInput) (req *request.Request, output *BatchUpdateScheduleOutput) { + op := &request.Operation{ + Name: opBatchUpdateSchedule, + HTTPMethod: "PUT", + HTTPPath: "/prod/channels/{channelId}/schedule", + } + + if input == nil { + input = &BatchUpdateScheduleInput{} + } + + output = &BatchUpdateScheduleOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchUpdateSchedule API operation for AWS Elemental MediaLive. +// +// Update a channel schedule +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation BatchUpdateSchedule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/BatchUpdateSchedule +func (c *MediaLive) BatchUpdateSchedule(input *BatchUpdateScheduleInput) (*BatchUpdateScheduleOutput, error) { + req, out := c.BatchUpdateScheduleRequest(input) + return out, req.Send() +} + +// BatchUpdateScheduleWithContext is the same as BatchUpdateSchedule with the addition of +// the ability to pass a context and additional request options. +// +// See BatchUpdateSchedule 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 *MediaLive) BatchUpdateScheduleWithContext(ctx aws.Context, input *BatchUpdateScheduleInput, opts ...request.Option) (*BatchUpdateScheduleOutput, error) { + req, out := c.BatchUpdateScheduleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateChannel = "CreateChannel" + +// CreateChannelRequest generates a "aws/request.Request" representing the +// client's request for the CreateChannel 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 CreateChannel for more information on using the CreateChannel +// 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 CreateChannelRequest method. +// req, resp := client.CreateChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateChannel +func (c *MediaLive) CreateChannelRequest(input *CreateChannelInput) (req *request.Request, output *CreateChannelOutput) { + op := &request.Operation{ + Name: opCreateChannel, + HTTPMethod: "POST", + HTTPPath: "/prod/channels", + } + + if input == nil { + input = &CreateChannelInput{} + } + + output = &CreateChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateChannel API operation for AWS Elemental MediaLive. +// +// Creates a new channel +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation CreateChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateChannel +func (c *MediaLive) CreateChannel(input *CreateChannelInput) (*CreateChannelOutput, error) { + req, out := c.CreateChannelRequest(input) + return out, req.Send() +} + +// CreateChannelWithContext is the same as CreateChannel with the addition of +// the ability to pass a context and additional request options. +// +// See CreateChannel 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 *MediaLive) CreateChannelWithContext(ctx aws.Context, input *CreateChannelInput, opts ...request.Option) (*CreateChannelOutput, error) { + req, out := c.CreateChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateInput = "CreateInput" + +// CreateInputRequest generates a "aws/request.Request" representing the +// client's request for the CreateInput 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 CreateInput for more information on using the CreateInput +// 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 CreateInputRequest method. +// req, resp := client.CreateInputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateInput +func (c *MediaLive) CreateInputRequest(input *CreateInputInput) (req *request.Request, output *CreateInputOutput) { + op := &request.Operation{ + Name: opCreateInput, + HTTPMethod: "POST", + HTTPPath: "/prod/inputs", + } + + if input == nil { + input = &CreateInputInput{} + } + + output = &CreateInputOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateInput API operation for AWS Elemental MediaLive. +// +// Create an input +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation CreateInput for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateInput +func (c *MediaLive) CreateInput(input *CreateInputInput) (*CreateInputOutput, error) { + req, out := c.CreateInputRequest(input) + return out, req.Send() +} + +// CreateInputWithContext is the same as CreateInput with the addition of +// the ability to pass a context and additional request options. +// +// See CreateInput 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 *MediaLive) CreateInputWithContext(ctx aws.Context, input *CreateInputInput, opts ...request.Option) (*CreateInputOutput, error) { + req, out := c.CreateInputRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateInputSecurityGroup = "CreateInputSecurityGroup" + +// CreateInputSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateInputSecurityGroup 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 CreateInputSecurityGroup for more information on using the CreateInputSecurityGroup +// 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 CreateInputSecurityGroupRequest method. +// req, resp := client.CreateInputSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateInputSecurityGroup +func (c *MediaLive) CreateInputSecurityGroupRequest(input *CreateInputSecurityGroupInput) (req *request.Request, output *CreateInputSecurityGroupOutput) { + op := &request.Operation{ + Name: opCreateInputSecurityGroup, + HTTPMethod: "POST", + HTTPPath: "/prod/inputSecurityGroups", + } + + if input == nil { + input = &CreateInputSecurityGroupInput{} + } + + output = &CreateInputSecurityGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateInputSecurityGroup API operation for AWS Elemental MediaLive. +// +// Creates a Input Security 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 AWS Elemental MediaLive's +// API operation CreateInputSecurityGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateInputSecurityGroup +func (c *MediaLive) CreateInputSecurityGroup(input *CreateInputSecurityGroupInput) (*CreateInputSecurityGroupOutput, error) { + req, out := c.CreateInputSecurityGroupRequest(input) + return out, req.Send() +} + +// CreateInputSecurityGroupWithContext is the same as CreateInputSecurityGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateInputSecurityGroup 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 *MediaLive) CreateInputSecurityGroupWithContext(ctx aws.Context, input *CreateInputSecurityGroupInput, opts ...request.Option) (*CreateInputSecurityGroupOutput, error) { + req, out := c.CreateInputSecurityGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTags = "CreateTags" + +// CreateTagsRequest generates a "aws/request.Request" representing the +// client's request for the CreateTags 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 CreateTags for more information on using the CreateTags +// 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 CreateTagsRequest method. +// req, resp := client.CreateTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateTags +func (c *MediaLive) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) { + op := &request.Operation{ + Name: opCreateTags, + HTTPMethod: "POST", + HTTPPath: "/prod/tags/{resource-arn}", + } + + if input == nil { + input = &CreateTagsInput{} + } + + output = &CreateTagsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreateTags API operation for AWS Elemental MediaLive. +// +// Create tags for a resource +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation CreateTags for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateTags +func (c *MediaLive) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) { + req, out := c.CreateTagsRequest(input) + return out, req.Send() +} + +// CreateTagsWithContext is the same as CreateTags with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTags 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 *MediaLive) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) { + req, out := c.CreateTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteChannel = "DeleteChannel" + +// DeleteChannelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteChannel 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 DeleteChannel for more information on using the DeleteChannel +// 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 DeleteChannelRequest method. +// req, resp := client.DeleteChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteChannel +func (c *MediaLive) DeleteChannelRequest(input *DeleteChannelInput) (req *request.Request, output *DeleteChannelOutput) { + op := &request.Operation{ + Name: opDeleteChannel, + HTTPMethod: "DELETE", + HTTPPath: "/prod/channels/{channelId}", + } + + if input == nil { + input = &DeleteChannelInput{} + } + + output = &DeleteChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteChannel API operation for AWS Elemental MediaLive. +// +// Starts deletion of channel. The associated outputs are also deleted. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation DeleteChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteChannel +func (c *MediaLive) DeleteChannel(input *DeleteChannelInput) (*DeleteChannelOutput, error) { + req, out := c.DeleteChannelRequest(input) + return out, req.Send() +} + +// DeleteChannelWithContext is the same as DeleteChannel with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteChannel 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 *MediaLive) DeleteChannelWithContext(ctx aws.Context, input *DeleteChannelInput, opts ...request.Option) (*DeleteChannelOutput, error) { + req, out := c.DeleteChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteInput = "DeleteInput" + +// DeleteInputRequest generates a "aws/request.Request" representing the +// client's request for the DeleteInput 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 DeleteInput for more information on using the DeleteInput +// 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 DeleteInputRequest method. +// req, resp := client.DeleteInputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteInput +func (c *MediaLive) DeleteInputRequest(input *DeleteInputInput) (req *request.Request, output *DeleteInputOutput) { + op := &request.Operation{ + Name: opDeleteInput, + HTTPMethod: "DELETE", + HTTPPath: "/prod/inputs/{inputId}", + } + + if input == nil { + input = &DeleteInputInput{} + } + + output = &DeleteInputOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteInput API operation for AWS Elemental MediaLive. +// +// Deletes the input end point +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation DeleteInput for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteInput +func (c *MediaLive) DeleteInput(input *DeleteInputInput) (*DeleteInputOutput, error) { + req, out := c.DeleteInputRequest(input) + return out, req.Send() +} + +// DeleteInputWithContext is the same as DeleteInput with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteInput 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 *MediaLive) DeleteInputWithContext(ctx aws.Context, input *DeleteInputInput, opts ...request.Option) (*DeleteInputOutput, error) { + req, out := c.DeleteInputRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteInputSecurityGroup = "DeleteInputSecurityGroup" + +// DeleteInputSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteInputSecurityGroup 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 DeleteInputSecurityGroup for more information on using the DeleteInputSecurityGroup +// 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 DeleteInputSecurityGroupRequest method. +// req, resp := client.DeleteInputSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteInputSecurityGroup +func (c *MediaLive) DeleteInputSecurityGroupRequest(input *DeleteInputSecurityGroupInput) (req *request.Request, output *DeleteInputSecurityGroupOutput) { + op := &request.Operation{ + Name: opDeleteInputSecurityGroup, + HTTPMethod: "DELETE", + HTTPPath: "/prod/inputSecurityGroups/{inputSecurityGroupId}", + } + + if input == nil { + input = &DeleteInputSecurityGroupInput{} + } + + output = &DeleteInputSecurityGroupOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteInputSecurityGroup API operation for AWS Elemental MediaLive. +// +// Deletes an Input Security 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 AWS Elemental MediaLive's +// API operation DeleteInputSecurityGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteInputSecurityGroup +func (c *MediaLive) DeleteInputSecurityGroup(input *DeleteInputSecurityGroupInput) (*DeleteInputSecurityGroupOutput, error) { + req, out := c.DeleteInputSecurityGroupRequest(input) + return out, req.Send() +} + +// DeleteInputSecurityGroupWithContext is the same as DeleteInputSecurityGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteInputSecurityGroup 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 *MediaLive) DeleteInputSecurityGroupWithContext(ctx aws.Context, input *DeleteInputSecurityGroupInput, opts ...request.Option) (*DeleteInputSecurityGroupOutput, error) { + req, out := c.DeleteInputSecurityGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteReservation = "DeleteReservation" + +// DeleteReservationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReservation 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 DeleteReservation for more information on using the DeleteReservation +// 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 DeleteReservationRequest method. +// req, resp := client.DeleteReservationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteReservation +func (c *MediaLive) DeleteReservationRequest(input *DeleteReservationInput) (req *request.Request, output *DeleteReservationOutput) { + op := &request.Operation{ + Name: opDeleteReservation, + HTTPMethod: "DELETE", + HTTPPath: "/prod/reservations/{reservationId}", + } + + if input == nil { + input = &DeleteReservationInput{} + } + + output = &DeleteReservationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteReservation API operation for AWS Elemental MediaLive. +// +// Delete an expired reservation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation DeleteReservation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteReservation +func (c *MediaLive) DeleteReservation(input *DeleteReservationInput) (*DeleteReservationOutput, error) { + req, out := c.DeleteReservationRequest(input) + return out, req.Send() +} + +// DeleteReservationWithContext is the same as DeleteReservation with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteReservation 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 *MediaLive) DeleteReservationWithContext(ctx aws.Context, input *DeleteReservationInput, opts ...request.Option) (*DeleteReservationOutput, error) { + req, out := c.DeleteReservationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTags = "DeleteTags" + +// DeleteTagsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTags 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 DeleteTags for more information on using the DeleteTags +// 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 DeleteTagsRequest method. +// req, resp := client.DeleteTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags +func (c *MediaLive) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) { + op := &request.Operation{ + Name: opDeleteTags, + HTTPMethod: "DELETE", + HTTPPath: "/prod/tags/{resource-arn}", + } + + if input == nil { + input = &DeleteTagsInput{} + } + + output = &DeleteTagsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteTags API operation for AWS Elemental MediaLive. +// +// Removes tags for a resource +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation DeleteTags for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags +func (c *MediaLive) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { + req, out := c.DeleteTagsRequest(input) + return out, req.Send() +} + +// DeleteTagsWithContext is the same as DeleteTags with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTags 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 *MediaLive) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) { + req, out := c.DeleteTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeChannel = "DescribeChannel" + +// DescribeChannelRequest generates a "aws/request.Request" representing the +// client's request for the DescribeChannel 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 DescribeChannel for more information on using the DescribeChannel +// 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 DescribeChannelRequest method. +// req, resp := client.DescribeChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeChannel +func (c *MediaLive) DescribeChannelRequest(input *DescribeChannelInput) (req *request.Request, output *DescribeChannelOutput) { + op := &request.Operation{ + Name: opDescribeChannel, + HTTPMethod: "GET", + HTTPPath: "/prod/channels/{channelId}", + } + + if input == nil { + input = &DescribeChannelInput{} + } + + output = &DescribeChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeChannel API operation for AWS Elemental MediaLive. +// +// Gets details about a channel +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation DescribeChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeChannel +func (c *MediaLive) DescribeChannel(input *DescribeChannelInput) (*DescribeChannelOutput, error) { + req, out := c.DescribeChannelRequest(input) + return out, req.Send() +} + +// DescribeChannelWithContext is the same as DescribeChannel with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeChannel 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 *MediaLive) DescribeChannelWithContext(ctx aws.Context, input *DescribeChannelInput, opts ...request.Option) (*DescribeChannelOutput, error) { + req, out := c.DescribeChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeInput = "DescribeInput" + +// DescribeInputRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInput 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 DescribeInput for more information on using the DescribeInput +// 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 DescribeInputRequest method. +// req, resp := client.DescribeInputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInput +func (c *MediaLive) DescribeInputRequest(input *DescribeInputInput) (req *request.Request, output *DescribeInputOutput) { + op := &request.Operation{ + Name: opDescribeInput, + HTTPMethod: "GET", + HTTPPath: "/prod/inputs/{inputId}", + } + + if input == nil { + input = &DescribeInputInput{} + } + + output = &DescribeInputOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeInput API operation for AWS Elemental MediaLive. +// +// Produces details about an input +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation DescribeInput for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInput +func (c *MediaLive) DescribeInput(input *DescribeInputInput) (*DescribeInputOutput, error) { + req, out := c.DescribeInputRequest(input) + return out, req.Send() +} + +// DescribeInputWithContext is the same as DescribeInput with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeInput 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 *MediaLive) DescribeInputWithContext(ctx aws.Context, input *DescribeInputInput, opts ...request.Option) (*DescribeInputOutput, error) { + req, out := c.DescribeInputRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeInputSecurityGroup = "DescribeInputSecurityGroup" + +// DescribeInputSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInputSecurityGroup 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 DescribeInputSecurityGroup for more information on using the DescribeInputSecurityGroup +// 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 DescribeInputSecurityGroupRequest method. +// req, resp := client.DescribeInputSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInputSecurityGroup +func (c *MediaLive) DescribeInputSecurityGroupRequest(input *DescribeInputSecurityGroupInput) (req *request.Request, output *DescribeInputSecurityGroupOutput) { + op := &request.Operation{ + Name: opDescribeInputSecurityGroup, + HTTPMethod: "GET", + HTTPPath: "/prod/inputSecurityGroups/{inputSecurityGroupId}", + } + + if input == nil { + input = &DescribeInputSecurityGroupInput{} + } + + output = &DescribeInputSecurityGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeInputSecurityGroup API operation for AWS Elemental MediaLive. +// +// Produces a summary of an Input Security 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 AWS Elemental MediaLive's +// API operation DescribeInputSecurityGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInputSecurityGroup +func (c *MediaLive) DescribeInputSecurityGroup(input *DescribeInputSecurityGroupInput) (*DescribeInputSecurityGroupOutput, error) { + req, out := c.DescribeInputSecurityGroupRequest(input) + return out, req.Send() +} + +// DescribeInputSecurityGroupWithContext is the same as DescribeInputSecurityGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeInputSecurityGroup 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 *MediaLive) DescribeInputSecurityGroupWithContext(ctx aws.Context, input *DescribeInputSecurityGroupInput, opts ...request.Option) (*DescribeInputSecurityGroupOutput, error) { + req, out := c.DescribeInputSecurityGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeOffering = "DescribeOffering" + +// DescribeOfferingRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOffering 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 DescribeOffering for more information on using the DescribeOffering +// 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 DescribeOfferingRequest method. +// req, resp := client.DescribeOfferingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering +func (c *MediaLive) DescribeOfferingRequest(input *DescribeOfferingInput) (req *request.Request, output *DescribeOfferingOutput) { + op := &request.Operation{ + Name: opDescribeOffering, + HTTPMethod: "GET", + HTTPPath: "/prod/offerings/{offeringId}", + } + + if input == nil { + input = &DescribeOfferingInput{} + } + + output = &DescribeOfferingOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeOffering API operation for AWS Elemental MediaLive. +// +// Get details for an offering. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation DescribeOffering for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering +func (c *MediaLive) DescribeOffering(input *DescribeOfferingInput) (*DescribeOfferingOutput, error) { + req, out := c.DescribeOfferingRequest(input) + return out, req.Send() +} + +// DescribeOfferingWithContext is the same as DescribeOffering with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeOffering 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 *MediaLive) DescribeOfferingWithContext(ctx aws.Context, input *DescribeOfferingInput, opts ...request.Option) (*DescribeOfferingOutput, error) { + req, out := c.DescribeOfferingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeReservation = "DescribeReservation" + +// DescribeReservationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReservation 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 DescribeReservation for more information on using the DescribeReservation +// 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 DescribeReservationRequest method. +// req, resp := client.DescribeReservationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation +func (c *MediaLive) DescribeReservationRequest(input *DescribeReservationInput) (req *request.Request, output *DescribeReservationOutput) { + op := &request.Operation{ + Name: opDescribeReservation, + HTTPMethod: "GET", + HTTPPath: "/prod/reservations/{reservationId}", + } + + if input == nil { + input = &DescribeReservationInput{} + } + + output = &DescribeReservationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeReservation API operation for AWS Elemental MediaLive. +// +// Get details for a reservation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation DescribeReservation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation +func (c *MediaLive) DescribeReservation(input *DescribeReservationInput) (*DescribeReservationOutput, error) { + req, out := c.DescribeReservationRequest(input) + return out, req.Send() +} + +// DescribeReservationWithContext is the same as DescribeReservation with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeReservation 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 *MediaLive) DescribeReservationWithContext(ctx aws.Context, input *DescribeReservationInput, opts ...request.Option) (*DescribeReservationOutput, error) { + req, out := c.DescribeReservationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeSchedule = "DescribeSchedule" + +// DescribeScheduleRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSchedule 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 DescribeSchedule for more information on using the DescribeSchedule +// 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 DescribeScheduleRequest method. +// req, resp := client.DescribeScheduleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeSchedule +func (c *MediaLive) DescribeScheduleRequest(input *DescribeScheduleInput) (req *request.Request, output *DescribeScheduleOutput) { + op := &request.Operation{ + Name: opDescribeSchedule, + HTTPMethod: "GET", + HTTPPath: "/prod/channels/{channelId}/schedule", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeScheduleInput{} + } + + output = &DescribeScheduleOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSchedule API operation for AWS Elemental MediaLive. +// +// Get a channel schedule +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation DescribeSchedule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeSchedule +func (c *MediaLive) DescribeSchedule(input *DescribeScheduleInput) (*DescribeScheduleOutput, error) { + req, out := c.DescribeScheduleRequest(input) + return out, req.Send() +} + +// DescribeScheduleWithContext is the same as DescribeSchedule with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSchedule 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 *MediaLive) DescribeScheduleWithContext(ctx aws.Context, input *DescribeScheduleInput, opts ...request.Option) (*DescribeScheduleOutput, error) { + req, out := c.DescribeScheduleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeSchedulePages iterates over the pages of a DescribeSchedule operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSchedule 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 DescribeSchedule operation. +// pageNum := 0 +// err := client.DescribeSchedulePages(params, +// func(page *DescribeScheduleOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaLive) DescribeSchedulePages(input *DescribeScheduleInput, fn func(*DescribeScheduleOutput, bool) bool) error { + return c.DescribeSchedulePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSchedulePagesWithContext same as DescribeSchedulePages 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 *MediaLive) DescribeSchedulePagesWithContext(ctx aws.Context, input *DescribeScheduleInput, fn func(*DescribeScheduleOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeScheduleInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeScheduleRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeScheduleOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListChannels = "ListChannels" + +// ListChannelsRequest generates a "aws/request.Request" representing the +// client's request for the ListChannels 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 ListChannels for more information on using the ListChannels +// 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 ListChannelsRequest method. +// req, resp := client.ListChannelsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListChannels +func (c *MediaLive) ListChannelsRequest(input *ListChannelsInput) (req *request.Request, output *ListChannelsOutput) { + op := &request.Operation{ + Name: opListChannels, + HTTPMethod: "GET", + HTTPPath: "/prod/channels", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListChannelsInput{} + } + + output = &ListChannelsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListChannels API operation for AWS Elemental MediaLive. +// +// Produces list of channels that have been created +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation ListChannels for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListChannels +func (c *MediaLive) ListChannels(input *ListChannelsInput) (*ListChannelsOutput, error) { + req, out := c.ListChannelsRequest(input) + return out, req.Send() +} + +// ListChannelsWithContext is the same as ListChannels with the addition of +// the ability to pass a context and additional request options. +// +// See ListChannels 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 *MediaLive) ListChannelsWithContext(ctx aws.Context, input *ListChannelsInput, opts ...request.Option) (*ListChannelsOutput, error) { + req, out := c.ListChannelsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListChannelsPages iterates over the pages of a ListChannels operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListChannels 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 ListChannels operation. +// pageNum := 0 +// err := client.ListChannelsPages(params, +// func(page *ListChannelsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaLive) ListChannelsPages(input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool) error { + return c.ListChannelsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListChannelsPagesWithContext same as ListChannelsPages 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 *MediaLive) ListChannelsPagesWithContext(ctx aws.Context, input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListChannelsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListChannelsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListChannelsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListInputSecurityGroups = "ListInputSecurityGroups" + +// ListInputSecurityGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListInputSecurityGroups 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 ListInputSecurityGroups for more information on using the ListInputSecurityGroups +// 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 ListInputSecurityGroupsRequest method. +// req, resp := client.ListInputSecurityGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputSecurityGroups +func (c *MediaLive) ListInputSecurityGroupsRequest(input *ListInputSecurityGroupsInput) (req *request.Request, output *ListInputSecurityGroupsOutput) { + op := &request.Operation{ + Name: opListInputSecurityGroups, + HTTPMethod: "GET", + HTTPPath: "/prod/inputSecurityGroups", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListInputSecurityGroupsInput{} + } + + output = &ListInputSecurityGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListInputSecurityGroups API operation for AWS Elemental MediaLive. +// +// Produces a list of Input Security Groups for an 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 AWS Elemental MediaLive's +// API operation ListInputSecurityGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputSecurityGroups +func (c *MediaLive) ListInputSecurityGroups(input *ListInputSecurityGroupsInput) (*ListInputSecurityGroupsOutput, error) { + req, out := c.ListInputSecurityGroupsRequest(input) + return out, req.Send() +} + +// ListInputSecurityGroupsWithContext is the same as ListInputSecurityGroups with the addition of +// the ability to pass a context and additional request options. +// +// See ListInputSecurityGroups 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 *MediaLive) ListInputSecurityGroupsWithContext(ctx aws.Context, input *ListInputSecurityGroupsInput, opts ...request.Option) (*ListInputSecurityGroupsOutput, error) { + req, out := c.ListInputSecurityGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListInputSecurityGroupsPages iterates over the pages of a ListInputSecurityGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListInputSecurityGroups 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 ListInputSecurityGroups operation. +// pageNum := 0 +// err := client.ListInputSecurityGroupsPages(params, +// func(page *ListInputSecurityGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaLive) ListInputSecurityGroupsPages(input *ListInputSecurityGroupsInput, fn func(*ListInputSecurityGroupsOutput, bool) bool) error { + return c.ListInputSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListInputSecurityGroupsPagesWithContext same as ListInputSecurityGroupsPages 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 *MediaLive) ListInputSecurityGroupsPagesWithContext(ctx aws.Context, input *ListInputSecurityGroupsInput, fn func(*ListInputSecurityGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListInputSecurityGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListInputSecurityGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListInputSecurityGroupsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListInputs = "ListInputs" + +// ListInputsRequest generates a "aws/request.Request" representing the +// client's request for the ListInputs 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 ListInputs for more information on using the ListInputs +// 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 ListInputsRequest method. +// req, resp := client.ListInputsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputs +func (c *MediaLive) ListInputsRequest(input *ListInputsInput) (req *request.Request, output *ListInputsOutput) { + op := &request.Operation{ + Name: opListInputs, + HTTPMethod: "GET", + HTTPPath: "/prod/inputs", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListInputsInput{} + } + + output = &ListInputsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListInputs API operation for AWS Elemental MediaLive. +// +// Produces list of inputs that have been created +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation ListInputs for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputs +func (c *MediaLive) ListInputs(input *ListInputsInput) (*ListInputsOutput, error) { + req, out := c.ListInputsRequest(input) + return out, req.Send() +} + +// ListInputsWithContext is the same as ListInputs with the addition of +// the ability to pass a context and additional request options. +// +// See ListInputs 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 *MediaLive) ListInputsWithContext(ctx aws.Context, input *ListInputsInput, opts ...request.Option) (*ListInputsOutput, error) { + req, out := c.ListInputsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListInputsPages iterates over the pages of a ListInputs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListInputs 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 ListInputs operation. +// pageNum := 0 +// err := client.ListInputsPages(params, +// func(page *ListInputsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaLive) ListInputsPages(input *ListInputsInput, fn func(*ListInputsOutput, bool) bool) error { + return c.ListInputsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListInputsPagesWithContext same as ListInputsPages 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 *MediaLive) ListInputsPagesWithContext(ctx aws.Context, input *ListInputsInput, fn func(*ListInputsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListInputsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListInputsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListInputsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListOfferings = "ListOfferings" + +// ListOfferingsRequest generates a "aws/request.Request" representing the +// client's request for the ListOfferings 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 ListOfferings for more information on using the ListOfferings +// 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 ListOfferingsRequest method. +// req, resp := client.ListOfferingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings +func (c *MediaLive) ListOfferingsRequest(input *ListOfferingsInput) (req *request.Request, output *ListOfferingsOutput) { + op := &request.Operation{ + Name: opListOfferings, + HTTPMethod: "GET", + HTTPPath: "/prod/offerings", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListOfferingsInput{} + } + + output = &ListOfferingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListOfferings API operation for AWS Elemental MediaLive. +// +// List offerings available for purchase. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation ListOfferings for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings +func (c *MediaLive) ListOfferings(input *ListOfferingsInput) (*ListOfferingsOutput, error) { + req, out := c.ListOfferingsRequest(input) + return out, req.Send() +} + +// ListOfferingsWithContext is the same as ListOfferings with the addition of +// the ability to pass a context and additional request options. +// +// See ListOfferings 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 *MediaLive) ListOfferingsWithContext(ctx aws.Context, input *ListOfferingsInput, opts ...request.Option) (*ListOfferingsOutput, error) { + req, out := c.ListOfferingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListOfferingsPages iterates over the pages of a ListOfferings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListOfferings 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 ListOfferings operation. +// pageNum := 0 +// err := client.ListOfferingsPages(params, +// func(page *ListOfferingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaLive) ListOfferingsPages(input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool) error { + return c.ListOfferingsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListOfferingsPagesWithContext same as ListOfferingsPages 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 *MediaLive) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListOfferingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListOfferingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListOfferingsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListReservations = "ListReservations" + +// ListReservationsRequest generates a "aws/request.Request" representing the +// client's request for the ListReservations 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 ListReservations for more information on using the ListReservations +// 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 ListReservationsRequest method. +// req, resp := client.ListReservationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations +func (c *MediaLive) ListReservationsRequest(input *ListReservationsInput) (req *request.Request, output *ListReservationsOutput) { + op := &request.Operation{ + Name: opListReservations, + HTTPMethod: "GET", + HTTPPath: "/prod/reservations", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListReservationsInput{} + } + + output = &ListReservationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListReservations API operation for AWS Elemental MediaLive. +// +// List purchased reservations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation ListReservations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations +func (c *MediaLive) ListReservations(input *ListReservationsInput) (*ListReservationsOutput, error) { + req, out := c.ListReservationsRequest(input) + return out, req.Send() +} + +// ListReservationsWithContext is the same as ListReservations with the addition of +// the ability to pass a context and additional request options. +// +// See ListReservations 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 *MediaLive) ListReservationsWithContext(ctx aws.Context, input *ListReservationsInput, opts ...request.Option) (*ListReservationsOutput, error) { + req, out := c.ListReservationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListReservationsPages iterates over the pages of a ListReservations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListReservations 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 ListReservations operation. +// pageNum := 0 +// err := client.ListReservationsPages(params, +// func(page *ListReservationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaLive) ListReservationsPages(input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool) error { + return c.ListReservationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListReservationsPagesWithContext same as ListReservationsPages 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 *MediaLive) ListReservationsPagesWithContext(ctx aws.Context, input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListReservationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListReservationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListReservationsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource +func (c *MediaLive) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/prod/tags/{resource-arn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS Elemental MediaLive. +// +// Produces list of tags that have been created for a resource +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource +func (c *MediaLive) 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 *MediaLive) 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 opPurchaseOffering = "PurchaseOffering" + +// PurchaseOfferingRequest generates a "aws/request.Request" representing the +// client's request for the PurchaseOffering 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 PurchaseOffering for more information on using the PurchaseOffering +// 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 PurchaseOfferingRequest method. +// req, resp := client.PurchaseOfferingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering +func (c *MediaLive) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req *request.Request, output *PurchaseOfferingOutput) { + op := &request.Operation{ + Name: opPurchaseOffering, + HTTPMethod: "POST", + HTTPPath: "/prod/offerings/{offeringId}/purchase", + } + + if input == nil { + input = &PurchaseOfferingInput{} + } + + output = &PurchaseOfferingOutput{} + req = c.newRequest(op, input, output) + return +} + +// PurchaseOffering API operation for AWS Elemental MediaLive. +// +// Purchase an offering and create a reservation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation PurchaseOffering for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering +func (c *MediaLive) PurchaseOffering(input *PurchaseOfferingInput) (*PurchaseOfferingOutput, error) { + req, out := c.PurchaseOfferingRequest(input) + return out, req.Send() +} + +// PurchaseOfferingWithContext is the same as PurchaseOffering with the addition of +// the ability to pass a context and additional request options. +// +// See PurchaseOffering 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 *MediaLive) PurchaseOfferingWithContext(ctx aws.Context, input *PurchaseOfferingInput, opts ...request.Option) (*PurchaseOfferingOutput, error) { + req, out := c.PurchaseOfferingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartChannel = "StartChannel" + +// StartChannelRequest generates a "aws/request.Request" representing the +// client's request for the StartChannel 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 StartChannel for more information on using the StartChannel +// 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 StartChannelRequest method. +// req, resp := client.StartChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartChannel +func (c *MediaLive) StartChannelRequest(input *StartChannelInput) (req *request.Request, output *StartChannelOutput) { + op := &request.Operation{ + Name: opStartChannel, + HTTPMethod: "POST", + HTTPPath: "/prod/channels/{channelId}/start", + } + + if input == nil { + input = &StartChannelInput{} + } + + output = &StartChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartChannel API operation for AWS Elemental MediaLive. +// +// Starts an existing channel +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation StartChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartChannel +func (c *MediaLive) StartChannel(input *StartChannelInput) (*StartChannelOutput, error) { + req, out := c.StartChannelRequest(input) + return out, req.Send() +} + +// StartChannelWithContext is the same as StartChannel with the addition of +// the ability to pass a context and additional request options. +// +// See StartChannel 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 *MediaLive) StartChannelWithContext(ctx aws.Context, input *StartChannelInput, opts ...request.Option) (*StartChannelOutput, error) { + req, out := c.StartChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopChannel = "StopChannel" + +// StopChannelRequest generates a "aws/request.Request" representing the +// client's request for the StopChannel 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 StopChannel for more information on using the StopChannel +// 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 StopChannelRequest method. +// req, resp := client.StopChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopChannel +func (c *MediaLive) StopChannelRequest(input *StopChannelInput) (req *request.Request, output *StopChannelOutput) { + op := &request.Operation{ + Name: opStopChannel, + HTTPMethod: "POST", + HTTPPath: "/prod/channels/{channelId}/stop", + } + + if input == nil { + input = &StopChannelInput{} + } + + output = &StopChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopChannel API operation for AWS Elemental MediaLive. +// +// Stops a running channel +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation StopChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopChannel +func (c *MediaLive) StopChannel(input *StopChannelInput) (*StopChannelOutput, error) { + req, out := c.StopChannelRequest(input) + return out, req.Send() +} + +// StopChannelWithContext is the same as StopChannel with the addition of +// the ability to pass a context and additional request options. +// +// See StopChannel 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 *MediaLive) StopChannelWithContext(ctx aws.Context, input *StopChannelInput, opts ...request.Option) (*StopChannelOutput, error) { + req, out := c.StopChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateChannel = "UpdateChannel" + +// UpdateChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateChannel 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 UpdateChannel for more information on using the UpdateChannel +// 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 UpdateChannelRequest method. +// req, resp := client.UpdateChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel +func (c *MediaLive) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) { + op := &request.Operation{ + Name: opUpdateChannel, + HTTPMethod: "PUT", + HTTPPath: "/prod/channels/{channelId}", + } + + if input == nil { + input = &UpdateChannelInput{} + } + + output = &UpdateChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateChannel API operation for AWS Elemental MediaLive. +// +// Updates a channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation UpdateChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel +func (c *MediaLive) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) { + req, out := c.UpdateChannelRequest(input) + return out, req.Send() +} + +// UpdateChannelWithContext is the same as UpdateChannel with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateChannel 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 *MediaLive) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) { + req, out := c.UpdateChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateInput = "UpdateInput" + +// UpdateInputRequest generates a "aws/request.Request" representing the +// client's request for the UpdateInput 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 UpdateInput for more information on using the UpdateInput +// 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 UpdateInputRequest method. +// req, resp := client.UpdateInputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput +func (c *MediaLive) UpdateInputRequest(input *UpdateInputInput) (req *request.Request, output *UpdateInputOutput) { + op := &request.Operation{ + Name: opUpdateInput, + HTTPMethod: "PUT", + HTTPPath: "/prod/inputs/{inputId}", + } + + if input == nil { + input = &UpdateInputInput{} + } + + output = &UpdateInputOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateInput API operation for AWS Elemental MediaLive. +// +// Updates an input. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation UpdateInput for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput +func (c *MediaLive) UpdateInput(input *UpdateInputInput) (*UpdateInputOutput, error) { + req, out := c.UpdateInputRequest(input) + return out, req.Send() +} + +// UpdateInputWithContext is the same as UpdateInput with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateInput 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 *MediaLive) UpdateInputWithContext(ctx aws.Context, input *UpdateInputInput, opts ...request.Option) (*UpdateInputOutput, error) { + req, out := c.UpdateInputRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateInputSecurityGroup = "UpdateInputSecurityGroup" + +// UpdateInputSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateInputSecurityGroup 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 UpdateInputSecurityGroup for more information on using the UpdateInputSecurityGroup +// 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 UpdateInputSecurityGroupRequest method. +// req, resp := client.UpdateInputSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup +func (c *MediaLive) UpdateInputSecurityGroupRequest(input *UpdateInputSecurityGroupInput) (req *request.Request, output *UpdateInputSecurityGroupOutput) { + op := &request.Operation{ + Name: opUpdateInputSecurityGroup, + HTTPMethod: "PUT", + HTTPPath: "/prod/inputSecurityGroups/{inputSecurityGroupId}", + } + + if input == nil { + input = &UpdateInputSecurityGroupInput{} + } + + output = &UpdateInputSecurityGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateInputSecurityGroup API operation for AWS Elemental MediaLive. +// +// Update an Input Security Group's Whilelists. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaLive's +// API operation UpdateInputSecurityGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup +func (c *MediaLive) UpdateInputSecurityGroup(input *UpdateInputSecurityGroupInput) (*UpdateInputSecurityGroupOutput, error) { + req, out := c.UpdateInputSecurityGroupRequest(input) + return out, req.Send() +} + +// UpdateInputSecurityGroupWithContext is the same as UpdateInputSecurityGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateInputSecurityGroup 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 *MediaLive) UpdateInputSecurityGroupWithContext(ctx aws.Context, input *UpdateInputSecurityGroupInput, opts ...request.Option) (*UpdateInputSecurityGroupOutput, error) { + req, out := c.UpdateInputSecurityGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type AacSettings struct { + _ struct{} `type:"structure"` + + // Average bitrate in bits/second. Valid values depend on rate control mode + // and profile. + Bitrate *float64 `locationName:"bitrate" type:"double"` + + // Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control + // mode and profile. The adReceiverMix setting receives a stereo description + // plus control track and emits a mono AAC encode of the description track, + // with control data emitted in the PES header as per ETSI TS 101 154 Annex + // E. + CodingMode *string `locationName:"codingMode" type:"string" enum:"AacCodingMode"` + + // Set to "broadcasterMixedAd" when input contains pre-mixed main audio + AD + // (narration) as a stereo pair. The Audio Type field (audioType) will be set + // to 3, which signals to downstream systems that this stream contains "broadcaster + // mixed AD". Note that the input received by the encoder must contain pre-mixed + // audio; the encoder does not perform the mixing. The values in audioTypeControl + // and audioType (in AudioDescription) are ignored when set to broadcasterMixedAd.Leave + // set to "normal" when input does not contain pre-mixed audio + AD. + InputType *string `locationName:"inputType" type:"string" enum:"AacInputType"` + + // AAC Profile. + Profile *string `locationName:"profile" type:"string" enum:"AacProfile"` + + // Rate Control Mode. + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"AacRateControlMode"` + + // Sets LATM / LOAS AAC output for raw containers. + RawFormat *string `locationName:"rawFormat" type:"string" enum:"AacRawFormat"` + + // Sample rate in Hz. Valid values depend on rate control mode and profile. + SampleRate *float64 `locationName:"sampleRate" type:"double"` + + // Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport + // Stream containers. + Spec *string `locationName:"spec" type:"string" enum:"AacSpec"` + + // VBR Quality Level - Only used if rateControlMode is VBR. + VbrQuality *string `locationName:"vbrQuality" type:"string" enum:"AacVbrQuality"` +} + +// String returns the string representation +func (s AacSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AacSettings) GoString() string { + return s.String() +} + +// SetBitrate sets the Bitrate field's value. +func (s *AacSettings) SetBitrate(v float64) *AacSettings { + s.Bitrate = &v + return s +} + +// SetCodingMode sets the CodingMode field's value. +func (s *AacSettings) SetCodingMode(v string) *AacSettings { + s.CodingMode = &v + return s +} + +// SetInputType sets the InputType field's value. +func (s *AacSettings) SetInputType(v string) *AacSettings { + s.InputType = &v + return s +} + +// SetProfile sets the Profile field's value. +func (s *AacSettings) SetProfile(v string) *AacSettings { + s.Profile = &v + return s +} + +// SetRateControlMode sets the RateControlMode field's value. +func (s *AacSettings) SetRateControlMode(v string) *AacSettings { + s.RateControlMode = &v + return s +} + +// SetRawFormat sets the RawFormat field's value. +func (s *AacSettings) SetRawFormat(v string) *AacSettings { + s.RawFormat = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *AacSettings) SetSampleRate(v float64) *AacSettings { + s.SampleRate = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *AacSettings) SetSpec(v string) *AacSettings { + s.Spec = &v + return s +} + +// SetVbrQuality sets the VbrQuality field's value. +func (s *AacSettings) SetVbrQuality(v string) *AacSettings { + s.VbrQuality = &v + return s +} + +type Ac3Settings struct { + _ struct{} `type:"structure"` + + // Average bitrate in bits/second. Valid bitrates depend on the coding mode. + Bitrate *float64 `locationName:"bitrate" type:"double"` + + // Specifies the bitstream mode (bsmod) for the emitted AC-3 stream. See ATSC + // A/52-2012 for background on these values. + BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Ac3BitstreamMode"` + + // Dolby Digital coding mode. Determines number of channels. + CodingMode *string `locationName:"codingMode" type:"string" enum:"Ac3CodingMode"` + + // Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, + // dialnorm will be passed through. + Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` + + // If set to filmStandard, adds dynamic range compression signaling to the output + // bitstream as defined in the Dolby Digital specification. + DrcProfile *string `locationName:"drcProfile" type:"string" enum:"Ac3DrcProfile"` + + // When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior + // to encoding. Only valid in codingMode32Lfe mode. + LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Ac3LfeFilter"` + + // When set to "followInput", encoder metadata will be sourced from the DD, + // DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied + // from one of these streams, then the static metadata settings will be used. + MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Ac3MetadataControl"` +} + +// String returns the string representation +func (s Ac3Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Ac3Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Ac3Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Ac3Settings"} + if s.Dialnorm != nil && *s.Dialnorm < 1 { + invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitrate sets the Bitrate field's value. +func (s *Ac3Settings) SetBitrate(v float64) *Ac3Settings { + s.Bitrate = &v + return s +} + +// SetBitstreamMode sets the BitstreamMode field's value. +func (s *Ac3Settings) SetBitstreamMode(v string) *Ac3Settings { + s.BitstreamMode = &v + return s +} + +// SetCodingMode sets the CodingMode field's value. +func (s *Ac3Settings) SetCodingMode(v string) *Ac3Settings { + s.CodingMode = &v + return s +} + +// SetDialnorm sets the Dialnorm field's value. +func (s *Ac3Settings) SetDialnorm(v int64) *Ac3Settings { + s.Dialnorm = &v + return s +} + +// SetDrcProfile sets the DrcProfile field's value. +func (s *Ac3Settings) SetDrcProfile(v string) *Ac3Settings { + s.DrcProfile = &v + return s +} + +// SetLfeFilter sets the LfeFilter field's value. +func (s *Ac3Settings) SetLfeFilter(v string) *Ac3Settings { + s.LfeFilter = &v + return s +} + +// SetMetadataControl sets the MetadataControl field's value. +func (s *Ac3Settings) SetMetadataControl(v string) *Ac3Settings { + s.MetadataControl = &v + return s +} + +type ArchiveContainerSettings struct { + _ struct{} `type:"structure"` + + M2tsSettings *M2tsSettings `locationName:"m2tsSettings" type:"structure"` +} + +// String returns the string representation +func (s ArchiveContainerSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ArchiveContainerSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveContainerSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveContainerSettings"} + if s.M2tsSettings != nil { + if err := s.M2tsSettings.Validate(); err != nil { + invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetM2tsSettings sets the M2tsSettings field's value. +func (s *ArchiveContainerSettings) SetM2tsSettings(v *M2tsSettings) *ArchiveContainerSettings { + s.M2tsSettings = v + return s +} + +type ArchiveGroupSettings struct { + _ struct{} `type:"structure"` + + // A directory and base filename where archive files should be written. + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` + + // Number of seconds to write to archive file before closing and starting a + // new one. + RolloverInterval *int64 `locationName:"rolloverInterval" min:"1" type:"integer"` +} + +// String returns the string representation +func (s ArchiveGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ArchiveGroupSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveGroupSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.RolloverInterval != nil && *s.RolloverInterval < 1 { + invalidParams.Add(request.NewErrParamMinValue("RolloverInterval", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestination sets the Destination field's value. +func (s *ArchiveGroupSettings) SetDestination(v *OutputLocationRef) *ArchiveGroupSettings { + s.Destination = v + return s +} + +// SetRolloverInterval sets the RolloverInterval field's value. +func (s *ArchiveGroupSettings) SetRolloverInterval(v int64) *ArchiveGroupSettings { + s.RolloverInterval = &v + return s +} + +type ArchiveOutputSettings struct { + _ struct{} `type:"structure"` + + // Settings specific to the container type of the file. + // + // ContainerSettings is a required field + ContainerSettings *ArchiveContainerSettings `locationName:"containerSettings" type:"structure" required:"true"` + + // Output file extension. If excluded, this will be auto-selected from the container + // type. + Extension *string `locationName:"extension" type:"string"` + + // String concatenated to the end of the destination filename. Required for + // multiple outputs of the same type. + NameModifier *string `locationName:"nameModifier" type:"string"` +} + +// String returns the string representation +func (s ArchiveOutputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ArchiveOutputSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveOutputSettings"} + if s.ContainerSettings == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerSettings")) + } + if s.ContainerSettings != nil { + if err := s.ContainerSettings.Validate(); err != nil { + invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainerSettings sets the ContainerSettings field's value. +func (s *ArchiveOutputSettings) SetContainerSettings(v *ArchiveContainerSettings) *ArchiveOutputSettings { + s.ContainerSettings = v + return s +} + +// SetExtension sets the Extension field's value. +func (s *ArchiveOutputSettings) SetExtension(v string) *ArchiveOutputSettings { + s.Extension = &v + return s +} + +// SetNameModifier sets the NameModifier field's value. +func (s *ArchiveOutputSettings) SetNameModifier(v string) *ArchiveOutputSettings { + s.NameModifier = &v + return s +} + +type AribDestinationSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AribDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AribDestinationSettings) GoString() string { + return s.String() +} + +type AribSourceSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AribSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AribSourceSettings) GoString() string { + return s.String() +} + +type AudioChannelMapping struct { + _ struct{} `type:"structure"` + + // Indices and gain values for each input channel that should be remixed into + // this output channel. + // + // InputChannelLevels is a required field + InputChannelLevels []*InputChannelLevel `locationName:"inputChannelLevels" type:"list" required:"true"` + + // The index of the output channel being produced. + // + // OutputChannel is a required field + OutputChannel *int64 `locationName:"outputChannel" type:"integer" required:"true"` +} + +// String returns the string representation +func (s AudioChannelMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioChannelMapping) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioChannelMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioChannelMapping"} + if s.InputChannelLevels == nil { + invalidParams.Add(request.NewErrParamRequired("InputChannelLevels")) + } + if s.OutputChannel == nil { + invalidParams.Add(request.NewErrParamRequired("OutputChannel")) + } + if s.InputChannelLevels != nil { + for i, v := range s.InputChannelLevels { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputChannelLevels", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputChannelLevels sets the InputChannelLevels field's value. +func (s *AudioChannelMapping) SetInputChannelLevels(v []*InputChannelLevel) *AudioChannelMapping { + s.InputChannelLevels = v + return s +} + +// SetOutputChannel sets the OutputChannel field's value. +func (s *AudioChannelMapping) SetOutputChannel(v int64) *AudioChannelMapping { + s.OutputChannel = &v + return s +} + +type AudioCodecSettings struct { + _ struct{} `type:"structure"` + + AacSettings *AacSettings `locationName:"aacSettings" type:"structure"` + + Ac3Settings *Ac3Settings `locationName:"ac3Settings" type:"structure"` + + Eac3Settings *Eac3Settings `locationName:"eac3Settings" type:"structure"` + + Mp2Settings *Mp2Settings `locationName:"mp2Settings" type:"structure"` + + PassThroughSettings *PassThroughSettings `locationName:"passThroughSettings" type:"structure"` +} + +// String returns the string representation +func (s AudioCodecSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioCodecSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioCodecSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioCodecSettings"} + if s.Ac3Settings != nil { + if err := s.Ac3Settings.Validate(); err != nil { + invalidParams.AddNested("Ac3Settings", err.(request.ErrInvalidParams)) + } + } + if s.Eac3Settings != nil { + if err := s.Eac3Settings.Validate(); err != nil { + invalidParams.AddNested("Eac3Settings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAacSettings sets the AacSettings field's value. +func (s *AudioCodecSettings) SetAacSettings(v *AacSettings) *AudioCodecSettings { + s.AacSettings = v + return s +} + +// SetAc3Settings sets the Ac3Settings field's value. +func (s *AudioCodecSettings) SetAc3Settings(v *Ac3Settings) *AudioCodecSettings { + s.Ac3Settings = v + return s +} + +// SetEac3Settings sets the Eac3Settings field's value. +func (s *AudioCodecSettings) SetEac3Settings(v *Eac3Settings) *AudioCodecSettings { + s.Eac3Settings = v + return s +} + +// SetMp2Settings sets the Mp2Settings field's value. +func (s *AudioCodecSettings) SetMp2Settings(v *Mp2Settings) *AudioCodecSettings { + s.Mp2Settings = v + return s +} + +// SetPassThroughSettings sets the PassThroughSettings field's value. +func (s *AudioCodecSettings) SetPassThroughSettings(v *PassThroughSettings) *AudioCodecSettings { + s.PassThroughSettings = v + return s +} + +type AudioDescription struct { + _ struct{} `type:"structure"` + + // Advanced audio normalization settings. + AudioNormalizationSettings *AudioNormalizationSettings `locationName:"audioNormalizationSettings" type:"structure"` + + // The name of the AudioSelector used as the source for this AudioDescription. + // + // AudioSelectorName is a required field + AudioSelectorName *string `locationName:"audioSelectorName" type:"string" required:"true"` + + // Applies only if audioTypeControl is useConfigured. The values for audioType + // are defined in ISO-IEC 13818-1. + AudioType *string `locationName:"audioType" type:"string" enum:"AudioType"` + + // Determines how audio type is determined. followInput: If the input contains + // an ISO 639 audioType, then that value is passed through to the output. If + // the input contains no ISO 639 audioType, the value in Audio Type is included + // in the output. useConfigured: The value in Audio Type is included in the + // output.Note that this field and audioType are both ignored if inputType is + // broadcasterMixedAd. + AudioTypeControl *string `locationName:"audioTypeControl" type:"string" enum:"AudioDescriptionAudioTypeControl"` + + // Audio codec settings. + CodecSettings *AudioCodecSettings `locationName:"codecSettings" type:"structure"` + + // Indicates the language of the audio output track. Only used if languageControlMode + // is useConfigured, or there is no ISO 639 language code specified in the input. + LanguageCode *string `locationName:"languageCode" min:"3" type:"string"` + + // Choosing followInput will cause the ISO 639 language code of the output to + // follow the ISO 639 language code of the input. The languageCode will be used + // when useConfigured is set, or when followInput is selected but there is no + // ISO 639 language code specified by the input. + LanguageCodeControl *string `locationName:"languageCodeControl" type:"string" enum:"AudioDescriptionLanguageCodeControl"` + + // The name of this AudioDescription. Outputs will use this name to uniquely + // identify this AudioDescription. Description names should be unique within + // this Live Event. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Settings that control how input audio channels are remixed into the output + // audio channels. + RemixSettings *RemixSettings `locationName:"remixSettings" type:"structure"` + + // Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by + // the player (eg. English, or Director Commentary). + StreamName *string `locationName:"streamName" type:"string"` +} + +// String returns the string representation +func (s AudioDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioDescription) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioDescription"} + if s.AudioSelectorName == nil { + invalidParams.Add(request.NewErrParamRequired("AudioSelectorName")) + } + if s.LanguageCode != nil && len(*s.LanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.CodecSettings != nil { + if err := s.CodecSettings.Validate(); err != nil { + invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams)) + } + } + if s.RemixSettings != nil { + if err := s.RemixSettings.Validate(); err != nil { + invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioNormalizationSettings sets the AudioNormalizationSettings field's value. +func (s *AudioDescription) SetAudioNormalizationSettings(v *AudioNormalizationSettings) *AudioDescription { + s.AudioNormalizationSettings = v + return s +} + +// SetAudioSelectorName sets the AudioSelectorName field's value. +func (s *AudioDescription) SetAudioSelectorName(v string) *AudioDescription { + s.AudioSelectorName = &v + return s +} + +// SetAudioType sets the AudioType field's value. +func (s *AudioDescription) SetAudioType(v string) *AudioDescription { + s.AudioType = &v + return s +} + +// SetAudioTypeControl sets the AudioTypeControl field's value. +func (s *AudioDescription) SetAudioTypeControl(v string) *AudioDescription { + s.AudioTypeControl = &v + return s +} + +// SetCodecSettings sets the CodecSettings field's value. +func (s *AudioDescription) SetCodecSettings(v *AudioCodecSettings) *AudioDescription { + s.CodecSettings = v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *AudioDescription) SetLanguageCode(v string) *AudioDescription { + s.LanguageCode = &v + return s +} + +// SetLanguageCodeControl sets the LanguageCodeControl field's value. +func (s *AudioDescription) SetLanguageCodeControl(v string) *AudioDescription { + s.LanguageCodeControl = &v + return s +} + +// SetName sets the Name field's value. +func (s *AudioDescription) SetName(v string) *AudioDescription { + s.Name = &v + return s +} + +// SetRemixSettings sets the RemixSettings field's value. +func (s *AudioDescription) SetRemixSettings(v *RemixSettings) *AudioDescription { + s.RemixSettings = v + return s +} + +// SetStreamName sets the StreamName field's value. +func (s *AudioDescription) SetStreamName(v string) *AudioDescription { + s.StreamName = &v + return s +} + +type AudioLanguageSelection struct { + _ struct{} `type:"structure"` + + // Selects a specific three-letter language code from within an audio source. + // + // LanguageCode is a required field + LanguageCode *string `locationName:"languageCode" type:"string" required:"true"` + + // When set to "strict", the transport stream demux strictly identifies audio + // streams by their language descriptor. If a PMT update occurs such that an + // audio stream matching the initially selected language is no longer present + // then mute will be encoded until the language returns. If "loose", then on + // a PMT update the demux will choose another audio stream in the program with + // the same stream type if it can't find one with the same language. + LanguageSelectionPolicy *string `locationName:"languageSelectionPolicy" type:"string" enum:"AudioLanguageSelectionPolicy"` +} + +// String returns the string representation +func (s AudioLanguageSelection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioLanguageSelection) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioLanguageSelection) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioLanguageSelection"} + if s.LanguageCode == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageCode")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *AudioLanguageSelection) SetLanguageCode(v string) *AudioLanguageSelection { + s.LanguageCode = &v + return s +} + +// SetLanguageSelectionPolicy sets the LanguageSelectionPolicy field's value. +func (s *AudioLanguageSelection) SetLanguageSelectionPolicy(v string) *AudioLanguageSelection { + s.LanguageSelectionPolicy = &v + return s +} + +type AudioNormalizationSettings struct { + _ struct{} `type:"structure"` + + // Audio normalization algorithm to use. itu17701 conforms to the CALM Act specification, + // itu17702 conforms to the EBU R-128 specification. + Algorithm *string `locationName:"algorithm" type:"string" enum:"AudioNormalizationAlgorithm"` + + // When set to correctAudio the output audio is corrected using the chosen algorithm. + // If set to measureOnly, the audio will be measured but not adjusted. + AlgorithmControl *string `locationName:"algorithmControl" type:"string" enum:"AudioNormalizationAlgorithmControl"` + + // Target LKFS(loudness) to adjust volume to. If no value is entered, a default + // value will be used according to the chosen algorithm. The CALM Act (1770-1) + // recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends + // a target of -23 LKFS. + TargetLkfs *float64 `locationName:"targetLkfs" type:"double"` +} + +// String returns the string representation +func (s AudioNormalizationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioNormalizationSettings) GoString() string { + return s.String() +} + +// SetAlgorithm sets the Algorithm field's value. +func (s *AudioNormalizationSettings) SetAlgorithm(v string) *AudioNormalizationSettings { + s.Algorithm = &v + return s +} + +// SetAlgorithmControl sets the AlgorithmControl field's value. +func (s *AudioNormalizationSettings) SetAlgorithmControl(v string) *AudioNormalizationSettings { + s.AlgorithmControl = &v + return s +} + +// SetTargetLkfs sets the TargetLkfs field's value. +func (s *AudioNormalizationSettings) SetTargetLkfs(v float64) *AudioNormalizationSettings { + s.TargetLkfs = &v + return s +} + +type AudioOnlyHlsSettings struct { + _ struct{} `type:"structure"` + + // Specifies the group to which the audio Rendition belongs. + AudioGroupId *string `locationName:"audioGroupId" type:"string"` + + // For use with an audio only Stream. Must be a .jpg or .png file. If given, + // this image will be used as the cover-art for the audio only output. Ideally, + // it should be formatted for an iPhone screen for two reasons. The iPhone does + // not resize the image, it crops a centered image on the top/bottom and left/right. + // Additionally, this image file gets saved bit-for-bit into every 10-second + // segment file, so will increase bandwidth by {image file size} * {segment + // count} * {user count.}. + AudioOnlyImage *InputLocation `locationName:"audioOnlyImage" type:"structure"` + + // Four types of audio-only tracks are supported:Audio-Only Variant StreamThe + // client can play back this audio-only stream instead of video in low-bandwidth + // scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.Alternate + // Audio, Auto Select, DefaultAlternate rendition that the client should try + // to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest + // with DEFAULT=YES, AUTOSELECT=YESAlternate Audio, Auto Select, Not DefaultAlternate + // rendition that the client may try to play back by default. Represented as + // an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YESAlternate + // Audio, not Auto SelectAlternate rendition that the client will not try to + // play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with + // DEFAULT=NO, AUTOSELECT=NO + AudioTrackType *string `locationName:"audioTrackType" type:"string" enum:"AudioOnlyHlsTrackType"` +} + +// String returns the string representation +func (s AudioOnlyHlsSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioOnlyHlsSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioOnlyHlsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioOnlyHlsSettings"} + if s.AudioOnlyImage != nil { + if err := s.AudioOnlyImage.Validate(); err != nil { + invalidParams.AddNested("AudioOnlyImage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioGroupId sets the AudioGroupId field's value. +func (s *AudioOnlyHlsSettings) SetAudioGroupId(v string) *AudioOnlyHlsSettings { + s.AudioGroupId = &v + return s +} + +// SetAudioOnlyImage sets the AudioOnlyImage field's value. +func (s *AudioOnlyHlsSettings) SetAudioOnlyImage(v *InputLocation) *AudioOnlyHlsSettings { + s.AudioOnlyImage = v + return s +} + +// SetAudioTrackType sets the AudioTrackType field's value. +func (s *AudioOnlyHlsSettings) SetAudioTrackType(v string) *AudioOnlyHlsSettings { + s.AudioTrackType = &v + return s +} + +type AudioPidSelection struct { + _ struct{} `type:"structure"` + + // Selects a specific PID from within a source. + // + // Pid is a required field + Pid *int64 `locationName:"pid" type:"integer" required:"true"` +} + +// String returns the string representation +func (s AudioPidSelection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioPidSelection) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioPidSelection) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioPidSelection"} + if s.Pid == nil { + invalidParams.Add(request.NewErrParamRequired("Pid")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPid sets the Pid field's value. +func (s *AudioPidSelection) SetPid(v int64) *AudioPidSelection { + s.Pid = &v + return s +} + +type AudioSelector struct { + _ struct{} `type:"structure"` + + // The name of this AudioSelector. AudioDescriptions will use this name to uniquely + // identify this Selector. Selector names should be unique per input. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The audio selector settings. + SelectorSettings *AudioSelectorSettings `locationName:"selectorSettings" type:"structure"` +} + +// String returns the string representation +func (s AudioSelector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioSelector) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioSelector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioSelector"} + 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.SelectorSettings != nil { + if err := s.SelectorSettings.Validate(); err != nil { + invalidParams.AddNested("SelectorSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *AudioSelector) SetName(v string) *AudioSelector { + s.Name = &v + return s +} + +// SetSelectorSettings sets the SelectorSettings field's value. +func (s *AudioSelector) SetSelectorSettings(v *AudioSelectorSettings) *AudioSelector { + s.SelectorSettings = v + return s +} + +type AudioSelectorSettings struct { + _ struct{} `type:"structure"` + + AudioLanguageSelection *AudioLanguageSelection `locationName:"audioLanguageSelection" type:"structure"` + + AudioPidSelection *AudioPidSelection `locationName:"audioPidSelection" type:"structure"` +} + +// String returns the string representation +func (s AudioSelectorSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioSelectorSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioSelectorSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioSelectorSettings"} + if s.AudioLanguageSelection != nil { + if err := s.AudioLanguageSelection.Validate(); err != nil { + invalidParams.AddNested("AudioLanguageSelection", err.(request.ErrInvalidParams)) + } + } + if s.AudioPidSelection != nil { + if err := s.AudioPidSelection.Validate(); err != nil { + invalidParams.AddNested("AudioPidSelection", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioLanguageSelection sets the AudioLanguageSelection field's value. +func (s *AudioSelectorSettings) SetAudioLanguageSelection(v *AudioLanguageSelection) *AudioSelectorSettings { + s.AudioLanguageSelection = v + return s +} + +// SetAudioPidSelection sets the AudioPidSelection field's value. +func (s *AudioSelectorSettings) SetAudioPidSelection(v *AudioPidSelection) *AudioSelectorSettings { + s.AudioPidSelection = v + return s +} + +type AvailBlanking struct { + _ struct{} `type:"structure"` + + // Blanking image to be used. Leave empty for solid black. Only bmp and png + // images are supported. + AvailBlankingImage *InputLocation `locationName:"availBlankingImage" type:"structure"` + + // When set to enabled, causes video, audio and captions to be blanked when + // insertion metadata is added. + State *string `locationName:"state" type:"string" enum:"AvailBlankingState"` +} + +// String returns the string representation +func (s AvailBlanking) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AvailBlanking) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailBlanking) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailBlanking"} + if s.AvailBlankingImage != nil { + if err := s.AvailBlankingImage.Validate(); err != nil { + invalidParams.AddNested("AvailBlankingImage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailBlankingImage sets the AvailBlankingImage field's value. +func (s *AvailBlanking) SetAvailBlankingImage(v *InputLocation) *AvailBlanking { + s.AvailBlankingImage = v + return s +} + +// SetState sets the State field's value. +func (s *AvailBlanking) SetState(v string) *AvailBlanking { + s.State = &v + return s +} + +type AvailConfiguration struct { + _ struct{} `type:"structure"` + + // Ad avail settings. + AvailSettings *AvailSettings `locationName:"availSettings" type:"structure"` +} + +// String returns the string representation +func (s AvailConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AvailConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailConfiguration"} + if s.AvailSettings != nil { + if err := s.AvailSettings.Validate(); err != nil { + invalidParams.AddNested("AvailSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailSettings sets the AvailSettings field's value. +func (s *AvailConfiguration) SetAvailSettings(v *AvailSettings) *AvailConfiguration { + s.AvailSettings = v + return s +} + +type AvailSettings struct { + _ struct{} `type:"structure"` + + Scte35SpliceInsert *Scte35SpliceInsert `locationName:"scte35SpliceInsert" type:"structure"` + + Scte35TimeSignalApos *Scte35TimeSignalApos `locationName:"scte35TimeSignalApos" type:"structure"` +} + +// String returns the string representation +func (s AvailSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AvailSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailSettings"} + if s.Scte35SpliceInsert != nil { + if err := s.Scte35SpliceInsert.Validate(); err != nil { + invalidParams.AddNested("Scte35SpliceInsert", err.(request.ErrInvalidParams)) + } + } + if s.Scte35TimeSignalApos != nil { + if err := s.Scte35TimeSignalApos.Validate(); err != nil { + invalidParams.AddNested("Scte35TimeSignalApos", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScte35SpliceInsert sets the Scte35SpliceInsert field's value. +func (s *AvailSettings) SetScte35SpliceInsert(v *Scte35SpliceInsert) *AvailSettings { + s.Scte35SpliceInsert = v + return s +} + +// SetScte35TimeSignalApos sets the Scte35TimeSignalApos field's value. +func (s *AvailSettings) SetScte35TimeSignalApos(v *Scte35TimeSignalApos) *AvailSettings { + s.Scte35TimeSignalApos = v + return s +} + +// A list of schedule actions to create (in a request) or that have been created +// (in a response). +type BatchScheduleActionCreateRequest struct { + _ struct{} `type:"structure"` + + // A list of schedule actions to create. + // + // ScheduleActions is a required field + ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchScheduleActionCreateRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchScheduleActionCreateRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchScheduleActionCreateRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionCreateRequest"} + if s.ScheduleActions == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduleActions")) + } + if s.ScheduleActions != nil { + for i, v := range s.ScheduleActions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScheduleActions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScheduleActions sets the ScheduleActions field's value. +func (s *BatchScheduleActionCreateRequest) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateRequest { + s.ScheduleActions = v + return s +} + +// List of actions that have been created in the schedule. +type BatchScheduleActionCreateResult struct { + _ struct{} `type:"structure"` + + // List of actions that have been created in the schedule. + // + // ScheduleActions is a required field + ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchScheduleActionCreateResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchScheduleActionCreateResult) GoString() string { + return s.String() +} + +// SetScheduleActions sets the ScheduleActions field's value. +func (s *BatchScheduleActionCreateResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateResult { + s.ScheduleActions = v + return s +} + +// A list of schedule actions to delete. +type BatchScheduleActionDeleteRequest struct { + _ struct{} `type:"structure"` + + // A list of schedule actions to delete. + // + // ActionNames is a required field + ActionNames []*string `locationName:"actionNames" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchScheduleActionDeleteRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchScheduleActionDeleteRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchScheduleActionDeleteRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionDeleteRequest"} + if s.ActionNames == nil { + invalidParams.Add(request.NewErrParamRequired("ActionNames")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionNames sets the ActionNames field's value. +func (s *BatchScheduleActionDeleteRequest) SetActionNames(v []*string) *BatchScheduleActionDeleteRequest { + s.ActionNames = v + return s +} + +// List of actions that have been deleted from the schedule. +type BatchScheduleActionDeleteResult struct { + _ struct{} `type:"structure"` + + // List of actions that have been deleted from the schedule. + // + // ScheduleActions is a required field + ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchScheduleActionDeleteResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchScheduleActionDeleteResult) GoString() string { + return s.String() +} + +// SetScheduleActions sets the ScheduleActions field's value. +func (s *BatchScheduleActionDeleteResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionDeleteResult { + s.ScheduleActions = v + return s +} + +// A request to create actions (add actions to the schedule), delete actions +// (remove actions from the schedule), or both create and delete actions. +type BatchUpdateScheduleInput struct { + _ struct{} `type:"structure"` + + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` + + // Schedule actions to create in the schedule. + Creates *BatchScheduleActionCreateRequest `locationName:"creates" type:"structure"` + + // Schedule actions to delete from the schedule. + Deletes *BatchScheduleActionDeleteRequest `locationName:"deletes" type:"structure"` +} + +// String returns the string representation +func (s BatchUpdateScheduleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchUpdateScheduleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchUpdateScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchUpdateScheduleInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + if s.Creates != nil { + if err := s.Creates.Validate(); err != nil { + invalidParams.AddNested("Creates", err.(request.ErrInvalidParams)) + } + } + if s.Deletes != nil { + if err := s.Deletes.Validate(); err != nil { + invalidParams.AddNested("Deletes", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelId sets the ChannelId field's value. +func (s *BatchUpdateScheduleInput) SetChannelId(v string) *BatchUpdateScheduleInput { + s.ChannelId = &v + return s +} + +// SetCreates sets the Creates field's value. +func (s *BatchUpdateScheduleInput) SetCreates(v *BatchScheduleActionCreateRequest) *BatchUpdateScheduleInput { + s.Creates = v + return s +} + +// SetDeletes sets the Deletes field's value. +func (s *BatchUpdateScheduleInput) SetDeletes(v *BatchScheduleActionDeleteRequest) *BatchUpdateScheduleInput { + s.Deletes = v + return s +} + +type BatchUpdateScheduleOutput struct { + _ struct{} `type:"structure"` + + // List of actions that have been created in the schedule. + Creates *BatchScheduleActionCreateResult `locationName:"creates" type:"structure"` + + // List of actions that have been deleted from the schedule. + Deletes *BatchScheduleActionDeleteResult `locationName:"deletes" type:"structure"` +} + +// String returns the string representation +func (s BatchUpdateScheduleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchUpdateScheduleOutput) GoString() string { + return s.String() +} + +// SetCreates sets the Creates field's value. +func (s *BatchUpdateScheduleOutput) SetCreates(v *BatchScheduleActionCreateResult) *BatchUpdateScheduleOutput { + s.Creates = v + return s +} + +// SetDeletes sets the Deletes field's value. +func (s *BatchUpdateScheduleOutput) SetDeletes(v *BatchScheduleActionDeleteResult) *BatchUpdateScheduleOutput { + s.Deletes = v + return s +} + +type BlackoutSlate struct { + _ struct{} `type:"structure"` + + // Blackout slate image to be used. Leave empty for solid black. Only bmp and + // png images are supported. + BlackoutSlateImage *InputLocation `locationName:"blackoutSlateImage" type:"structure"` + + // Setting to enabled causes the encoder to blackout the video, audio, and captions, + // and raise the "Network Blackout Image" slate when an SCTE104/35 Network End + // Segmentation Descriptor is encountered. The blackout will be lifted when + // the Network Start Segmentation Descriptor is encountered. The Network End + // and Network Start descriptors must contain a network ID that matches the + // value entered in "Network ID". + NetworkEndBlackout *string `locationName:"networkEndBlackout" type:"string" enum:"BlackoutSlateNetworkEndBlackout"` + + // Path to local file to use as Network End Blackout image. Image will be scaled + // to fill the entire output raster. + NetworkEndBlackoutImage *InputLocation `locationName:"networkEndBlackoutImage" type:"structure"` + + // Provides Network ID that matches EIDR ID format (e.g., "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C"). + NetworkId *string `locationName:"networkId" min:"34" type:"string"` + + // When set to enabled, causes video, audio and captions to be blanked when + // indicated by program metadata. + State *string `locationName:"state" type:"string" enum:"BlackoutSlateState"` +} + +// String returns the string representation +func (s BlackoutSlate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BlackoutSlate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BlackoutSlate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BlackoutSlate"} + if s.NetworkId != nil && len(*s.NetworkId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("NetworkId", 34)) + } + if s.BlackoutSlateImage != nil { + if err := s.BlackoutSlateImage.Validate(); err != nil { + invalidParams.AddNested("BlackoutSlateImage", err.(request.ErrInvalidParams)) + } + } + if s.NetworkEndBlackoutImage != nil { + if err := s.NetworkEndBlackoutImage.Validate(); err != nil { + invalidParams.AddNested("NetworkEndBlackoutImage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBlackoutSlateImage sets the BlackoutSlateImage field's value. +func (s *BlackoutSlate) SetBlackoutSlateImage(v *InputLocation) *BlackoutSlate { + s.BlackoutSlateImage = v + return s +} + +// SetNetworkEndBlackout sets the NetworkEndBlackout field's value. +func (s *BlackoutSlate) SetNetworkEndBlackout(v string) *BlackoutSlate { + s.NetworkEndBlackout = &v + return s +} + +// SetNetworkEndBlackoutImage sets the NetworkEndBlackoutImage field's value. +func (s *BlackoutSlate) SetNetworkEndBlackoutImage(v *InputLocation) *BlackoutSlate { + s.NetworkEndBlackoutImage = v + return s +} + +// SetNetworkId sets the NetworkId field's value. +func (s *BlackoutSlate) SetNetworkId(v string) *BlackoutSlate { + s.NetworkId = &v + return s +} + +// SetState sets the State field's value. +func (s *BlackoutSlate) SetState(v string) *BlackoutSlate { + s.State = &v + return s +} + +type BurnInDestinationSettings struct { + _ struct{} `type:"structure"` + + // If no explicit xPosition or yPosition is provided, setting alignment to centered + // will place the captions at the bottom center of the output. Similarly, setting + // a left alignment will align captions to the bottom left of the output. If + // x and y positions are given in conjunction with the alignment parameter, + // the font will be justified (either left or centered) relative to those coordinates. + // Selecting "smart" justification will left-justify live subtitles and center-justify + // pre-recorded subtitles. All burn-in and DVB-Sub font settings must match. + Alignment *string `locationName:"alignment" type:"string" enum:"BurnInAlignment"` + + // Specifies the color of the rectangle behind the captions. All burn-in and + // DVB-Sub font settings must match. + BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"BurnInBackgroundColor"` + + // Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. + // Leaving this parameter out is equivalent to setting it to 0 (transparent). + // All burn-in and DVB-Sub font settings must match. + BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"` + + // External font file used for caption burn-in. File extension must be 'ttf' + // or 'tte'. Although the user can select output fonts for many different types + // of input captions, embedded, STL and teletext sources use a strict grid system. + // Using external fonts with these caption sources could cause unexpected display + // of proportional fonts. All burn-in and DVB-Sub font settings must match. + Font *InputLocation `locationName:"font" type:"structure"` + + // Specifies the color of the burned-in captions. This option is not valid for + // source captions that are STL, 608/embedded or teletext. These source settings + // are already pre-defined by the caption stream. All burn-in and DVB-Sub font + // settings must match. + FontColor *string `locationName:"fontColor" type:"string" enum:"BurnInFontColor"` + + // Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. + // All burn-in and DVB-Sub font settings must match. + FontOpacity *int64 `locationName:"fontOpacity" type:"integer"` + + // Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and + // DVB-Sub font settings must match. + FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` + + // When set to 'auto' fontSize will scale depending on the size of the output. + // Giving a positive integer will specify the exact font size in points. All + // burn-in and DVB-Sub font settings must match. + FontSize *string `locationName:"fontSize" type:"string"` + + // Specifies font outline color. This option is not valid for source captions + // that are either 608/embedded or teletext. These source settings are already + // pre-defined by the caption stream. All burn-in and DVB-Sub font settings + // must match. + OutlineColor *string `locationName:"outlineColor" type:"string" enum:"BurnInOutlineColor"` + + // Specifies font outline size in pixels. This option is not valid for source + // captions that are either 608/embedded or teletext. These source settings + // are already pre-defined by the caption stream. All burn-in and DVB-Sub font + // settings must match. + OutlineSize *int64 `locationName:"outlineSize" type:"integer"` + + // Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub + // font settings must match. + ShadowColor *string `locationName:"shadowColor" type:"string" enum:"BurnInShadowColor"` + + // Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving + // this parameter out is equivalent to setting it to 0 (transparent). All burn-in + // and DVB-Sub font settings must match. + ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"` + + // Specifies the horizontal offset of the shadow relative to the captions in + // pixels. A value of -2 would result in a shadow offset 2 pixels to the left. + // All burn-in and DVB-Sub font settings must match. + ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"` + + // Specifies the vertical offset of the shadow relative to the captions in pixels. + // A value of -2 would result in a shadow offset 2 pixels above the text. All + // burn-in and DVB-Sub font settings must match. + ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` + + // Controls whether a fixed grid size will be used to generate the output subtitles + // bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs. + TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"BurnInTeletextGridControl"` + + // Specifies the horizontal position of the caption relative to the left side + // of the output in pixels. A value of 10 would result in the captions starting + // 10 pixels from the left of the output. If no explicit xPosition is provided, + // the horizontal caption position will be determined by the alignment parameter. + // All burn-in and DVB-Sub font settings must match. + XPosition *int64 `locationName:"xPosition" type:"integer"` + + // Specifies the vertical position of the caption relative to the top of the + // output in pixels. A value of 10 would result in the captions starting 10 + // pixels from the top of the output. If no explicit yPosition is provided, + // the caption will be positioned towards the bottom of the output. All burn-in + // and DVB-Sub font settings must match. + YPosition *int64 `locationName:"yPosition" type:"integer"` +} + +// String returns the string representation +func (s BurnInDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BurnInDestinationSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BurnInDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BurnInDestinationSettings"} + if s.FontResolution != nil && *s.FontResolution < 96 { + invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) + } + if s.Font != nil { + if err := s.Font.Validate(); err != nil { + invalidParams.AddNested("Font", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlignment sets the Alignment field's value. +func (s *BurnInDestinationSettings) SetAlignment(v string) *BurnInDestinationSettings { + s.Alignment = &v + return s +} + +// SetBackgroundColor sets the BackgroundColor field's value. +func (s *BurnInDestinationSettings) SetBackgroundColor(v string) *BurnInDestinationSettings { + s.BackgroundColor = &v + return s +} + +// SetBackgroundOpacity sets the BackgroundOpacity field's value. +func (s *BurnInDestinationSettings) SetBackgroundOpacity(v int64) *BurnInDestinationSettings { + s.BackgroundOpacity = &v + return s +} + +// SetFont sets the Font field's value. +func (s *BurnInDestinationSettings) SetFont(v *InputLocation) *BurnInDestinationSettings { + s.Font = v + return s +} + +// SetFontColor sets the FontColor field's value. +func (s *BurnInDestinationSettings) SetFontColor(v string) *BurnInDestinationSettings { + s.FontColor = &v + return s +} + +// SetFontOpacity sets the FontOpacity field's value. +func (s *BurnInDestinationSettings) SetFontOpacity(v int64) *BurnInDestinationSettings { + s.FontOpacity = &v + return s +} + +// SetFontResolution sets the FontResolution field's value. +func (s *BurnInDestinationSettings) SetFontResolution(v int64) *BurnInDestinationSettings { + s.FontResolution = &v + return s +} + +// SetFontSize sets the FontSize field's value. +func (s *BurnInDestinationSettings) SetFontSize(v string) *BurnInDestinationSettings { + s.FontSize = &v + return s +} + +// SetOutlineColor sets the OutlineColor field's value. +func (s *BurnInDestinationSettings) SetOutlineColor(v string) *BurnInDestinationSettings { + s.OutlineColor = &v + return s +} + +// SetOutlineSize sets the OutlineSize field's value. +func (s *BurnInDestinationSettings) SetOutlineSize(v int64) *BurnInDestinationSettings { + s.OutlineSize = &v + return s +} + +// SetShadowColor sets the ShadowColor field's value. +func (s *BurnInDestinationSettings) SetShadowColor(v string) *BurnInDestinationSettings { + s.ShadowColor = &v + return s +} + +// SetShadowOpacity sets the ShadowOpacity field's value. +func (s *BurnInDestinationSettings) SetShadowOpacity(v int64) *BurnInDestinationSettings { + s.ShadowOpacity = &v + return s +} + +// SetShadowXOffset sets the ShadowXOffset field's value. +func (s *BurnInDestinationSettings) SetShadowXOffset(v int64) *BurnInDestinationSettings { + s.ShadowXOffset = &v + return s +} + +// SetShadowYOffset sets the ShadowYOffset field's value. +func (s *BurnInDestinationSettings) SetShadowYOffset(v int64) *BurnInDestinationSettings { + s.ShadowYOffset = &v + return s +} + +// SetTeletextGridControl sets the TeletextGridControl field's value. +func (s *BurnInDestinationSettings) SetTeletextGridControl(v string) *BurnInDestinationSettings { + s.TeletextGridControl = &v + return s +} + +// SetXPosition sets the XPosition field's value. +func (s *BurnInDestinationSettings) SetXPosition(v int64) *BurnInDestinationSettings { + s.XPosition = &v + return s +} + +// SetYPosition sets the YPosition field's value. +func (s *BurnInDestinationSettings) SetYPosition(v int64) *BurnInDestinationSettings { + s.YPosition = &v + return s +} + +// Output groups for this Live Event. Output groups contain information about +// where streams should be distributed. +type CaptionDescription struct { + _ struct{} `type:"structure"` + + // Specifies which input caption selector to use as a caption source when generating + // output captions. This field should match a captionSelector name. + // + // CaptionSelectorName is a required field + CaptionSelectorName *string `locationName:"captionSelectorName" type:"string" required:"true"` + + // Additional settings for captions destination that depend on the destination + // type. + DestinationSettings *CaptionDestinationSettings `locationName:"destinationSettings" type:"structure"` + + // ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/ + LanguageCode *string `locationName:"languageCode" type:"string"` + + // Human readable information to indicate captions available for players (eg. + // English, or Spanish). + LanguageDescription *string `locationName:"languageDescription" type:"string"` + + // Name of the caption description. Used to associate a caption description + // with an output. Names must be unique within an event. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation +func (s CaptionDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CaptionDescription) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionDescription"} + if s.CaptionSelectorName == nil { + invalidParams.Add(request.NewErrParamRequired("CaptionSelectorName")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.DestinationSettings != nil { + if err := s.DestinationSettings.Validate(); err != nil { + invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCaptionSelectorName sets the CaptionSelectorName field's value. +func (s *CaptionDescription) SetCaptionSelectorName(v string) *CaptionDescription { + s.CaptionSelectorName = &v + return s +} + +// SetDestinationSettings sets the DestinationSettings field's value. +func (s *CaptionDescription) SetDestinationSettings(v *CaptionDestinationSettings) *CaptionDescription { + s.DestinationSettings = v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *CaptionDescription) SetLanguageCode(v string) *CaptionDescription { + s.LanguageCode = &v + return s +} + +// SetLanguageDescription sets the LanguageDescription field's value. +func (s *CaptionDescription) SetLanguageDescription(v string) *CaptionDescription { + s.LanguageDescription = &v + return s +} + +// SetName sets the Name field's value. +func (s *CaptionDescription) SetName(v string) *CaptionDescription { + s.Name = &v + return s +} + +type CaptionDestinationSettings struct { + _ struct{} `type:"structure"` + + AribDestinationSettings *AribDestinationSettings `locationName:"aribDestinationSettings" type:"structure"` + + BurnInDestinationSettings *BurnInDestinationSettings `locationName:"burnInDestinationSettings" type:"structure"` + + DvbSubDestinationSettings *DvbSubDestinationSettings `locationName:"dvbSubDestinationSettings" type:"structure"` + + EmbeddedDestinationSettings *EmbeddedDestinationSettings `locationName:"embeddedDestinationSettings" type:"structure"` + + EmbeddedPlusScte20DestinationSettings *EmbeddedPlusScte20DestinationSettings `locationName:"embeddedPlusScte20DestinationSettings" type:"structure"` + + RtmpCaptionInfoDestinationSettings *RtmpCaptionInfoDestinationSettings `locationName:"rtmpCaptionInfoDestinationSettings" type:"structure"` + + Scte20PlusEmbeddedDestinationSettings *Scte20PlusEmbeddedDestinationSettings `locationName:"scte20PlusEmbeddedDestinationSettings" type:"structure"` + + Scte27DestinationSettings *Scte27DestinationSettings `locationName:"scte27DestinationSettings" type:"structure"` + + SmpteTtDestinationSettings *SmpteTtDestinationSettings `locationName:"smpteTtDestinationSettings" type:"structure"` + + TeletextDestinationSettings *TeletextDestinationSettings `locationName:"teletextDestinationSettings" type:"structure"` + + TtmlDestinationSettings *TtmlDestinationSettings `locationName:"ttmlDestinationSettings" type:"structure"` + + WebvttDestinationSettings *WebvttDestinationSettings `locationName:"webvttDestinationSettings" type:"structure"` +} + +// String returns the string representation +func (s CaptionDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CaptionDestinationSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionDestinationSettings"} + if s.BurnInDestinationSettings != nil { + if err := s.BurnInDestinationSettings.Validate(); err != nil { + invalidParams.AddNested("BurnInDestinationSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbSubDestinationSettings != nil { + if err := s.DvbSubDestinationSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSubDestinationSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAribDestinationSettings sets the AribDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetAribDestinationSettings(v *AribDestinationSettings) *CaptionDestinationSettings { + s.AribDestinationSettings = v + return s +} + +// SetBurnInDestinationSettings sets the BurnInDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetBurnInDestinationSettings(v *BurnInDestinationSettings) *CaptionDestinationSettings { + s.BurnInDestinationSettings = v + return s +} + +// SetDvbSubDestinationSettings sets the DvbSubDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetDvbSubDestinationSettings(v *DvbSubDestinationSettings) *CaptionDestinationSettings { + s.DvbSubDestinationSettings = v + return s +} + +// SetEmbeddedDestinationSettings sets the EmbeddedDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetEmbeddedDestinationSettings(v *EmbeddedDestinationSettings) *CaptionDestinationSettings { + s.EmbeddedDestinationSettings = v + return s +} + +// SetEmbeddedPlusScte20DestinationSettings sets the EmbeddedPlusScte20DestinationSettings field's value. +func (s *CaptionDestinationSettings) SetEmbeddedPlusScte20DestinationSettings(v *EmbeddedPlusScte20DestinationSettings) *CaptionDestinationSettings { + s.EmbeddedPlusScte20DestinationSettings = v + return s +} + +// SetRtmpCaptionInfoDestinationSettings sets the RtmpCaptionInfoDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetRtmpCaptionInfoDestinationSettings(v *RtmpCaptionInfoDestinationSettings) *CaptionDestinationSettings { + s.RtmpCaptionInfoDestinationSettings = v + return s +} + +// SetScte20PlusEmbeddedDestinationSettings sets the Scte20PlusEmbeddedDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetScte20PlusEmbeddedDestinationSettings(v *Scte20PlusEmbeddedDestinationSettings) *CaptionDestinationSettings { + s.Scte20PlusEmbeddedDestinationSettings = v + return s +} + +// SetScte27DestinationSettings sets the Scte27DestinationSettings field's value. +func (s *CaptionDestinationSettings) SetScte27DestinationSettings(v *Scte27DestinationSettings) *CaptionDestinationSettings { + s.Scte27DestinationSettings = v + return s +} + +// SetSmpteTtDestinationSettings sets the SmpteTtDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetSmpteTtDestinationSettings(v *SmpteTtDestinationSettings) *CaptionDestinationSettings { + s.SmpteTtDestinationSettings = v + return s +} + +// SetTeletextDestinationSettings sets the TeletextDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetTeletextDestinationSettings(v *TeletextDestinationSettings) *CaptionDestinationSettings { + s.TeletextDestinationSettings = v + return s +} + +// SetTtmlDestinationSettings sets the TtmlDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetTtmlDestinationSettings(v *TtmlDestinationSettings) *CaptionDestinationSettings { + s.TtmlDestinationSettings = v + return s +} + +// SetWebvttDestinationSettings sets the WebvttDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetWebvttDestinationSettings(v *WebvttDestinationSettings) *CaptionDestinationSettings { + s.WebvttDestinationSettings = v + return s +} + +// Maps a caption channel to an ISO 693-2 language code (http://www.loc.gov/standards/iso639-2), +// with an optional description. +type CaptionLanguageMapping struct { + _ struct{} `type:"structure"` + + // The closed caption channel being described by this CaptionLanguageMapping. + // Each channel mapping must have a unique channel number (maximum of 4) + // + // CaptionChannel is a required field + CaptionChannel *int64 `locationName:"captionChannel" min:"1" type:"integer" required:"true"` + + // Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2) + // + // LanguageCode is a required field + LanguageCode *string `locationName:"languageCode" min:"3" type:"string" required:"true"` + + // Textual description of language + // + // LanguageDescription is a required field + LanguageDescription *string `locationName:"languageDescription" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CaptionLanguageMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CaptionLanguageMapping) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionLanguageMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionLanguageMapping"} + if s.CaptionChannel == nil { + invalidParams.Add(request.NewErrParamRequired("CaptionChannel")) + } + if s.CaptionChannel != nil && *s.CaptionChannel < 1 { + invalidParams.Add(request.NewErrParamMinValue("CaptionChannel", 1)) + } + if s.LanguageCode == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageCode")) + } + if s.LanguageCode != nil && len(*s.LanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3)) + } + if s.LanguageDescription == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageDescription")) + } + if s.LanguageDescription != nil && len(*s.LanguageDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LanguageDescription", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCaptionChannel sets the CaptionChannel field's value. +func (s *CaptionLanguageMapping) SetCaptionChannel(v int64) *CaptionLanguageMapping { + s.CaptionChannel = &v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *CaptionLanguageMapping) SetLanguageCode(v string) *CaptionLanguageMapping { + s.LanguageCode = &v + return s +} + +// SetLanguageDescription sets the LanguageDescription field's value. +func (s *CaptionLanguageMapping) SetLanguageDescription(v string) *CaptionLanguageMapping { + s.LanguageDescription = &v + return s +} + +// Output groups for this Live Event. Output groups contain information about +// where streams should be distributed. +type CaptionSelector struct { + _ struct{} `type:"structure"` + + // When specified this field indicates the three letter language code of the + // caption track to extract from the source. + LanguageCode *string `locationName:"languageCode" type:"string"` + + // Name identifier for a caption selector. This name is used to associate this + // caption selector with one or more caption descriptions. Names must be unique + // within an event. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // Caption selector settings. + SelectorSettings *CaptionSelectorSettings `locationName:"selectorSettings" type:"structure"` +} + +// String returns the string representation +func (s CaptionSelector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CaptionSelector) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionSelector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionSelector"} + 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.SelectorSettings != nil { + if err := s.SelectorSettings.Validate(); err != nil { + invalidParams.AddNested("SelectorSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *CaptionSelector) SetLanguageCode(v string) *CaptionSelector { + s.LanguageCode = &v + return s +} + +// SetName sets the Name field's value. +func (s *CaptionSelector) SetName(v string) *CaptionSelector { + s.Name = &v + return s +} + +// SetSelectorSettings sets the SelectorSettings field's value. +func (s *CaptionSelector) SetSelectorSettings(v *CaptionSelectorSettings) *CaptionSelector { + s.SelectorSettings = v + return s +} + +type CaptionSelectorSettings struct { + _ struct{} `type:"structure"` + + AribSourceSettings *AribSourceSettings `locationName:"aribSourceSettings" type:"structure"` + + DvbSubSourceSettings *DvbSubSourceSettings `locationName:"dvbSubSourceSettings" type:"structure"` + + EmbeddedSourceSettings *EmbeddedSourceSettings `locationName:"embeddedSourceSettings" type:"structure"` + + Scte20SourceSettings *Scte20SourceSettings `locationName:"scte20SourceSettings" type:"structure"` + + Scte27SourceSettings *Scte27SourceSettings `locationName:"scte27SourceSettings" type:"structure"` + + TeletextSourceSettings *TeletextSourceSettings `locationName:"teletextSourceSettings" type:"structure"` +} + +// String returns the string representation +func (s CaptionSelectorSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CaptionSelectorSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionSelectorSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionSelectorSettings"} + if s.DvbSubSourceSettings != nil { + if err := s.DvbSubSourceSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSubSourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.EmbeddedSourceSettings != nil { + if err := s.EmbeddedSourceSettings.Validate(); err != nil { + invalidParams.AddNested("EmbeddedSourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.Scte20SourceSettings != nil { + if err := s.Scte20SourceSettings.Validate(); err != nil { + invalidParams.AddNested("Scte20SourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.Scte27SourceSettings != nil { + if err := s.Scte27SourceSettings.Validate(); err != nil { + invalidParams.AddNested("Scte27SourceSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAribSourceSettings sets the AribSourceSettings field's value. +func (s *CaptionSelectorSettings) SetAribSourceSettings(v *AribSourceSettings) *CaptionSelectorSettings { + s.AribSourceSettings = v + return s +} + +// SetDvbSubSourceSettings sets the DvbSubSourceSettings field's value. +func (s *CaptionSelectorSettings) SetDvbSubSourceSettings(v *DvbSubSourceSettings) *CaptionSelectorSettings { + s.DvbSubSourceSettings = v + return s +} + +// SetEmbeddedSourceSettings sets the EmbeddedSourceSettings field's value. +func (s *CaptionSelectorSettings) SetEmbeddedSourceSettings(v *EmbeddedSourceSettings) *CaptionSelectorSettings { + s.EmbeddedSourceSettings = v + return s +} + +// SetScte20SourceSettings sets the Scte20SourceSettings field's value. +func (s *CaptionSelectorSettings) SetScte20SourceSettings(v *Scte20SourceSettings) *CaptionSelectorSettings { + s.Scte20SourceSettings = v + return s +} + +// SetScte27SourceSettings sets the Scte27SourceSettings field's value. +func (s *CaptionSelectorSettings) SetScte27SourceSettings(v *Scte27SourceSettings) *CaptionSelectorSettings { + s.Scte27SourceSettings = v + return s +} + +// SetTeletextSourceSettings sets the TeletextSourceSettings field's value. +func (s *CaptionSelectorSettings) SetTeletextSourceSettings(v *TeletextSourceSettings) *CaptionSelectorSettings { + s.TeletextSourceSettings = v + return s +} + +type Channel struct { + _ struct{} `type:"structure"` + + // The unique arn of the channel. + Arn *string `locationName:"arn" type:"string"` + + // A list of destinations of the channel. For UDP outputs, there is onedestination + // per output. For other types (HLS, for example), there isone destination per + // packager. + Destinations []*OutputDestination `locationName:"destinations" type:"list"` + + // The endpoints where outgoing connections initiate from + EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + + EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` + + // The unique id of the channel. + Id *string `locationName:"id" type:"string"` + + // List of input attachments for channel. + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + + // The log level being written to CloudWatch Logs. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + + // The name of the channel. (user-mutable) + Name *string `locationName:"name" type:"string"` + + // The number of currently healthy pipelines. + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + // The Amazon Resource Name (ARN) of the role assumed when running the Channel. + RoleArn *string `locationName:"roleArn" type:"string"` + + State *string `locationName:"state" type:"string" enum:"ChannelState"` + + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s Channel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Channel) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Channel) SetArn(v string) *Channel { + s.Arn = &v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *Channel) SetDestinations(v []*OutputDestination) *Channel { + s.Destinations = v + return s +} + +// SetEgressEndpoints sets the EgressEndpoints field's value. +func (s *Channel) SetEgressEndpoints(v []*ChannelEgressEndpoint) *Channel { + s.EgressEndpoints = v + return s +} + +// SetEncoderSettings sets the EncoderSettings field's value. +func (s *Channel) SetEncoderSettings(v *EncoderSettings) *Channel { + s.EncoderSettings = v + return s +} + +// SetId sets the Id field's value. +func (s *Channel) SetId(v string) *Channel { + s.Id = &v + return s +} + +// SetInputAttachments sets the InputAttachments field's value. +func (s *Channel) SetInputAttachments(v []*InputAttachment) *Channel { + s.InputAttachments = v + return s +} + +// SetInputSpecification sets the InputSpecification field's value. +func (s *Channel) SetInputSpecification(v *InputSpecification) *Channel { + s.InputSpecification = v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *Channel) SetLogLevel(v string) *Channel { + s.LogLevel = &v + return s +} + +// SetName sets the Name field's value. +func (s *Channel) SetName(v string) *Channel { + s.Name = &v + return s +} + +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *Channel) SetPipelinesRunningCount(v int64) *Channel { + s.PipelinesRunningCount = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *Channel) SetRoleArn(v string) *Channel { + s.RoleArn = &v + return s +} + +// SetState sets the State field's value. +func (s *Channel) SetState(v string) *Channel { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Channel) SetTags(v map[string]*string) *Channel { + s.Tags = v + return s +} + +type ChannelEgressEndpoint struct { + _ struct{} `type:"structure"` + + // Public IP of where a channel's output comes from + SourceIp *string `locationName:"sourceIp" type:"string"` +} + +// String returns the string representation +func (s ChannelEgressEndpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ChannelEgressEndpoint) GoString() string { + return s.String() +} + +// SetSourceIp sets the SourceIp field's value. +func (s *ChannelEgressEndpoint) SetSourceIp(v string) *ChannelEgressEndpoint { + s.SourceIp = &v + return s +} + +type ChannelSummary struct { + _ struct{} `type:"structure"` + + // The unique arn of the channel. + Arn *string `locationName:"arn" type:"string"` + + // A list of destinations of the channel. For UDP outputs, there is onedestination + // per output. For other types (HLS, for example), there isone destination per + // packager. + Destinations []*OutputDestination `locationName:"destinations" type:"list"` + + // The endpoints where outgoing connections initiate from + EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + + // The unique id of the channel. + Id *string `locationName:"id" type:"string"` + + // List of input attachments for channel. + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + + // The log level being written to CloudWatch Logs. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + + // The name of the channel. (user-mutable) + Name *string `locationName:"name" type:"string"` + + // The number of currently healthy pipelines. + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + // The Amazon Resource Name (ARN) of the role assumed when running the Channel. + RoleArn *string `locationName:"roleArn" type:"string"` + + State *string `locationName:"state" type:"string" enum:"ChannelState"` + + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s ChannelSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ChannelSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ChannelSummary) SetArn(v string) *ChannelSummary { + s.Arn = &v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *ChannelSummary) SetDestinations(v []*OutputDestination) *ChannelSummary { + s.Destinations = v + return s +} + +// SetEgressEndpoints sets the EgressEndpoints field's value. +func (s *ChannelSummary) SetEgressEndpoints(v []*ChannelEgressEndpoint) *ChannelSummary { + s.EgressEndpoints = v + return s +} + +// SetId sets the Id field's value. +func (s *ChannelSummary) SetId(v string) *ChannelSummary { + s.Id = &v + return s +} + +// SetInputAttachments sets the InputAttachments field's value. +func (s *ChannelSummary) SetInputAttachments(v []*InputAttachment) *ChannelSummary { + s.InputAttachments = v + return s +} + +// SetInputSpecification sets the InputSpecification field's value. +func (s *ChannelSummary) SetInputSpecification(v *InputSpecification) *ChannelSummary { + s.InputSpecification = v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *ChannelSummary) SetLogLevel(v string) *ChannelSummary { + s.LogLevel = &v + return s +} + +// SetName sets the Name field's value. +func (s *ChannelSummary) SetName(v string) *ChannelSummary { + s.Name = &v + return s +} + +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *ChannelSummary) SetPipelinesRunningCount(v int64) *ChannelSummary { + s.PipelinesRunningCount = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *ChannelSummary) SetRoleArn(v string) *ChannelSummary { + s.RoleArn = &v + return s +} + +// SetState sets the State field's value. +func (s *ChannelSummary) SetState(v string) *ChannelSummary { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ChannelSummary) SetTags(v map[string]*string) *ChannelSummary { + s.Tags = v + return s +} + +type CreateChannelInput struct { + _ struct{} `type:"structure"` + + Destinations []*OutputDestination `locationName:"destinations" type:"list"` + + EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` + + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + + // The log level the user wants for their channel. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + + Name *string `locationName:"name" type:"string"` + + RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` + + Reserved *string `locationName:"reserved" deprecated:"true" type:"string"` + + RoleArn *string `locationName:"roleArn" type:"string"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"} + if s.EncoderSettings != nil { + if err := s.EncoderSettings.Validate(); err != nil { + invalidParams.AddNested("EncoderSettings", err.(request.ErrInvalidParams)) + } + } + if s.InputAttachments != nil { + for i, v := range s.InputAttachments { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputAttachments", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinations sets the Destinations field's value. +func (s *CreateChannelInput) SetDestinations(v []*OutputDestination) *CreateChannelInput { + s.Destinations = v + return s +} + +// SetEncoderSettings sets the EncoderSettings field's value. +func (s *CreateChannelInput) SetEncoderSettings(v *EncoderSettings) *CreateChannelInput { + s.EncoderSettings = v + return s +} + +// SetInputAttachments sets the InputAttachments field's value. +func (s *CreateChannelInput) SetInputAttachments(v []*InputAttachment) *CreateChannelInput { + s.InputAttachments = v + return s +} + +// SetInputSpecification sets the InputSpecification field's value. +func (s *CreateChannelInput) SetInputSpecification(v *InputSpecification) *CreateChannelInput { + s.InputSpecification = v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *CreateChannelInput) SetLogLevel(v string) *CreateChannelInput { + s.LogLevel = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateChannelInput) SetName(v string) *CreateChannelInput { + s.Name = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateChannelInput) SetRequestId(v string) *CreateChannelInput { + s.RequestId = &v + return s +} + +// SetReserved sets the Reserved field's value. +func (s *CreateChannelInput) SetReserved(v string) *CreateChannelInput { + s.Reserved = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateChannelInput) SetRoleArn(v string) *CreateChannelInput { + s.RoleArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateChannelInput) SetTags(v map[string]*string) *CreateChannelInput { + s.Tags = v + return s +} + +type CreateChannelOutput struct { + _ struct{} `type:"structure"` + + Channel *Channel `locationName:"channel" type:"structure"` +} + +// String returns the string representation +func (s CreateChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateChannelOutput) GoString() string { + return s.String() +} + +// SetChannel sets the Channel field's value. +func (s *CreateChannelOutput) SetChannel(v *Channel) *CreateChannelOutput { + s.Channel = v + return s +} + +type CreateInputInput struct { + _ struct{} `type:"structure"` + + Destinations []*InputDestinationRequest `locationName:"destinations" type:"list"` + + InputSecurityGroups []*string `locationName:"inputSecurityGroups" type:"list"` + + MediaConnectFlows []*MediaConnectFlowRequest `locationName:"mediaConnectFlows" type:"list"` + + Name *string `locationName:"name" type:"string"` + + RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` + + RoleArn *string `locationName:"roleArn" type:"string"` + + Sources []*InputSourceRequest `locationName:"sources" type:"list"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + Type *string `locationName:"type" type:"string" enum:"InputType"` + + // Settings for a private VPC Input.When this property is specified, the input + // destination addresses will be created in a VPC rather than with public Internet + // addresses.This property requires setting the roleArn property on Input creation.Not + // compatible with the inputSecurityGroups property. + Vpc *InputVpcRequest `locationName:"vpc" type:"structure"` +} + +// String returns the string representation +func (s CreateInputInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateInputInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateInputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInputInput"} + if s.Vpc != nil { + if err := s.Vpc.Validate(); err != nil { + invalidParams.AddNested("Vpc", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinations sets the Destinations field's value. +func (s *CreateInputInput) SetDestinations(v []*InputDestinationRequest) *CreateInputInput { + s.Destinations = v + return s +} + +// SetInputSecurityGroups sets the InputSecurityGroups field's value. +func (s *CreateInputInput) SetInputSecurityGroups(v []*string) *CreateInputInput { + s.InputSecurityGroups = v + return s +} + +// SetMediaConnectFlows sets the MediaConnectFlows field's value. +func (s *CreateInputInput) SetMediaConnectFlows(v []*MediaConnectFlowRequest) *CreateInputInput { + s.MediaConnectFlows = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateInputInput) SetName(v string) *CreateInputInput { + s.Name = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateInputInput) SetRequestId(v string) *CreateInputInput { + s.RequestId = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateInputInput) SetRoleArn(v string) *CreateInputInput { + s.RoleArn = &v + return s +} + +// SetSources sets the Sources field's value. +func (s *CreateInputInput) SetSources(v []*InputSourceRequest) *CreateInputInput { + s.Sources = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateInputInput) SetTags(v map[string]*string) *CreateInputInput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateInputInput) SetType(v string) *CreateInputInput { + s.Type = &v + return s +} + +// SetVpc sets the Vpc field's value. +func (s *CreateInputInput) SetVpc(v *InputVpcRequest) *CreateInputInput { + s.Vpc = v + return s +} + +type CreateInputOutput struct { + _ struct{} `type:"structure"` + + Input *Input `locationName:"input" type:"structure"` +} + +// String returns the string representation +func (s CreateInputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateInputOutput) GoString() string { + return s.String() +} + +// SetInput sets the Input field's value. +func (s *CreateInputOutput) SetInput(v *Input) *CreateInputOutput { + s.Input = v + return s +} + +type CreateInputSecurityGroupInput struct { + _ struct{} `type:"structure"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + WhitelistRules []*InputWhitelistRuleCidr `locationName:"whitelistRules" type:"list"` +} + +// String returns the string representation +func (s CreateInputSecurityGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateInputSecurityGroupInput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *CreateInputSecurityGroupInput) SetTags(v map[string]*string) *CreateInputSecurityGroupInput { + s.Tags = v + return s +} + +// SetWhitelistRules sets the WhitelistRules field's value. +func (s *CreateInputSecurityGroupInput) SetWhitelistRules(v []*InputWhitelistRuleCidr) *CreateInputSecurityGroupInput { + s.WhitelistRules = v + return s +} + +type CreateInputSecurityGroupOutput struct { + _ struct{} `type:"structure"` + + // An Input Security Group + SecurityGroup *InputSecurityGroup `locationName:"securityGroup" type:"structure"` +} + +// String returns the string representation +func (s CreateInputSecurityGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateInputSecurityGroupOutput) GoString() string { + return s.String() +} + +// SetSecurityGroup sets the SecurityGroup field's value. +func (s *CreateInputSecurityGroupOutput) SetSecurityGroup(v *InputSecurityGroup) *CreateInputSecurityGroupOutput { + s.SecurityGroup = v + return s +} + +type CreateTagsInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *CreateTagsInput) SetResourceArn(v string) *CreateTagsInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTagsInput) SetTags(v map[string]*string) *CreateTagsInput { + s.Tags = v + return s +} + +type CreateTagsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTagsOutput) GoString() string { + return s.String() +} + +type DeleteChannelInput struct { + _ struct{} `type:"structure"` + + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelId sets the ChannelId field's value. +func (s *DeleteChannelInput) SetChannelId(v string) *DeleteChannelInput { + s.ChannelId = &v + return s +} + +type DeleteChannelOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Destinations []*OutputDestination `locationName:"destinations" type:"list"` + + EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + + EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + + // The log level the user wants for their channel. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + + Name *string `locationName:"name" type:"string"` + + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + RoleArn *string `locationName:"roleArn" type:"string"` + + State *string `locationName:"state" type:"string" enum:"ChannelState"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s DeleteChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteChannelOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DeleteChannelOutput) SetArn(v string) *DeleteChannelOutput { + s.Arn = &v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *DeleteChannelOutput) SetDestinations(v []*OutputDestination) *DeleteChannelOutput { + s.Destinations = v + return s +} + +// SetEgressEndpoints sets the EgressEndpoints field's value. +func (s *DeleteChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DeleteChannelOutput { + s.EgressEndpoints = v + return s +} + +// SetEncoderSettings sets the EncoderSettings field's value. +func (s *DeleteChannelOutput) SetEncoderSettings(v *EncoderSettings) *DeleteChannelOutput { + s.EncoderSettings = v + return s +} + +// SetId sets the Id field's value. +func (s *DeleteChannelOutput) SetId(v string) *DeleteChannelOutput { + s.Id = &v + return s +} + +// SetInputAttachments sets the InputAttachments field's value. +func (s *DeleteChannelOutput) SetInputAttachments(v []*InputAttachment) *DeleteChannelOutput { + s.InputAttachments = v + return s +} + +// SetInputSpecification sets the InputSpecification field's value. +func (s *DeleteChannelOutput) SetInputSpecification(v *InputSpecification) *DeleteChannelOutput { + s.InputSpecification = v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *DeleteChannelOutput) SetLogLevel(v string) *DeleteChannelOutput { + s.LogLevel = &v + return s +} + +// SetName sets the Name field's value. +func (s *DeleteChannelOutput) SetName(v string) *DeleteChannelOutput { + s.Name = &v + return s +} + +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *DeleteChannelOutput) SetPipelinesRunningCount(v int64) *DeleteChannelOutput { + s.PipelinesRunningCount = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DeleteChannelOutput) SetRoleArn(v string) *DeleteChannelOutput { + s.RoleArn = &v + return s +} + +// SetState sets the State field's value. +func (s *DeleteChannelOutput) SetState(v string) *DeleteChannelOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DeleteChannelOutput) SetTags(v map[string]*string) *DeleteChannelOutput { + s.Tags = v + return s +} + +type DeleteInputInput struct { + _ struct{} `type:"structure"` + + // InputId is a required field + InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteInputInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInputInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteInputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInputInput"} + if s.InputId == nil { + invalidParams.Add(request.NewErrParamRequired("InputId")) + } + if s.InputId != nil && len(*s.InputId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputId sets the InputId field's value. +func (s *DeleteInputInput) SetInputId(v string) *DeleteInputInput { + s.InputId = &v + return s +} + +type DeleteInputOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteInputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInputOutput) GoString() string { + return s.String() +} + +type DeleteInputSecurityGroupInput struct { + _ struct{} `type:"structure"` + + // InputSecurityGroupId is a required field + InputSecurityGroupId *string `location:"uri" locationName:"inputSecurityGroupId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteInputSecurityGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInputSecurityGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteInputSecurityGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInputSecurityGroupInput"} + if s.InputSecurityGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId")) + } + if s.InputSecurityGroupId != nil && len(*s.InputSecurityGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputSecurityGroupId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputSecurityGroupId sets the InputSecurityGroupId field's value. +func (s *DeleteInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DeleteInputSecurityGroupInput { + s.InputSecurityGroupId = &v + return s +} + +type DeleteInputSecurityGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteInputSecurityGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInputSecurityGroupOutput) GoString() string { + return s.String() +} + +type DeleteReservationInput struct { + _ struct{} `type:"structure"` + + // ReservationId is a required field + ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteReservationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReservationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReservationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReservationInput"} + if s.ReservationId == nil { + invalidParams.Add(request.NewErrParamRequired("ReservationId")) + } + if s.ReservationId != nil && len(*s.ReservationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReservationId sets the ReservationId field's value. +func (s *DeleteReservationInput) SetReservationId(v string) *DeleteReservationInput { + s.ReservationId = &v + return s +} + +type DeleteReservationOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Count *int64 `locationName:"count" type:"integer"` + + CurrencyCode *string `locationName:"currencyCode" type:"string"` + + Duration *int64 `locationName:"duration" type:"integer"` + + // Units for duration, e.g. 'MONTHS' + DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` + + End *string `locationName:"end" type:"string"` + + FixedPrice *float64 `locationName:"fixedPrice" type:"double"` + + Name *string `locationName:"name" type:"string"` + + OfferingDescription *string `locationName:"offeringDescription" type:"string"` + + OfferingId *string `locationName:"offeringId" type:"string"` + + // Offering type, e.g. 'NO_UPFRONT' + OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` + + Region *string `locationName:"region" type:"string"` + + ReservationId *string `locationName:"reservationId" type:"string"` + + // Resource configuration (codec, resolution, bitrate, ...) + ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + + Start *string `locationName:"start" type:"string"` + + // Current reservation state + State *string `locationName:"state" type:"string" enum:"ReservationState"` + + UsagePrice *float64 `locationName:"usagePrice" type:"double"` +} + +// String returns the string representation +func (s DeleteReservationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReservationOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DeleteReservationOutput) SetArn(v string) *DeleteReservationOutput { + s.Arn = &v + return s +} + +// SetCount sets the Count field's value. +func (s *DeleteReservationOutput) SetCount(v int64) *DeleteReservationOutput { + s.Count = &v + return s +} + +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *DeleteReservationOutput) SetCurrencyCode(v string) *DeleteReservationOutput { + s.CurrencyCode = &v + return s +} + +// SetDuration sets the Duration field's value. +func (s *DeleteReservationOutput) SetDuration(v int64) *DeleteReservationOutput { + s.Duration = &v + return s +} + +// SetDurationUnits sets the DurationUnits field's value. +func (s *DeleteReservationOutput) SetDurationUnits(v string) *DeleteReservationOutput { + s.DurationUnits = &v + return s +} + +// SetEnd sets the End field's value. +func (s *DeleteReservationOutput) SetEnd(v string) *DeleteReservationOutput { + s.End = &v + return s +} + +// SetFixedPrice sets the FixedPrice field's value. +func (s *DeleteReservationOutput) SetFixedPrice(v float64) *DeleteReservationOutput { + s.FixedPrice = &v + return s +} + +// SetName sets the Name field's value. +func (s *DeleteReservationOutput) SetName(v string) *DeleteReservationOutput { + s.Name = &v + return s +} + +// SetOfferingDescription sets the OfferingDescription field's value. +func (s *DeleteReservationOutput) SetOfferingDescription(v string) *DeleteReservationOutput { + s.OfferingDescription = &v + return s +} + +// SetOfferingId sets the OfferingId field's value. +func (s *DeleteReservationOutput) SetOfferingId(v string) *DeleteReservationOutput { + s.OfferingId = &v + return s +} + +// SetOfferingType sets the OfferingType field's value. +func (s *DeleteReservationOutput) SetOfferingType(v string) *DeleteReservationOutput { + s.OfferingType = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *DeleteReservationOutput) SetRegion(v string) *DeleteReservationOutput { + s.Region = &v + return s +} + +// SetReservationId sets the ReservationId field's value. +func (s *DeleteReservationOutput) SetReservationId(v string) *DeleteReservationOutput { + s.ReservationId = &v + return s +} + +// SetResourceSpecification sets the ResourceSpecification field's value. +func (s *DeleteReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DeleteReservationOutput { + s.ResourceSpecification = v + return s +} + +// SetStart sets the Start field's value. +func (s *DeleteReservationOutput) SetStart(v string) *DeleteReservationOutput { + s.Start = &v + return s +} + +// SetState sets the State field's value. +func (s *DeleteReservationOutput) SetState(v string) *DeleteReservationOutput { + s.State = &v + return s +} + +// SetUsagePrice sets the UsagePrice field's value. +func (s *DeleteReservationOutput) SetUsagePrice(v float64) *DeleteReservationOutput { + s.UsagePrice = &v + return s +} + +type DeleteTagsInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` + + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s DeleteTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DeleteTagsInput) SetResourceArn(v string) *DeleteTagsInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput { + s.TagKeys = v + return s +} + +type DeleteTagsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTagsOutput) GoString() string { + return s.String() +} + +type DescribeChannelInput struct { + _ struct{} `type:"structure"` + + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelId sets the ChannelId field's value. +func (s *DescribeChannelInput) SetChannelId(v string) *DescribeChannelInput { + s.ChannelId = &v + return s +} + +type DescribeChannelOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Destinations []*OutputDestination `locationName:"destinations" type:"list"` + + EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + + EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + + // The log level the user wants for their channel. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + + Name *string `locationName:"name" type:"string"` + + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + RoleArn *string `locationName:"roleArn" type:"string"` + + State *string `locationName:"state" type:"string" enum:"ChannelState"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s DescribeChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeChannelOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeChannelOutput) SetArn(v string) *DescribeChannelOutput { + s.Arn = &v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *DescribeChannelOutput) SetDestinations(v []*OutputDestination) *DescribeChannelOutput { + s.Destinations = v + return s +} + +// SetEgressEndpoints sets the EgressEndpoints field's value. +func (s *DescribeChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DescribeChannelOutput { + s.EgressEndpoints = v + return s +} + +// SetEncoderSettings sets the EncoderSettings field's value. +func (s *DescribeChannelOutput) SetEncoderSettings(v *EncoderSettings) *DescribeChannelOutput { + s.EncoderSettings = v + return s +} + +// SetId sets the Id field's value. +func (s *DescribeChannelOutput) SetId(v string) *DescribeChannelOutput { + s.Id = &v + return s +} + +// SetInputAttachments sets the InputAttachments field's value. +func (s *DescribeChannelOutput) SetInputAttachments(v []*InputAttachment) *DescribeChannelOutput { + s.InputAttachments = v + return s +} + +// SetInputSpecification sets the InputSpecification field's value. +func (s *DescribeChannelOutput) SetInputSpecification(v *InputSpecification) *DescribeChannelOutput { + s.InputSpecification = v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *DescribeChannelOutput) SetLogLevel(v string) *DescribeChannelOutput { + s.LogLevel = &v + return s +} + +// SetName sets the Name field's value. +func (s *DescribeChannelOutput) SetName(v string) *DescribeChannelOutput { + s.Name = &v + return s +} + +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *DescribeChannelOutput) SetPipelinesRunningCount(v int64) *DescribeChannelOutput { + s.PipelinesRunningCount = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DescribeChannelOutput) SetRoleArn(v string) *DescribeChannelOutput { + s.RoleArn = &v + return s +} + +// SetState sets the State field's value. +func (s *DescribeChannelOutput) SetState(v string) *DescribeChannelOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOutput { + s.Tags = v + return s +} + +type DescribeInputInput struct { + _ struct{} `type:"structure"` + + // InputId is a required field + InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeInputInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInputInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInputInput"} + if s.InputId == nil { + invalidParams.Add(request.NewErrParamRequired("InputId")) + } + if s.InputId != nil && len(*s.InputId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputId sets the InputId field's value. +func (s *DescribeInputInput) SetInputId(v string) *DescribeInputInput { + s.InputId = &v + return s +} + +type DescribeInputOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + AttachedChannels []*string `locationName:"attachedChannels" type:"list"` + + Destinations []*InputDestination `locationName:"destinations" type:"list"` + + Id *string `locationName:"id" type:"string"` + + MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"` + + Name *string `locationName:"name" type:"string"` + + RoleArn *string `locationName:"roleArn" type:"string"` + + SecurityGroups []*string `locationName:"securityGroups" type:"list"` + + Sources []*InputSource `locationName:"sources" type:"list"` + + State *string `locationName:"state" type:"string" enum:"InputState"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + Type *string `locationName:"type" type:"string" enum:"InputType"` +} + +// String returns the string representation +func (s DescribeInputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInputOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeInputOutput) SetArn(v string) *DescribeInputOutput { + s.Arn = &v + return s +} + +// SetAttachedChannels sets the AttachedChannels field's value. +func (s *DescribeInputOutput) SetAttachedChannels(v []*string) *DescribeInputOutput { + s.AttachedChannels = v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *DescribeInputOutput) SetDestinations(v []*InputDestination) *DescribeInputOutput { + s.Destinations = v + return s +} + +// SetId sets the Id field's value. +func (s *DescribeInputOutput) SetId(v string) *DescribeInputOutput { + s.Id = &v + return s +} + +// SetMediaConnectFlows sets the MediaConnectFlows field's value. +func (s *DescribeInputOutput) SetMediaConnectFlows(v []*MediaConnectFlow) *DescribeInputOutput { + s.MediaConnectFlows = v + return s +} + +// SetName sets the Name field's value. +func (s *DescribeInputOutput) SetName(v string) *DescribeInputOutput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DescribeInputOutput) SetRoleArn(v string) *DescribeInputOutput { + s.RoleArn = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *DescribeInputOutput) SetSecurityGroups(v []*string) *DescribeInputOutput { + s.SecurityGroups = v + return s +} + +// SetSources sets the Sources field's value. +func (s *DescribeInputOutput) SetSources(v []*InputSource) *DescribeInputOutput { + s.Sources = v + return s +} + +// SetState sets the State field's value. +func (s *DescribeInputOutput) SetState(v string) *DescribeInputOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeInputOutput) SetTags(v map[string]*string) *DescribeInputOutput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *DescribeInputOutput) SetType(v string) *DescribeInputOutput { + s.Type = &v + return s +} + +type DescribeInputSecurityGroupInput struct { + _ struct{} `type:"structure"` + + // InputSecurityGroupId is a required field + InputSecurityGroupId *string `location:"uri" locationName:"inputSecurityGroupId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeInputSecurityGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInputSecurityGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInputSecurityGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInputSecurityGroupInput"} + if s.InputSecurityGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId")) + } + if s.InputSecurityGroupId != nil && len(*s.InputSecurityGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputSecurityGroupId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputSecurityGroupId sets the InputSecurityGroupId field's value. +func (s *DescribeInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DescribeInputSecurityGroupInput { + s.InputSecurityGroupId = &v + return s +} + +type DescribeInputSecurityGroupOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Id *string `locationName:"id" type:"string"` + + Inputs []*string `locationName:"inputs" type:"list"` + + State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"` +} + +// String returns the string representation +func (s DescribeInputSecurityGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInputSecurityGroupOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeInputSecurityGroupOutput) SetArn(v string) *DescribeInputSecurityGroupOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *DescribeInputSecurityGroupOutput) SetId(v string) *DescribeInputSecurityGroupOutput { + s.Id = &v + return s +} + +// SetInputs sets the Inputs field's value. +func (s *DescribeInputSecurityGroupOutput) SetInputs(v []*string) *DescribeInputSecurityGroupOutput { + s.Inputs = v + return s +} + +// SetState sets the State field's value. +func (s *DescribeInputSecurityGroupOutput) SetState(v string) *DescribeInputSecurityGroupOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeInputSecurityGroupOutput) SetTags(v map[string]*string) *DescribeInputSecurityGroupOutput { + s.Tags = v + return s +} + +// SetWhitelistRules sets the WhitelistRules field's value. +func (s *DescribeInputSecurityGroupOutput) SetWhitelistRules(v []*InputWhitelistRule) *DescribeInputSecurityGroupOutput { + s.WhitelistRules = v + return s +} + +type DescribeOfferingInput struct { + _ struct{} `type:"structure"` + + // OfferingId is a required field + OfferingId *string `location:"uri" locationName:"offeringId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeOfferingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeOfferingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeOfferingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeOfferingInput"} + if s.OfferingId == nil { + invalidParams.Add(request.NewErrParamRequired("OfferingId")) + } + if s.OfferingId != nil && len(*s.OfferingId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OfferingId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOfferingId sets the OfferingId field's value. +func (s *DescribeOfferingInput) SetOfferingId(v string) *DescribeOfferingInput { + s.OfferingId = &v + return s +} + +type DescribeOfferingOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + CurrencyCode *string `locationName:"currencyCode" type:"string"` + + Duration *int64 `locationName:"duration" type:"integer"` + + // Units for duration, e.g. 'MONTHS' + DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` + + FixedPrice *float64 `locationName:"fixedPrice" type:"double"` + + OfferingDescription *string `locationName:"offeringDescription" type:"string"` + + OfferingId *string `locationName:"offeringId" type:"string"` + + // Offering type, e.g. 'NO_UPFRONT' + OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` + + Region *string `locationName:"region" type:"string"` + + // Resource configuration (codec, resolution, bitrate, ...) + ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + + UsagePrice *float64 `locationName:"usagePrice" type:"double"` +} + +// String returns the string representation +func (s DescribeOfferingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeOfferingOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeOfferingOutput) SetArn(v string) *DescribeOfferingOutput { + s.Arn = &v + return s +} + +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *DescribeOfferingOutput) SetCurrencyCode(v string) *DescribeOfferingOutput { + s.CurrencyCode = &v + return s +} + +// SetDuration sets the Duration field's value. +func (s *DescribeOfferingOutput) SetDuration(v int64) *DescribeOfferingOutput { + s.Duration = &v + return s +} + +// SetDurationUnits sets the DurationUnits field's value. +func (s *DescribeOfferingOutput) SetDurationUnits(v string) *DescribeOfferingOutput { + s.DurationUnits = &v + return s +} + +// SetFixedPrice sets the FixedPrice field's value. +func (s *DescribeOfferingOutput) SetFixedPrice(v float64) *DescribeOfferingOutput { + s.FixedPrice = &v + return s +} + +// SetOfferingDescription sets the OfferingDescription field's value. +func (s *DescribeOfferingOutput) SetOfferingDescription(v string) *DescribeOfferingOutput { + s.OfferingDescription = &v + return s +} + +// SetOfferingId sets the OfferingId field's value. +func (s *DescribeOfferingOutput) SetOfferingId(v string) *DescribeOfferingOutput { + s.OfferingId = &v + return s +} + +// SetOfferingType sets the OfferingType field's value. +func (s *DescribeOfferingOutput) SetOfferingType(v string) *DescribeOfferingOutput { + s.OfferingType = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *DescribeOfferingOutput) SetRegion(v string) *DescribeOfferingOutput { + s.Region = &v + return s +} + +// SetResourceSpecification sets the ResourceSpecification field's value. +func (s *DescribeOfferingOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeOfferingOutput { + s.ResourceSpecification = v + return s +} + +// SetUsagePrice sets the UsagePrice field's value. +func (s *DescribeOfferingOutput) SetUsagePrice(v float64) *DescribeOfferingOutput { + s.UsagePrice = &v + return s +} + +type DescribeReservationInput struct { + _ struct{} `type:"structure"` + + // ReservationId is a required field + ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeReservationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReservationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeReservationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeReservationInput"} + if s.ReservationId == nil { + invalidParams.Add(request.NewErrParamRequired("ReservationId")) + } + if s.ReservationId != nil && len(*s.ReservationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReservationId sets the ReservationId field's value. +func (s *DescribeReservationInput) SetReservationId(v string) *DescribeReservationInput { + s.ReservationId = &v + return s +} + +type DescribeReservationOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Count *int64 `locationName:"count" type:"integer"` + + CurrencyCode *string `locationName:"currencyCode" type:"string"` + + Duration *int64 `locationName:"duration" type:"integer"` + + // Units for duration, e.g. 'MONTHS' + DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` + + End *string `locationName:"end" type:"string"` + + FixedPrice *float64 `locationName:"fixedPrice" type:"double"` + + Name *string `locationName:"name" type:"string"` + + OfferingDescription *string `locationName:"offeringDescription" type:"string"` + + OfferingId *string `locationName:"offeringId" type:"string"` + + // Offering type, e.g. 'NO_UPFRONT' + OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` + + Region *string `locationName:"region" type:"string"` + + ReservationId *string `locationName:"reservationId" type:"string"` + + // Resource configuration (codec, resolution, bitrate, ...) + ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + + Start *string `locationName:"start" type:"string"` + + // Current reservation state + State *string `locationName:"state" type:"string" enum:"ReservationState"` + + UsagePrice *float64 `locationName:"usagePrice" type:"double"` +} + +// String returns the string representation +func (s DescribeReservationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReservationOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeReservationOutput) SetArn(v string) *DescribeReservationOutput { + s.Arn = &v + return s +} + +// SetCount sets the Count field's value. +func (s *DescribeReservationOutput) SetCount(v int64) *DescribeReservationOutput { + s.Count = &v + return s +} + +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *DescribeReservationOutput) SetCurrencyCode(v string) *DescribeReservationOutput { + s.CurrencyCode = &v + return s +} + +// SetDuration sets the Duration field's value. +func (s *DescribeReservationOutput) SetDuration(v int64) *DescribeReservationOutput { + s.Duration = &v + return s +} + +// SetDurationUnits sets the DurationUnits field's value. +func (s *DescribeReservationOutput) SetDurationUnits(v string) *DescribeReservationOutput { + s.DurationUnits = &v + return s +} + +// SetEnd sets the End field's value. +func (s *DescribeReservationOutput) SetEnd(v string) *DescribeReservationOutput { + s.End = &v + return s +} + +// SetFixedPrice sets the FixedPrice field's value. +func (s *DescribeReservationOutput) SetFixedPrice(v float64) *DescribeReservationOutput { + s.FixedPrice = &v + return s +} + +// SetName sets the Name field's value. +func (s *DescribeReservationOutput) SetName(v string) *DescribeReservationOutput { + s.Name = &v + return s +} + +// SetOfferingDescription sets the OfferingDescription field's value. +func (s *DescribeReservationOutput) SetOfferingDescription(v string) *DescribeReservationOutput { + s.OfferingDescription = &v + return s +} + +// SetOfferingId sets the OfferingId field's value. +func (s *DescribeReservationOutput) SetOfferingId(v string) *DescribeReservationOutput { + s.OfferingId = &v + return s +} + +// SetOfferingType sets the OfferingType field's value. +func (s *DescribeReservationOutput) SetOfferingType(v string) *DescribeReservationOutput { + s.OfferingType = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *DescribeReservationOutput) SetRegion(v string) *DescribeReservationOutput { + s.Region = &v + return s +} + +// SetReservationId sets the ReservationId field's value. +func (s *DescribeReservationOutput) SetReservationId(v string) *DescribeReservationOutput { + s.ReservationId = &v + return s +} + +// SetResourceSpecification sets the ResourceSpecification field's value. +func (s *DescribeReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeReservationOutput { + s.ResourceSpecification = v + return s +} + +// SetStart sets the Start field's value. +func (s *DescribeReservationOutput) SetStart(v string) *DescribeReservationOutput { + s.Start = &v + return s +} + +// SetState sets the State field's value. +func (s *DescribeReservationOutput) SetState(v string) *DescribeReservationOutput { + s.State = &v + return s +} + +// SetUsagePrice sets the UsagePrice field's value. +func (s *DescribeReservationOutput) SetUsagePrice(v float64) *DescribeReservationOutput { + s.UsagePrice = &v + return s +} + +type DescribeScheduleInput struct { + _ struct{} `type:"structure"` + + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeScheduleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScheduleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeScheduleInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelId sets the ChannelId field's value. +func (s *DescribeScheduleInput) SetChannelId(v string) *DescribeScheduleInput { + s.ChannelId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeScheduleInput) SetMaxResults(v int64) *DescribeScheduleInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeScheduleInput) SetNextToken(v string) *DescribeScheduleInput { + s.NextToken = &v + return s +} + +type DescribeScheduleOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` + + ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list"` +} + +// String returns the string representation +func (s DescribeScheduleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScheduleOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeScheduleOutput) SetNextToken(v string) *DescribeScheduleOutput { + s.NextToken = &v + return s +} + +// SetScheduleActions sets the ScheduleActions field's value. +func (s *DescribeScheduleOutput) SetScheduleActions(v []*ScheduleAction) *DescribeScheduleOutput { + s.ScheduleActions = v + return s +} + +// DVB Network Information Table (NIT) +type DvbNitSettings struct { + _ struct{} `type:"structure"` + + // The numeric value placed in the Network Information Table (NIT). + // + // NetworkId is a required field + NetworkId *int64 `locationName:"networkId" type:"integer" required:"true"` + + // The network name text placed in the networkNameDescriptor inside the Network + // Information Table. Maximum length is 256 characters. + // + // NetworkName is a required field + NetworkName *string `locationName:"networkName" min:"1" type:"string" required:"true"` + + // The number of milliseconds between instances of this table in the output + // transport stream. + RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"` +} + +// String returns the string representation +func (s DvbNitSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DvbNitSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbNitSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbNitSettings"} + if s.NetworkId == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkId")) + } + if s.NetworkName == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkName")) + } + if s.NetworkName != nil && len(*s.NetworkName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NetworkName", 1)) + } + if s.RepInterval != nil && *s.RepInterval < 25 { + invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNetworkId sets the NetworkId field's value. +func (s *DvbNitSettings) SetNetworkId(v int64) *DvbNitSettings { + s.NetworkId = &v + return s +} + +// SetNetworkName sets the NetworkName field's value. +func (s *DvbNitSettings) SetNetworkName(v string) *DvbNitSettings { + s.NetworkName = &v + return s +} + +// SetRepInterval sets the RepInterval field's value. +func (s *DvbNitSettings) SetRepInterval(v int64) *DvbNitSettings { + s.RepInterval = &v + return s +} + +// DVB Service Description Table (SDT) +type DvbSdtSettings struct { + _ struct{} `type:"structure"` + + // Selects method of inserting SDT information into output stream. The sdtFollow + // setting copies SDT information from input stream to output stream. The sdtFollowIfPresent + // setting copies SDT information from input stream to output stream if SDT + // information is present in the input, otherwise it will fall back on the user-defined + // values. The sdtManual setting means user will enter the SDT information. + // The sdtNone setting means output stream will not contain SDT information. + OutputSdt *string `locationName:"outputSdt" type:"string" enum:"DvbSdtOutputSdt"` + + // The number of milliseconds between instances of this table in the output + // transport stream. + RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"` + + // The service name placed in the serviceDescriptor in the Service Description + // Table. Maximum length is 256 characters. + ServiceName *string `locationName:"serviceName" min:"1" type:"string"` + + // The service provider name placed in the serviceDescriptor in the Service + // Description Table. Maximum length is 256 characters. + ServiceProviderName *string `locationName:"serviceProviderName" min:"1" type:"string"` +} + +// String returns the string representation +func (s DvbSdtSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DvbSdtSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbSdtSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSdtSettings"} + if s.RepInterval != nil && *s.RepInterval < 25 { + invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25)) + } + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + if s.ServiceProviderName != nil && len(*s.ServiceProviderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceProviderName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOutputSdt sets the OutputSdt field's value. +func (s *DvbSdtSettings) SetOutputSdt(v string) *DvbSdtSettings { + s.OutputSdt = &v + return s +} + +// SetRepInterval sets the RepInterval field's value. +func (s *DvbSdtSettings) SetRepInterval(v int64) *DvbSdtSettings { + s.RepInterval = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *DvbSdtSettings) SetServiceName(v string) *DvbSdtSettings { + s.ServiceName = &v + return s +} + +// SetServiceProviderName sets the ServiceProviderName field's value. +func (s *DvbSdtSettings) SetServiceProviderName(v string) *DvbSdtSettings { + s.ServiceProviderName = &v + return s +} + +type DvbSubDestinationSettings struct { + _ struct{} `type:"structure"` + + // If no explicit xPosition or yPosition is provided, setting alignment to centered + // will place the captions at the bottom center of the output. Similarly, setting + // a left alignment will align captions to the bottom left of the output. If + // x and y positions are given in conjunction with the alignment parameter, + // the font will be justified (either left or centered) relative to those coordinates. + // Selecting "smart" justification will left-justify live subtitles and center-justify + // pre-recorded subtitles. This option is not valid for source captions that + // are STL or 608/embedded. These source settings are already pre-defined by + // the caption stream. All burn-in and DVB-Sub font settings must match. + Alignment *string `locationName:"alignment" type:"string" enum:"DvbSubDestinationAlignment"` + + // Specifies the color of the rectangle behind the captions. All burn-in and + // DVB-Sub font settings must match. + BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"DvbSubDestinationBackgroundColor"` + + // Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. + // Leaving this parameter blank is equivalent to setting it to 0 (transparent). + // All burn-in and DVB-Sub font settings must match. + BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"` + + // External font file used for caption burn-in. File extension must be 'ttf' + // or 'tte'. Although the user can select output fonts for many different types + // of input captions, embedded, STL and teletext sources use a strict grid system. + // Using external fonts with these caption sources could cause unexpected display + // of proportional fonts. All burn-in and DVB-Sub font settings must match. + Font *InputLocation `locationName:"font" type:"structure"` + + // Specifies the color of the burned-in captions. This option is not valid for + // source captions that are STL, 608/embedded or teletext. These source settings + // are already pre-defined by the caption stream. All burn-in and DVB-Sub font + // settings must match. + FontColor *string `locationName:"fontColor" type:"string" enum:"DvbSubDestinationFontColor"` + + // Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. + // All burn-in and DVB-Sub font settings must match. + FontOpacity *int64 `locationName:"fontOpacity" type:"integer"` + + // Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and + // DVB-Sub font settings must match. + FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` + + // When set to auto fontSize will scale depending on the size of the output. + // Giving a positive integer will specify the exact font size in points. All + // burn-in and DVB-Sub font settings must match. + FontSize *string `locationName:"fontSize" type:"string"` + + // Specifies font outline color. This option is not valid for source captions + // that are either 608/embedded or teletext. These source settings are already + // pre-defined by the caption stream. All burn-in and DVB-Sub font settings + // must match. + OutlineColor *string `locationName:"outlineColor" type:"string" enum:"DvbSubDestinationOutlineColor"` + + // Specifies font outline size in pixels. This option is not valid for source + // captions that are either 608/embedded or teletext. These source settings + // are already pre-defined by the caption stream. All burn-in and DVB-Sub font + // settings must match. + OutlineSize *int64 `locationName:"outlineSize" type:"integer"` + + // Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub + // font settings must match. + ShadowColor *string `locationName:"shadowColor" type:"string" enum:"DvbSubDestinationShadowColor"` + + // Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving + // this parameter blank is equivalent to setting it to 0 (transparent). All + // burn-in and DVB-Sub font settings must match. + ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"` + + // Specifies the horizontal offset of the shadow relative to the captions in + // pixels. A value of -2 would result in a shadow offset 2 pixels to the left. + // All burn-in and DVB-Sub font settings must match. + ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"` + + // Specifies the vertical offset of the shadow relative to the captions in pixels. + // A value of -2 would result in a shadow offset 2 pixels above the text. All + // burn-in and DVB-Sub font settings must match. + ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` + + // Controls whether a fixed grid size will be used to generate the output subtitles + // bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs. + TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"DvbSubDestinationTeletextGridControl"` + + // Specifies the horizontal position of the caption relative to the left side + // of the output in pixels. A value of 10 would result in the captions starting + // 10 pixels from the left of the output. If no explicit xPosition is provided, + // the horizontal caption position will be determined by the alignment parameter. + // This option is not valid for source captions that are STL, 608/embedded or + // teletext. These source settings are already pre-defined by the caption stream. + // All burn-in and DVB-Sub font settings must match. + XPosition *int64 `locationName:"xPosition" type:"integer"` + + // Specifies the vertical position of the caption relative to the top of the + // output in pixels. A value of 10 would result in the captions starting 10 + // pixels from the top of the output. If no explicit yPosition is provided, + // the caption will be positioned towards the bottom of the output. This option + // is not valid for source captions that are STL, 608/embedded or teletext. + // These source settings are already pre-defined by the caption stream. All + // burn-in and DVB-Sub font settings must match. + YPosition *int64 `locationName:"yPosition" type:"integer"` +} + +// String returns the string representation +func (s DvbSubDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DvbSubDestinationSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbSubDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSubDestinationSettings"} + if s.FontResolution != nil && *s.FontResolution < 96 { + invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) + } + if s.Font != nil { + if err := s.Font.Validate(); err != nil { + invalidParams.AddNested("Font", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlignment sets the Alignment field's value. +func (s *DvbSubDestinationSettings) SetAlignment(v string) *DvbSubDestinationSettings { + s.Alignment = &v + return s +} + +// SetBackgroundColor sets the BackgroundColor field's value. +func (s *DvbSubDestinationSettings) SetBackgroundColor(v string) *DvbSubDestinationSettings { + s.BackgroundColor = &v + return s +} + +// SetBackgroundOpacity sets the BackgroundOpacity field's value. +func (s *DvbSubDestinationSettings) SetBackgroundOpacity(v int64) *DvbSubDestinationSettings { + s.BackgroundOpacity = &v + return s +} + +// SetFont sets the Font field's value. +func (s *DvbSubDestinationSettings) SetFont(v *InputLocation) *DvbSubDestinationSettings { + s.Font = v + return s +} + +// SetFontColor sets the FontColor field's value. +func (s *DvbSubDestinationSettings) SetFontColor(v string) *DvbSubDestinationSettings { + s.FontColor = &v + return s +} + +// SetFontOpacity sets the FontOpacity field's value. +func (s *DvbSubDestinationSettings) SetFontOpacity(v int64) *DvbSubDestinationSettings { + s.FontOpacity = &v + return s +} + +// SetFontResolution sets the FontResolution field's value. +func (s *DvbSubDestinationSettings) SetFontResolution(v int64) *DvbSubDestinationSettings { + s.FontResolution = &v + return s +} + +// SetFontSize sets the FontSize field's value. +func (s *DvbSubDestinationSettings) SetFontSize(v string) *DvbSubDestinationSettings { + s.FontSize = &v + return s +} + +// SetOutlineColor sets the OutlineColor field's value. +func (s *DvbSubDestinationSettings) SetOutlineColor(v string) *DvbSubDestinationSettings { + s.OutlineColor = &v + return s +} + +// SetOutlineSize sets the OutlineSize field's value. +func (s *DvbSubDestinationSettings) SetOutlineSize(v int64) *DvbSubDestinationSettings { + s.OutlineSize = &v + return s +} + +// SetShadowColor sets the ShadowColor field's value. +func (s *DvbSubDestinationSettings) SetShadowColor(v string) *DvbSubDestinationSettings { + s.ShadowColor = &v + return s +} + +// SetShadowOpacity sets the ShadowOpacity field's value. +func (s *DvbSubDestinationSettings) SetShadowOpacity(v int64) *DvbSubDestinationSettings { + s.ShadowOpacity = &v + return s +} + +// SetShadowXOffset sets the ShadowXOffset field's value. +func (s *DvbSubDestinationSettings) SetShadowXOffset(v int64) *DvbSubDestinationSettings { + s.ShadowXOffset = &v + return s +} + +// SetShadowYOffset sets the ShadowYOffset field's value. +func (s *DvbSubDestinationSettings) SetShadowYOffset(v int64) *DvbSubDestinationSettings { + s.ShadowYOffset = &v + return s +} + +// SetTeletextGridControl sets the TeletextGridControl field's value. +func (s *DvbSubDestinationSettings) SetTeletextGridControl(v string) *DvbSubDestinationSettings { + s.TeletextGridControl = &v + return s +} + +// SetXPosition sets the XPosition field's value. +func (s *DvbSubDestinationSettings) SetXPosition(v int64) *DvbSubDestinationSettings { + s.XPosition = &v + return s +} + +// SetYPosition sets the YPosition field's value. +func (s *DvbSubDestinationSettings) SetYPosition(v int64) *DvbSubDestinationSettings { + s.YPosition = &v + return s +} + +type DvbSubSourceSettings struct { + _ struct{} `type:"structure"` + + // When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source + // content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through, + // regardless of selectors. + Pid *int64 `locationName:"pid" min:"1" type:"integer"` +} + +// String returns the string representation +func (s DvbSubSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DvbSubSourceSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbSubSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSubSourceSettings"} + if s.Pid != nil && *s.Pid < 1 { + invalidParams.Add(request.NewErrParamMinValue("Pid", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPid sets the Pid field's value. +func (s *DvbSubSourceSettings) SetPid(v int64) *DvbSubSourceSettings { + s.Pid = &v + return s +} + +// DVB Time and Date Table (SDT) +type DvbTdtSettings struct { + _ struct{} `type:"structure"` + + // The number of milliseconds between instances of this table in the output + // transport stream. + RepInterval *int64 `locationName:"repInterval" min:"1000" type:"integer"` +} + +// String returns the string representation +func (s DvbTdtSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DvbTdtSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbTdtSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbTdtSettings"} + if s.RepInterval != nil && *s.RepInterval < 1000 { + invalidParams.Add(request.NewErrParamMinValue("RepInterval", 1000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRepInterval sets the RepInterval field's value. +func (s *DvbTdtSettings) SetRepInterval(v int64) *DvbTdtSettings { + s.RepInterval = &v + return s +} + +type Eac3Settings struct { + _ struct{} `type:"structure"` + + // When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. + // Only used for 3/2 coding mode. + AttenuationControl *string `locationName:"attenuationControl" type:"string" enum:"Eac3AttenuationControl"` + + // Average bitrate in bits/second. Valid bitrates depend on the coding mode. + Bitrate *float64 `locationName:"bitrate" type:"double"` + + // Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC + // A/52-2012 (Annex E) for background on these values. + BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Eac3BitstreamMode"` + + // Dolby Digital Plus coding mode. Determines number of channels. + CodingMode *string `locationName:"codingMode" type:"string" enum:"Eac3CodingMode"` + + // When set to enabled, activates a DC highpass filter for all input channels. + DcFilter *string `locationName:"dcFilter" type:"string" enum:"Eac3DcFilter"` + + // Sets the dialnorm for the output. If blank and input audio is Dolby Digital + // Plus, dialnorm will be passed through. + Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` + + // Sets the Dolby dynamic range compression profile. + DrcLine *string `locationName:"drcLine" type:"string" enum:"Eac3DrcLine"` + + // Sets the profile for heavy Dolby dynamic range compression, ensures that + // the instantaneous signal peaks do not exceed specified levels. + DrcRf *string `locationName:"drcRf" type:"string" enum:"Eac3DrcRf"` + + // When encoding 3/2 audio, setting to lfe enables the LFE channel + LfeControl *string `locationName:"lfeControl" type:"string" enum:"Eac3LfeControl"` + + // When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior + // to encoding. Only valid with codingMode32 coding mode. + LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Eac3LfeFilter"` + + // Left only/Right only center mix level. Only used for 3/2 coding mode. + LoRoCenterMixLevel *float64 `locationName:"loRoCenterMixLevel" type:"double"` + + // Left only/Right only surround mix level. Only used for 3/2 coding mode. + LoRoSurroundMixLevel *float64 `locationName:"loRoSurroundMixLevel" type:"double"` + + // Left total/Right total center mix level. Only used for 3/2 coding mode. + LtRtCenterMixLevel *float64 `locationName:"ltRtCenterMixLevel" type:"double"` + + // Left total/Right total surround mix level. Only used for 3/2 coding mode. + LtRtSurroundMixLevel *float64 `locationName:"ltRtSurroundMixLevel" type:"double"` + + // When set to followInput, encoder metadata will be sourced from the DD, DD+, + // or DolbyE decoder that supplied this audio data. If audio was not supplied + // from one of these streams, then the static metadata settings will be used. + MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Eac3MetadataControl"` + + // When set to whenPossible, input DD+ audio will be passed through if it is + // present on the input. This detection is dynamic over the life of the transcode. + // Inputs that alternate between DD+ and non-DD+ content will have a consistent + // DD+ output as the system alternates between passthrough and encoding. + PassthroughControl *string `locationName:"passthroughControl" type:"string" enum:"Eac3PassthroughControl"` + + // When set to shift90Degrees, applies a 90-degree phase shift to the surround + // channels. Only used for 3/2 coding mode. + PhaseControl *string `locationName:"phaseControl" type:"string" enum:"Eac3PhaseControl"` + + // Stereo downmix preference. Only used for 3/2 coding mode. + StereoDownmix *string `locationName:"stereoDownmix" type:"string" enum:"Eac3StereoDownmix"` + + // When encoding 3/2 audio, sets whether an extra center back surround channel + // is matrix encoded into the left and right surround channels. + SurroundExMode *string `locationName:"surroundExMode" type:"string" enum:"Eac3SurroundExMode"` + + // When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into + // the two channels. + SurroundMode *string `locationName:"surroundMode" type:"string" enum:"Eac3SurroundMode"` +} + +// String returns the string representation +func (s Eac3Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Eac3Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Eac3Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Eac3Settings"} + if s.Dialnorm != nil && *s.Dialnorm < 1 { + invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttenuationControl sets the AttenuationControl field's value. +func (s *Eac3Settings) SetAttenuationControl(v string) *Eac3Settings { + s.AttenuationControl = &v + return s +} + +// SetBitrate sets the Bitrate field's value. +func (s *Eac3Settings) SetBitrate(v float64) *Eac3Settings { + s.Bitrate = &v + return s +} + +// SetBitstreamMode sets the BitstreamMode field's value. +func (s *Eac3Settings) SetBitstreamMode(v string) *Eac3Settings { + s.BitstreamMode = &v + return s +} + +// SetCodingMode sets the CodingMode field's value. +func (s *Eac3Settings) SetCodingMode(v string) *Eac3Settings { + s.CodingMode = &v + return s +} + +// SetDcFilter sets the DcFilter field's value. +func (s *Eac3Settings) SetDcFilter(v string) *Eac3Settings { + s.DcFilter = &v + return s +} + +// SetDialnorm sets the Dialnorm field's value. +func (s *Eac3Settings) SetDialnorm(v int64) *Eac3Settings { + s.Dialnorm = &v + return s +} + +// SetDrcLine sets the DrcLine field's value. +func (s *Eac3Settings) SetDrcLine(v string) *Eac3Settings { + s.DrcLine = &v + return s +} + +// SetDrcRf sets the DrcRf field's value. +func (s *Eac3Settings) SetDrcRf(v string) *Eac3Settings { + s.DrcRf = &v + return s +} + +// SetLfeControl sets the LfeControl field's value. +func (s *Eac3Settings) SetLfeControl(v string) *Eac3Settings { + s.LfeControl = &v + return s +} + +// SetLfeFilter sets the LfeFilter field's value. +func (s *Eac3Settings) SetLfeFilter(v string) *Eac3Settings { + s.LfeFilter = &v + return s +} + +// SetLoRoCenterMixLevel sets the LoRoCenterMixLevel field's value. +func (s *Eac3Settings) SetLoRoCenterMixLevel(v float64) *Eac3Settings { + s.LoRoCenterMixLevel = &v + return s +} + +// SetLoRoSurroundMixLevel sets the LoRoSurroundMixLevel field's value. +func (s *Eac3Settings) SetLoRoSurroundMixLevel(v float64) *Eac3Settings { + s.LoRoSurroundMixLevel = &v + return s +} + +// SetLtRtCenterMixLevel sets the LtRtCenterMixLevel field's value. +func (s *Eac3Settings) SetLtRtCenterMixLevel(v float64) *Eac3Settings { + s.LtRtCenterMixLevel = &v + return s +} + +// SetLtRtSurroundMixLevel sets the LtRtSurroundMixLevel field's value. +func (s *Eac3Settings) SetLtRtSurroundMixLevel(v float64) *Eac3Settings { + s.LtRtSurroundMixLevel = &v + return s +} + +// SetMetadataControl sets the MetadataControl field's value. +func (s *Eac3Settings) SetMetadataControl(v string) *Eac3Settings { + s.MetadataControl = &v + return s +} + +// SetPassthroughControl sets the PassthroughControl field's value. +func (s *Eac3Settings) SetPassthroughControl(v string) *Eac3Settings { + s.PassthroughControl = &v + return s +} + +// SetPhaseControl sets the PhaseControl field's value. +func (s *Eac3Settings) SetPhaseControl(v string) *Eac3Settings { + s.PhaseControl = &v + return s +} + +// SetStereoDownmix sets the StereoDownmix field's value. +func (s *Eac3Settings) SetStereoDownmix(v string) *Eac3Settings { + s.StereoDownmix = &v + return s +} + +// SetSurroundExMode sets the SurroundExMode field's value. +func (s *Eac3Settings) SetSurroundExMode(v string) *Eac3Settings { + s.SurroundExMode = &v + return s +} + +// SetSurroundMode sets the SurroundMode field's value. +func (s *Eac3Settings) SetSurroundMode(v string) *Eac3Settings { + s.SurroundMode = &v + return s +} + +type EmbeddedDestinationSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s EmbeddedDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmbeddedDestinationSettings) GoString() string { + return s.String() +} + +type EmbeddedPlusScte20DestinationSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s EmbeddedPlusScte20DestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmbeddedPlusScte20DestinationSettings) GoString() string { + return s.String() +} + +type EmbeddedSourceSettings struct { + _ struct{} `type:"structure"` + + // If upconvert, 608 data is both passed through via the "608 compatibility + // bytes" fields of the 708 wrapper as well as translated into 708. 708 data + // present in the source content will be discarded. + Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"EmbeddedConvert608To708"` + + // Set to "auto" to handle streams with intermittent and/or non-aligned SCTE-20 + // and Embedded captions. + Scte20Detection *string `locationName:"scte20Detection" type:"string" enum:"EmbeddedScte20Detection"` + + // Specifies the 608/708 channel number within the video track from which to + // extract captions. Unused for passthrough. + Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"` + + // This field is unused and deprecated. + Source608TrackNumber *int64 `locationName:"source608TrackNumber" min:"1" type:"integer"` +} + +// String returns the string representation +func (s EmbeddedSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmbeddedSourceSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EmbeddedSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EmbeddedSourceSettings"} + if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1)) + } + if s.Source608TrackNumber != nil && *s.Source608TrackNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("Source608TrackNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConvert608To708 sets the Convert608To708 field's value. +func (s *EmbeddedSourceSettings) SetConvert608To708(v string) *EmbeddedSourceSettings { + s.Convert608To708 = &v + return s +} + +// SetScte20Detection sets the Scte20Detection field's value. +func (s *EmbeddedSourceSettings) SetScte20Detection(v string) *EmbeddedSourceSettings { + s.Scte20Detection = &v + return s +} + +// SetSource608ChannelNumber sets the Source608ChannelNumber field's value. +func (s *EmbeddedSourceSettings) SetSource608ChannelNumber(v int64) *EmbeddedSourceSettings { + s.Source608ChannelNumber = &v + return s +} + +// SetSource608TrackNumber sets the Source608TrackNumber field's value. +func (s *EmbeddedSourceSettings) SetSource608TrackNumber(v int64) *EmbeddedSourceSettings { + s.Source608TrackNumber = &v + return s +} + +type EncoderSettings struct { + _ struct{} `type:"structure"` + + // AudioDescriptions is a required field + AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list" required:"true"` + + // Settings for ad avail blanking. + AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"` + + // Event-wide configuration settings for ad avail insertion. + AvailConfiguration *AvailConfiguration `locationName:"availConfiguration" type:"structure"` + + // Settings for blackout slate. + BlackoutSlate *BlackoutSlate `locationName:"blackoutSlate" type:"structure"` + + // Settings for caption decriptions + CaptionDescriptions []*CaptionDescription `locationName:"captionDescriptions" type:"list"` + + // Configuration settings that apply to the event as a whole. + GlobalConfiguration *GlobalConfiguration `locationName:"globalConfiguration" type:"structure"` + + // OutputGroups is a required field + OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list" required:"true"` + + // Contains settings used to acquire and adjust timecode information from inputs. + // + // TimecodeConfig is a required field + TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure" required:"true"` + + // VideoDescriptions is a required field + VideoDescriptions []*VideoDescription `locationName:"videoDescriptions" type:"list" required:"true"` +} + +// String returns the string representation +func (s EncoderSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncoderSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncoderSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncoderSettings"} + if s.AudioDescriptions == nil { + invalidParams.Add(request.NewErrParamRequired("AudioDescriptions")) + } + if s.OutputGroups == nil { + invalidParams.Add(request.NewErrParamRequired("OutputGroups")) + } + if s.TimecodeConfig == nil { + invalidParams.Add(request.NewErrParamRequired("TimecodeConfig")) + } + if s.VideoDescriptions == nil { + invalidParams.Add(request.NewErrParamRequired("VideoDescriptions")) + } + if s.AudioDescriptions != nil { + for i, v := range s.AudioDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.AvailBlanking != nil { + if err := s.AvailBlanking.Validate(); err != nil { + invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams)) + } + } + if s.AvailConfiguration != nil { + if err := s.AvailConfiguration.Validate(); err != nil { + invalidParams.AddNested("AvailConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.BlackoutSlate != nil { + if err := s.BlackoutSlate.Validate(); err != nil { + invalidParams.AddNested("BlackoutSlate", err.(request.ErrInvalidParams)) + } + } + if s.CaptionDescriptions != nil { + for i, v := range s.CaptionDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.GlobalConfiguration != nil { + if err := s.GlobalConfiguration.Validate(); err != nil { + invalidParams.AddNested("GlobalConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.OutputGroups != nil { + for i, v := range s.OutputGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TimecodeConfig != nil { + if err := s.TimecodeConfig.Validate(); err != nil { + invalidParams.AddNested("TimecodeConfig", err.(request.ErrInvalidParams)) + } + } + if s.VideoDescriptions != nil { + for i, v := range s.VideoDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VideoDescriptions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioDescriptions sets the AudioDescriptions field's value. +func (s *EncoderSettings) SetAudioDescriptions(v []*AudioDescription) *EncoderSettings { + s.AudioDescriptions = v + return s +} + +// SetAvailBlanking sets the AvailBlanking field's value. +func (s *EncoderSettings) SetAvailBlanking(v *AvailBlanking) *EncoderSettings { + s.AvailBlanking = v + return s +} + +// SetAvailConfiguration sets the AvailConfiguration field's value. +func (s *EncoderSettings) SetAvailConfiguration(v *AvailConfiguration) *EncoderSettings { + s.AvailConfiguration = v + return s +} + +// SetBlackoutSlate sets the BlackoutSlate field's value. +func (s *EncoderSettings) SetBlackoutSlate(v *BlackoutSlate) *EncoderSettings { + s.BlackoutSlate = v + return s +} + +// SetCaptionDescriptions sets the CaptionDescriptions field's value. +func (s *EncoderSettings) SetCaptionDescriptions(v []*CaptionDescription) *EncoderSettings { + s.CaptionDescriptions = v + return s +} + +// SetGlobalConfiguration sets the GlobalConfiguration field's value. +func (s *EncoderSettings) SetGlobalConfiguration(v *GlobalConfiguration) *EncoderSettings { + s.GlobalConfiguration = v + return s +} + +// SetOutputGroups sets the OutputGroups field's value. +func (s *EncoderSettings) SetOutputGroups(v []*OutputGroup) *EncoderSettings { + s.OutputGroups = v + return s +} + +// SetTimecodeConfig sets the TimecodeConfig field's value. +func (s *EncoderSettings) SetTimecodeConfig(v *TimecodeConfig) *EncoderSettings { + s.TimecodeConfig = v + return s +} + +// SetVideoDescriptions sets the VideoDescriptions field's value. +func (s *EncoderSettings) SetVideoDescriptions(v []*VideoDescription) *EncoderSettings { + s.VideoDescriptions = v + return s +} + +type FecOutputSettings struct { + _ struct{} `type:"structure"` + + // Parameter D from SMPTE 2022-1. The height of the FEC protection matrix. The + // number of transport stream packets per column error correction packet. Must + // be between 4 and 20, inclusive. + ColumnDepth *int64 `locationName:"columnDepth" min:"4" type:"integer"` + + // Enables column only or column and row based FEC + IncludeFec *string `locationName:"includeFec" type:"string" enum:"FecOutputIncludeFec"` + + // Parameter L from SMPTE 2022-1. The width of the FEC protection matrix. Must + // be between 1 and 20, inclusive. If only Column FEC is used, then larger values + // increase robustness. If Row FEC is used, then this is the number of transport + // stream packets per row error correction packet, and the value must be between + // 4 and 20, inclusive, if includeFec is columnAndRow. If includeFec is column, + // this value must be 1 to 20, inclusive. + RowLength *int64 `locationName:"rowLength" min:"1" type:"integer"` +} + +// String returns the string representation +func (s FecOutputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FecOutputSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FecOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FecOutputSettings"} + if s.ColumnDepth != nil && *s.ColumnDepth < 4 { + invalidParams.Add(request.NewErrParamMinValue("ColumnDepth", 4)) + } + if s.RowLength != nil && *s.RowLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("RowLength", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumnDepth sets the ColumnDepth field's value. +func (s *FecOutputSettings) SetColumnDepth(v int64) *FecOutputSettings { + s.ColumnDepth = &v + return s +} + +// SetIncludeFec sets the IncludeFec field's value. +func (s *FecOutputSettings) SetIncludeFec(v string) *FecOutputSettings { + s.IncludeFec = &v + return s +} + +// SetRowLength sets the RowLength field's value. +func (s *FecOutputSettings) SetRowLength(v int64) *FecOutputSettings { + s.RowLength = &v + return s +} + +// Start time for the action. +type FixedModeScheduleActionStartSettings struct { + _ struct{} `type:"structure"` + + // Start time for the action to start in the channel. (Not the time for the + // action to be added to the schedule: actions are always added to the schedule + // immediately.) UTC format: yyyy-mm-ddThh:mm:ss.nnnZ. All the letters are digits + // (for example, mm might be 01) except for the two constants "T" for time and + // "Z" for "UTC format". + // + // Time is a required field + Time *string `locationName:"time" type:"string" required:"true"` +} + +// String returns the string representation +func (s FixedModeScheduleActionStartSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FixedModeScheduleActionStartSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FixedModeScheduleActionStartSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FixedModeScheduleActionStartSettings"} + if s.Time == nil { + invalidParams.Add(request.NewErrParamRequired("Time")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTime sets the Time field's value. +func (s *FixedModeScheduleActionStartSettings) SetTime(v string) *FixedModeScheduleActionStartSettings { + s.Time = &v + return s +} + +// Settings to specify if an action follows another. +type FollowModeScheduleActionStartSettings struct { + _ struct{} `type:"structure"` + + // Identifies whether this action starts relative to the start or relative to + // the end of the reference action. + // + // FollowPoint is a required field + FollowPoint *string `locationName:"followPoint" type:"string" required:"true" enum:"FollowPoint"` + + // The action name of another action that this one refers to. + // + // ReferenceActionName is a required field + ReferenceActionName *string `locationName:"referenceActionName" type:"string" required:"true"` +} + +// String returns the string representation +func (s FollowModeScheduleActionStartSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FollowModeScheduleActionStartSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FollowModeScheduleActionStartSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FollowModeScheduleActionStartSettings"} + if s.FollowPoint == nil { + invalidParams.Add(request.NewErrParamRequired("FollowPoint")) + } + if s.ReferenceActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ReferenceActionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFollowPoint sets the FollowPoint field's value. +func (s *FollowModeScheduleActionStartSettings) SetFollowPoint(v string) *FollowModeScheduleActionStartSettings { + s.FollowPoint = &v + return s +} + +// SetReferenceActionName sets the ReferenceActionName field's value. +func (s *FollowModeScheduleActionStartSettings) SetReferenceActionName(v string) *FollowModeScheduleActionStartSettings { + s.ReferenceActionName = &v + return s +} + +// Frame Capture Group Settings +type FrameCaptureGroupSettings struct { + _ struct{} `type:"structure"` + + // The destination for the frame capture files. Either the URI for an Amazon + // S3 bucket and object, plus a file name prefix (for example, s3ssl://sportsDelivery/highlights/20180820/curling_) + // or the URI for a MediaStore container, plus a file name prefix (for example, + // mediastoressl://sportsDelivery/20180820/curling_). The final file names consist + // of the prefix from the destination field (for example, "curling_") + name + // modifier + the counter (5 digits, starting from 00001) + extension (which + // is always .jpg). For example, curlingLow.00001.jpg + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` +} + +// String returns the string representation +func (s FrameCaptureGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FrameCaptureGroupSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FrameCaptureGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FrameCaptureGroupSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestination sets the Destination field's value. +func (s *FrameCaptureGroupSettings) SetDestination(v *OutputLocationRef) *FrameCaptureGroupSettings { + s.Destination = v + return s +} + +// Frame Capture Output Settings +type FrameCaptureOutputSettings struct { + _ struct{} `type:"structure"` + + // Required if the output group contains more than one output. This modifier + // forms part of the output file name. + NameModifier *string `locationName:"nameModifier" type:"string"` +} + +// String returns the string representation +func (s FrameCaptureOutputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FrameCaptureOutputSettings) GoString() string { + return s.String() +} + +// SetNameModifier sets the NameModifier field's value. +func (s *FrameCaptureOutputSettings) SetNameModifier(v string) *FrameCaptureOutputSettings { + s.NameModifier = &v + return s +} + +// Frame Capture Settings +type FrameCaptureSettings struct { + _ struct{} `type:"structure"` + + // The frequency, in seconds, for capturing frames for inclusion in the output. + // For example, "10" means capture a frame every 10 seconds. + // + // CaptureInterval is a required field + CaptureInterval *int64 `locationName:"captureInterval" min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s FrameCaptureSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FrameCaptureSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FrameCaptureSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FrameCaptureSettings"} + if s.CaptureInterval == nil { + invalidParams.Add(request.NewErrParamRequired("CaptureInterval")) + } + if s.CaptureInterval != nil && *s.CaptureInterval < 1 { + invalidParams.Add(request.NewErrParamMinValue("CaptureInterval", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCaptureInterval sets the CaptureInterval field's value. +func (s *FrameCaptureSettings) SetCaptureInterval(v int64) *FrameCaptureSettings { + s.CaptureInterval = &v + return s +} + +type GlobalConfiguration struct { + _ struct{} `type:"structure"` + + // Value to set the initial audio gain for the Live Event. + InitialAudioGain *int64 `locationName:"initialAudioGain" type:"integer"` + + // Indicates the action to take when the current input completes (e.g. end-of-file). + // When switchAndLoopInputs is configured the encoder will restart at the beginning + // of the first input. When "none" is configured the encoder will transcode + // either black, a solid color, or a user specified slate images per the "Input + // Loss Behavior" configuration until the next input switch occurs (which is + // controlled through the Channel Schedule API). + InputEndAction *string `locationName:"inputEndAction" type:"string" enum:"GlobalConfigurationInputEndAction"` + + // Settings for system actions when input is lost. + InputLossBehavior *InputLossBehavior `locationName:"inputLossBehavior" type:"structure"` + + // Indicates whether the rate of frames emitted by the Live encoder should be + // paced by its system clock (which optionally may be locked to another source + // via NTP) or should be locked to the clock of the source that is providing + // the input stream. + OutputTimingSource *string `locationName:"outputTimingSource" type:"string" enum:"GlobalConfigurationOutputTimingSource"` + + // Adjusts video input buffer for streams with very low video framerates. This + // is commonly set to enabled for music channels with less than one video frame + // per second. + SupportLowFramerateInputs *string `locationName:"supportLowFramerateInputs" type:"string" enum:"GlobalConfigurationLowFramerateInputs"` +} + +// String returns the string representation +func (s GlobalConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GlobalConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GlobalConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GlobalConfiguration"} + if s.InitialAudioGain != nil && *s.InitialAudioGain < -60 { + invalidParams.Add(request.NewErrParamMinValue("InitialAudioGain", -60)) + } + if s.InputLossBehavior != nil { + if err := s.InputLossBehavior.Validate(); err != nil { + invalidParams.AddNested("InputLossBehavior", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInitialAudioGain sets the InitialAudioGain field's value. +func (s *GlobalConfiguration) SetInitialAudioGain(v int64) *GlobalConfiguration { + s.InitialAudioGain = &v + return s +} + +// SetInputEndAction sets the InputEndAction field's value. +func (s *GlobalConfiguration) SetInputEndAction(v string) *GlobalConfiguration { + s.InputEndAction = &v + return s +} + +// SetInputLossBehavior sets the InputLossBehavior field's value. +func (s *GlobalConfiguration) SetInputLossBehavior(v *InputLossBehavior) *GlobalConfiguration { + s.InputLossBehavior = v + return s +} + +// SetOutputTimingSource sets the OutputTimingSource field's value. +func (s *GlobalConfiguration) SetOutputTimingSource(v string) *GlobalConfiguration { + s.OutputTimingSource = &v + return s +} + +// SetSupportLowFramerateInputs sets the SupportLowFramerateInputs field's value. +func (s *GlobalConfiguration) SetSupportLowFramerateInputs(v string) *GlobalConfiguration { + s.SupportLowFramerateInputs = &v + return s +} + +type H264Settings struct { + _ struct{} `type:"structure"` + + // Adaptive quantization. Allows intra-frame quantizers to vary to improve visual + // quality. + AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H264AdaptiveQuantization"` + + // Indicates that AFD values will be written into the output stream. If afdSignaling + // is "auto", the system will try to preserve the input AFD value (in cases + // where multiple AFD values are valid). If set to "fixed", the AFD value will + // be the value configured in the fixedAfd parameter. + AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"` + + // Average bitrate in bits/second. Required when the rate control mode is VBR + // or CBR. Not used for QVBR. In an MS Smooth output group, each output must + // have a unique value when its bitrate is rounded down to the nearest multiple + // of 1000. + Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"` + + // Percentage of the buffer that should initially be filled (HRD buffer model). + BufFillPct *int64 `locationName:"bufFillPct" type:"integer"` + + // Size of buffer (HRD buffer model) in bits/second. + BufSize *int64 `locationName:"bufSize" type:"integer"` + + // Includes colorspace metadata in the output. + ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"H264ColorMetadata"` + + // Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc. + EntropyEncoding *string `locationName:"entropyEncoding" type:"string" enum:"H264EntropyEncoding"` + + // Four bit AFD value to write on all frames of video in the output stream. + // Only valid when afdSignaling is set to 'Fixed'. + FixedAfd *string `locationName:"fixedAfd" type:"string" enum:"FixedAfd"` + + // If set to enabled, adjust quantization within each frame to reduce flicker + // or 'pop' on I-frames. + FlickerAq *string `locationName:"flickerAq" type:"string" enum:"H264FlickerAq"` + + // This field indicates how the output video frame rate is specified. If "specified" + // is selected then the output video frame rate is determined by framerateNumerator + // and framerateDenominator, else if "initializeFromSource" is selected then + // the output video frame rate will be set equal to the input video frame rate + // of the first input. + FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H264FramerateControl"` + + // Framerate denominator. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` + + // Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 + // fps. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` + + // If enabled, use reference B frames for GOP structures that have B frames + // > 1. + GopBReference *string `locationName:"gopBReference" type:"string" enum:"H264GopBReference"` + + // Frequency of closed GOPs. In streaming applications, it is recommended that + // this be set to 1 so a decoder joining mid-stream will receive an IDR frame + // as quickly as possible. Setting this value to 0 will break output segmenting. + GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"` + + // Number of B-frames between reference frames. + GopNumBFrames *int64 `locationName:"gopNumBFrames" type:"integer"` + + // GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. + // Must be greater than zero. + GopSize *float64 `locationName:"gopSize" type:"double"` + + // Indicates if the gopSize is specified in frames or seconds. If seconds the + // system will convert the gopSize into a frame count at run time. + GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H264GopSizeUnits"` + + // H.264 Level. + Level *string `locationName:"level" type:"string" enum:"H264Level"` + + // Amount of lookahead. A value of low can decrease latency and memory usage, + // while high can produce better quality for certain content. + LookAheadRateControl *string `locationName:"lookAheadRateControl" type:"string" enum:"H264LookAheadRateControl"` + + // For QVBR: See the tooltip for Quality level For VBR: Set the maximum bitrate + // in order to accommodate expected spikes in the complexity of the video. + MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"` + + // Only meaningful if sceneChangeDetect is set to enabled. Enforces separation + // between repeated (cadence) I-frames and I-frames inserted by Scene Change + // Detection. If a scene change I-frame is within I-interval frames of a cadence + // I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. + // GOP stretch requires enabling lookahead as well as setting I-interval. The + // normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP + // size + Min-I-interval - 1 + MinIInterval *int64 `locationName:"minIInterval" type:"integer"` + + // Number of reference frames to use. The encoder may use more than requested + // if using B-frames and/or interlaced encoding. + NumRefFrames *int64 `locationName:"numRefFrames" min:"1" type:"integer"` + + // This field indicates how the output pixel aspect ratio is specified. If "specified" + // is selected then the output video pixel aspect ratio is determined by parNumerator + // and parDenominator, else if "initializeFromSource" is selected then the output + // pixsel aspect ratio will be set equal to the input video pixel aspect ratio + // of the first input. + ParControl *string `locationName:"parControl" type:"string" enum:"H264ParControl"` + + // Pixel Aspect Ratio denominator. + ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` + + // Pixel Aspect Ratio numerator. + ParNumerator *int64 `locationName:"parNumerator" type:"integer"` + + // H.264 Profile. + Profile *string `locationName:"profile" type:"string" enum:"H264Profile"` + + // Controls the target quality for the video encode. Applies only when the rate + // control mode is QVBR. Set values for the QVBR quality level field and Max + // bitrate field that suit your most important viewing devices. Recommended + // values are:- Primary screen: Quality level: 8 to 10. Max bitrate: 4M- PC + // or tablet: Quality level: 7. Max bitrate: 1.5M to 3M- Smartphone: Quality + // level: 6. Max bitrate: 1M to 1.5M + QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer"` + + // Rate control mode. QVBR: Quality will match the specified quality level except + // when it is constrained by themaximum bitrate. Recommended if you or your + // viewers pay for bandwidth.VBR: Quality and bitrate vary, depending on the + // video complexity. Recommended instead of QVBRif you want to maintain a specific + // average bitrate over the duration of the channel.CBR: Quality varies, depending + // on the video complexity. Recommended only if you distributeyour assets to + // devices that cannot handle variable bitrates. + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H264RateControlMode"` + + // Sets the scan type of the output to progressive or top-field-first interlaced. + ScanType *string `locationName:"scanType" type:"string" enum:"H264ScanType"` + + // Scene change detection.- On: inserts I-frames when scene change is detected.- + // Off: does not force an I-frame when scene change is detected. + SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H264SceneChangeDetect"` + + // Number of slices per picture. Must be less than or equal to the number of + // macroblock rows for progressive pictures, and less than or equal to half + // the number of macroblock rows for interlaced pictures.This field is optional; + // when no value is specified the encoder will choose the number of slices based + // on encode resolution. + Slices *int64 `locationName:"slices" min:"1" type:"integer"` + + // Softness. Selects quantizer matrix, larger values reduce high-frequency content + // in the encoded image. + Softness *int64 `locationName:"softness" type:"integer"` + + // If set to enabled, adjust quantization within each frame based on spatial + // variation of content complexity. + SpatialAq *string `locationName:"spatialAq" type:"string" enum:"H264SpatialAq"` + + // If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, + // optimize the number of B-frames used for each sub-GOP to improve visual quality. + SubgopLength *string `locationName:"subgopLength" type:"string" enum:"H264SubGopLength"` + + // Produces a bitstream compliant with SMPTE RP-2027. + Syntax *string `locationName:"syntax" type:"string" enum:"H264Syntax"` + + // If set to enabled, adjust quantization within each frame based on temporal + // variation of content complexity. + TemporalAq *string `locationName:"temporalAq" type:"string" enum:"H264TemporalAq"` + + // Determines how timecodes should be inserted into the video elementary stream.- + // 'disabled': Do not include timecodes- 'picTimingSei': Pass through picture + // timing SEI messages from the source specified in Timecode Config + TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"H264TimecodeInsertionBehavior"` +} + +// String returns the string representation +func (s H264Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s H264Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *H264Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "H264Settings"} + if s.Bitrate != nil && *s.Bitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000)) + } + if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) + } + if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + } + if s.MaxBitrate != nil && *s.MaxBitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000)) + } + if s.NumRefFrames != nil && *s.NumRefFrames < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumRefFrames", 1)) + } + if s.ParDenominator != nil && *s.ParDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + } + if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 { + invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1)) + } + if s.Slices != nil && *s.Slices < 1 { + invalidParams.Add(request.NewErrParamMinValue("Slices", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdaptiveQuantization sets the AdaptiveQuantization field's value. +func (s *H264Settings) SetAdaptiveQuantization(v string) *H264Settings { + s.AdaptiveQuantization = &v + return s +} + +// SetAfdSignaling sets the AfdSignaling field's value. +func (s *H264Settings) SetAfdSignaling(v string) *H264Settings { + s.AfdSignaling = &v + return s +} + +// SetBitrate sets the Bitrate field's value. +func (s *H264Settings) SetBitrate(v int64) *H264Settings { + s.Bitrate = &v + return s +} + +// SetBufFillPct sets the BufFillPct field's value. +func (s *H264Settings) SetBufFillPct(v int64) *H264Settings { + s.BufFillPct = &v + return s +} + +// SetBufSize sets the BufSize field's value. +func (s *H264Settings) SetBufSize(v int64) *H264Settings { + s.BufSize = &v + return s +} + +// SetColorMetadata sets the ColorMetadata field's value. +func (s *H264Settings) SetColorMetadata(v string) *H264Settings { + s.ColorMetadata = &v + return s +} + +// SetEntropyEncoding sets the EntropyEncoding field's value. +func (s *H264Settings) SetEntropyEncoding(v string) *H264Settings { + s.EntropyEncoding = &v + return s +} + +// SetFixedAfd sets the FixedAfd field's value. +func (s *H264Settings) SetFixedAfd(v string) *H264Settings { + s.FixedAfd = &v + return s +} + +// SetFlickerAq sets the FlickerAq field's value. +func (s *H264Settings) SetFlickerAq(v string) *H264Settings { + s.FlickerAq = &v + return s +} + +// SetFramerateControl sets the FramerateControl field's value. +func (s *H264Settings) SetFramerateControl(v string) *H264Settings { + s.FramerateControl = &v + return s +} + +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *H264Settings) SetFramerateDenominator(v int64) *H264Settings { + s.FramerateDenominator = &v + return s +} + +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *H264Settings) SetFramerateNumerator(v int64) *H264Settings { + s.FramerateNumerator = &v + return s +} + +// SetGopBReference sets the GopBReference field's value. +func (s *H264Settings) SetGopBReference(v string) *H264Settings { + s.GopBReference = &v + return s +} + +// SetGopClosedCadence sets the GopClosedCadence field's value. +func (s *H264Settings) SetGopClosedCadence(v int64) *H264Settings { + s.GopClosedCadence = &v + return s +} + +// SetGopNumBFrames sets the GopNumBFrames field's value. +func (s *H264Settings) SetGopNumBFrames(v int64) *H264Settings { + s.GopNumBFrames = &v + return s +} + +// SetGopSize sets the GopSize field's value. +func (s *H264Settings) SetGopSize(v float64) *H264Settings { + s.GopSize = &v + return s +} + +// SetGopSizeUnits sets the GopSizeUnits field's value. +func (s *H264Settings) SetGopSizeUnits(v string) *H264Settings { + s.GopSizeUnits = &v + return s +} + +// SetLevel sets the Level field's value. +func (s *H264Settings) SetLevel(v string) *H264Settings { + s.Level = &v + return s +} + +// SetLookAheadRateControl sets the LookAheadRateControl field's value. +func (s *H264Settings) SetLookAheadRateControl(v string) *H264Settings { + s.LookAheadRateControl = &v + return s +} + +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *H264Settings) SetMaxBitrate(v int64) *H264Settings { + s.MaxBitrate = &v + return s +} + +// SetMinIInterval sets the MinIInterval field's value. +func (s *H264Settings) SetMinIInterval(v int64) *H264Settings { + s.MinIInterval = &v + return s +} + +// SetNumRefFrames sets the NumRefFrames field's value. +func (s *H264Settings) SetNumRefFrames(v int64) *H264Settings { + s.NumRefFrames = &v + return s +} + +// SetParControl sets the ParControl field's value. +func (s *H264Settings) SetParControl(v string) *H264Settings { + s.ParControl = &v + return s +} + +// SetParDenominator sets the ParDenominator field's value. +func (s *H264Settings) SetParDenominator(v int64) *H264Settings { + s.ParDenominator = &v + return s +} + +// SetParNumerator sets the ParNumerator field's value. +func (s *H264Settings) SetParNumerator(v int64) *H264Settings { + s.ParNumerator = &v + return s +} + +// SetProfile sets the Profile field's value. +func (s *H264Settings) SetProfile(v string) *H264Settings { + s.Profile = &v + return s +} + +// SetQvbrQualityLevel sets the QvbrQualityLevel field's value. +func (s *H264Settings) SetQvbrQualityLevel(v int64) *H264Settings { + s.QvbrQualityLevel = &v + return s +} + +// SetRateControlMode sets the RateControlMode field's value. +func (s *H264Settings) SetRateControlMode(v string) *H264Settings { + s.RateControlMode = &v + return s +} + +// SetScanType sets the ScanType field's value. +func (s *H264Settings) SetScanType(v string) *H264Settings { + s.ScanType = &v + return s +} + +// SetSceneChangeDetect sets the SceneChangeDetect field's value. +func (s *H264Settings) SetSceneChangeDetect(v string) *H264Settings { + s.SceneChangeDetect = &v + return s +} + +// SetSlices sets the Slices field's value. +func (s *H264Settings) SetSlices(v int64) *H264Settings { + s.Slices = &v + return s +} + +// SetSoftness sets the Softness field's value. +func (s *H264Settings) SetSoftness(v int64) *H264Settings { + s.Softness = &v + return s +} + +// SetSpatialAq sets the SpatialAq field's value. +func (s *H264Settings) SetSpatialAq(v string) *H264Settings { + s.SpatialAq = &v + return s +} + +// SetSubgopLength sets the SubgopLength field's value. +func (s *H264Settings) SetSubgopLength(v string) *H264Settings { + s.SubgopLength = &v + return s +} + +// SetSyntax sets the Syntax field's value. +func (s *H264Settings) SetSyntax(v string) *H264Settings { + s.Syntax = &v + return s +} + +// SetTemporalAq sets the TemporalAq field's value. +func (s *H264Settings) SetTemporalAq(v string) *H264Settings { + s.TemporalAq = &v + return s +} + +// SetTimecodeInsertion sets the TimecodeInsertion field's value. +func (s *H264Settings) SetTimecodeInsertion(v string) *H264Settings { + s.TimecodeInsertion = &v + return s +} + +type HlsAkamaiSettings struct { + _ struct{} `type:"structure"` + + // Number of seconds to wait before retrying connection to the CDN if the connection + // is lost. + ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` + + // Size in seconds of file cache for streaming outputs. + FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` + + // Specify whether or not to use chunked transfer encoding to Akamai. User should + // contact Akamai to enable this feature. + HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsAkamaiHttpTransferMode"` + + // Number of retry attempts that will be made before the Live Event is put into + // an error state. + NumRetries *int64 `locationName:"numRetries" type:"integer"` + + // If a streaming output fails, number of seconds to wait until a restart is + // initiated. A value of 0 means never restart. + RestartDelay *int64 `locationName:"restartDelay" type:"integer"` + + // Salt for authenticated Akamai. + Salt *string `locationName:"salt" type:"string"` + + // Token parameter for authenticated akamai. If not specified, _gda_ is used. + Token *string `locationName:"token" type:"string"` +} + +// String returns the string representation +func (s HlsAkamaiSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsAkamaiSettings) GoString() string { + return s.String() +} + +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *HlsAkamaiSettings) SetConnectionRetryInterval(v int64) *HlsAkamaiSettings { + s.ConnectionRetryInterval = &v + return s +} + +// SetFilecacheDuration sets the FilecacheDuration field's value. +func (s *HlsAkamaiSettings) SetFilecacheDuration(v int64) *HlsAkamaiSettings { + s.FilecacheDuration = &v + return s +} + +// SetHttpTransferMode sets the HttpTransferMode field's value. +func (s *HlsAkamaiSettings) SetHttpTransferMode(v string) *HlsAkamaiSettings { + s.HttpTransferMode = &v + return s +} + +// SetNumRetries sets the NumRetries field's value. +func (s *HlsAkamaiSettings) SetNumRetries(v int64) *HlsAkamaiSettings { + s.NumRetries = &v + return s +} + +// SetRestartDelay sets the RestartDelay field's value. +func (s *HlsAkamaiSettings) SetRestartDelay(v int64) *HlsAkamaiSettings { + s.RestartDelay = &v + return s +} + +// SetSalt sets the Salt field's value. +func (s *HlsAkamaiSettings) SetSalt(v string) *HlsAkamaiSettings { + s.Salt = &v + return s +} + +// SetToken sets the Token field's value. +func (s *HlsAkamaiSettings) SetToken(v string) *HlsAkamaiSettings { + s.Token = &v + return s +} + +type HlsBasicPutSettings struct { + _ struct{} `type:"structure"` + + // Number of seconds to wait before retrying connection to the CDN if the connection + // is lost. + ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` + + // Size in seconds of file cache for streaming outputs. + FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` + + // Number of retry attempts that will be made before the Live Event is put into + // an error state. + NumRetries *int64 `locationName:"numRetries" type:"integer"` + + // If a streaming output fails, number of seconds to wait until a restart is + // initiated. A value of 0 means never restart. + RestartDelay *int64 `locationName:"restartDelay" type:"integer"` +} + +// String returns the string representation +func (s HlsBasicPutSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsBasicPutSettings) GoString() string { + return s.String() +} + +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *HlsBasicPutSettings) SetConnectionRetryInterval(v int64) *HlsBasicPutSettings { + s.ConnectionRetryInterval = &v + return s +} + +// SetFilecacheDuration sets the FilecacheDuration field's value. +func (s *HlsBasicPutSettings) SetFilecacheDuration(v int64) *HlsBasicPutSettings { + s.FilecacheDuration = &v + return s +} + +// SetNumRetries sets the NumRetries field's value. +func (s *HlsBasicPutSettings) SetNumRetries(v int64) *HlsBasicPutSettings { + s.NumRetries = &v + return s +} + +// SetRestartDelay sets the RestartDelay field's value. +func (s *HlsBasicPutSettings) SetRestartDelay(v int64) *HlsBasicPutSettings { + s.RestartDelay = &v + return s +} + +type HlsCdnSettings struct { + _ struct{} `type:"structure"` + + HlsAkamaiSettings *HlsAkamaiSettings `locationName:"hlsAkamaiSettings" type:"structure"` + + HlsBasicPutSettings *HlsBasicPutSettings `locationName:"hlsBasicPutSettings" type:"structure"` + + HlsMediaStoreSettings *HlsMediaStoreSettings `locationName:"hlsMediaStoreSettings" type:"structure"` + + HlsWebdavSettings *HlsWebdavSettings `locationName:"hlsWebdavSettings" type:"structure"` +} + +// String returns the string representation +func (s HlsCdnSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsCdnSettings) GoString() string { + return s.String() +} + +// SetHlsAkamaiSettings sets the HlsAkamaiSettings field's value. +func (s *HlsCdnSettings) SetHlsAkamaiSettings(v *HlsAkamaiSettings) *HlsCdnSettings { + s.HlsAkamaiSettings = v + return s +} + +// SetHlsBasicPutSettings sets the HlsBasicPutSettings field's value. +func (s *HlsCdnSettings) SetHlsBasicPutSettings(v *HlsBasicPutSettings) *HlsCdnSettings { + s.HlsBasicPutSettings = v + return s +} + +// SetHlsMediaStoreSettings sets the HlsMediaStoreSettings field's value. +func (s *HlsCdnSettings) SetHlsMediaStoreSettings(v *HlsMediaStoreSettings) *HlsCdnSettings { + s.HlsMediaStoreSettings = v + return s +} + +// SetHlsWebdavSettings sets the HlsWebdavSettings field's value. +func (s *HlsCdnSettings) SetHlsWebdavSettings(v *HlsWebdavSettings) *HlsCdnSettings { + s.HlsWebdavSettings = v + return s +} + +type HlsGroupSettings struct { + _ struct{} `type:"structure"` + + // Choose one or more ad marker types to pass SCTE35 signals through to this + // group of Apple HLS outputs. + AdMarkers []*string `locationName:"adMarkers" type:"list"` + + // A partial URI prefix that will be prepended to each output in the media .m3u8 + // file. Can be used if base manifest is delivered from a different URL than + // the main .m3u8 file. + BaseUrlContent *string `locationName:"baseUrlContent" type:"string"` + + // A partial URI prefix that will be prepended to each output in the media .m3u8 + // file. Can be used if base manifest is delivered from a different URL than + // the main .m3u8 file. + BaseUrlManifest *string `locationName:"baseUrlManifest" type:"string"` + + // Mapping of up to 4 caption channels to caption languages. Is only meaningful + // if captionLanguageSetting is set to "insert". + CaptionLanguageMappings []*CaptionLanguageMapping `locationName:"captionLanguageMappings" type:"list"` + + // Applies only to 608 Embedded output captions.insert: Include CLOSED-CAPTIONS + // lines in the manifest. Specify at least one language in the CC1 Language + // Code field. One CLOSED-CAPTION line is added for each Language Code you specify. + // Make sure to specify the languages in the order in which they appear in the + // original source (if the source is embedded format) or the order of the caption + // selectors (if the source is other than embedded). Otherwise, languages in + // the manifest will not match up properly with the output captions.none: Include + // CLOSED-CAPTIONS=NONE line in the manifest.omit: Omit any CLOSED-CAPTIONS + // line from the manifest. + CaptionLanguageSetting *string `locationName:"captionLanguageSetting" type:"string" enum:"HlsCaptionLanguageSetting"` + + // When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, + // which prevents clients from saving media segments for later replay. + ClientCache *string `locationName:"clientCache" type:"string" enum:"HlsClientCache"` + + // Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist + // generation. + CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"HlsCodecSpecification"` + + // For use with encryptionType. This is a 128-bit, 16-byte hex value represented + // by a 32-character text string. If ivSource is set to "explicit" then this + // parameter is required and is used as the IV for encryption. + ConstantIv *string `locationName:"constantIv" min:"32" type:"string"` + + // A directory or HTTP destination for the HLS segments, manifest files, and + // encryption keys (if enabled). + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` + + // Place segments in subdirectories. + DirectoryStructure *string `locationName:"directoryStructure" type:"string" enum:"HlsDirectoryStructure"` + + // Encrypts the segments with the given encryption scheme. Exclude this parameter + // if no encryption is desired. + EncryptionType *string `locationName:"encryptionType" type:"string" enum:"HlsEncryptionType"` + + // Parameters that control interactions with the CDN. + HlsCdnSettings *HlsCdnSettings `locationName:"hlsCdnSettings" type:"structure"` + + // DISABLED: Do not create an I-frame-only manifest, but do create the master + // and media manifests (according to the Output Selection field).STANDARD: Create + // an I-frame-only manifest for each output that contains video, as well as + // the other manifests (according to the Output Selection field). The I-frame + // manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, + // and one or more #EXT-X-BYTERANGE entries identifying the I-frame position. + // For example, #EXT-X-BYTERANGE:160364@1461888" + IFrameOnlyPlaylists *string `locationName:"iFrameOnlyPlaylists" type:"string" enum:"IFrameOnlyPlaylistType"` + + // Applies only if Mode field is LIVE. Specifies the maximum number of segments + // in the media manifest file. After this maximum, older segments are removed + // from the media manifest. This number must be less than or equal to the Keep + // Segments field. + IndexNSegments *int64 `locationName:"indexNSegments" min:"3" type:"integer"` + + // Parameter that control output group behavior on input loss. + InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForHlsOut"` + + // For use with encryptionType. The IV (Initialization Vector) is a 128-bit + // number used in conjunction with the key for encrypting blocks. If set to + // "include", IV is listed in the manifest, otherwise the IV is not in the manifest. + IvInManifest *string `locationName:"ivInManifest" type:"string" enum:"HlsIvInManifest"` + + // For use with encryptionType. The IV (Initialization Vector) is a 128-bit + // number used in conjunction with the key for encrypting blocks. If this setting + // is "followsSegmentNumber", it will cause the IV to change every segment (to + // match the segment number). If this is set to "explicit", you must enter a + // constantIv value. + IvSource *string `locationName:"ivSource" type:"string" enum:"HlsIvSource"` + + // Applies only if Mode field is LIVE. Specifies the number of media segments + // (.ts files) to retain in the destination directory. + KeepSegments *int64 `locationName:"keepSegments" min:"1" type:"integer"` + + // The value specifies how the key is represented in the resource identified + // by the URI. If parameter is absent, an implicit value of "identity" is used. + // A reverse DNS string can also be given. + KeyFormat *string `locationName:"keyFormat" type:"string"` + + // Either a single positive integer version value or a slash delimited list + // of version values (1/2/3). + KeyFormatVersions *string `locationName:"keyFormatVersions" type:"string"` + + // The key provider settings. + KeyProviderSettings *KeyProviderSettings `locationName:"keyProviderSettings" type:"structure"` + + // When set to gzip, compresses HLS playlist. + ManifestCompression *string `locationName:"manifestCompression" type:"string" enum:"HlsManifestCompression"` + + // Indicates whether the output manifest should use floating point or integer + // values for segment duration. + ManifestDurationFormat *string `locationName:"manifestDurationFormat" type:"string" enum:"HlsManifestDurationFormat"` + + // When set, minimumSegmentLength is enforced by looking ahead and back within + // the specified range for a nearby avail and extending the segment size if + // needed. + MinSegmentLength *int64 `locationName:"minSegmentLength" type:"integer"` + + // If "vod", all segments are indexed and kept permanently in the destination + // and manifest. If "live", only the number segments specified in keepSegments + // and indexNSegments are kept; newer segments replace older segments, which + // may prevent players from rewinding all the way to the beginning of the event.VOD + // mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, + // converting it to a "VOD" type manifest on completion of the stream. + Mode *string `locationName:"mode" type:"string" enum:"HlsMode"` + + // MANIFESTSANDSEGMENTS: Generates manifests (master manifest, if applicable, + // and media manifests) for this output group.SEGMENTSONLY: Does not generate + // any manifests for this output group. + OutputSelection *string `locationName:"outputSelection" type:"string" enum:"HlsOutputSelection"` + + // Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. + // The value is calculated as follows: either the program date and time are + // initialized using the input timecode source, or the time is initialized using + // the input timecode source and the date is initialized using the timestampOffset. + ProgramDateTime *string `locationName:"programDateTime" type:"string" enum:"HlsProgramDateTime"` + + // Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. + ProgramDateTimePeriod *int64 `locationName:"programDateTimePeriod" type:"integer"` + + // When set to "enabled", includes the media playlists from both pipelines in + // the master manifest (.m3u8) file. + RedundantManifest *string `locationName:"redundantManifest" type:"string" enum:"HlsRedundantManifest"` + + // Length of MPEG-2 Transport Stream segments to create (in seconds). Note that + // segments will end on the next keyframe after this number of seconds, so actual + // segment length may be longer. + SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"` + + // useInputSegmentation has been deprecated. The configured segment size is + // always used. + SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"HlsSegmentationMode"` + + // Number of segments to write to a subdirectory before starting a new one. + // directoryStructure must be subdirectoryPerStream for this setting to have + // an effect. + SegmentsPerSubdirectory *int64 `locationName:"segmentsPerSubdirectory" min:"1" type:"integer"` + + // Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag + // of variant manifest. + StreamInfResolution *string `locationName:"streamInfResolution" type:"string" enum:"HlsStreamInfResolution"` + + // Indicates ID3 frame that has the timecode. + TimedMetadataId3Frame *string `locationName:"timedMetadataId3Frame" type:"string" enum:"HlsTimedMetadataId3Frame"` + + // Timed Metadata interval in seconds. + TimedMetadataId3Period *int64 `locationName:"timedMetadataId3Period" type:"integer"` + + // Provides an extra millisecond delta offset to fine tune the timestamps. + TimestampDeltaMilliseconds *int64 `locationName:"timestampDeltaMilliseconds" type:"integer"` + + // SEGMENTEDFILES: Emit the program as segments - multiple .ts media files.SINGLEFILE: + // Applies only if Mode field is VOD. Emit the program as a single .ts media + // file. The media manifest includes #EXT-X-BYTERANGE tags to index segments + // for playback. A typical use for this value is when sending the output to + // AWS Elemental MediaConvert, which can accept only a single media file. Playback + // while the channel is running is not guaranteed due to HTTP server caching. + TsFileMode *string `locationName:"tsFileMode" type:"string" enum:"HlsTsFileMode"` +} + +// String returns the string representation +func (s HlsGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsGroupSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsGroupSettings"} + if s.ConstantIv != nil && len(*s.ConstantIv) < 32 { + invalidParams.Add(request.NewErrParamMinLen("ConstantIv", 32)) + } + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.IndexNSegments != nil && *s.IndexNSegments < 3 { + invalidParams.Add(request.NewErrParamMinValue("IndexNSegments", 3)) + } + if s.KeepSegments != nil && *s.KeepSegments < 1 { + invalidParams.Add(request.NewErrParamMinValue("KeepSegments", 1)) + } + if s.SegmentLength != nil && *s.SegmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1)) + } + if s.SegmentsPerSubdirectory != nil && *s.SegmentsPerSubdirectory < 1 { + invalidParams.Add(request.NewErrParamMinValue("SegmentsPerSubdirectory", 1)) + } + if s.CaptionLanguageMappings != nil { + for i, v := range s.CaptionLanguageMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionLanguageMappings", i), err.(request.ErrInvalidParams)) + } + } + } + if s.KeyProviderSettings != nil { + if err := s.KeyProviderSettings.Validate(); err != nil { + invalidParams.AddNested("KeyProviderSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdMarkers sets the AdMarkers field's value. +func (s *HlsGroupSettings) SetAdMarkers(v []*string) *HlsGroupSettings { + s.AdMarkers = v + return s +} + +// SetBaseUrlContent sets the BaseUrlContent field's value. +func (s *HlsGroupSettings) SetBaseUrlContent(v string) *HlsGroupSettings { + s.BaseUrlContent = &v + return s +} + +// SetBaseUrlManifest sets the BaseUrlManifest field's value. +func (s *HlsGroupSettings) SetBaseUrlManifest(v string) *HlsGroupSettings { + s.BaseUrlManifest = &v + return s +} + +// SetCaptionLanguageMappings sets the CaptionLanguageMappings field's value. +func (s *HlsGroupSettings) SetCaptionLanguageMappings(v []*CaptionLanguageMapping) *HlsGroupSettings { + s.CaptionLanguageMappings = v + return s +} + +// SetCaptionLanguageSetting sets the CaptionLanguageSetting field's value. +func (s *HlsGroupSettings) SetCaptionLanguageSetting(v string) *HlsGroupSettings { + s.CaptionLanguageSetting = &v + return s +} + +// SetClientCache sets the ClientCache field's value. +func (s *HlsGroupSettings) SetClientCache(v string) *HlsGroupSettings { + s.ClientCache = &v + return s +} + +// SetCodecSpecification sets the CodecSpecification field's value. +func (s *HlsGroupSettings) SetCodecSpecification(v string) *HlsGroupSettings { + s.CodecSpecification = &v + return s +} + +// SetConstantIv sets the ConstantIv field's value. +func (s *HlsGroupSettings) SetConstantIv(v string) *HlsGroupSettings { + s.ConstantIv = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *HlsGroupSettings) SetDestination(v *OutputLocationRef) *HlsGroupSettings { + s.Destination = v + return s +} + +// SetDirectoryStructure sets the DirectoryStructure field's value. +func (s *HlsGroupSettings) SetDirectoryStructure(v string) *HlsGroupSettings { + s.DirectoryStructure = &v + return s +} + +// SetEncryptionType sets the EncryptionType field's value. +func (s *HlsGroupSettings) SetEncryptionType(v string) *HlsGroupSettings { + s.EncryptionType = &v + return s +} + +// SetHlsCdnSettings sets the HlsCdnSettings field's value. +func (s *HlsGroupSettings) SetHlsCdnSettings(v *HlsCdnSettings) *HlsGroupSettings { + s.HlsCdnSettings = v + return s +} + +// SetIFrameOnlyPlaylists sets the IFrameOnlyPlaylists field's value. +func (s *HlsGroupSettings) SetIFrameOnlyPlaylists(v string) *HlsGroupSettings { + s.IFrameOnlyPlaylists = &v + return s +} + +// SetIndexNSegments sets the IndexNSegments field's value. +func (s *HlsGroupSettings) SetIndexNSegments(v int64) *HlsGroupSettings { + s.IndexNSegments = &v + return s +} + +// SetInputLossAction sets the InputLossAction field's value. +func (s *HlsGroupSettings) SetInputLossAction(v string) *HlsGroupSettings { + s.InputLossAction = &v + return s +} + +// SetIvInManifest sets the IvInManifest field's value. +func (s *HlsGroupSettings) SetIvInManifest(v string) *HlsGroupSettings { + s.IvInManifest = &v + return s +} + +// SetIvSource sets the IvSource field's value. +func (s *HlsGroupSettings) SetIvSource(v string) *HlsGroupSettings { + s.IvSource = &v + return s +} + +// SetKeepSegments sets the KeepSegments field's value. +func (s *HlsGroupSettings) SetKeepSegments(v int64) *HlsGroupSettings { + s.KeepSegments = &v + return s +} + +// SetKeyFormat sets the KeyFormat field's value. +func (s *HlsGroupSettings) SetKeyFormat(v string) *HlsGroupSettings { + s.KeyFormat = &v + return s +} + +// SetKeyFormatVersions sets the KeyFormatVersions field's value. +func (s *HlsGroupSettings) SetKeyFormatVersions(v string) *HlsGroupSettings { + s.KeyFormatVersions = &v + return s +} + +// SetKeyProviderSettings sets the KeyProviderSettings field's value. +func (s *HlsGroupSettings) SetKeyProviderSettings(v *KeyProviderSettings) *HlsGroupSettings { + s.KeyProviderSettings = v + return s +} + +// SetManifestCompression sets the ManifestCompression field's value. +func (s *HlsGroupSettings) SetManifestCompression(v string) *HlsGroupSettings { + s.ManifestCompression = &v + return s +} + +// SetManifestDurationFormat sets the ManifestDurationFormat field's value. +func (s *HlsGroupSettings) SetManifestDurationFormat(v string) *HlsGroupSettings { + s.ManifestDurationFormat = &v + return s +} + +// SetMinSegmentLength sets the MinSegmentLength field's value. +func (s *HlsGroupSettings) SetMinSegmentLength(v int64) *HlsGroupSettings { + s.MinSegmentLength = &v + return s +} + +// SetMode sets the Mode field's value. +func (s *HlsGroupSettings) SetMode(v string) *HlsGroupSettings { + s.Mode = &v + return s +} + +// SetOutputSelection sets the OutputSelection field's value. +func (s *HlsGroupSettings) SetOutputSelection(v string) *HlsGroupSettings { + s.OutputSelection = &v + return s +} + +// SetProgramDateTime sets the ProgramDateTime field's value. +func (s *HlsGroupSettings) SetProgramDateTime(v string) *HlsGroupSettings { + s.ProgramDateTime = &v + return s +} + +// SetProgramDateTimePeriod sets the ProgramDateTimePeriod field's value. +func (s *HlsGroupSettings) SetProgramDateTimePeriod(v int64) *HlsGroupSettings { + s.ProgramDateTimePeriod = &v + return s +} + +// SetRedundantManifest sets the RedundantManifest field's value. +func (s *HlsGroupSettings) SetRedundantManifest(v string) *HlsGroupSettings { + s.RedundantManifest = &v + return s +} + +// SetSegmentLength sets the SegmentLength field's value. +func (s *HlsGroupSettings) SetSegmentLength(v int64) *HlsGroupSettings { + s.SegmentLength = &v + return s +} + +// SetSegmentationMode sets the SegmentationMode field's value. +func (s *HlsGroupSettings) SetSegmentationMode(v string) *HlsGroupSettings { + s.SegmentationMode = &v + return s +} + +// SetSegmentsPerSubdirectory sets the SegmentsPerSubdirectory field's value. +func (s *HlsGroupSettings) SetSegmentsPerSubdirectory(v int64) *HlsGroupSettings { + s.SegmentsPerSubdirectory = &v + return s +} + +// SetStreamInfResolution sets the StreamInfResolution field's value. +func (s *HlsGroupSettings) SetStreamInfResolution(v string) *HlsGroupSettings { + s.StreamInfResolution = &v + return s +} + +// SetTimedMetadataId3Frame sets the TimedMetadataId3Frame field's value. +func (s *HlsGroupSettings) SetTimedMetadataId3Frame(v string) *HlsGroupSettings { + s.TimedMetadataId3Frame = &v + return s +} + +// SetTimedMetadataId3Period sets the TimedMetadataId3Period field's value. +func (s *HlsGroupSettings) SetTimedMetadataId3Period(v int64) *HlsGroupSettings { + s.TimedMetadataId3Period = &v + return s +} + +// SetTimestampDeltaMilliseconds sets the TimestampDeltaMilliseconds field's value. +func (s *HlsGroupSettings) SetTimestampDeltaMilliseconds(v int64) *HlsGroupSettings { + s.TimestampDeltaMilliseconds = &v + return s +} + +// SetTsFileMode sets the TsFileMode field's value. +func (s *HlsGroupSettings) SetTsFileMode(v string) *HlsGroupSettings { + s.TsFileMode = &v + return s +} + +type HlsInputSettings struct { + _ struct{} `type:"structure"` + + // When specified the HLS stream with the m3u8 BANDWIDTH that most closely matches + // this value will be chosen, otherwise the highest bandwidth stream in the + // m3u8 will be chosen. The bitrate is specified in bits per second, as in an + // HLS manifest. + Bandwidth *int64 `locationName:"bandwidth" type:"integer"` + + // When specified, reading of the HLS input will begin this many buffer segments + // from the end (most recently written segment). When not specified, the HLS + // input will begin with the first segment specified in the m3u8. + BufferSegments *int64 `locationName:"bufferSegments" type:"integer"` + + // The number of consecutive times that attempts to read a manifest or segment + // must fail before the input is considered unavailable. + Retries *int64 `locationName:"retries" type:"integer"` + + // The number of seconds between retries when an attempt to read a manifest + // or segment fails. + RetryInterval *int64 `locationName:"retryInterval" type:"integer"` +} + +// String returns the string representation +func (s HlsInputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsInputSettings) GoString() string { + return s.String() +} + +// SetBandwidth sets the Bandwidth field's value. +func (s *HlsInputSettings) SetBandwidth(v int64) *HlsInputSettings { + s.Bandwidth = &v + return s +} + +// SetBufferSegments sets the BufferSegments field's value. +func (s *HlsInputSettings) SetBufferSegments(v int64) *HlsInputSettings { + s.BufferSegments = &v + return s +} + +// SetRetries sets the Retries field's value. +func (s *HlsInputSettings) SetRetries(v int64) *HlsInputSettings { + s.Retries = &v + return s +} + +// SetRetryInterval sets the RetryInterval field's value. +func (s *HlsInputSettings) SetRetryInterval(v int64) *HlsInputSettings { + s.RetryInterval = &v + return s +} + +type HlsMediaStoreSettings struct { + _ struct{} `type:"structure"` + + // Number of seconds to wait before retrying connection to the CDN if the connection + // is lost. + ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` + + // Size in seconds of file cache for streaming outputs. + FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` + + // When set to temporal, output files are stored in non-persistent memory for + // faster reading and writing. + MediaStoreStorageClass *string `locationName:"mediaStoreStorageClass" type:"string" enum:"HlsMediaStoreStorageClass"` + + // Number of retry attempts that will be made before the Live Event is put into + // an error state. + NumRetries *int64 `locationName:"numRetries" type:"integer"` + + // If a streaming output fails, number of seconds to wait until a restart is + // initiated. A value of 0 means never restart. + RestartDelay *int64 `locationName:"restartDelay" type:"integer"` +} + +// String returns the string representation +func (s HlsMediaStoreSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsMediaStoreSettings) GoString() string { + return s.String() +} + +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *HlsMediaStoreSettings) SetConnectionRetryInterval(v int64) *HlsMediaStoreSettings { + s.ConnectionRetryInterval = &v + return s +} + +// SetFilecacheDuration sets the FilecacheDuration field's value. +func (s *HlsMediaStoreSettings) SetFilecacheDuration(v int64) *HlsMediaStoreSettings { + s.FilecacheDuration = &v + return s +} + +// SetMediaStoreStorageClass sets the MediaStoreStorageClass field's value. +func (s *HlsMediaStoreSettings) SetMediaStoreStorageClass(v string) *HlsMediaStoreSettings { + s.MediaStoreStorageClass = &v + return s +} + +// SetNumRetries sets the NumRetries field's value. +func (s *HlsMediaStoreSettings) SetNumRetries(v int64) *HlsMediaStoreSettings { + s.NumRetries = &v + return s +} + +// SetRestartDelay sets the RestartDelay field's value. +func (s *HlsMediaStoreSettings) SetRestartDelay(v int64) *HlsMediaStoreSettings { + s.RestartDelay = &v + return s +} + +type HlsOutputSettings struct { + _ struct{} `type:"structure"` + + // Settings regarding the underlying stream. These settings are different for + // audio-only outputs. + // + // HlsSettings is a required field + HlsSettings *HlsSettings `locationName:"hlsSettings" type:"structure" required:"true"` + + // String concatenated to the end of the destination filename. Accepts \"Format + // Identifiers\":#formatIdentifierParameters. + NameModifier *string `locationName:"nameModifier" min:"1" type:"string"` + + // String concatenated to end of segment filenames. + SegmentModifier *string `locationName:"segmentModifier" type:"string"` +} + +// String returns the string representation +func (s HlsOutputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsOutputSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsOutputSettings"} + if s.HlsSettings == nil { + invalidParams.Add(request.NewErrParamRequired("HlsSettings")) + } + if s.NameModifier != nil && len(*s.NameModifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NameModifier", 1)) + } + if s.HlsSettings != nil { + if err := s.HlsSettings.Validate(); err != nil { + invalidParams.AddNested("HlsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHlsSettings sets the HlsSettings field's value. +func (s *HlsOutputSettings) SetHlsSettings(v *HlsSettings) *HlsOutputSettings { + s.HlsSettings = v + return s +} + +// SetNameModifier sets the NameModifier field's value. +func (s *HlsOutputSettings) SetNameModifier(v string) *HlsOutputSettings { + s.NameModifier = &v + return s +} + +// SetSegmentModifier sets the SegmentModifier field's value. +func (s *HlsOutputSettings) SetSegmentModifier(v string) *HlsOutputSettings { + s.SegmentModifier = &v + return s +} + +type HlsSettings struct { + _ struct{} `type:"structure"` + + AudioOnlyHlsSettings *AudioOnlyHlsSettings `locationName:"audioOnlyHlsSettings" type:"structure"` + + StandardHlsSettings *StandardHlsSettings `locationName:"standardHlsSettings" type:"structure"` +} + +// String returns the string representation +func (s HlsSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsSettings"} + if s.AudioOnlyHlsSettings != nil { + if err := s.AudioOnlyHlsSettings.Validate(); err != nil { + invalidParams.AddNested("AudioOnlyHlsSettings", err.(request.ErrInvalidParams)) + } + } + if s.StandardHlsSettings != nil { + if err := s.StandardHlsSettings.Validate(); err != nil { + invalidParams.AddNested("StandardHlsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioOnlyHlsSettings sets the AudioOnlyHlsSettings field's value. +func (s *HlsSettings) SetAudioOnlyHlsSettings(v *AudioOnlyHlsSettings) *HlsSettings { + s.AudioOnlyHlsSettings = v + return s +} + +// SetStandardHlsSettings sets the StandardHlsSettings field's value. +func (s *HlsSettings) SetStandardHlsSettings(v *StandardHlsSettings) *HlsSettings { + s.StandardHlsSettings = v + return s +} + +// Settings for the action to emit HLS metadata +type HlsTimedMetadataScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // Base64 string formatted according to the ID3 specification: http://id3.org/id3v2.4.0-structure + // + // Id3 is a required field + Id3 *string `locationName:"id3" type:"string" required:"true"` +} + +// String returns the string representation +func (s HlsTimedMetadataScheduleActionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsTimedMetadataScheduleActionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsTimedMetadataScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsTimedMetadataScheduleActionSettings"} + if s.Id3 == nil { + invalidParams.Add(request.NewErrParamRequired("Id3")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId3 sets the Id3 field's value. +func (s *HlsTimedMetadataScheduleActionSettings) SetId3(v string) *HlsTimedMetadataScheduleActionSettings { + s.Id3 = &v + return s +} + +type HlsWebdavSettings struct { + _ struct{} `type:"structure"` + + // Number of seconds to wait before retrying connection to the CDN if the connection + // is lost. + ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` + + // Size in seconds of file cache for streaming outputs. + FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` + + // Specify whether or not to use chunked transfer encoding to WebDAV. + HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsWebdavHttpTransferMode"` + + // Number of retry attempts that will be made before the Live Event is put into + // an error state. + NumRetries *int64 `locationName:"numRetries" type:"integer"` + + // If a streaming output fails, number of seconds to wait until a restart is + // initiated. A value of 0 means never restart. + RestartDelay *int64 `locationName:"restartDelay" type:"integer"` +} + +// String returns the string representation +func (s HlsWebdavSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsWebdavSettings) GoString() string { + return s.String() +} + +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *HlsWebdavSettings) SetConnectionRetryInterval(v int64) *HlsWebdavSettings { + s.ConnectionRetryInterval = &v + return s +} + +// SetFilecacheDuration sets the FilecacheDuration field's value. +func (s *HlsWebdavSettings) SetFilecacheDuration(v int64) *HlsWebdavSettings { + s.FilecacheDuration = &v + return s +} + +// SetHttpTransferMode sets the HttpTransferMode field's value. +func (s *HlsWebdavSettings) SetHttpTransferMode(v string) *HlsWebdavSettings { + s.HttpTransferMode = &v + return s +} + +// SetNumRetries sets the NumRetries field's value. +func (s *HlsWebdavSettings) SetNumRetries(v int64) *HlsWebdavSettings { + s.NumRetries = &v + return s +} + +// SetRestartDelay sets the RestartDelay field's value. +func (s *HlsWebdavSettings) SetRestartDelay(v int64) *HlsWebdavSettings { + s.RestartDelay = &v + return s +} + +type Input struct { + _ struct{} `type:"structure"` + + // The Unique ARN of the input (generated, immutable). + Arn *string `locationName:"arn" type:"string"` + + // A list of channel IDs that that input is attached to (currently an input + // can only be attached to one channel). + AttachedChannels []*string `locationName:"attachedChannels" type:"list"` + + // A list of the destinations of the input (PUSH-type). + Destinations []*InputDestination `locationName:"destinations" type:"list"` + + // The generated ID of the input (unique for user account, immutable). + Id *string `locationName:"id" type:"string"` + + // A list of MediaConnect Flows for this input. + MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"` + + // The user-assigned name (This is a mutable value). + Name *string `locationName:"name" type:"string"` + + // The Amazon Resource Name (ARN) of the role this input assumes during and + // after creation. + RoleArn *string `locationName:"roleArn" type:"string"` + + // A list of IDs for all the Input Security Groups attached to the input. + SecurityGroups []*string `locationName:"securityGroups" type:"list"` + + // A list of the sources of the input (PULL-type). + Sources []*InputSource `locationName:"sources" type:"list"` + + State *string `locationName:"state" type:"string" enum:"InputState"` + + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` + + Type *string `locationName:"type" type:"string" enum:"InputType"` +} + +// String returns the string representation +func (s Input) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Input) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Input) SetArn(v string) *Input { + s.Arn = &v + return s +} + +// SetAttachedChannels sets the AttachedChannels field's value. +func (s *Input) SetAttachedChannels(v []*string) *Input { + s.AttachedChannels = v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *Input) SetDestinations(v []*InputDestination) *Input { + s.Destinations = v + return s +} + +// SetId sets the Id field's value. +func (s *Input) SetId(v string) *Input { + s.Id = &v + return s +} + +// SetMediaConnectFlows sets the MediaConnectFlows field's value. +func (s *Input) SetMediaConnectFlows(v []*MediaConnectFlow) *Input { + s.MediaConnectFlows = v + return s +} + +// SetName sets the Name field's value. +func (s *Input) SetName(v string) *Input { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *Input) SetRoleArn(v string) *Input { + s.RoleArn = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *Input) SetSecurityGroups(v []*string) *Input { + s.SecurityGroups = v + return s +} + +// SetSources sets the Sources field's value. +func (s *Input) SetSources(v []*InputSource) *Input { + s.Sources = v + return s +} + +// SetState sets the State field's value. +func (s *Input) SetState(v string) *Input { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Input) SetTags(v map[string]*string) *Input { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *Input) SetType(v string) *Input { + s.Type = &v + return s +} + +type InputAttachment struct { + _ struct{} `type:"structure"` + + // User-specified name for the attachment. This is required if the user wants + // to use this input in an input switch action. + InputAttachmentName *string `locationName:"inputAttachmentName" type:"string"` + + // The ID of the input + InputId *string `locationName:"inputId" type:"string"` + + // Settings of an input (caption selector, etc.) + InputSettings *InputSettings `locationName:"inputSettings" type:"structure"` +} + +// String returns the string representation +func (s InputAttachment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputAttachment) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputAttachment) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputAttachment"} + if s.InputSettings != nil { + if err := s.InputSettings.Validate(); err != nil { + invalidParams.AddNested("InputSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputAttachmentName sets the InputAttachmentName field's value. +func (s *InputAttachment) SetInputAttachmentName(v string) *InputAttachment { + s.InputAttachmentName = &v + return s +} + +// SetInputId sets the InputId field's value. +func (s *InputAttachment) SetInputId(v string) *InputAttachment { + s.InputId = &v + return s +} + +// SetInputSettings sets the InputSettings field's value. +func (s *InputAttachment) SetInputSettings(v *InputSettings) *InputAttachment { + s.InputSettings = v + return s +} + +type InputChannelLevel struct { + _ struct{} `type:"structure"` + + // Remixing value. Units are in dB and acceptable values are within the range + // from -60 (mute) and 6 dB. + // + // Gain is a required field + Gain *int64 `locationName:"gain" type:"integer" required:"true"` + + // The index of the input channel used as a source. + // + // InputChannel is a required field + InputChannel *int64 `locationName:"inputChannel" type:"integer" required:"true"` +} + +// String returns the string representation +func (s InputChannelLevel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputChannelLevel) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputChannelLevel) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputChannelLevel"} + if s.Gain == nil { + invalidParams.Add(request.NewErrParamRequired("Gain")) + } + if s.Gain != nil && *s.Gain < -60 { + invalidParams.Add(request.NewErrParamMinValue("Gain", -60)) + } + if s.InputChannel == nil { + invalidParams.Add(request.NewErrParamRequired("InputChannel")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGain sets the Gain field's value. +func (s *InputChannelLevel) SetGain(v int64) *InputChannelLevel { + s.Gain = &v + return s +} + +// SetInputChannel sets the InputChannel field's value. +func (s *InputChannelLevel) SetInputChannel(v int64) *InputChannelLevel { + s.InputChannel = &v + return s +} + +// The settings for a PUSH type input. +type InputDestination struct { + _ struct{} `type:"structure"` + + // The system-generated static IP address of endpoint.It remains fixed for the + // lifetime of the input. + Ip *string `locationName:"ip" type:"string"` + + // The port number for the input. + Port *string `locationName:"port" type:"string"` + + // This represents the endpoint that the customer stream will bepushed to. + Url *string `locationName:"url" type:"string"` + + // The properties for a VPC type input destination. + Vpc *InputDestinationVpc `locationName:"vpc" type:"structure"` +} + +// String returns the string representation +func (s InputDestination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputDestination) GoString() string { + return s.String() +} + +// SetIp sets the Ip field's value. +func (s *InputDestination) SetIp(v string) *InputDestination { + s.Ip = &v + return s +} + +// SetPort sets the Port field's value. +func (s *InputDestination) SetPort(v string) *InputDestination { + s.Port = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *InputDestination) SetUrl(v string) *InputDestination { + s.Url = &v + return s +} + +// SetVpc sets the Vpc field's value. +func (s *InputDestination) SetVpc(v *InputDestinationVpc) *InputDestination { + s.Vpc = v + return s +} + +// Endpoint settings for a PUSH type input. +type InputDestinationRequest struct { + _ struct{} `type:"structure"` + + // A unique name for the location the RTMP stream is being pushedto. + StreamName *string `locationName:"streamName" type:"string"` +} + +// String returns the string representation +func (s InputDestinationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputDestinationRequest) GoString() string { + return s.String() +} + +// SetStreamName sets the StreamName field's value. +func (s *InputDestinationRequest) SetStreamName(v string) *InputDestinationRequest { + s.StreamName = &v + return s +} + +// The properties for a VPC type input destination. +type InputDestinationVpc struct { + _ struct{} `type:"structure"` + + // The availability zone of the Input destination. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + + // The network interface ID of the Input destination in the VPC. + NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` +} + +// String returns the string representation +func (s InputDestinationVpc) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputDestinationVpc) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *InputDestinationVpc) SetAvailabilityZone(v string) *InputDestinationVpc { + s.AvailabilityZone = &v + return s +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *InputDestinationVpc) SetNetworkInterfaceId(v string) *InputDestinationVpc { + s.NetworkInterfaceId = &v + return s +} + +type InputLocation struct { + _ struct{} `type:"structure"` + + // key used to extract the password from EC2 Parameter store + PasswordParam *string `locationName:"passwordParam" type:"string"` + + // Uniform Resource Identifier - This should be a path to a file accessible + // to the Live system (eg. a http:// URI) depending on the output type. For + // example, a RTMP destination should have a uri simliar to: "rtmp://fmsserver/live". + // + // Uri is a required field + Uri *string `locationName:"uri" type:"string" required:"true"` + + // Username if credentials are required to access a file or publishing point. + // This can be either a plaintext username, or a reference to an AWS parameter + // store name from which the username can be retrieved. AWS Parameter store + // format: "ssm://" + Username *string `locationName:"username" type:"string"` +} + +// String returns the string representation +func (s InputLocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputLocation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputLocation"} + if s.Uri == nil { + invalidParams.Add(request.NewErrParamRequired("Uri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPasswordParam sets the PasswordParam field's value. +func (s *InputLocation) SetPasswordParam(v string) *InputLocation { + s.PasswordParam = &v + return s +} + +// SetUri sets the Uri field's value. +func (s *InputLocation) SetUri(v string) *InputLocation { + s.Uri = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *InputLocation) SetUsername(v string) *InputLocation { + s.Username = &v + return s +} + +type InputLossBehavior struct { + _ struct{} `type:"structure"` + + // On input loss, the number of milliseconds to substitute black into the output + // before switching to the frame specified by inputLossImageType. A value x, + // where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as + // infinite. + BlackFrameMsec *int64 `locationName:"blackFrameMsec" type:"integer"` + + // When input loss image type is "color" this field specifies the color to use. + // Value: 6 hex characters representing the values of RGB. + InputLossImageColor *string `locationName:"inputLossImageColor" min:"6" type:"string"` + + // When input loss image type is "slate" these fields specify the parameters + // for accessing the slate. + InputLossImageSlate *InputLocation `locationName:"inputLossImageSlate" type:"structure"` + + // Indicates whether to substitute a solid color or a slate into the output + // after input loss exceeds blackFrameMsec. + InputLossImageType *string `locationName:"inputLossImageType" type:"string" enum:"InputLossImageType"` + + // On input loss, the number of milliseconds to repeat the previous picture + // before substituting black into the output. A value x, where 0 <= x <= 1,000,000 + // and a value of 1,000,000 will be interpreted as infinite. + RepeatFrameMsec *int64 `locationName:"repeatFrameMsec" type:"integer"` +} + +// String returns the string representation +func (s InputLossBehavior) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputLossBehavior) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputLossBehavior) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputLossBehavior"} + if s.InputLossImageColor != nil && len(*s.InputLossImageColor) < 6 { + invalidParams.Add(request.NewErrParamMinLen("InputLossImageColor", 6)) + } + if s.InputLossImageSlate != nil { + if err := s.InputLossImageSlate.Validate(); err != nil { + invalidParams.AddNested("InputLossImageSlate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBlackFrameMsec sets the BlackFrameMsec field's value. +func (s *InputLossBehavior) SetBlackFrameMsec(v int64) *InputLossBehavior { + s.BlackFrameMsec = &v + return s +} + +// SetInputLossImageColor sets the InputLossImageColor field's value. +func (s *InputLossBehavior) SetInputLossImageColor(v string) *InputLossBehavior { + s.InputLossImageColor = &v + return s +} + +// SetInputLossImageSlate sets the InputLossImageSlate field's value. +func (s *InputLossBehavior) SetInputLossImageSlate(v *InputLocation) *InputLossBehavior { + s.InputLossImageSlate = v + return s +} + +// SetInputLossImageType sets the InputLossImageType field's value. +func (s *InputLossBehavior) SetInputLossImageType(v string) *InputLossBehavior { + s.InputLossImageType = &v + return s +} + +// SetRepeatFrameMsec sets the RepeatFrameMsec field's value. +func (s *InputLossBehavior) SetRepeatFrameMsec(v int64) *InputLossBehavior { + s.RepeatFrameMsec = &v + return s +} + +// An Input Security Group +type InputSecurityGroup struct { + _ struct{} `type:"structure"` + + // Unique ARN of Input Security Group + Arn *string `locationName:"arn" type:"string"` + + // The Id of the Input Security Group + Id *string `locationName:"id" type:"string"` + + // The list of inputs currently using this Input Security Group. + Inputs []*string `locationName:"inputs" type:"list"` + + // The current state of the Input Security Group. + State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"` + + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` + + // Whitelist rules and their sync status + WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"` +} + +// String returns the string representation +func (s InputSecurityGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputSecurityGroup) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *InputSecurityGroup) SetArn(v string) *InputSecurityGroup { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *InputSecurityGroup) SetId(v string) *InputSecurityGroup { + s.Id = &v + return s +} + +// SetInputs sets the Inputs field's value. +func (s *InputSecurityGroup) SetInputs(v []*string) *InputSecurityGroup { + s.Inputs = v + return s +} + +// SetState sets the State field's value. +func (s *InputSecurityGroup) SetState(v string) *InputSecurityGroup { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *InputSecurityGroup) SetTags(v map[string]*string) *InputSecurityGroup { + s.Tags = v + return s +} + +// SetWhitelistRules sets the WhitelistRules field's value. +func (s *InputSecurityGroup) SetWhitelistRules(v []*InputWhitelistRule) *InputSecurityGroup { + s.WhitelistRules = v + return s +} + +// Live Event input parameters. There can be multiple inputs in a single Live +// Event. +type InputSettings struct { + _ struct{} `type:"structure"` + + // Used to select the audio stream to decode for inputs that have multiple available. + AudioSelectors []*AudioSelector `locationName:"audioSelectors" type:"list"` + + // Used to select the caption input to use for inputs that have multiple available. + CaptionSelectors []*CaptionSelector `locationName:"captionSelectors" type:"list"` + + // Enable or disable the deblock filter when filtering. + DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"` + + // Enable or disable the denoise filter when filtering. + DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"` + + // Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest). + FilterStrength *int64 `locationName:"filterStrength" min:"1" type:"integer"` + + // Turns on the filter for this input. MPEG-2 inputs have the deblocking filter + // enabled by default.1) auto - filtering will be applied depending on input + // type/quality2) disabled - no filtering will be applied to the input3) forced + // - filtering will be applied regardless of input type + InputFilter *string `locationName:"inputFilter" type:"string" enum:"InputFilter"` + + // Input settings. + NetworkInputSettings *NetworkInputSettings `locationName:"networkInputSettings" type:"structure"` + + // Loop input if it is a file. This allows a file input to be streamed indefinitely. + SourceEndBehavior *string `locationName:"sourceEndBehavior" type:"string" enum:"InputSourceEndBehavior"` + + // Informs which video elementary stream to decode for input types that have + // multiple available. + VideoSelector *VideoSelector `locationName:"videoSelector" type:"structure"` +} + +// String returns the string representation +func (s InputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputSettings"} + if s.FilterStrength != nil && *s.FilterStrength < 1 { + invalidParams.Add(request.NewErrParamMinValue("FilterStrength", 1)) + } + if s.AudioSelectors != nil { + for i, v := range s.AudioSelectors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CaptionSelectors != nil { + for i, v := range s.CaptionSelectors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioSelectors sets the AudioSelectors field's value. +func (s *InputSettings) SetAudioSelectors(v []*AudioSelector) *InputSettings { + s.AudioSelectors = v + return s +} + +// SetCaptionSelectors sets the CaptionSelectors field's value. +func (s *InputSettings) SetCaptionSelectors(v []*CaptionSelector) *InputSettings { + s.CaptionSelectors = v + return s +} + +// SetDeblockFilter sets the DeblockFilter field's value. +func (s *InputSettings) SetDeblockFilter(v string) *InputSettings { + s.DeblockFilter = &v + return s +} + +// SetDenoiseFilter sets the DenoiseFilter field's value. +func (s *InputSettings) SetDenoiseFilter(v string) *InputSettings { + s.DenoiseFilter = &v + return s +} + +// SetFilterStrength sets the FilterStrength field's value. +func (s *InputSettings) SetFilterStrength(v int64) *InputSettings { + s.FilterStrength = &v + return s +} + +// SetInputFilter sets the InputFilter field's value. +func (s *InputSettings) SetInputFilter(v string) *InputSettings { + s.InputFilter = &v + return s +} + +// SetNetworkInputSettings sets the NetworkInputSettings field's value. +func (s *InputSettings) SetNetworkInputSettings(v *NetworkInputSettings) *InputSettings { + s.NetworkInputSettings = v + return s +} + +// SetSourceEndBehavior sets the SourceEndBehavior field's value. +func (s *InputSettings) SetSourceEndBehavior(v string) *InputSettings { + s.SourceEndBehavior = &v + return s +} + +// SetVideoSelector sets the VideoSelector field's value. +func (s *InputSettings) SetVideoSelector(v *VideoSelector) *InputSettings { + s.VideoSelector = v + return s +} + +// The settings for a PULL type input. +type InputSource struct { + _ struct{} `type:"structure"` + + // The key used to extract the password from EC2 Parameter store. + PasswordParam *string `locationName:"passwordParam" type:"string"` + + // This represents the customer's source URL where stream ispulled from. + Url *string `locationName:"url" type:"string"` + + // The username for the input source. + Username *string `locationName:"username" type:"string"` +} + +// String returns the string representation +func (s InputSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputSource) GoString() string { + return s.String() +} + +// SetPasswordParam sets the PasswordParam field's value. +func (s *InputSource) SetPasswordParam(v string) *InputSource { + s.PasswordParam = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *InputSource) SetUrl(v string) *InputSource { + s.Url = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *InputSource) SetUsername(v string) *InputSource { + s.Username = &v + return s +} + +// Settings for for a PULL type input. +type InputSourceRequest struct { + _ struct{} `type:"structure"` + + // The key used to extract the password from EC2 Parameter store. + PasswordParam *string `locationName:"passwordParam" type:"string"` + + // This represents the customer's source URL where stream ispulled from. + Url *string `locationName:"url" type:"string"` + + // The username for the input source. + Username *string `locationName:"username" type:"string"` +} + +// String returns the string representation +func (s InputSourceRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputSourceRequest) GoString() string { + return s.String() +} + +// SetPasswordParam sets the PasswordParam field's value. +func (s *InputSourceRequest) SetPasswordParam(v string) *InputSourceRequest { + s.PasswordParam = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *InputSourceRequest) SetUrl(v string) *InputSourceRequest { + s.Url = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *InputSourceRequest) SetUsername(v string) *InputSourceRequest { + s.Username = &v + return s +} + +type InputSpecification struct { + _ struct{} `type:"structure"` + + // Input codec + Codec *string `locationName:"codec" type:"string" enum:"InputCodec"` + + // Maximum input bitrate, categorized coarsely + MaximumBitrate *string `locationName:"maximumBitrate" type:"string" enum:"InputMaximumBitrate"` + + // Input resolution, categorized coarsely + Resolution *string `locationName:"resolution" type:"string" enum:"InputResolution"` +} + +// String returns the string representation +func (s InputSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputSpecification) GoString() string { + return s.String() +} + +// SetCodec sets the Codec field's value. +func (s *InputSpecification) SetCodec(v string) *InputSpecification { + s.Codec = &v + return s +} + +// SetMaximumBitrate sets the MaximumBitrate field's value. +func (s *InputSpecification) SetMaximumBitrate(v string) *InputSpecification { + s.MaximumBitrate = &v + return s +} + +// SetResolution sets the Resolution field's value. +func (s *InputSpecification) SetResolution(v string) *InputSpecification { + s.Resolution = &v + return s +} + +// Settings for the action to switch an input. +type InputSwitchScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // The name of the input attachment that should be switched to by this action. + // + // InputAttachmentNameReference is a required field + InputAttachmentNameReference *string `locationName:"inputAttachmentNameReference" type:"string" required:"true"` +} + +// String returns the string representation +func (s InputSwitchScheduleActionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputSwitchScheduleActionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputSwitchScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputSwitchScheduleActionSettings"} + if s.InputAttachmentNameReference == nil { + invalidParams.Add(request.NewErrParamRequired("InputAttachmentNameReference")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputAttachmentNameReference sets the InputAttachmentNameReference field's value. +func (s *InputSwitchScheduleActionSettings) SetInputAttachmentNameReference(v string) *InputSwitchScheduleActionSettings { + s.InputAttachmentNameReference = &v + return s +} + +// Settings for a private VPC Input.When this property is specified, the input +// destination addresses will be created in a VPC rather than with public Internet +// addresses.This property requires setting the roleArn property on Input creation.Not +// compatible with the inputSecurityGroups property. +type InputVpcRequest struct { + _ struct{} `type:"structure"` + + // A list of up to 5 EC2 VPC security group IDs to attach to the Input VPC network + // interfaces.Requires subnetIds. If none are specified then the VPC default + // security group will be used. + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` + + // A list of 2 VPC subnet IDs from the same VPC.Subnet IDs must be mapped to + // two unique availability zones (AZ). + // + // SubnetIds is a required field + SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"` +} + +// String returns the string representation +func (s InputVpcRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputVpcRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputVpcRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputVpcRequest"} + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *InputVpcRequest) SetSecurityGroupIds(v []*string) *InputVpcRequest { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *InputVpcRequest) SetSubnetIds(v []*string) *InputVpcRequest { + s.SubnetIds = v + return s +} + +// Whitelist rule +type InputWhitelistRule struct { + _ struct{} `type:"structure"` + + // The IPv4 CIDR that's whitelisted. + Cidr *string `locationName:"cidr" type:"string"` +} + +// String returns the string representation +func (s InputWhitelistRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputWhitelistRule) GoString() string { + return s.String() +} + +// SetCidr sets the Cidr field's value. +func (s *InputWhitelistRule) SetCidr(v string) *InputWhitelistRule { + s.Cidr = &v + return s +} + +// An IPv4 CIDR to whitelist. +type InputWhitelistRuleCidr struct { + _ struct{} `type:"structure"` + + // The IPv4 CIDR to whitelist. + Cidr *string `locationName:"cidr" type:"string"` +} + +// String returns the string representation +func (s InputWhitelistRuleCidr) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputWhitelistRuleCidr) GoString() string { + return s.String() +} + +// SetCidr sets the Cidr field's value. +func (s *InputWhitelistRuleCidr) SetCidr(v string) *InputWhitelistRuleCidr { + s.Cidr = &v + return s +} + +type KeyProviderSettings struct { + _ struct{} `type:"structure"` + + StaticKeySettings *StaticKeySettings `locationName:"staticKeySettings" type:"structure"` +} + +// String returns the string representation +func (s KeyProviderSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KeyProviderSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KeyProviderSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KeyProviderSettings"} + if s.StaticKeySettings != nil { + if err := s.StaticKeySettings.Validate(); err != nil { + invalidParams.AddNested("StaticKeySettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStaticKeySettings sets the StaticKeySettings field's value. +func (s *KeyProviderSettings) SetStaticKeySettings(v *StaticKeySettings) *KeyProviderSettings { + s.StaticKeySettings = v + return s +} + +type ListChannelsInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListChannelsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListChannelsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListChannelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"} + 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 *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput { + s.NextToken = &v + return s +} + +type ListChannelsOutput struct { + _ struct{} `type:"structure"` + + Channels []*ChannelSummary `locationName:"channels" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListChannelsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListChannelsOutput) GoString() string { + return s.String() +} + +// SetChannels sets the Channels field's value. +func (s *ListChannelsOutput) SetChannels(v []*ChannelSummary) *ListChannelsOutput { + s.Channels = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput { + s.NextToken = &v + return s +} + +type ListInputSecurityGroupsInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListInputSecurityGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInputSecurityGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListInputSecurityGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInputSecurityGroupsInput"} + 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 *ListInputSecurityGroupsInput) SetMaxResults(v int64) *ListInputSecurityGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInputSecurityGroupsInput) SetNextToken(v string) *ListInputSecurityGroupsInput { + s.NextToken = &v + return s +} + +type ListInputSecurityGroupsOutput struct { + _ struct{} `type:"structure"` + + InputSecurityGroups []*InputSecurityGroup `locationName:"inputSecurityGroups" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListInputSecurityGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInputSecurityGroupsOutput) GoString() string { + return s.String() +} + +// SetInputSecurityGroups sets the InputSecurityGroups field's value. +func (s *ListInputSecurityGroupsOutput) SetInputSecurityGroups(v []*InputSecurityGroup) *ListInputSecurityGroupsOutput { + s.InputSecurityGroups = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInputSecurityGroupsOutput) SetNextToken(v string) *ListInputSecurityGroupsOutput { + s.NextToken = &v + return s +} + +type ListInputsInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListInputsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInputsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListInputsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInputsInput"} + 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 *ListInputsInput) SetMaxResults(v int64) *ListInputsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInputsInput) SetNextToken(v string) *ListInputsInput { + s.NextToken = &v + return s +} + +type ListInputsOutput struct { + _ struct{} `type:"structure"` + + Inputs []*Input `locationName:"inputs" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListInputsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInputsOutput) GoString() string { + return s.String() +} + +// SetInputs sets the Inputs field's value. +func (s *ListInputsOutput) SetInputs(v []*Input) *ListInputsOutput { + s.Inputs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInputsOutput) SetNextToken(v string) *ListInputsOutput { + s.NextToken = &v + return s +} + +type ListOfferingsInput struct { + _ struct{} `type:"structure"` + + ChannelConfiguration *string `location:"querystring" locationName:"channelConfiguration" type:"string"` + + Codec *string `location:"querystring" locationName:"codec" type:"string"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"` + + MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + Resolution *string `location:"querystring" locationName:"resolution" type:"string"` + + ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"` + + SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"` + + VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"` +} + +// String returns the string representation +func (s ListOfferingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListOfferingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListOfferingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListOfferingsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelConfiguration sets the ChannelConfiguration field's value. +func (s *ListOfferingsInput) SetChannelConfiguration(v string) *ListOfferingsInput { + s.ChannelConfiguration = &v + return s +} + +// SetCodec sets the Codec field's value. +func (s *ListOfferingsInput) SetCodec(v string) *ListOfferingsInput { + s.Codec = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListOfferingsInput) SetMaxResults(v int64) *ListOfferingsInput { + s.MaxResults = &v + return s +} + +// SetMaximumBitrate sets the MaximumBitrate field's value. +func (s *ListOfferingsInput) SetMaximumBitrate(v string) *ListOfferingsInput { + s.MaximumBitrate = &v + return s +} + +// SetMaximumFramerate sets the MaximumFramerate field's value. +func (s *ListOfferingsInput) SetMaximumFramerate(v string) *ListOfferingsInput { + s.MaximumFramerate = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOfferingsInput) SetNextToken(v string) *ListOfferingsInput { + s.NextToken = &v + return s +} + +// SetResolution sets the Resolution field's value. +func (s *ListOfferingsInput) SetResolution(v string) *ListOfferingsInput { + s.Resolution = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ListOfferingsInput) SetResourceType(v string) *ListOfferingsInput { + s.ResourceType = &v + return s +} + +// SetSpecialFeature sets the SpecialFeature field's value. +func (s *ListOfferingsInput) SetSpecialFeature(v string) *ListOfferingsInput { + s.SpecialFeature = &v + return s +} + +// SetVideoQuality sets the VideoQuality field's value. +func (s *ListOfferingsInput) SetVideoQuality(v string) *ListOfferingsInput { + s.VideoQuality = &v + return s +} + +type ListOfferingsOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` + + Offerings []*Offering `locationName:"offerings" type:"list"` +} + +// String returns the string representation +func (s ListOfferingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListOfferingsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOfferingsOutput) SetNextToken(v string) *ListOfferingsOutput { + s.NextToken = &v + return s +} + +// SetOfferings sets the Offerings field's value. +func (s *ListOfferingsOutput) SetOfferings(v []*Offering) *ListOfferingsOutput { + s.Offerings = v + return s +} + +type ListReservationsInput struct { + _ struct{} `type:"structure"` + + Codec *string `location:"querystring" locationName:"codec" type:"string"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"` + + MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + Resolution *string `location:"querystring" locationName:"resolution" type:"string"` + + ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"` + + SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"` + + VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"` +} + +// String returns the string representation +func (s ListReservationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReservationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListReservationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListReservationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodec sets the Codec field's value. +func (s *ListReservationsInput) SetCodec(v string) *ListReservationsInput { + s.Codec = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListReservationsInput) SetMaxResults(v int64) *ListReservationsInput { + s.MaxResults = &v + return s +} + +// SetMaximumBitrate sets the MaximumBitrate field's value. +func (s *ListReservationsInput) SetMaximumBitrate(v string) *ListReservationsInput { + s.MaximumBitrate = &v + return s +} + +// SetMaximumFramerate sets the MaximumFramerate field's value. +func (s *ListReservationsInput) SetMaximumFramerate(v string) *ListReservationsInput { + s.MaximumFramerate = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReservationsInput) SetNextToken(v string) *ListReservationsInput { + s.NextToken = &v + return s +} + +// SetResolution sets the Resolution field's value. +func (s *ListReservationsInput) SetResolution(v string) *ListReservationsInput { + s.Resolution = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ListReservationsInput) SetResourceType(v string) *ListReservationsInput { + s.ResourceType = &v + return s +} + +// SetSpecialFeature sets the SpecialFeature field's value. +func (s *ListReservationsInput) SetSpecialFeature(v string) *ListReservationsInput { + s.SpecialFeature = &v + return s +} + +// SetVideoQuality sets the VideoQuality field's value. +func (s *ListReservationsInput) SetVideoQuality(v string) *ListReservationsInput { + s.VideoQuality = &v + return s +} + +type ListReservationsOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` + + Reservations []*Reservation `locationName:"reservations" type:"list"` +} + +// String returns the string representation +func (s ListReservationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReservationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReservationsOutput) SetNextToken(v string) *ListReservationsOutput { + s.NextToken = &v + return s +} + +// SetReservations sets the Reservations field's value. +func (s *ListReservationsOutput) SetReservations(v []*Reservation) *ListReservationsOutput { + s.Reservations = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` +} + +// 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.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// 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() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type M2tsSettings struct { + _ struct{} `type:"structure"` + + // When set to drop, output audio streams will be removed from the program if + // the selected input audio stream is removed from the input. This allows the + // output audio configuration to dynamically change based on input configuration. + // If this is set to encodeSilence, all output audio streams will output encoded + // silence when not connected to an active input stream. + AbsentInputAudioBehavior *string `locationName:"absentInputAudioBehavior" type:"string" enum:"M2tsAbsentInputAudioBehavior"` + + // When set to enabled, uses ARIB-compliant field muxing and removes video descriptor. + Arib *string `locationName:"arib" type:"string" enum:"M2tsArib"` + + // Packet Identifier (PID) for ARIB Captions in the transport stream. Can be + // entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 + // (or 0x1ff6). + AribCaptionsPid *string `locationName:"aribCaptionsPid" type:"string"` + + // If set to auto, pid number used for ARIB Captions will be auto-selected from + // unused pids. If set to useConfigured, ARIB Captions will be on the configured + // pid number. + AribCaptionsPidControl *string `locationName:"aribCaptionsPidControl" type:"string" enum:"M2tsAribCaptionsPidControl"` + + // When set to dvb, uses DVB buffer model for Dolby Digital audio. When set + // to atsc, the ATSC model is used. + AudioBufferModel *string `locationName:"audioBufferModel" type:"string" enum:"M2tsAudioBufferModel"` + + // The number of audio frames to insert for each PES packet. + AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"` + + // Packet Identifier (PID) of the elementary audio stream(s) in the transport + // stream. Multiple values are accepted, and can be entered in ranges and/or + // by comma separation. Can be entered as decimal or hexadecimal values. Each + // PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). + AudioPids *string `locationName:"audioPids" type:"string"` + + // When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 + // for EAC3. When set to dvb, uses stream type = 0x06. + AudioStreamType *string `locationName:"audioStreamType" type:"string" enum:"M2tsAudioStreamType"` + + // The output bitrate of the transport stream in bits per second. Setting to + // 0 lets the muxer automatically determine the appropriate bitrate. + Bitrate *int64 `locationName:"bitrate" type:"integer"` + + // If set to multiplex, use multiplex buffer model for accurate interleaving. + // Setting to bufferModel to none can lead to lower latency, but low-memory + // devices may not be able to play back the stream without interruptions. + BufferModel *string `locationName:"bufferModel" type:"string" enum:"M2tsBufferModel"` + + // When set to enabled, generates captionServiceDescriptor in PMT. + CcDescriptor *string `locationName:"ccDescriptor" type:"string" enum:"M2tsCcDescriptor"` + + // Inserts DVB Network Information Table (NIT) at the specified table repetition + // interval. + DvbNitSettings *DvbNitSettings `locationName:"dvbNitSettings" type:"structure"` + + // Inserts DVB Service Description Table (SDT) at the specified table repetition + // interval. + DvbSdtSettings *DvbSdtSettings `locationName:"dvbSdtSettings" type:"structure"` + + // Packet Identifier (PID) for input source DVB Subtitle data to this output. + // Multiple values are accepted, and can be entered in ranges and/or by comma + // separation. Can be entered as decimal or hexadecimal values. Each PID specified + // must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). + DvbSubPids *string `locationName:"dvbSubPids" type:"string"` + + // Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. + DvbTdtSettings *DvbTdtSettings `locationName:"dvbTdtSettings" type:"structure"` + + // Packet Identifier (PID) for input source DVB Teletext data to this output. + // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or + // 0x20)..8182 (or 0x1ff6). + DvbTeletextPid *string `locationName:"dvbTeletextPid" type:"string"` + + // If set to passthrough, passes any EBIF data from the input source to this + // output. + Ebif *string `locationName:"ebif" type:"string" enum:"M2tsEbifControl"` + + // When videoAndFixedIntervals is selected, audio EBP markers will be added + // to partitions 3 and 4. The interval between these additional markers will + // be fixed, and will be slightly shorter than the video EBP marker interval. + // Only available when EBP Cablelabs segmentation markers are selected. Partitions + // 1 and 2 will always follow the video interval. + EbpAudioInterval *string `locationName:"ebpAudioInterval" type:"string" enum:"M2tsAudioInterval"` + + // When set, enforces that Encoder Boundary Points do not come within the specified + // time interval of each other by looking ahead at input video. If another EBP + // is going to come in within the specified time interval, the current EBP is + // not emitted, and the segment is "stretched" to the next marker. The lookahead + // value does not add latency to the system. The Live Event must be configured + // elsewhere to create sufficient latency to make the lookahead accurate. + EbpLookaheadMs *int64 `locationName:"ebpLookaheadMs" type:"integer"` + + // Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP + // markers will be placed on the video PID and all audio PIDs. If set to videoPid, + // EBP markers will be placed on only the video PID. + EbpPlacement *string `locationName:"ebpPlacement" type:"string" enum:"M2tsEbpPlacement"` + + // This field is unused and deprecated. + EcmPid *string `locationName:"ecmPid" type:"string"` + + // Include or exclude the ES Rate field in the PES header. + EsRateInPes *string `locationName:"esRateInPes" type:"string" enum:"M2tsEsRateInPes"` + + // Packet Identifier (PID) for input source ETV Platform data to this output. + // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or + // 0x20)..8182 (or 0x1ff6). + EtvPlatformPid *string `locationName:"etvPlatformPid" type:"string"` + + // Packet Identifier (PID) for input source ETV Signal data to this output. + // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or + // 0x20)..8182 (or 0x1ff6). + EtvSignalPid *string `locationName:"etvSignalPid" type:"string"` + + // The length in seconds of each fragment. Only used with EBP markers. + FragmentTime *float64 `locationName:"fragmentTime" type:"double"` + + // If set to passthrough, passes any KLV data from the input source to this + // output. + Klv *string `locationName:"klv" type:"string" enum:"M2tsKlv"` + + // Packet Identifier (PID) for input source KLV data to this output. Multiple + // values are accepted, and can be entered in ranges and/or by comma separation. + // Can be entered as decimal or hexadecimal values. Each PID specified must + // be in the range of 32 (or 0x20)..8182 (or 0x1ff6). + KlvDataPids *string `locationName:"klvDataPids" type:"string"` + + // Value in bits per second of extra null packets to insert into the transport + // stream. This can be used if a downstream encryption system requires periodic + // null packets. + NullPacketBitrate *float64 `locationName:"nullPacketBitrate" type:"double"` + + // The number of milliseconds between instances of this table in the output + // transport stream. Valid values are 0, 10..1000. + PatInterval *int64 `locationName:"patInterval" type:"integer"` + + // When set to pcrEveryPesPacket, a Program Clock Reference value is inserted + // for every Packetized Elementary Stream (PES) header. This parameter is effective + // only when the PCR PID is the same as the video or audio elementary stream. + PcrControl *string `locationName:"pcrControl" type:"string" enum:"M2tsPcrControl"` + + // Maximum time in milliseconds between Program Clock Reference (PCRs) inserted + // into the transport stream. + PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"` + + // Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport + // stream. When no value is given, the encoder will assign the same value as + // the Video PID. Can be entered as a decimal or hexadecimal value. Valid values + // are 32 (or 0x20)..8182 (or 0x1ff6). + PcrPid *string `locationName:"pcrPid" type:"string"` + + // The number of milliseconds between instances of this table in the output + // transport stream. Valid values are 0, 10..1000. + PmtInterval *int64 `locationName:"pmtInterval" type:"integer"` + + // Packet Identifier (PID) for the Program Map Table (PMT) in the transport + // stream. Can be entered as a decimal or hexadecimal value. Valid values are + // 32 (or 0x20)..8182 (or 0x1ff6). + PmtPid *string `locationName:"pmtPid" type:"string"` + + // The value of the program number field in the Program Map Table. + ProgramNum *int64 `locationName:"programNum" type:"integer"` + + // When vbr, does not insert null packets into transport stream to fill specified + // bitrate. The bitrate setting acts as the maximum bitrate when vbr is set. + RateMode *string `locationName:"rateMode" type:"string" enum:"M2tsRateMode"` + + // Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple + // values are accepted, and can be entered in ranges and/or by comma separation. + // Can be entered as decimal or hexadecimal values. Each PID specified must + // be in the range of 32 (or 0x20)..8182 (or 0x1ff6). + Scte27Pids *string `locationName:"scte27Pids" type:"string"` + + // Optionally pass SCTE-35 signals from the input source to this output. + Scte35Control *string `locationName:"scte35Control" type:"string" enum:"M2tsScte35Control"` + + // Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can + // be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 + // (or 0x1ff6). + Scte35Pid *string `locationName:"scte35Pid" type:"string"` + + // Inserts segmentation markers at each segmentationTime period. raiSegstart + // sets the Random Access Indicator bit in the adaptation field. raiAdapt sets + // the RAI bit and adds the current timecode in the private data bytes. psiSegstart + // inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary + // Point information to the adaptation field as per OpenCable specification + // OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to + // the adaptation field using a legacy proprietary format. + SegmentationMarkers *string `locationName:"segmentationMarkers" type:"string" enum:"M2tsSegmentationMarkers"` + + // The segmentation style parameter controls how segmentation markers are inserted + // into the transport stream. With avails, it is possible that segments may + // be truncated, which can influence where future segmentation markers are inserted.When + // a segmentation style of "resetCadence" is selected and a segment is truncated + // due to an avail, we will reset the segmentation cadence. This means the subsequent + // segment will have a duration of $segmentationTime seconds.When a segmentation + // style of "maintainCadence" is selected and a segment is truncated due to + // an avail, we will not reset the segmentation cadence. This means the subsequent + // segment will likely be truncated as well. However, all segments after that + // will have a duration of $segmentationTime seconds. Note that EBP lookahead + // is a slight exception to this rule. + SegmentationStyle *string `locationName:"segmentationStyle" type:"string" enum:"M2tsSegmentationStyle"` + + // The length in seconds of each segment. Required unless markers is set to + // None_. + SegmentationTime *float64 `locationName:"segmentationTime" type:"double"` + + // When set to passthrough, timed metadata will be passed through from input + // to output. + TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M2tsTimedMetadataBehavior"` + + // Packet Identifier (PID) of the timed metadata stream in the transport stream. + // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or + // 0x20)..8182 (or 0x1ff6). + TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"` + + // The value of the transport stream ID field in the Program Map Table. + TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"` + + // Packet Identifier (PID) of the elementary video stream in the transport stream. + // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or + // 0x20)..8182 (or 0x1ff6). + VideoPid *string `locationName:"videoPid" type:"string"` +} + +// String returns the string representation +func (s M2tsSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s M2tsSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *M2tsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "M2tsSettings"} + if s.DvbNitSettings != nil { + if err := s.DvbNitSettings.Validate(); err != nil { + invalidParams.AddNested("DvbNitSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbSdtSettings != nil { + if err := s.DvbSdtSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSdtSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbTdtSettings != nil { + if err := s.DvbTdtSettings.Validate(); err != nil { + invalidParams.AddNested("DvbTdtSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAbsentInputAudioBehavior sets the AbsentInputAudioBehavior field's value. +func (s *M2tsSettings) SetAbsentInputAudioBehavior(v string) *M2tsSettings { + s.AbsentInputAudioBehavior = &v + return s +} + +// SetArib sets the Arib field's value. +func (s *M2tsSettings) SetArib(v string) *M2tsSettings { + s.Arib = &v + return s +} + +// SetAribCaptionsPid sets the AribCaptionsPid field's value. +func (s *M2tsSettings) SetAribCaptionsPid(v string) *M2tsSettings { + s.AribCaptionsPid = &v + return s +} + +// SetAribCaptionsPidControl sets the AribCaptionsPidControl field's value. +func (s *M2tsSettings) SetAribCaptionsPidControl(v string) *M2tsSettings { + s.AribCaptionsPidControl = &v + return s +} + +// SetAudioBufferModel sets the AudioBufferModel field's value. +func (s *M2tsSettings) SetAudioBufferModel(v string) *M2tsSettings { + s.AudioBufferModel = &v + return s +} + +// SetAudioFramesPerPes sets the AudioFramesPerPes field's value. +func (s *M2tsSettings) SetAudioFramesPerPes(v int64) *M2tsSettings { + s.AudioFramesPerPes = &v + return s +} + +// SetAudioPids sets the AudioPids field's value. +func (s *M2tsSettings) SetAudioPids(v string) *M2tsSettings { + s.AudioPids = &v + return s +} + +// SetAudioStreamType sets the AudioStreamType field's value. +func (s *M2tsSettings) SetAudioStreamType(v string) *M2tsSettings { + s.AudioStreamType = &v + return s +} + +// SetBitrate sets the Bitrate field's value. +func (s *M2tsSettings) SetBitrate(v int64) *M2tsSettings { + s.Bitrate = &v + return s +} + +// SetBufferModel sets the BufferModel field's value. +func (s *M2tsSettings) SetBufferModel(v string) *M2tsSettings { + s.BufferModel = &v + return s +} + +// SetCcDescriptor sets the CcDescriptor field's value. +func (s *M2tsSettings) SetCcDescriptor(v string) *M2tsSettings { + s.CcDescriptor = &v + return s +} + +// SetDvbNitSettings sets the DvbNitSettings field's value. +func (s *M2tsSettings) SetDvbNitSettings(v *DvbNitSettings) *M2tsSettings { + s.DvbNitSettings = v + return s +} + +// SetDvbSdtSettings sets the DvbSdtSettings field's value. +func (s *M2tsSettings) SetDvbSdtSettings(v *DvbSdtSettings) *M2tsSettings { + s.DvbSdtSettings = v + return s +} + +// SetDvbSubPids sets the DvbSubPids field's value. +func (s *M2tsSettings) SetDvbSubPids(v string) *M2tsSettings { + s.DvbSubPids = &v + return s +} + +// SetDvbTdtSettings sets the DvbTdtSettings field's value. +func (s *M2tsSettings) SetDvbTdtSettings(v *DvbTdtSettings) *M2tsSettings { + s.DvbTdtSettings = v + return s +} + +// SetDvbTeletextPid sets the DvbTeletextPid field's value. +func (s *M2tsSettings) SetDvbTeletextPid(v string) *M2tsSettings { + s.DvbTeletextPid = &v + return s +} + +// SetEbif sets the Ebif field's value. +func (s *M2tsSettings) SetEbif(v string) *M2tsSettings { + s.Ebif = &v + return s +} + +// SetEbpAudioInterval sets the EbpAudioInterval field's value. +func (s *M2tsSettings) SetEbpAudioInterval(v string) *M2tsSettings { + s.EbpAudioInterval = &v + return s +} + +// SetEbpLookaheadMs sets the EbpLookaheadMs field's value. +func (s *M2tsSettings) SetEbpLookaheadMs(v int64) *M2tsSettings { + s.EbpLookaheadMs = &v + return s +} + +// SetEbpPlacement sets the EbpPlacement field's value. +func (s *M2tsSettings) SetEbpPlacement(v string) *M2tsSettings { + s.EbpPlacement = &v + return s +} + +// SetEcmPid sets the EcmPid field's value. +func (s *M2tsSettings) SetEcmPid(v string) *M2tsSettings { + s.EcmPid = &v + return s +} + +// SetEsRateInPes sets the EsRateInPes field's value. +func (s *M2tsSettings) SetEsRateInPes(v string) *M2tsSettings { + s.EsRateInPes = &v + return s +} + +// SetEtvPlatformPid sets the EtvPlatformPid field's value. +func (s *M2tsSettings) SetEtvPlatformPid(v string) *M2tsSettings { + s.EtvPlatformPid = &v + return s +} + +// SetEtvSignalPid sets the EtvSignalPid field's value. +func (s *M2tsSettings) SetEtvSignalPid(v string) *M2tsSettings { + s.EtvSignalPid = &v + return s +} + +// SetFragmentTime sets the FragmentTime field's value. +func (s *M2tsSettings) SetFragmentTime(v float64) *M2tsSettings { + s.FragmentTime = &v + return s +} + +// SetKlv sets the Klv field's value. +func (s *M2tsSettings) SetKlv(v string) *M2tsSettings { + s.Klv = &v + return s +} + +// SetKlvDataPids sets the KlvDataPids field's value. +func (s *M2tsSettings) SetKlvDataPids(v string) *M2tsSettings { + s.KlvDataPids = &v + return s +} + +// SetNullPacketBitrate sets the NullPacketBitrate field's value. +func (s *M2tsSettings) SetNullPacketBitrate(v float64) *M2tsSettings { + s.NullPacketBitrate = &v + return s +} + +// SetPatInterval sets the PatInterval field's value. +func (s *M2tsSettings) SetPatInterval(v int64) *M2tsSettings { + s.PatInterval = &v + return s +} + +// SetPcrControl sets the PcrControl field's value. +func (s *M2tsSettings) SetPcrControl(v string) *M2tsSettings { + s.PcrControl = &v + return s +} + +// SetPcrPeriod sets the PcrPeriod field's value. +func (s *M2tsSettings) SetPcrPeriod(v int64) *M2tsSettings { + s.PcrPeriod = &v + return s +} + +// SetPcrPid sets the PcrPid field's value. +func (s *M2tsSettings) SetPcrPid(v string) *M2tsSettings { + s.PcrPid = &v + return s +} + +// SetPmtInterval sets the PmtInterval field's value. +func (s *M2tsSettings) SetPmtInterval(v int64) *M2tsSettings { + s.PmtInterval = &v + return s +} + +// SetPmtPid sets the PmtPid field's value. +func (s *M2tsSettings) SetPmtPid(v string) *M2tsSettings { + s.PmtPid = &v + return s +} + +// SetProgramNum sets the ProgramNum field's value. +func (s *M2tsSettings) SetProgramNum(v int64) *M2tsSettings { + s.ProgramNum = &v + return s +} + +// SetRateMode sets the RateMode field's value. +func (s *M2tsSettings) SetRateMode(v string) *M2tsSettings { + s.RateMode = &v + return s +} + +// SetScte27Pids sets the Scte27Pids field's value. +func (s *M2tsSettings) SetScte27Pids(v string) *M2tsSettings { + s.Scte27Pids = &v + return s +} + +// SetScte35Control sets the Scte35Control field's value. +func (s *M2tsSettings) SetScte35Control(v string) *M2tsSettings { + s.Scte35Control = &v + return s +} + +// SetScte35Pid sets the Scte35Pid field's value. +func (s *M2tsSettings) SetScte35Pid(v string) *M2tsSettings { + s.Scte35Pid = &v + return s +} + +// SetSegmentationMarkers sets the SegmentationMarkers field's value. +func (s *M2tsSettings) SetSegmentationMarkers(v string) *M2tsSettings { + s.SegmentationMarkers = &v + return s +} + +// SetSegmentationStyle sets the SegmentationStyle field's value. +func (s *M2tsSettings) SetSegmentationStyle(v string) *M2tsSettings { + s.SegmentationStyle = &v + return s +} + +// SetSegmentationTime sets the SegmentationTime field's value. +func (s *M2tsSettings) SetSegmentationTime(v float64) *M2tsSettings { + s.SegmentationTime = &v + return s +} + +// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value. +func (s *M2tsSettings) SetTimedMetadataBehavior(v string) *M2tsSettings { + s.TimedMetadataBehavior = &v + return s +} + +// SetTimedMetadataPid sets the TimedMetadataPid field's value. +func (s *M2tsSettings) SetTimedMetadataPid(v string) *M2tsSettings { + s.TimedMetadataPid = &v + return s +} + +// SetTransportStreamId sets the TransportStreamId field's value. +func (s *M2tsSettings) SetTransportStreamId(v int64) *M2tsSettings { + s.TransportStreamId = &v + return s +} + +// SetVideoPid sets the VideoPid field's value. +func (s *M2tsSettings) SetVideoPid(v string) *M2tsSettings { + s.VideoPid = &v + return s +} + +// Settings information for the .m3u8 container +type M3u8Settings struct { + _ struct{} `type:"structure"` + + // The number of audio frames to insert for each PES packet. + AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"` + + // Packet Identifier (PID) of the elementary audio stream(s) in the transport + // stream. Multiple values are accepted, and can be entered in ranges and/or + // by comma separation. Can be entered as decimal or hexadecimal values. + AudioPids *string `locationName:"audioPids" type:"string"` + + // This parameter is unused and deprecated. + EcmPid *string `locationName:"ecmPid" type:"string"` + + // The number of milliseconds between instances of this table in the output + // transport stream. A value of \"0\" writes out the PMT once per segment file. + PatInterval *int64 `locationName:"patInterval" type:"integer"` + + // When set to pcrEveryPesPacket, a Program Clock Reference value is inserted + // for every Packetized Elementary Stream (PES) header. This parameter is effective + // only when the PCR PID is the same as the video or audio elementary stream. + PcrControl *string `locationName:"pcrControl" type:"string" enum:"M3u8PcrControl"` + + // Maximum time in milliseconds between Program Clock References (PCRs) inserted + // into the transport stream. + PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"` + + // Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport + // stream. When no value is given, the encoder will assign the same value as + // the Video PID. Can be entered as a decimal or hexadecimal value. + PcrPid *string `locationName:"pcrPid" type:"string"` + + // The number of milliseconds between instances of this table in the output + // transport stream. A value of \"0\" writes out the PMT once per segment file. + PmtInterval *int64 `locationName:"pmtInterval" type:"integer"` + + // Packet Identifier (PID) for the Program Map Table (PMT) in the transport + // stream. Can be entered as a decimal or hexadecimal value. + PmtPid *string `locationName:"pmtPid" type:"string"` + + // The value of the program number field in the Program Map Table. + ProgramNum *int64 `locationName:"programNum" type:"integer"` + + // If set to passthrough, passes any SCTE-35 signals from the input source to + // this output. + Scte35Behavior *string `locationName:"scte35Behavior" type:"string" enum:"M3u8Scte35Behavior"` + + // Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can + // be entered as a decimal or hexadecimal value. + Scte35Pid *string `locationName:"scte35Pid" type:"string"` + + // When set to passthrough, timed metadata is passed through from input to output. + TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M3u8TimedMetadataBehavior"` + + // Packet Identifier (PID) of the timed metadata stream in the transport stream. + // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or + // 0x20)..8182 (or 0x1ff6). + TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"` + + // The value of the transport stream ID field in the Program Map Table. + TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"` + + // Packet Identifier (PID) of the elementary video stream in the transport stream. + // Can be entered as a decimal or hexadecimal value. + VideoPid *string `locationName:"videoPid" type:"string"` +} + +// String returns the string representation +func (s M3u8Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s M3u8Settings) GoString() string { + return s.String() +} + +// SetAudioFramesPerPes sets the AudioFramesPerPes field's value. +func (s *M3u8Settings) SetAudioFramesPerPes(v int64) *M3u8Settings { + s.AudioFramesPerPes = &v + return s +} + +// SetAudioPids sets the AudioPids field's value. +func (s *M3u8Settings) SetAudioPids(v string) *M3u8Settings { + s.AudioPids = &v + return s +} + +// SetEcmPid sets the EcmPid field's value. +func (s *M3u8Settings) SetEcmPid(v string) *M3u8Settings { + s.EcmPid = &v + return s +} + +// SetPatInterval sets the PatInterval field's value. +func (s *M3u8Settings) SetPatInterval(v int64) *M3u8Settings { + s.PatInterval = &v + return s +} + +// SetPcrControl sets the PcrControl field's value. +func (s *M3u8Settings) SetPcrControl(v string) *M3u8Settings { + s.PcrControl = &v + return s +} + +// SetPcrPeriod sets the PcrPeriod field's value. +func (s *M3u8Settings) SetPcrPeriod(v int64) *M3u8Settings { + s.PcrPeriod = &v + return s +} + +// SetPcrPid sets the PcrPid field's value. +func (s *M3u8Settings) SetPcrPid(v string) *M3u8Settings { + s.PcrPid = &v + return s +} + +// SetPmtInterval sets the PmtInterval field's value. +func (s *M3u8Settings) SetPmtInterval(v int64) *M3u8Settings { + s.PmtInterval = &v + return s +} + +// SetPmtPid sets the PmtPid field's value. +func (s *M3u8Settings) SetPmtPid(v string) *M3u8Settings { + s.PmtPid = &v + return s +} + +// SetProgramNum sets the ProgramNum field's value. +func (s *M3u8Settings) SetProgramNum(v int64) *M3u8Settings { + s.ProgramNum = &v + return s +} + +// SetScte35Behavior sets the Scte35Behavior field's value. +func (s *M3u8Settings) SetScte35Behavior(v string) *M3u8Settings { + s.Scte35Behavior = &v + return s +} + +// SetScte35Pid sets the Scte35Pid field's value. +func (s *M3u8Settings) SetScte35Pid(v string) *M3u8Settings { + s.Scte35Pid = &v + return s +} + +// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value. +func (s *M3u8Settings) SetTimedMetadataBehavior(v string) *M3u8Settings { + s.TimedMetadataBehavior = &v + return s +} + +// SetTimedMetadataPid sets the TimedMetadataPid field's value. +func (s *M3u8Settings) SetTimedMetadataPid(v string) *M3u8Settings { + s.TimedMetadataPid = &v + return s +} + +// SetTransportStreamId sets the TransportStreamId field's value. +func (s *M3u8Settings) SetTransportStreamId(v int64) *M3u8Settings { + s.TransportStreamId = &v + return s +} + +// SetVideoPid sets the VideoPid field's value. +func (s *M3u8Settings) SetVideoPid(v string) *M3u8Settings { + s.VideoPid = &v + return s +} + +// The settings for a MediaConnect Flow. +type MediaConnectFlow struct { + _ struct{} `type:"structure"` + + // The unique ARN of the MediaConnect Flow being used as a source. + FlowArn *string `locationName:"flowArn" type:"string"` +} + +// String returns the string representation +func (s MediaConnectFlow) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MediaConnectFlow) GoString() string { + return s.String() +} + +// SetFlowArn sets the FlowArn field's value. +func (s *MediaConnectFlow) SetFlowArn(v string) *MediaConnectFlow { + s.FlowArn = &v + return s +} + +// The settings for a MediaConnect Flow. +type MediaConnectFlowRequest struct { + _ struct{} `type:"structure"` + + // The ARN of the MediaConnect Flow that you want to use as a source. + FlowArn *string `locationName:"flowArn" type:"string"` +} + +// String returns the string representation +func (s MediaConnectFlowRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MediaConnectFlowRequest) GoString() string { + return s.String() +} + +// SetFlowArn sets the FlowArn field's value. +func (s *MediaConnectFlowRequest) SetFlowArn(v string) *MediaConnectFlowRequest { + s.FlowArn = &v + return s +} + +type Mp2Settings struct { + _ struct{} `type:"structure"` + + // Average bitrate in bits/second. + Bitrate *float64 `locationName:"bitrate" type:"double"` + + // The MPEG2 Audio coding mode. Valid values are codingMode10 (for mono) or + // codingMode20 (for stereo). + CodingMode *string `locationName:"codingMode" type:"string" enum:"Mp2CodingMode"` + + // Sample rate in Hz. + SampleRate *float64 `locationName:"sampleRate" type:"double"` +} + +// String returns the string representation +func (s Mp2Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Mp2Settings) GoString() string { + return s.String() +} + +// SetBitrate sets the Bitrate field's value. +func (s *Mp2Settings) SetBitrate(v float64) *Mp2Settings { + s.Bitrate = &v + return s +} + +// SetCodingMode sets the CodingMode field's value. +func (s *Mp2Settings) SetCodingMode(v string) *Mp2Settings { + s.CodingMode = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *Mp2Settings) SetSampleRate(v float64) *Mp2Settings { + s.SampleRate = &v + return s +} + +type MsSmoothGroupSettings struct { + _ struct{} `type:"structure"` + + // The value of the "Acquisition Point Identity" element used in each message + // placed in the sparse track. Only enabled if sparseTrackType is not "none". + AcquisitionPointId *string `locationName:"acquisitionPointId" type:"string"` + + // If set to passthrough for an audio-only MS Smooth output, the fragment absolute + // time will be set to the current timecode. This option does not write timecodes + // to the audio elementary stream. + AudioOnlyTimecodeControl *string `locationName:"audioOnlyTimecodeControl" type:"string" enum:"SmoothGroupAudioOnlyTimecodeControl"` + + // If set to verifyAuthenticity, verify the https certificate chain to a trusted + // Certificate Authority (CA). This will cause https outputs to self-signed + // certificates to fail. + CertificateMode *string `locationName:"certificateMode" type:"string" enum:"SmoothGroupCertificateMode"` + + // Number of seconds to wait before retrying connection to the IIS server if + // the connection is lost. Content will be cached during this time and the cache + // will be be delivered to the IIS server once the connection is re-established. + ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` + + // Smooth Streaming publish point on an IIS server. Elemental Live acts as a + // "Push" encoder to IIS. + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` + + // MS Smooth event ID to be sent to the IIS server.Should only be specified + // if eventIdMode is set to useConfigured. + EventId *string `locationName:"eventId" type:"string"` + + // Specifies whether or not to send an event ID to the IIS server. If no event + // ID is sent and the same Live Event is used without changing the publishing + // point, clients might see cached video from the previous run.Options:- "useConfigured" + // - use the value provided in eventId- "useTimestamp" - generate and send an + // event ID based on the current timestamp- "noEventId" - do not send an event + // ID to the IIS server. + EventIdMode *string `locationName:"eventIdMode" type:"string" enum:"SmoothGroupEventIdMode"` + + // When set to sendEos, send EOS signal to IIS server when stopping the event + EventStopBehavior *string `locationName:"eventStopBehavior" type:"string" enum:"SmoothGroupEventStopBehavior"` + + // Size in seconds of file cache for streaming outputs. + FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` + + // Length of mp4 fragments to generate (in seconds). Fragment length must be + // compatible with GOP size and framerate. + FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"` + + // Parameter that control output group behavior on input loss. + InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForMsSmoothOut"` + + // Number of retry attempts. + NumRetries *int64 `locationName:"numRetries" type:"integer"` + + // Number of seconds before initiating a restart due to output failure, due + // to exhausting the numRetries on one segment, or exceeding filecacheDuration. + RestartDelay *int64 `locationName:"restartDelay" type:"integer"` + + // useInputSegmentation has been deprecated. The configured segment size is + // always used. + SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"SmoothGroupSegmentationMode"` + + // Number of milliseconds to delay the output from the second pipeline. + SendDelayMs *int64 `locationName:"sendDelayMs" type:"integer"` + + // If set to scte35, use incoming SCTE-35 messages to generate a sparse track + // in this group of MS-Smooth outputs. + SparseTrackType *string `locationName:"sparseTrackType" type:"string" enum:"SmoothGroupSparseTrackType"` + + // When set to send, send stream manifest so publishing point doesn't start + // until all streams start. + StreamManifestBehavior *string `locationName:"streamManifestBehavior" type:"string" enum:"SmoothGroupStreamManifestBehavior"` + + // Timestamp offset for the event. Only used if timestampOffsetMode is set to + // useConfiguredOffset. + TimestampOffset *string `locationName:"timestampOffset" type:"string"` + + // Type of timestamp date offset to use.- useEventStartDate: Use the date the + // event was started as the offset- useConfiguredOffset: Use an explicitly configured + // date as the offset + TimestampOffsetMode *string `locationName:"timestampOffsetMode" type:"string" enum:"SmoothGroupTimestampOffsetMode"` +} + +// String returns the string representation +func (s MsSmoothGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MsSmoothGroupSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MsSmoothGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MsSmoothGroupSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.FragmentLength != nil && *s.FragmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcquisitionPointId sets the AcquisitionPointId field's value. +func (s *MsSmoothGroupSettings) SetAcquisitionPointId(v string) *MsSmoothGroupSettings { + s.AcquisitionPointId = &v + return s +} + +// SetAudioOnlyTimecodeControl sets the AudioOnlyTimecodeControl field's value. +func (s *MsSmoothGroupSettings) SetAudioOnlyTimecodeControl(v string) *MsSmoothGroupSettings { + s.AudioOnlyTimecodeControl = &v + return s +} + +// SetCertificateMode sets the CertificateMode field's value. +func (s *MsSmoothGroupSettings) SetCertificateMode(v string) *MsSmoothGroupSettings { + s.CertificateMode = &v + return s +} + +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *MsSmoothGroupSettings) SetConnectionRetryInterval(v int64) *MsSmoothGroupSettings { + s.ConnectionRetryInterval = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *MsSmoothGroupSettings) SetDestination(v *OutputLocationRef) *MsSmoothGroupSettings { + s.Destination = v + return s +} + +// SetEventId sets the EventId field's value. +func (s *MsSmoothGroupSettings) SetEventId(v string) *MsSmoothGroupSettings { + s.EventId = &v + return s +} + +// SetEventIdMode sets the EventIdMode field's value. +func (s *MsSmoothGroupSettings) SetEventIdMode(v string) *MsSmoothGroupSettings { + s.EventIdMode = &v + return s +} + +// SetEventStopBehavior sets the EventStopBehavior field's value. +func (s *MsSmoothGroupSettings) SetEventStopBehavior(v string) *MsSmoothGroupSettings { + s.EventStopBehavior = &v + return s +} + +// SetFilecacheDuration sets the FilecacheDuration field's value. +func (s *MsSmoothGroupSettings) SetFilecacheDuration(v int64) *MsSmoothGroupSettings { + s.FilecacheDuration = &v + return s +} + +// SetFragmentLength sets the FragmentLength field's value. +func (s *MsSmoothGroupSettings) SetFragmentLength(v int64) *MsSmoothGroupSettings { + s.FragmentLength = &v + return s +} + +// SetInputLossAction sets the InputLossAction field's value. +func (s *MsSmoothGroupSettings) SetInputLossAction(v string) *MsSmoothGroupSettings { + s.InputLossAction = &v + return s +} + +// SetNumRetries sets the NumRetries field's value. +func (s *MsSmoothGroupSettings) SetNumRetries(v int64) *MsSmoothGroupSettings { + s.NumRetries = &v + return s +} + +// SetRestartDelay sets the RestartDelay field's value. +func (s *MsSmoothGroupSettings) SetRestartDelay(v int64) *MsSmoothGroupSettings { + s.RestartDelay = &v + return s +} + +// SetSegmentationMode sets the SegmentationMode field's value. +func (s *MsSmoothGroupSettings) SetSegmentationMode(v string) *MsSmoothGroupSettings { + s.SegmentationMode = &v + return s +} + +// SetSendDelayMs sets the SendDelayMs field's value. +func (s *MsSmoothGroupSettings) SetSendDelayMs(v int64) *MsSmoothGroupSettings { + s.SendDelayMs = &v + return s +} + +// SetSparseTrackType sets the SparseTrackType field's value. +func (s *MsSmoothGroupSettings) SetSparseTrackType(v string) *MsSmoothGroupSettings { + s.SparseTrackType = &v + return s +} + +// SetStreamManifestBehavior sets the StreamManifestBehavior field's value. +func (s *MsSmoothGroupSettings) SetStreamManifestBehavior(v string) *MsSmoothGroupSettings { + s.StreamManifestBehavior = &v + return s +} + +// SetTimestampOffset sets the TimestampOffset field's value. +func (s *MsSmoothGroupSettings) SetTimestampOffset(v string) *MsSmoothGroupSettings { + s.TimestampOffset = &v + return s +} + +// SetTimestampOffsetMode sets the TimestampOffsetMode field's value. +func (s *MsSmoothGroupSettings) SetTimestampOffsetMode(v string) *MsSmoothGroupSettings { + s.TimestampOffsetMode = &v + return s +} + +type MsSmoothOutputSettings struct { + _ struct{} `type:"structure"` + + // String concatenated to the end of the destination filename. Required for + // multiple outputs of the same type. + NameModifier *string `locationName:"nameModifier" type:"string"` +} + +// String returns the string representation +func (s MsSmoothOutputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MsSmoothOutputSettings) GoString() string { + return s.String() +} + +// SetNameModifier sets the NameModifier field's value. +func (s *MsSmoothOutputSettings) SetNameModifier(v string) *MsSmoothOutputSettings { + s.NameModifier = &v + return s +} + +// Network source to transcode. Must be accessible to the Elemental Live node +// that is running the live event through a network connection. +type NetworkInputSettings struct { + _ struct{} `type:"structure"` + + // Specifies HLS input settings when the uri is for a HLS manifest. + HlsInputSettings *HlsInputSettings `locationName:"hlsInputSettings" type:"structure"` + + // Check HTTPS server certificates. When set to checkCryptographyOnly, cryptography + // in the certificate will be checked, but not the server's name. Certain subdomains + // (notably S3 buckets that use dots in the bucket name) do not strictly match + // the corresponding certificate's wildcard pattern and would otherwise cause + // the event to error. This setting is ignored for protocols that do not use + // https. + ServerValidation *string `locationName:"serverValidation" type:"string" enum:"NetworkInputServerValidation"` +} + +// String returns the string representation +func (s NetworkInputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NetworkInputSettings) GoString() string { + return s.String() +} + +// SetHlsInputSettings sets the HlsInputSettings field's value. +func (s *NetworkInputSettings) SetHlsInputSettings(v *HlsInputSettings) *NetworkInputSettings { + s.HlsInputSettings = v + return s +} + +// SetServerValidation sets the ServerValidation field's value. +func (s *NetworkInputSettings) SetServerValidation(v string) *NetworkInputSettings { + s.ServerValidation = &v + return s +} + +// Reserved resources available for purchase +type Offering struct { + _ struct{} `type:"structure"` + + // Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' + Arn *string `locationName:"arn" type:"string"` + + // Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' + CurrencyCode *string `locationName:"currencyCode" type:"string"` + + // Lease duration, e.g. '12' + Duration *int64 `locationName:"duration" type:"integer"` + + // Units for duration, e.g. 'MONTHS' + DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` + + // One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering + FixedPrice *float64 `locationName:"fixedPrice" type:"double"` + + // Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard + // VQ in US West (Oregon)' + OfferingDescription *string `locationName:"offeringDescription" type:"string"` + + // Unique offering ID, e.g. '87654321' + OfferingId *string `locationName:"offeringId" type:"string"` + + // Offering type, e.g. 'NO_UPFRONT' + OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` + + // AWS region, e.g. 'us-west-2' + Region *string `locationName:"region" type:"string"` + + // Resource configuration details + ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + + // Recurring usage charge for each reserved resource, e.g. '157.0' + UsagePrice *float64 `locationName:"usagePrice" type:"double"` +} + +// String returns the string representation +func (s Offering) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Offering) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Offering) SetArn(v string) *Offering { + s.Arn = &v + return s +} + +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *Offering) SetCurrencyCode(v string) *Offering { + s.CurrencyCode = &v + return s +} + +// SetDuration sets the Duration field's value. +func (s *Offering) SetDuration(v int64) *Offering { + s.Duration = &v + return s +} + +// SetDurationUnits sets the DurationUnits field's value. +func (s *Offering) SetDurationUnits(v string) *Offering { + s.DurationUnits = &v + return s +} + +// SetFixedPrice sets the FixedPrice field's value. +func (s *Offering) SetFixedPrice(v float64) *Offering { + s.FixedPrice = &v + return s +} + +// SetOfferingDescription sets the OfferingDescription field's value. +func (s *Offering) SetOfferingDescription(v string) *Offering { + s.OfferingDescription = &v + return s +} + +// SetOfferingId sets the OfferingId field's value. +func (s *Offering) SetOfferingId(v string) *Offering { + s.OfferingId = &v + return s +} + +// SetOfferingType sets the OfferingType field's value. +func (s *Offering) SetOfferingType(v string) *Offering { + s.OfferingType = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *Offering) SetRegion(v string) *Offering { + s.Region = &v + return s +} + +// SetResourceSpecification sets the ResourceSpecification field's value. +func (s *Offering) SetResourceSpecification(v *ReservationResourceSpecification) *Offering { + s.ResourceSpecification = v + return s +} + +// SetUsagePrice sets the UsagePrice field's value. +func (s *Offering) SetUsagePrice(v float64) *Offering { + s.UsagePrice = &v + return s +} + +// Output settings. There can be multiple outputs within a group. +type Output struct { + _ struct{} `type:"structure"` + + // The names of the AudioDescriptions used as audio sources for this output. + AudioDescriptionNames []*string `locationName:"audioDescriptionNames" type:"list"` + + // The names of the CaptionDescriptions used as caption sources for this output. + CaptionDescriptionNames []*string `locationName:"captionDescriptionNames" type:"list"` + + // The name used to identify an output. + OutputName *string `locationName:"outputName" min:"1" type:"string"` + + // Output type-specific settings. + // + // OutputSettings is a required field + OutputSettings *OutputSettings `locationName:"outputSettings" type:"structure" required:"true"` + + // The name of the VideoDescription used as the source for this output. + VideoDescriptionName *string `locationName:"videoDescriptionName" type:"string"` +} + +// String returns the string representation +func (s Output) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Output) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Output) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Output"} + if s.OutputName != nil && len(*s.OutputName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OutputName", 1)) + } + if s.OutputSettings == nil { + invalidParams.Add(request.NewErrParamRequired("OutputSettings")) + } + if s.OutputSettings != nil { + if err := s.OutputSettings.Validate(); err != nil { + invalidParams.AddNested("OutputSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioDescriptionNames sets the AudioDescriptionNames field's value. +func (s *Output) SetAudioDescriptionNames(v []*string) *Output { + s.AudioDescriptionNames = v + return s +} + +// SetCaptionDescriptionNames sets the CaptionDescriptionNames field's value. +func (s *Output) SetCaptionDescriptionNames(v []*string) *Output { + s.CaptionDescriptionNames = v + return s +} + +// SetOutputName sets the OutputName field's value. +func (s *Output) SetOutputName(v string) *Output { + s.OutputName = &v + return s +} + +// SetOutputSettings sets the OutputSettings field's value. +func (s *Output) SetOutputSettings(v *OutputSettings) *Output { + s.OutputSettings = v + return s +} + +// SetVideoDescriptionName sets the VideoDescriptionName field's value. +func (s *Output) SetVideoDescriptionName(v string) *Output { + s.VideoDescriptionName = &v + return s +} + +type OutputDestination struct { + _ struct{} `type:"structure"` + + // User-specified id. This is used in an output group or an output. + Id *string `locationName:"id" type:"string"` + + // Destination settings for output; one for each redundant encoder. + Settings []*OutputDestinationSettings `locationName:"settings" type:"list"` +} + +// String returns the string representation +func (s OutputDestination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputDestination) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *OutputDestination) SetId(v string) *OutputDestination { + s.Id = &v + return s +} + +// SetSettings sets the Settings field's value. +func (s *OutputDestination) SetSettings(v []*OutputDestinationSettings) *OutputDestination { + s.Settings = v + return s +} + +type OutputDestinationSettings struct { + _ struct{} `type:"structure"` + + // key used to extract the password from EC2 Parameter store + PasswordParam *string `locationName:"passwordParam" type:"string"` + + // Stream name for RTMP destinations (URLs of type rtmp://) + StreamName *string `locationName:"streamName" type:"string"` + + // A URL specifying a destination + Url *string `locationName:"url" type:"string"` + + // username for destination + Username *string `locationName:"username" type:"string"` +} + +// String returns the string representation +func (s OutputDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputDestinationSettings) GoString() string { + return s.String() +} + +// SetPasswordParam sets the PasswordParam field's value. +func (s *OutputDestinationSettings) SetPasswordParam(v string) *OutputDestinationSettings { + s.PasswordParam = &v + return s +} + +// SetStreamName sets the StreamName field's value. +func (s *OutputDestinationSettings) SetStreamName(v string) *OutputDestinationSettings { + s.StreamName = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *OutputDestinationSettings) SetUrl(v string) *OutputDestinationSettings { + s.Url = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *OutputDestinationSettings) SetUsername(v string) *OutputDestinationSettings { + s.Username = &v + return s +} + +// Output groups for this Live Event. Output groups contain information about +// where streams should be distributed. +type OutputGroup struct { + _ struct{} `type:"structure"` + + // Custom output group name optionally defined by the user. Only letters, numbers, + // and the underscore character allowed; only 32 characters allowed. + Name *string `locationName:"name" type:"string"` + + // Settings associated with the output group. + // + // OutputGroupSettings is a required field + OutputGroupSettings *OutputGroupSettings `locationName:"outputGroupSettings" type:"structure" required:"true"` + + // Outputs is a required field + Outputs []*Output `locationName:"outputs" type:"list" required:"true"` +} + +// String returns the string representation +func (s OutputGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputGroup) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OutputGroup) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OutputGroup"} + if s.OutputGroupSettings == nil { + invalidParams.Add(request.NewErrParamRequired("OutputGroupSettings")) + } + if s.Outputs == nil { + invalidParams.Add(request.NewErrParamRequired("Outputs")) + } + if s.OutputGroupSettings != nil { + if err := s.OutputGroupSettings.Validate(); err != nil { + invalidParams.AddNested("OutputGroupSettings", err.(request.ErrInvalidParams)) + } + } + if s.Outputs != nil { + for i, v := range s.Outputs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *OutputGroup) SetName(v string) *OutputGroup { + s.Name = &v + return s +} + +// SetOutputGroupSettings sets the OutputGroupSettings field's value. +func (s *OutputGroup) SetOutputGroupSettings(v *OutputGroupSettings) *OutputGroup { + s.OutputGroupSettings = v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *OutputGroup) SetOutputs(v []*Output) *OutputGroup { + s.Outputs = v + return s +} + +type OutputGroupSettings struct { + _ struct{} `type:"structure"` + + ArchiveGroupSettings *ArchiveGroupSettings `locationName:"archiveGroupSettings" type:"structure"` + + // Frame Capture Group Settings + FrameCaptureGroupSettings *FrameCaptureGroupSettings `locationName:"frameCaptureGroupSettings" type:"structure"` + + HlsGroupSettings *HlsGroupSettings `locationName:"hlsGroupSettings" type:"structure"` + + MsSmoothGroupSettings *MsSmoothGroupSettings `locationName:"msSmoothGroupSettings" type:"structure"` + + RtmpGroupSettings *RtmpGroupSettings `locationName:"rtmpGroupSettings" type:"structure"` + + UdpGroupSettings *UdpGroupSettings `locationName:"udpGroupSettings" type:"structure"` +} + +// String returns the string representation +func (s OutputGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputGroupSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OutputGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OutputGroupSettings"} + if s.ArchiveGroupSettings != nil { + if err := s.ArchiveGroupSettings.Validate(); err != nil { + invalidParams.AddNested("ArchiveGroupSettings", err.(request.ErrInvalidParams)) + } + } + if s.FrameCaptureGroupSettings != nil { + if err := s.FrameCaptureGroupSettings.Validate(); err != nil { + invalidParams.AddNested("FrameCaptureGroupSettings", err.(request.ErrInvalidParams)) + } + } + if s.HlsGroupSettings != nil { + if err := s.HlsGroupSettings.Validate(); err != nil { + invalidParams.AddNested("HlsGroupSettings", err.(request.ErrInvalidParams)) + } + } + if s.MsSmoothGroupSettings != nil { + if err := s.MsSmoothGroupSettings.Validate(); err != nil { + invalidParams.AddNested("MsSmoothGroupSettings", err.(request.ErrInvalidParams)) + } + } + if s.RtmpGroupSettings != nil { + if err := s.RtmpGroupSettings.Validate(); err != nil { + invalidParams.AddNested("RtmpGroupSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchiveGroupSettings sets the ArchiveGroupSettings field's value. +func (s *OutputGroupSettings) SetArchiveGroupSettings(v *ArchiveGroupSettings) *OutputGroupSettings { + s.ArchiveGroupSettings = v + return s +} + +// SetFrameCaptureGroupSettings sets the FrameCaptureGroupSettings field's value. +func (s *OutputGroupSettings) SetFrameCaptureGroupSettings(v *FrameCaptureGroupSettings) *OutputGroupSettings { + s.FrameCaptureGroupSettings = v + return s +} + +// SetHlsGroupSettings sets the HlsGroupSettings field's value. +func (s *OutputGroupSettings) SetHlsGroupSettings(v *HlsGroupSettings) *OutputGroupSettings { + s.HlsGroupSettings = v + return s +} + +// SetMsSmoothGroupSettings sets the MsSmoothGroupSettings field's value. +func (s *OutputGroupSettings) SetMsSmoothGroupSettings(v *MsSmoothGroupSettings) *OutputGroupSettings { + s.MsSmoothGroupSettings = v + return s +} + +// SetRtmpGroupSettings sets the RtmpGroupSettings field's value. +func (s *OutputGroupSettings) SetRtmpGroupSettings(v *RtmpGroupSettings) *OutputGroupSettings { + s.RtmpGroupSettings = v + return s +} + +// SetUdpGroupSettings sets the UdpGroupSettings field's value. +func (s *OutputGroupSettings) SetUdpGroupSettings(v *UdpGroupSettings) *OutputGroupSettings { + s.UdpGroupSettings = v + return s +} + +// Reference to an OutputDestination ID defined in the channel +type OutputLocationRef struct { + _ struct{} `type:"structure"` + + DestinationRefId *string `locationName:"destinationRefId" type:"string"` +} + +// String returns the string representation +func (s OutputLocationRef) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputLocationRef) GoString() string { + return s.String() +} + +// SetDestinationRefId sets the DestinationRefId field's value. +func (s *OutputLocationRef) SetDestinationRefId(v string) *OutputLocationRef { + s.DestinationRefId = &v + return s +} + +type OutputSettings struct { + _ struct{} `type:"structure"` + + ArchiveOutputSettings *ArchiveOutputSettings `locationName:"archiveOutputSettings" type:"structure"` + + // Frame Capture Output Settings + FrameCaptureOutputSettings *FrameCaptureOutputSettings `locationName:"frameCaptureOutputSettings" type:"structure"` + + HlsOutputSettings *HlsOutputSettings `locationName:"hlsOutputSettings" type:"structure"` + + MsSmoothOutputSettings *MsSmoothOutputSettings `locationName:"msSmoothOutputSettings" type:"structure"` + + RtmpOutputSettings *RtmpOutputSettings `locationName:"rtmpOutputSettings" type:"structure"` + + UdpOutputSettings *UdpOutputSettings `locationName:"udpOutputSettings" type:"structure"` +} + +// String returns the string representation +func (s OutputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OutputSettings"} + if s.ArchiveOutputSettings != nil { + if err := s.ArchiveOutputSettings.Validate(); err != nil { + invalidParams.AddNested("ArchiveOutputSettings", err.(request.ErrInvalidParams)) + } + } + if s.HlsOutputSettings != nil { + if err := s.HlsOutputSettings.Validate(); err != nil { + invalidParams.AddNested("HlsOutputSettings", err.(request.ErrInvalidParams)) + } + } + if s.RtmpOutputSettings != nil { + if err := s.RtmpOutputSettings.Validate(); err != nil { + invalidParams.AddNested("RtmpOutputSettings", err.(request.ErrInvalidParams)) + } + } + if s.UdpOutputSettings != nil { + if err := s.UdpOutputSettings.Validate(); err != nil { + invalidParams.AddNested("UdpOutputSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchiveOutputSettings sets the ArchiveOutputSettings field's value. +func (s *OutputSettings) SetArchiveOutputSettings(v *ArchiveOutputSettings) *OutputSettings { + s.ArchiveOutputSettings = v + return s +} + +// SetFrameCaptureOutputSettings sets the FrameCaptureOutputSettings field's value. +func (s *OutputSettings) SetFrameCaptureOutputSettings(v *FrameCaptureOutputSettings) *OutputSettings { + s.FrameCaptureOutputSettings = v + return s +} + +// SetHlsOutputSettings sets the HlsOutputSettings field's value. +func (s *OutputSettings) SetHlsOutputSettings(v *HlsOutputSettings) *OutputSettings { + s.HlsOutputSettings = v + return s +} + +// SetMsSmoothOutputSettings sets the MsSmoothOutputSettings field's value. +func (s *OutputSettings) SetMsSmoothOutputSettings(v *MsSmoothOutputSettings) *OutputSettings { + s.MsSmoothOutputSettings = v + return s +} + +// SetRtmpOutputSettings sets the RtmpOutputSettings field's value. +func (s *OutputSettings) SetRtmpOutputSettings(v *RtmpOutputSettings) *OutputSettings { + s.RtmpOutputSettings = v + return s +} + +// SetUdpOutputSettings sets the UdpOutputSettings field's value. +func (s *OutputSettings) SetUdpOutputSettings(v *UdpOutputSettings) *OutputSettings { + s.UdpOutputSettings = v + return s +} + +type PassThroughSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PassThroughSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PassThroughSettings) GoString() string { + return s.String() +} + +// Settings for the action to set pause state of a channel. +type PauseStateScheduleActionSettings struct { + _ struct{} `type:"structure"` + + Pipelines []*PipelinePauseStateSettings `locationName:"pipelines" type:"list"` +} + +// String returns the string representation +func (s PauseStateScheduleActionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PauseStateScheduleActionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PauseStateScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PauseStateScheduleActionSettings"} + if s.Pipelines != nil { + for i, v := range s.Pipelines { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Pipelines", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPipelines sets the Pipelines field's value. +func (s *PauseStateScheduleActionSettings) SetPipelines(v []*PipelinePauseStateSettings) *PauseStateScheduleActionSettings { + s.Pipelines = v + return s +} + +// Settings for pausing a pipeline. +type PipelinePauseStateSettings struct { + _ struct{} `type:"structure"` + + // Pipeline ID to pause ("PIPELINE_0" or "PIPELINE_1"). + // + // PipelineId is a required field + PipelineId *string `locationName:"pipelineId" type:"string" required:"true" enum:"PipelineId"` +} + +// String returns the string representation +func (s PipelinePauseStateSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PipelinePauseStateSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PipelinePauseStateSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PipelinePauseStateSettings"} + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPipelineId sets the PipelineId field's value. +func (s *PipelinePauseStateSettings) SetPipelineId(v string) *PipelinePauseStateSettings { + s.PipelineId = &v + return s +} + +type PurchaseOfferingInput struct { + _ struct{} `type:"structure"` + + // Count is a required field + Count *int64 `locationName:"count" min:"1" type:"integer" required:"true"` + + Name *string `locationName:"name" type:"string"` + + // OfferingId is a required field + OfferingId *string `location:"uri" locationName:"offeringId" type:"string" required:"true"` + + RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` + + Start *string `locationName:"start" type:"string"` +} + +// String returns the string representation +func (s PurchaseOfferingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PurchaseOfferingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PurchaseOfferingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PurchaseOfferingInput"} + if s.Count == nil { + invalidParams.Add(request.NewErrParamRequired("Count")) + } + if s.Count != nil && *s.Count < 1 { + invalidParams.Add(request.NewErrParamMinValue("Count", 1)) + } + if s.OfferingId == nil { + invalidParams.Add(request.NewErrParamRequired("OfferingId")) + } + if s.OfferingId != nil && len(*s.OfferingId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OfferingId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCount sets the Count field's value. +func (s *PurchaseOfferingInput) SetCount(v int64) *PurchaseOfferingInput { + s.Count = &v + return s +} + +// SetName sets the Name field's value. +func (s *PurchaseOfferingInput) SetName(v string) *PurchaseOfferingInput { + s.Name = &v + return s +} + +// SetOfferingId sets the OfferingId field's value. +func (s *PurchaseOfferingInput) SetOfferingId(v string) *PurchaseOfferingInput { + s.OfferingId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *PurchaseOfferingInput) SetRequestId(v string) *PurchaseOfferingInput { + s.RequestId = &v + return s +} + +// SetStart sets the Start field's value. +func (s *PurchaseOfferingInput) SetStart(v string) *PurchaseOfferingInput { + s.Start = &v + return s +} + +type PurchaseOfferingOutput struct { + _ struct{} `type:"structure"` + + // Reserved resources available to use + Reservation *Reservation `locationName:"reservation" type:"structure"` +} + +// String returns the string representation +func (s PurchaseOfferingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PurchaseOfferingOutput) GoString() string { + return s.String() +} + +// SetReservation sets the Reservation field's value. +func (s *PurchaseOfferingOutput) SetReservation(v *Reservation) *PurchaseOfferingOutput { + s.Reservation = v + return s +} + +type RemixSettings struct { + _ struct{} `type:"structure"` + + // Mapping of input channels to output channels, with appropriate gain adjustments. + // + // ChannelMappings is a required field + ChannelMappings []*AudioChannelMapping `locationName:"channelMappings" type:"list" required:"true"` + + // Number of input channels to be used. + ChannelsIn *int64 `locationName:"channelsIn" min:"1" type:"integer"` + + // Number of output channels to be produced.Valid values: 1, 2, 4, 6, 8 + ChannelsOut *int64 `locationName:"channelsOut" min:"1" type:"integer"` +} + +// String returns the string representation +func (s RemixSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemixSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemixSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemixSettings"} + if s.ChannelMappings == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelMappings")) + } + if s.ChannelsIn != nil && *s.ChannelsIn < 1 { + invalidParams.Add(request.NewErrParamMinValue("ChannelsIn", 1)) + } + if s.ChannelsOut != nil && *s.ChannelsOut < 1 { + invalidParams.Add(request.NewErrParamMinValue("ChannelsOut", 1)) + } + if s.ChannelMappings != nil { + for i, v := range s.ChannelMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ChannelMappings", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelMappings sets the ChannelMappings field's value. +func (s *RemixSettings) SetChannelMappings(v []*AudioChannelMapping) *RemixSettings { + s.ChannelMappings = v + return s +} + +// SetChannelsIn sets the ChannelsIn field's value. +func (s *RemixSettings) SetChannelsIn(v int64) *RemixSettings { + s.ChannelsIn = &v + return s +} + +// SetChannelsOut sets the ChannelsOut field's value. +func (s *RemixSettings) SetChannelsOut(v int64) *RemixSettings { + s.ChannelsOut = &v + return s +} + +// Reserved resources available to use +type Reservation struct { + _ struct{} `type:"structure"` + + // Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567' + Arn *string `locationName:"arn" type:"string"` + + // Number of reserved resources + Count *int64 `locationName:"count" type:"integer"` + + // Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' + CurrencyCode *string `locationName:"currencyCode" type:"string"` + + // Lease duration, e.g. '12' + Duration *int64 `locationName:"duration" type:"integer"` + + // Units for duration, e.g. 'MONTHS' + DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` + + // Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00' + End *string `locationName:"end" type:"string"` + + // One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering + FixedPrice *float64 `locationName:"fixedPrice" type:"double"` + + // User specified reservation name + Name *string `locationName:"name" type:"string"` + + // Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard + // VQ in US West (Oregon)' + OfferingDescription *string `locationName:"offeringDescription" type:"string"` + + // Unique offering ID, e.g. '87654321' + OfferingId *string `locationName:"offeringId" type:"string"` + + // Offering type, e.g. 'NO_UPFRONT' + OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` + + // AWS region, e.g. 'us-west-2' + Region *string `locationName:"region" type:"string"` + + // Unique reservation ID, e.g. '1234567' + ReservationId *string `locationName:"reservationId" type:"string"` + + // Resource configuration details + ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + + // Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00' + Start *string `locationName:"start" type:"string"` + + // Current state of reservation, e.g. 'ACTIVE' + State *string `locationName:"state" type:"string" enum:"ReservationState"` + + // Recurring usage charge for each reserved resource, e.g. '157.0' + UsagePrice *float64 `locationName:"usagePrice" type:"double"` +} + +// String returns the string representation +func (s Reservation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Reservation) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Reservation) SetArn(v string) *Reservation { + s.Arn = &v + return s +} + +// SetCount sets the Count field's value. +func (s *Reservation) SetCount(v int64) *Reservation { + s.Count = &v + return s +} + +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *Reservation) SetCurrencyCode(v string) *Reservation { + s.CurrencyCode = &v + return s +} + +// SetDuration sets the Duration field's value. +func (s *Reservation) SetDuration(v int64) *Reservation { + s.Duration = &v + return s +} + +// SetDurationUnits sets the DurationUnits field's value. +func (s *Reservation) SetDurationUnits(v string) *Reservation { + s.DurationUnits = &v + return s +} + +// SetEnd sets the End field's value. +func (s *Reservation) SetEnd(v string) *Reservation { + s.End = &v + return s +} + +// SetFixedPrice sets the FixedPrice field's value. +func (s *Reservation) SetFixedPrice(v float64) *Reservation { + s.FixedPrice = &v + return s +} + +// SetName sets the Name field's value. +func (s *Reservation) SetName(v string) *Reservation { + s.Name = &v + return s +} + +// SetOfferingDescription sets the OfferingDescription field's value. +func (s *Reservation) SetOfferingDescription(v string) *Reservation { + s.OfferingDescription = &v + return s +} + +// SetOfferingId sets the OfferingId field's value. +func (s *Reservation) SetOfferingId(v string) *Reservation { + s.OfferingId = &v + return s +} + +// SetOfferingType sets the OfferingType field's value. +func (s *Reservation) SetOfferingType(v string) *Reservation { + s.OfferingType = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *Reservation) SetRegion(v string) *Reservation { + s.Region = &v + return s +} + +// SetReservationId sets the ReservationId field's value. +func (s *Reservation) SetReservationId(v string) *Reservation { + s.ReservationId = &v + return s +} + +// SetResourceSpecification sets the ResourceSpecification field's value. +func (s *Reservation) SetResourceSpecification(v *ReservationResourceSpecification) *Reservation { + s.ResourceSpecification = v + return s +} + +// SetStart sets the Start field's value. +func (s *Reservation) SetStart(v string) *Reservation { + s.Start = &v + return s +} + +// SetState sets the State field's value. +func (s *Reservation) SetState(v string) *Reservation { + s.State = &v + return s +} + +// SetUsagePrice sets the UsagePrice field's value. +func (s *Reservation) SetUsagePrice(v float64) *Reservation { + s.UsagePrice = &v + return s +} + +// Resource configuration (codec, resolution, bitrate, ...) +type ReservationResourceSpecification struct { + _ struct{} `type:"structure"` + + // Codec, e.g. 'AVC' + Codec *string `locationName:"codec" type:"string" enum:"ReservationCodec"` + + // Maximum bitrate, e.g. 'MAX_20_MBPS' + MaximumBitrate *string `locationName:"maximumBitrate" type:"string" enum:"ReservationMaximumBitrate"` + + // Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only) + MaximumFramerate *string `locationName:"maximumFramerate" type:"string" enum:"ReservationMaximumFramerate"` + + // Resolution, e.g. 'HD' + Resolution *string `locationName:"resolution" type:"string" enum:"ReservationResolution"` + + // Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL' + ResourceType *string `locationName:"resourceType" type:"string" enum:"ReservationResourceType"` + + // Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) + SpecialFeature *string `locationName:"specialFeature" type:"string" enum:"ReservationSpecialFeature"` + + // Video quality, e.g. 'STANDARD' (Outputs only) + VideoQuality *string `locationName:"videoQuality" type:"string" enum:"ReservationVideoQuality"` +} + +// String returns the string representation +func (s ReservationResourceSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReservationResourceSpecification) GoString() string { + return s.String() +} + +// SetCodec sets the Codec field's value. +func (s *ReservationResourceSpecification) SetCodec(v string) *ReservationResourceSpecification { + s.Codec = &v + return s +} + +// SetMaximumBitrate sets the MaximumBitrate field's value. +func (s *ReservationResourceSpecification) SetMaximumBitrate(v string) *ReservationResourceSpecification { + s.MaximumBitrate = &v + return s +} + +// SetMaximumFramerate sets the MaximumFramerate field's value. +func (s *ReservationResourceSpecification) SetMaximumFramerate(v string) *ReservationResourceSpecification { + s.MaximumFramerate = &v + return s +} + +// SetResolution sets the Resolution field's value. +func (s *ReservationResourceSpecification) SetResolution(v string) *ReservationResourceSpecification { + s.Resolution = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ReservationResourceSpecification) SetResourceType(v string) *ReservationResourceSpecification { + s.ResourceType = &v + return s +} + +// SetSpecialFeature sets the SpecialFeature field's value. +func (s *ReservationResourceSpecification) SetSpecialFeature(v string) *ReservationResourceSpecification { + s.SpecialFeature = &v + return s +} + +// SetVideoQuality sets the VideoQuality field's value. +func (s *ReservationResourceSpecification) SetVideoQuality(v string) *ReservationResourceSpecification { + s.VideoQuality = &v + return s +} + +type RtmpCaptionInfoDestinationSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RtmpCaptionInfoDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RtmpCaptionInfoDestinationSettings) GoString() string { + return s.String() +} + +type RtmpGroupSettings struct { + _ struct{} `type:"structure"` + + // Authentication scheme to use when connecting with CDN + AuthenticationScheme *string `locationName:"authenticationScheme" type:"string" enum:"AuthenticationScheme"` + + // Controls behavior when content cache fills up. If remote origin server stalls + // the RTMP connection and does not accept content fast enough the 'Media Cache' + // will fill up. When the cache reaches the duration specified by cacheLength + // the cache will stop accepting new content. If set to disconnectImmediately, + // the RTMP output will force a disconnect. Clear the media cache, and reconnect + // after restartDelay seconds. If set to waitForServer, the RTMP output will + // wait up to 5 minutes to allow the origin server to begin accepting data again. + CacheFullBehavior *string `locationName:"cacheFullBehavior" type:"string" enum:"RtmpCacheFullBehavior"` + + // Cache length, in seconds, is used to calculate buffer size. + CacheLength *int64 `locationName:"cacheLength" min:"30" type:"integer"` + + // Controls the types of data that passes to onCaptionInfo outputs. If set to + // 'all' then 608 and 708 carried DTVCC data will be passed. If set to 'field1AndField2608' + // then DTVCC data will be stripped out, but 608 data from both fields will + // be passed. If set to 'field1608' then only the data carried in 608 from field + // 1 video will be passed. + CaptionData *string `locationName:"captionData" type:"string" enum:"RtmpCaptionData"` + + // Controls the behavior of this RTMP group if input becomes unavailable.- emitOutput: + // Emit a slate until input returns.- pauseOutput: Stop transmitting data until + // input returns. This does not close the underlying RTMP connection. + InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForRtmpOut"` + + // If a streaming output fails, number of seconds to wait until a restart is + // initiated. A value of 0 means never restart. + RestartDelay *int64 `locationName:"restartDelay" type:"integer"` +} + +// String returns the string representation +func (s RtmpGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RtmpGroupSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RtmpGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RtmpGroupSettings"} + if s.CacheLength != nil && *s.CacheLength < 30 { + invalidParams.Add(request.NewErrParamMinValue("CacheLength", 30)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthenticationScheme sets the AuthenticationScheme field's value. +func (s *RtmpGroupSettings) SetAuthenticationScheme(v string) *RtmpGroupSettings { + s.AuthenticationScheme = &v + return s +} + +// SetCacheFullBehavior sets the CacheFullBehavior field's value. +func (s *RtmpGroupSettings) SetCacheFullBehavior(v string) *RtmpGroupSettings { + s.CacheFullBehavior = &v + return s +} + +// SetCacheLength sets the CacheLength field's value. +func (s *RtmpGroupSettings) SetCacheLength(v int64) *RtmpGroupSettings { + s.CacheLength = &v + return s +} + +// SetCaptionData sets the CaptionData field's value. +func (s *RtmpGroupSettings) SetCaptionData(v string) *RtmpGroupSettings { + s.CaptionData = &v + return s +} + +// SetInputLossAction sets the InputLossAction field's value. +func (s *RtmpGroupSettings) SetInputLossAction(v string) *RtmpGroupSettings { + s.InputLossAction = &v + return s +} + +// SetRestartDelay sets the RestartDelay field's value. +func (s *RtmpGroupSettings) SetRestartDelay(v int64) *RtmpGroupSettings { + s.RestartDelay = &v + return s +} + +type RtmpOutputSettings struct { + _ struct{} `type:"structure"` + + // If set to verifyAuthenticity, verify the tls certificate chain to a trusted + // Certificate Authority (CA). This will cause rtmps outputs with self-signed + // certificates to fail. + CertificateMode *string `locationName:"certificateMode" type:"string" enum:"RtmpOutputCertificateMode"` + + // Number of seconds to wait before retrying a connection to the Flash Media + // server if the connection is lost. + ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" min:"1" type:"integer"` + + // The RTMP endpoint excluding the stream name (eg. rtmp://host/appname). For + // connection to Akamai, a username and password must be supplied. URI fields + // accept format identifiers. + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` + + // Number of retry attempts. + NumRetries *int64 `locationName:"numRetries" type:"integer"` +} + +// String returns the string representation +func (s RtmpOutputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RtmpOutputSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RtmpOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RtmpOutputSettings"} + if s.ConnectionRetryInterval != nil && *s.ConnectionRetryInterval < 1 { + invalidParams.Add(request.NewErrParamMinValue("ConnectionRetryInterval", 1)) + } + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateMode sets the CertificateMode field's value. +func (s *RtmpOutputSettings) SetCertificateMode(v string) *RtmpOutputSettings { + s.CertificateMode = &v + return s +} + +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *RtmpOutputSettings) SetConnectionRetryInterval(v int64) *RtmpOutputSettings { + s.ConnectionRetryInterval = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *RtmpOutputSettings) SetDestination(v *OutputLocationRef) *RtmpOutputSettings { + s.Destination = v + return s +} + +// SetNumRetries sets the NumRetries field's value. +func (s *RtmpOutputSettings) SetNumRetries(v int64) *RtmpOutputSettings { + s.NumRetries = &v + return s +} + +// Contains information on a single schedule action. +type ScheduleAction struct { + _ struct{} `type:"structure"` + + // The name of the action, must be unique within the schedule. This name provides + // the main reference to an action once it is added to the schedule. A name + // is unique if it is no longer in the schedule. The schedule is automatically + // cleaned up to remove actions with a start time of more than 1 hour ago (approximately) + // so at that point a name can be reused. + // + // ActionName is a required field + ActionName *string `locationName:"actionName" type:"string" required:"true"` + + // Settings for this schedule action. + // + // ScheduleActionSettings is a required field + ScheduleActionSettings *ScheduleActionSettings `locationName:"scheduleActionSettings" type:"structure" required:"true"` + + // The time for the action to start in the channel. + // + // ScheduleActionStartSettings is a required field + ScheduleActionStartSettings *ScheduleActionStartSettings `locationName:"scheduleActionStartSettings" type:"structure" required:"true"` +} + +// String returns the string representation +func (s ScheduleAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduleAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScheduleAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScheduleAction"} + if s.ActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ActionName")) + } + if s.ScheduleActionSettings == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduleActionSettings")) + } + if s.ScheduleActionStartSettings == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduleActionStartSettings")) + } + if s.ScheduleActionSettings != nil { + if err := s.ScheduleActionSettings.Validate(); err != nil { + invalidParams.AddNested("ScheduleActionSettings", err.(request.ErrInvalidParams)) + } + } + if s.ScheduleActionStartSettings != nil { + if err := s.ScheduleActionStartSettings.Validate(); err != nil { + invalidParams.AddNested("ScheduleActionStartSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionName sets the ActionName field's value. +func (s *ScheduleAction) SetActionName(v string) *ScheduleAction { + s.ActionName = &v + return s +} + +// SetScheduleActionSettings sets the ScheduleActionSettings field's value. +func (s *ScheduleAction) SetScheduleActionSettings(v *ScheduleActionSettings) *ScheduleAction { + s.ScheduleActionSettings = v + return s +} + +// SetScheduleActionStartSettings sets the ScheduleActionStartSettings field's value. +func (s *ScheduleAction) SetScheduleActionStartSettings(v *ScheduleActionStartSettings) *ScheduleAction { + s.ScheduleActionStartSettings = v + return s +} + +// Holds the settings for a single schedule action. +type ScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // Action to insert HLS metadata + HlsTimedMetadataSettings *HlsTimedMetadataScheduleActionSettings `locationName:"hlsTimedMetadataSettings" type:"structure"` + + // Action to switch the input + InputSwitchSettings *InputSwitchScheduleActionSettings `locationName:"inputSwitchSettings" type:"structure"` + + // Action to pause or unpause one or both channel pipelines + PauseStateSettings *PauseStateScheduleActionSettings `locationName:"pauseStateSettings" type:"structure"` + + // Action to insert SCTE-35 return_to_network message + Scte35ReturnToNetworkSettings *Scte35ReturnToNetworkScheduleActionSettings `locationName:"scte35ReturnToNetworkSettings" type:"structure"` + + // Action to insert SCTE-35 splice_insert message + Scte35SpliceInsertSettings *Scte35SpliceInsertScheduleActionSettings `locationName:"scte35SpliceInsertSettings" type:"structure"` + + // Action to insert SCTE-35 time_signal message + Scte35TimeSignalSettings *Scte35TimeSignalScheduleActionSettings `locationName:"scte35TimeSignalSettings" type:"structure"` + + // Action to activate a static image overlay + StaticImageActivateSettings *StaticImageActivateScheduleActionSettings `locationName:"staticImageActivateSettings" type:"structure"` + + // Action to deactivate a static image overlay + StaticImageDeactivateSettings *StaticImageDeactivateScheduleActionSettings `locationName:"staticImageDeactivateSettings" type:"structure"` +} + +// String returns the string representation +func (s ScheduleActionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduleActionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScheduleActionSettings"} + if s.HlsTimedMetadataSettings != nil { + if err := s.HlsTimedMetadataSettings.Validate(); err != nil { + invalidParams.AddNested("HlsTimedMetadataSettings", err.(request.ErrInvalidParams)) + } + } + if s.InputSwitchSettings != nil { + if err := s.InputSwitchSettings.Validate(); err != nil { + invalidParams.AddNested("InputSwitchSettings", err.(request.ErrInvalidParams)) + } + } + if s.PauseStateSettings != nil { + if err := s.PauseStateSettings.Validate(); err != nil { + invalidParams.AddNested("PauseStateSettings", err.(request.ErrInvalidParams)) + } + } + if s.Scte35ReturnToNetworkSettings != nil { + if err := s.Scte35ReturnToNetworkSettings.Validate(); err != nil { + invalidParams.AddNested("Scte35ReturnToNetworkSettings", err.(request.ErrInvalidParams)) + } + } + if s.Scte35SpliceInsertSettings != nil { + if err := s.Scte35SpliceInsertSettings.Validate(); err != nil { + invalidParams.AddNested("Scte35SpliceInsertSettings", err.(request.ErrInvalidParams)) + } + } + if s.Scte35TimeSignalSettings != nil { + if err := s.Scte35TimeSignalSettings.Validate(); err != nil { + invalidParams.AddNested("Scte35TimeSignalSettings", err.(request.ErrInvalidParams)) + } + } + if s.StaticImageActivateSettings != nil { + if err := s.StaticImageActivateSettings.Validate(); err != nil { + invalidParams.AddNested("StaticImageActivateSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHlsTimedMetadataSettings sets the HlsTimedMetadataSettings field's value. +func (s *ScheduleActionSettings) SetHlsTimedMetadataSettings(v *HlsTimedMetadataScheduleActionSettings) *ScheduleActionSettings { + s.HlsTimedMetadataSettings = v + return s +} + +// SetInputSwitchSettings sets the InputSwitchSettings field's value. +func (s *ScheduleActionSettings) SetInputSwitchSettings(v *InputSwitchScheduleActionSettings) *ScheduleActionSettings { + s.InputSwitchSettings = v + return s +} + +// SetPauseStateSettings sets the PauseStateSettings field's value. +func (s *ScheduleActionSettings) SetPauseStateSettings(v *PauseStateScheduleActionSettings) *ScheduleActionSettings { + s.PauseStateSettings = v + return s +} + +// SetScte35ReturnToNetworkSettings sets the Scte35ReturnToNetworkSettings field's value. +func (s *ScheduleActionSettings) SetScte35ReturnToNetworkSettings(v *Scte35ReturnToNetworkScheduleActionSettings) *ScheduleActionSettings { + s.Scte35ReturnToNetworkSettings = v + return s +} + +// SetScte35SpliceInsertSettings sets the Scte35SpliceInsertSettings field's value. +func (s *ScheduleActionSettings) SetScte35SpliceInsertSettings(v *Scte35SpliceInsertScheduleActionSettings) *ScheduleActionSettings { + s.Scte35SpliceInsertSettings = v + return s +} + +// SetScte35TimeSignalSettings sets the Scte35TimeSignalSettings field's value. +func (s *ScheduleActionSettings) SetScte35TimeSignalSettings(v *Scte35TimeSignalScheduleActionSettings) *ScheduleActionSettings { + s.Scte35TimeSignalSettings = v + return s +} + +// SetStaticImageActivateSettings sets the StaticImageActivateSettings field's value. +func (s *ScheduleActionSettings) SetStaticImageActivateSettings(v *StaticImageActivateScheduleActionSettings) *ScheduleActionSettings { + s.StaticImageActivateSettings = v + return s +} + +// SetStaticImageDeactivateSettings sets the StaticImageDeactivateSettings field's value. +func (s *ScheduleActionSettings) SetStaticImageDeactivateSettings(v *StaticImageDeactivateScheduleActionSettings) *ScheduleActionSettings { + s.StaticImageDeactivateSettings = v + return s +} + +// Settings to specify the start time for an action. +type ScheduleActionStartSettings struct { + _ struct{} `type:"structure"` + + // Holds the start time for the action. + FixedModeScheduleActionStartSettings *FixedModeScheduleActionStartSettings `locationName:"fixedModeScheduleActionStartSettings" type:"structure"` + + // Specifies an action to follow for scheduling this action. + FollowModeScheduleActionStartSettings *FollowModeScheduleActionStartSettings `locationName:"followModeScheduleActionStartSettings" type:"structure"` +} + +// String returns the string representation +func (s ScheduleActionStartSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduleActionStartSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScheduleActionStartSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScheduleActionStartSettings"} + if s.FixedModeScheduleActionStartSettings != nil { + if err := s.FixedModeScheduleActionStartSettings.Validate(); err != nil { + invalidParams.AddNested("FixedModeScheduleActionStartSettings", err.(request.ErrInvalidParams)) + } + } + if s.FollowModeScheduleActionStartSettings != nil { + if err := s.FollowModeScheduleActionStartSettings.Validate(); err != nil { + invalidParams.AddNested("FollowModeScheduleActionStartSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFixedModeScheduleActionStartSettings sets the FixedModeScheduleActionStartSettings field's value. +func (s *ScheduleActionStartSettings) SetFixedModeScheduleActionStartSettings(v *FixedModeScheduleActionStartSettings) *ScheduleActionStartSettings { + s.FixedModeScheduleActionStartSettings = v + return s +} + +// SetFollowModeScheduleActionStartSettings sets the FollowModeScheduleActionStartSettings field's value. +func (s *ScheduleActionStartSettings) SetFollowModeScheduleActionStartSettings(v *FollowModeScheduleActionStartSettings) *ScheduleActionStartSettings { + s.FollowModeScheduleActionStartSettings = v + return s +} + +type Scte20PlusEmbeddedDestinationSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s Scte20PlusEmbeddedDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Scte20PlusEmbeddedDestinationSettings) GoString() string { + return s.String() +} + +type Scte20SourceSettings struct { + _ struct{} `type:"structure"` + + // If upconvert, 608 data is both passed through via the "608 compatibility + // bytes" fields of the 708 wrapper as well as translated into 708. 708 data + // present in the source content will be discarded. + Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"Scte20Convert608To708"` + + // Specifies the 608/708 channel number within the video track from which to + // extract captions. Unused for passthrough. + Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"` +} + +// String returns the string representation +func (s Scte20SourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Scte20SourceSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte20SourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte20SourceSettings"} + if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConvert608To708 sets the Convert608To708 field's value. +func (s *Scte20SourceSettings) SetConvert608To708(v string) *Scte20SourceSettings { + s.Convert608To708 = &v + return s +} + +// SetSource608ChannelNumber sets the Source608ChannelNumber field's value. +func (s *Scte20SourceSettings) SetSource608ChannelNumber(v int64) *Scte20SourceSettings { + s.Source608ChannelNumber = &v + return s +} + +type Scte27DestinationSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s Scte27DestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Scte27DestinationSettings) GoString() string { + return s.String() +} + +type Scte27SourceSettings struct { + _ struct{} `type:"structure"` + + // The pid field is used in conjunction with the caption selector languageCode + // field as follows: - Specify PID and Language: Extracts captions from that + // PID; the language is "informational". - Specify PID and omit Language: Extracts + // the specified PID. - Omit PID and specify Language: Extracts the specified + // language, whichever PID that happens to be. - Omit PID and omit Language: + // Valid only if source is DVB-Sub that is being passed through; all languages + // will be passed through. + Pid *int64 `locationName:"pid" min:"1" type:"integer"` +} + +// String returns the string representation +func (s Scte27SourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Scte27SourceSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte27SourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte27SourceSettings"} + if s.Pid != nil && *s.Pid < 1 { + invalidParams.Add(request.NewErrParamMinValue("Pid", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPid sets the Pid field's value. +func (s *Scte27SourceSettings) SetPid(v int64) *Scte27SourceSettings { + s.Pid = &v + return s +} + +// Corresponds to SCTE-35 delivery_not_restricted_flag parameter. To declare +// delivery restrictions, include this element and its four "restriction" flags. +// To declare that there are no restrictions, omit this element. +type Scte35DeliveryRestrictions struct { + _ struct{} `type:"structure"` + + // Corresponds to SCTE-35 archive_allowed_flag. + // + // ArchiveAllowedFlag is a required field + ArchiveAllowedFlag *string `locationName:"archiveAllowedFlag" type:"string" required:"true" enum:"Scte35ArchiveAllowedFlag"` + + // Corresponds to SCTE-35 device_restrictions parameter. + // + // DeviceRestrictions is a required field + DeviceRestrictions *string `locationName:"deviceRestrictions" type:"string" required:"true" enum:"Scte35DeviceRestrictions"` + + // Corresponds to SCTE-35 no_regional_blackout_flag parameter. + // + // NoRegionalBlackoutFlag is a required field + NoRegionalBlackoutFlag *string `locationName:"noRegionalBlackoutFlag" type:"string" required:"true" enum:"Scte35NoRegionalBlackoutFlag"` + + // Corresponds to SCTE-35 web_delivery_allowed_flag parameter. + // + // WebDeliveryAllowedFlag is a required field + WebDeliveryAllowedFlag *string `locationName:"webDeliveryAllowedFlag" type:"string" required:"true" enum:"Scte35WebDeliveryAllowedFlag"` +} + +// String returns the string representation +func (s Scte35DeliveryRestrictions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Scte35DeliveryRestrictions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte35DeliveryRestrictions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte35DeliveryRestrictions"} + if s.ArchiveAllowedFlag == nil { + invalidParams.Add(request.NewErrParamRequired("ArchiveAllowedFlag")) + } + if s.DeviceRestrictions == nil { + invalidParams.Add(request.NewErrParamRequired("DeviceRestrictions")) + } + if s.NoRegionalBlackoutFlag == nil { + invalidParams.Add(request.NewErrParamRequired("NoRegionalBlackoutFlag")) + } + if s.WebDeliveryAllowedFlag == nil { + invalidParams.Add(request.NewErrParamRequired("WebDeliveryAllowedFlag")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchiveAllowedFlag sets the ArchiveAllowedFlag field's value. +func (s *Scte35DeliveryRestrictions) SetArchiveAllowedFlag(v string) *Scte35DeliveryRestrictions { + s.ArchiveAllowedFlag = &v + return s +} + +// SetDeviceRestrictions sets the DeviceRestrictions field's value. +func (s *Scte35DeliveryRestrictions) SetDeviceRestrictions(v string) *Scte35DeliveryRestrictions { + s.DeviceRestrictions = &v + return s +} + +// SetNoRegionalBlackoutFlag sets the NoRegionalBlackoutFlag field's value. +func (s *Scte35DeliveryRestrictions) SetNoRegionalBlackoutFlag(v string) *Scte35DeliveryRestrictions { + s.NoRegionalBlackoutFlag = &v + return s +} + +// SetWebDeliveryAllowedFlag sets the WebDeliveryAllowedFlag field's value. +func (s *Scte35DeliveryRestrictions) SetWebDeliveryAllowedFlag(v string) *Scte35DeliveryRestrictions { + s.WebDeliveryAllowedFlag = &v + return s +} + +// Holds one set of SCTE-35 Descriptor Settings. +type Scte35Descriptor struct { + _ struct{} `type:"structure"` + + // SCTE-35 Descriptor Settings. + // + // Scte35DescriptorSettings is a required field + Scte35DescriptorSettings *Scte35DescriptorSettings `locationName:"scte35DescriptorSettings" type:"structure" required:"true"` +} + +// String returns the string representation +func (s Scte35Descriptor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Scte35Descriptor) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte35Descriptor) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte35Descriptor"} + if s.Scte35DescriptorSettings == nil { + invalidParams.Add(request.NewErrParamRequired("Scte35DescriptorSettings")) + } + if s.Scte35DescriptorSettings != nil { + if err := s.Scte35DescriptorSettings.Validate(); err != nil { + invalidParams.AddNested("Scte35DescriptorSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScte35DescriptorSettings sets the Scte35DescriptorSettings field's value. +func (s *Scte35Descriptor) SetScte35DescriptorSettings(v *Scte35DescriptorSettings) *Scte35Descriptor { + s.Scte35DescriptorSettings = v + return s +} + +// SCTE-35 Descriptor settings. +type Scte35DescriptorSettings struct { + _ struct{} `type:"structure"` + + // SCTE-35 Segmentation Descriptor. + // + // SegmentationDescriptorScte35DescriptorSettings is a required field + SegmentationDescriptorScte35DescriptorSettings *Scte35SegmentationDescriptor `locationName:"segmentationDescriptorScte35DescriptorSettings" type:"structure" required:"true"` +} + +// String returns the string representation +func (s Scte35DescriptorSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Scte35DescriptorSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte35DescriptorSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte35DescriptorSettings"} + if s.SegmentationDescriptorScte35DescriptorSettings == nil { + invalidParams.Add(request.NewErrParamRequired("SegmentationDescriptorScte35DescriptorSettings")) + } + if s.SegmentationDescriptorScte35DescriptorSettings != nil { + if err := s.SegmentationDescriptorScte35DescriptorSettings.Validate(); err != nil { + invalidParams.AddNested("SegmentationDescriptorScte35DescriptorSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSegmentationDescriptorScte35DescriptorSettings sets the SegmentationDescriptorScte35DescriptorSettings field's value. +func (s *Scte35DescriptorSettings) SetSegmentationDescriptorScte35DescriptorSettings(v *Scte35SegmentationDescriptor) *Scte35DescriptorSettings { + s.SegmentationDescriptorScte35DescriptorSettings = v + return s +} + +// Settings for a SCTE-35 return_to_network message. +type Scte35ReturnToNetworkScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35. + // + // SpliceEventId is a required field + SpliceEventId *int64 `locationName:"spliceEventId" type:"long" required:"true"` +} + +// String returns the string representation +func (s Scte35ReturnToNetworkScheduleActionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Scte35ReturnToNetworkScheduleActionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte35ReturnToNetworkScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte35ReturnToNetworkScheduleActionSettings"} + if s.SpliceEventId == nil { + invalidParams.Add(request.NewErrParamRequired("SpliceEventId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSpliceEventId sets the SpliceEventId field's value. +func (s *Scte35ReturnToNetworkScheduleActionSettings) SetSpliceEventId(v int64) *Scte35ReturnToNetworkScheduleActionSettings { + s.SpliceEventId = &v + return s +} + +// Corresponds to SCTE-35 segmentation_descriptor. +type Scte35SegmentationDescriptor struct { + _ struct{} `type:"structure"` + + // Holds the four SCTE-35 delivery restriction parameters. + DeliveryRestrictions *Scte35DeliveryRestrictions `locationName:"deliveryRestrictions" type:"structure"` + + // Corresponds to SCTE-35 segment_num. A value that is valid for the specified + // segmentation_type_id. + SegmentNum *int64 `locationName:"segmentNum" type:"integer"` + + // Corresponds to SCTE-35 segmentation_event_cancel_indicator. + // + // SegmentationCancelIndicator is a required field + SegmentationCancelIndicator *string `locationName:"segmentationCancelIndicator" type:"string" required:"true" enum:"Scte35SegmentationCancelIndicator"` + + // Corresponds to SCTE-35 segmentation_duration. Optional. The duration for + // the time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the + // seconds by 90,000. Enter time in 90 KHz clock ticks. If you do not enter + // a duration, the time_signal will continue until you insert a cancellation + // message. + SegmentationDuration *int64 `locationName:"segmentationDuration" type:"long"` + + // Corresponds to SCTE-35 segmentation_event_id. + // + // SegmentationEventId is a required field + SegmentationEventId *int64 `locationName:"segmentationEventId" type:"long" required:"true"` + + // Corresponds to SCTE-35 segmentation_type_id. One of the segmentation_type_id + // values listed in the SCTE-35 specification. On the console, enter the ID + // in decimal (for example, "52"). In the CLI, API, or an SDK, enter the ID + // in hex (for example, "0x34") or decimal (for example, "52"). + SegmentationTypeId *int64 `locationName:"segmentationTypeId" type:"integer"` + + // Corresponds to SCTE-35 segmentation_upid. Enter a string containing the hexadecimal + // representation of the characters that make up the SCTE-35 segmentation_upid + // value. Must contain an even number of hex characters. Do not include spaces + // between each hex pair. For example, the ASCII "ADS Information" becomes hex + // "41445320496e666f726d6174696f6e. + SegmentationUpid *string `locationName:"segmentationUpid" type:"string"` + + // Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one + // of the types listed in the SCTE-35 specification, converted to a decimal. + // For example, "0x0C" hex from the specification is "12" in decimal. In the + // CLI, API, or an SDK, enter one of the types listed in the SCTE-35 specification, + // in either hex (for example, "0x0C" ) or in decimal (for example, "12"). + SegmentationUpidType *int64 `locationName:"segmentationUpidType" type:"integer"` + + // Corresponds to SCTE-35 segments_expected. A value that is valid for the specified + // segmentation_type_id. + SegmentsExpected *int64 `locationName:"segmentsExpected" type:"integer"` + + // Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified + // segmentation_type_id. + SubSegmentNum *int64 `locationName:"subSegmentNum" type:"integer"` + + // Corresponds to SCTE-35 sub_segments_expected. A value that is valid for the + // specified segmentation_type_id. + SubSegmentsExpected *int64 `locationName:"subSegmentsExpected" type:"integer"` +} + +// String returns the string representation +func (s Scte35SegmentationDescriptor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Scte35SegmentationDescriptor) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte35SegmentationDescriptor) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte35SegmentationDescriptor"} + if s.SegmentationCancelIndicator == nil { + invalidParams.Add(request.NewErrParamRequired("SegmentationCancelIndicator")) + } + if s.SegmentationEventId == nil { + invalidParams.Add(request.NewErrParamRequired("SegmentationEventId")) + } + if s.DeliveryRestrictions != nil { + if err := s.DeliveryRestrictions.Validate(); err != nil { + invalidParams.AddNested("DeliveryRestrictions", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeliveryRestrictions sets the DeliveryRestrictions field's value. +func (s *Scte35SegmentationDescriptor) SetDeliveryRestrictions(v *Scte35DeliveryRestrictions) *Scte35SegmentationDescriptor { + s.DeliveryRestrictions = v + return s +} + +// SetSegmentNum sets the SegmentNum field's value. +func (s *Scte35SegmentationDescriptor) SetSegmentNum(v int64) *Scte35SegmentationDescriptor { + s.SegmentNum = &v + return s +} + +// SetSegmentationCancelIndicator sets the SegmentationCancelIndicator field's value. +func (s *Scte35SegmentationDescriptor) SetSegmentationCancelIndicator(v string) *Scte35SegmentationDescriptor { + s.SegmentationCancelIndicator = &v + return s +} + +// SetSegmentationDuration sets the SegmentationDuration field's value. +func (s *Scte35SegmentationDescriptor) SetSegmentationDuration(v int64) *Scte35SegmentationDescriptor { + s.SegmentationDuration = &v + return s +} + +// SetSegmentationEventId sets the SegmentationEventId field's value. +func (s *Scte35SegmentationDescriptor) SetSegmentationEventId(v int64) *Scte35SegmentationDescriptor { + s.SegmentationEventId = &v + return s +} + +// SetSegmentationTypeId sets the SegmentationTypeId field's value. +func (s *Scte35SegmentationDescriptor) SetSegmentationTypeId(v int64) *Scte35SegmentationDescriptor { + s.SegmentationTypeId = &v + return s +} + +// SetSegmentationUpid sets the SegmentationUpid field's value. +func (s *Scte35SegmentationDescriptor) SetSegmentationUpid(v string) *Scte35SegmentationDescriptor { + s.SegmentationUpid = &v + return s +} + +// SetSegmentationUpidType sets the SegmentationUpidType field's value. +func (s *Scte35SegmentationDescriptor) SetSegmentationUpidType(v int64) *Scte35SegmentationDescriptor { + s.SegmentationUpidType = &v + return s +} + +// SetSegmentsExpected sets the SegmentsExpected field's value. +func (s *Scte35SegmentationDescriptor) SetSegmentsExpected(v int64) *Scte35SegmentationDescriptor { + s.SegmentsExpected = &v + return s +} + +// SetSubSegmentNum sets the SubSegmentNum field's value. +func (s *Scte35SegmentationDescriptor) SetSubSegmentNum(v int64) *Scte35SegmentationDescriptor { + s.SubSegmentNum = &v + return s +} + +// SetSubSegmentsExpected sets the SubSegmentsExpected field's value. +func (s *Scte35SegmentationDescriptor) SetSubSegmentsExpected(v int64) *Scte35SegmentationDescriptor { + s.SubSegmentsExpected = &v + return s +} + +type Scte35SpliceInsert struct { + _ struct{} `type:"structure"` + + // When specified, this offset (in milliseconds) is added to the input Ad Avail + // PTS time. This only applies to embedded SCTE 104/35 messages and does not + // apply to OOB messages. + AdAvailOffset *int64 `locationName:"adAvailOffset" type:"integer"` + + // When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to + // 0 will no longer trigger blackouts or Ad Avail slates + NoRegionalBlackoutFlag *string `locationName:"noRegionalBlackoutFlag" type:"string" enum:"Scte35SpliceInsertNoRegionalBlackoutBehavior"` + + // When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to + // 0 will no longer trigger blackouts or Ad Avail slates + WebDeliveryAllowedFlag *string `locationName:"webDeliveryAllowedFlag" type:"string" enum:"Scte35SpliceInsertWebDeliveryAllowedBehavior"` +} + +// String returns the string representation +func (s Scte35SpliceInsert) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Scte35SpliceInsert) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte35SpliceInsert) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte35SpliceInsert"} + if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 { + invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdAvailOffset sets the AdAvailOffset field's value. +func (s *Scte35SpliceInsert) SetAdAvailOffset(v int64) *Scte35SpliceInsert { + s.AdAvailOffset = &v + return s +} + +// SetNoRegionalBlackoutFlag sets the NoRegionalBlackoutFlag field's value. +func (s *Scte35SpliceInsert) SetNoRegionalBlackoutFlag(v string) *Scte35SpliceInsert { + s.NoRegionalBlackoutFlag = &v + return s +} + +// SetWebDeliveryAllowedFlag sets the WebDeliveryAllowedFlag field's value. +func (s *Scte35SpliceInsert) SetWebDeliveryAllowedFlag(v string) *Scte35SpliceInsert { + s.WebDeliveryAllowedFlag = &v + return s +} + +// Settings for a SCTE-35 splice_insert message. +type Scte35SpliceInsertScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // Optional, the duration for the splice_insert, in 90 KHz ticks. To convert + // seconds to ticks, multiple the seconds by 90,000. If you enter a duration, + // there is an expectation that the downstream system can read the duration + // and cue in at that time. If you do not enter a duration, the splice_insert + // will continue indefinitely and there is an expectation that you will enter + // a return_to_network to end the splice_insert at the appropriate time. + Duration *int64 `locationName:"duration" type:"long"` + + // The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35. + // + // SpliceEventId is a required field + SpliceEventId *int64 `locationName:"spliceEventId" type:"long" required:"true"` +} + +// String returns the string representation +func (s Scte35SpliceInsertScheduleActionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Scte35SpliceInsertScheduleActionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte35SpliceInsertScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte35SpliceInsertScheduleActionSettings"} + if s.SpliceEventId == nil { + invalidParams.Add(request.NewErrParamRequired("SpliceEventId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDuration sets the Duration field's value. +func (s *Scte35SpliceInsertScheduleActionSettings) SetDuration(v int64) *Scte35SpliceInsertScheduleActionSettings { + s.Duration = &v + return s +} + +// SetSpliceEventId sets the SpliceEventId field's value. +func (s *Scte35SpliceInsertScheduleActionSettings) SetSpliceEventId(v int64) *Scte35SpliceInsertScheduleActionSettings { + s.SpliceEventId = &v + return s +} + +type Scte35TimeSignalApos struct { + _ struct{} `type:"structure"` + + // When specified, this offset (in milliseconds) is added to the input Ad Avail + // PTS time. This only applies to embedded SCTE 104/35 messages and does not + // apply to OOB messages. + AdAvailOffset *int64 `locationName:"adAvailOffset" type:"integer"` + + // When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to + // 0 will no longer trigger blackouts or Ad Avail slates + NoRegionalBlackoutFlag *string `locationName:"noRegionalBlackoutFlag" type:"string" enum:"Scte35AposNoRegionalBlackoutBehavior"` + + // When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to + // 0 will no longer trigger blackouts or Ad Avail slates + WebDeliveryAllowedFlag *string `locationName:"webDeliveryAllowedFlag" type:"string" enum:"Scte35AposWebDeliveryAllowedBehavior"` +} + +// String returns the string representation +func (s Scte35TimeSignalApos) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Scte35TimeSignalApos) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte35TimeSignalApos) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte35TimeSignalApos"} + if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 { + invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdAvailOffset sets the AdAvailOffset field's value. +func (s *Scte35TimeSignalApos) SetAdAvailOffset(v int64) *Scte35TimeSignalApos { + s.AdAvailOffset = &v + return s +} + +// SetNoRegionalBlackoutFlag sets the NoRegionalBlackoutFlag field's value. +func (s *Scte35TimeSignalApos) SetNoRegionalBlackoutFlag(v string) *Scte35TimeSignalApos { + s.NoRegionalBlackoutFlag = &v + return s +} + +// SetWebDeliveryAllowedFlag sets the WebDeliveryAllowedFlag field's value. +func (s *Scte35TimeSignalApos) SetWebDeliveryAllowedFlag(v string) *Scte35TimeSignalApos { + s.WebDeliveryAllowedFlag = &v + return s +} + +// Settings for a SCTE-35 time_signal. +type Scte35TimeSignalScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // The list of SCTE-35 descriptors accompanying the SCTE-35 time_signal. + // + // Scte35Descriptors is a required field + Scte35Descriptors []*Scte35Descriptor `locationName:"scte35Descriptors" type:"list" required:"true"` +} + +// String returns the string representation +func (s Scte35TimeSignalScheduleActionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Scte35TimeSignalScheduleActionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte35TimeSignalScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte35TimeSignalScheduleActionSettings"} + if s.Scte35Descriptors == nil { + invalidParams.Add(request.NewErrParamRequired("Scte35Descriptors")) + } + if s.Scte35Descriptors != nil { + for i, v := range s.Scte35Descriptors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Scte35Descriptors", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScte35Descriptors sets the Scte35Descriptors field's value. +func (s *Scte35TimeSignalScheduleActionSettings) SetScte35Descriptors(v []*Scte35Descriptor) *Scte35TimeSignalScheduleActionSettings { + s.Scte35Descriptors = v + return s +} + +type SmpteTtDestinationSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SmpteTtDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SmpteTtDestinationSettings) GoString() string { + return s.String() +} + +type StandardHlsSettings struct { + _ struct{} `type:"structure"` + + // List all the audio groups that are used with the video output stream. Input + // all the audio GROUP-IDs that are associated to the video, separate by ','. + AudioRenditionSets *string `locationName:"audioRenditionSets" type:"string"` + + // Settings information for the .m3u8 container + // + // M3u8Settings is a required field + M3u8Settings *M3u8Settings `locationName:"m3u8Settings" type:"structure" required:"true"` +} + +// String returns the string representation +func (s StandardHlsSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StandardHlsSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StandardHlsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StandardHlsSettings"} + if s.M3u8Settings == nil { + invalidParams.Add(request.NewErrParamRequired("M3u8Settings")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioRenditionSets sets the AudioRenditionSets field's value. +func (s *StandardHlsSettings) SetAudioRenditionSets(v string) *StandardHlsSettings { + s.AudioRenditionSets = &v + return s +} + +// SetM3u8Settings sets the M3u8Settings field's value. +func (s *StandardHlsSettings) SetM3u8Settings(v *M3u8Settings) *StandardHlsSettings { + s.M3u8Settings = v + return s +} + +type StartChannelInput struct { + _ struct{} `type:"structure"` + + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartChannelInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelId sets the ChannelId field's value. +func (s *StartChannelInput) SetChannelId(v string) *StartChannelInput { + s.ChannelId = &v + return s +} + +type StartChannelOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Destinations []*OutputDestination `locationName:"destinations" type:"list"` + + EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + + EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + + // The log level the user wants for their channel. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + + Name *string `locationName:"name" type:"string"` + + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + RoleArn *string `locationName:"roleArn" type:"string"` + + State *string `locationName:"state" type:"string" enum:"ChannelState"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s StartChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartChannelOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *StartChannelOutput) SetArn(v string) *StartChannelOutput { + s.Arn = &v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *StartChannelOutput) SetDestinations(v []*OutputDestination) *StartChannelOutput { + s.Destinations = v + return s +} + +// SetEgressEndpoints sets the EgressEndpoints field's value. +func (s *StartChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *StartChannelOutput { + s.EgressEndpoints = v + return s +} + +// SetEncoderSettings sets the EncoderSettings field's value. +func (s *StartChannelOutput) SetEncoderSettings(v *EncoderSettings) *StartChannelOutput { + s.EncoderSettings = v + return s +} + +// SetId sets the Id field's value. +func (s *StartChannelOutput) SetId(v string) *StartChannelOutput { + s.Id = &v + return s +} + +// SetInputAttachments sets the InputAttachments field's value. +func (s *StartChannelOutput) SetInputAttachments(v []*InputAttachment) *StartChannelOutput { + s.InputAttachments = v + return s +} + +// SetInputSpecification sets the InputSpecification field's value. +func (s *StartChannelOutput) SetInputSpecification(v *InputSpecification) *StartChannelOutput { + s.InputSpecification = v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *StartChannelOutput) SetLogLevel(v string) *StartChannelOutput { + s.LogLevel = &v + return s +} + +// SetName sets the Name field's value. +func (s *StartChannelOutput) SetName(v string) *StartChannelOutput { + s.Name = &v + return s +} + +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *StartChannelOutput) SetPipelinesRunningCount(v int64) *StartChannelOutput { + s.PipelinesRunningCount = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *StartChannelOutput) SetRoleArn(v string) *StartChannelOutput { + s.RoleArn = &v + return s +} + +// SetState sets the State field's value. +func (s *StartChannelOutput) SetState(v string) *StartChannelOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StartChannelOutput) SetTags(v map[string]*string) *StartChannelOutput { + s.Tags = v + return s +} + +// Settings for the action to activate a static image. +type StaticImageActivateScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // The duration in milliseconds for the image to remain on the video. If omitted + // or set to 0 the duration is unlimited and the image will remain until it + // is explicitly deactivated. + Duration *int64 `locationName:"duration" type:"integer"` + + // The time in milliseconds for the image to fade in. The fade-in starts at + // the start time of the overlay. Default is 0 (no fade-in). + FadeIn *int64 `locationName:"fadeIn" type:"integer"` + + // Applies only if a duration is specified. The time in milliseconds for the + // image to fade out. The fade-out starts when the duration time is hit, so + // it effectively extends the duration. Default is 0 (no fade-out). + FadeOut *int64 `locationName:"fadeOut" type:"integer"` + + // The height of the image when inserted into the video, in pixels. The overlay + // will be scaled up or down to the specified height. Leave blank to use the + // native height of the overlay. + Height *int64 `locationName:"height" min:"1" type:"integer"` + + // The location and filename of the image file to overlay on the video. The + // file must be a 32-bit BMP, PNG, or TGA file, and must not be larger (in pixels) + // than the input video. + // + // Image is a required field + Image *InputLocation `locationName:"image" type:"structure" required:"true"` + + // Placement of the left edge of the overlay relative to the left edge of the + // video frame, in pixels. 0 (the default) is the left edge of the frame. If + // the placement causes the overlay to extend beyond the right edge of the underlying + // video, then the overlay is cropped on the right. + ImageX *int64 `locationName:"imageX" type:"integer"` + + // Placement of the top edge of the overlay relative to the top edge of the + // video frame, in pixels. 0 (the default) is the top edge of the frame. If + // the placement causes the overlay to extend beyond the bottom edge of the + // underlying video, then the overlay is cropped on the bottom. + ImageY *int64 `locationName:"imageY" type:"integer"` + + // The number of the layer, 0 to 7. There are 8 layers that can be overlaid + // on the video, each layer with a different image. The layers are in Z order, + // which means that overlays with higher values of layer are inserted on top + // of overlays with lower values of layer. Default is 0. + Layer *int64 `locationName:"layer" type:"integer"` + + // Opacity of image where 0 is transparent and 100 is fully opaque. Default + // is 100. + Opacity *int64 `locationName:"opacity" type:"integer"` + + // The width of the image when inserted into the video, in pixels. The overlay + // will be scaled up or down to the specified width. Leave blank to use the + // native width of the overlay. + Width *int64 `locationName:"width" min:"1" type:"integer"` +} + +// String returns the string representation +func (s StaticImageActivateScheduleActionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StaticImageActivateScheduleActionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StaticImageActivateScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StaticImageActivateScheduleActionSettings"} + if s.Height != nil && *s.Height < 1 { + invalidParams.Add(request.NewErrParamMinValue("Height", 1)) + } + if s.Image == nil { + invalidParams.Add(request.NewErrParamRequired("Image")) + } + if s.Width != nil && *s.Width < 1 { + invalidParams.Add(request.NewErrParamMinValue("Width", 1)) + } + if s.Image != nil { + if err := s.Image.Validate(); err != nil { + invalidParams.AddNested("Image", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDuration sets the Duration field's value. +func (s *StaticImageActivateScheduleActionSettings) SetDuration(v int64) *StaticImageActivateScheduleActionSettings { + s.Duration = &v + return s +} + +// SetFadeIn sets the FadeIn field's value. +func (s *StaticImageActivateScheduleActionSettings) SetFadeIn(v int64) *StaticImageActivateScheduleActionSettings { + s.FadeIn = &v + return s +} + +// SetFadeOut sets the FadeOut field's value. +func (s *StaticImageActivateScheduleActionSettings) SetFadeOut(v int64) *StaticImageActivateScheduleActionSettings { + s.FadeOut = &v + return s +} + +// SetHeight sets the Height field's value. +func (s *StaticImageActivateScheduleActionSettings) SetHeight(v int64) *StaticImageActivateScheduleActionSettings { + s.Height = &v + return s +} + +// SetImage sets the Image field's value. +func (s *StaticImageActivateScheduleActionSettings) SetImage(v *InputLocation) *StaticImageActivateScheduleActionSettings { + s.Image = v + return s +} + +// SetImageX sets the ImageX field's value. +func (s *StaticImageActivateScheduleActionSettings) SetImageX(v int64) *StaticImageActivateScheduleActionSettings { + s.ImageX = &v + return s +} + +// SetImageY sets the ImageY field's value. +func (s *StaticImageActivateScheduleActionSettings) SetImageY(v int64) *StaticImageActivateScheduleActionSettings { + s.ImageY = &v + return s +} + +// SetLayer sets the Layer field's value. +func (s *StaticImageActivateScheduleActionSettings) SetLayer(v int64) *StaticImageActivateScheduleActionSettings { + s.Layer = &v + return s +} + +// SetOpacity sets the Opacity field's value. +func (s *StaticImageActivateScheduleActionSettings) SetOpacity(v int64) *StaticImageActivateScheduleActionSettings { + s.Opacity = &v + return s +} + +// SetWidth sets the Width field's value. +func (s *StaticImageActivateScheduleActionSettings) SetWidth(v int64) *StaticImageActivateScheduleActionSettings { + s.Width = &v + return s +} + +// Settings for the action to deactivate the image in a specific layer. +type StaticImageDeactivateScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // The time in milliseconds for the image to fade out. Default is 0 (no fade-out). + FadeOut *int64 `locationName:"fadeOut" type:"integer"` + + // The image overlay layer to deactivate, 0 to 7. Default is 0. + Layer *int64 `locationName:"layer" type:"integer"` +} + +// String returns the string representation +func (s StaticImageDeactivateScheduleActionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StaticImageDeactivateScheduleActionSettings) GoString() string { + return s.String() +} + +// SetFadeOut sets the FadeOut field's value. +func (s *StaticImageDeactivateScheduleActionSettings) SetFadeOut(v int64) *StaticImageDeactivateScheduleActionSettings { + s.FadeOut = &v + return s +} + +// SetLayer sets the Layer field's value. +func (s *StaticImageDeactivateScheduleActionSettings) SetLayer(v int64) *StaticImageDeactivateScheduleActionSettings { + s.Layer = &v + return s +} + +type StaticKeySettings struct { + _ struct{} `type:"structure"` + + // The URL of the license server used for protecting content. + KeyProviderServer *InputLocation `locationName:"keyProviderServer" type:"structure"` + + // Static key value as a 32 character hexadecimal string. + // + // StaticKeyValue is a required field + StaticKeyValue *string `locationName:"staticKeyValue" min:"32" type:"string" required:"true"` +} + +// String returns the string representation +func (s StaticKeySettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StaticKeySettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StaticKeySettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StaticKeySettings"} + if s.StaticKeyValue == nil { + invalidParams.Add(request.NewErrParamRequired("StaticKeyValue")) + } + if s.StaticKeyValue != nil && len(*s.StaticKeyValue) < 32 { + invalidParams.Add(request.NewErrParamMinLen("StaticKeyValue", 32)) + } + if s.KeyProviderServer != nil { + if err := s.KeyProviderServer.Validate(); err != nil { + invalidParams.AddNested("KeyProviderServer", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyProviderServer sets the KeyProviderServer field's value. +func (s *StaticKeySettings) SetKeyProviderServer(v *InputLocation) *StaticKeySettings { + s.KeyProviderServer = v + return s +} + +// SetStaticKeyValue sets the StaticKeyValue field's value. +func (s *StaticKeySettings) SetStaticKeyValue(v string) *StaticKeySettings { + s.StaticKeyValue = &v + return s +} + +type StopChannelInput struct { + _ struct{} `type:"structure"` + + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopChannelInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelId sets the ChannelId field's value. +func (s *StopChannelInput) SetChannelId(v string) *StopChannelInput { + s.ChannelId = &v + return s +} + +type StopChannelOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Destinations []*OutputDestination `locationName:"destinations" type:"list"` + + EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + + EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + + // The log level the user wants for their channel. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + + Name *string `locationName:"name" type:"string"` + + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + RoleArn *string `locationName:"roleArn" type:"string"` + + State *string `locationName:"state" type:"string" enum:"ChannelState"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s StopChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopChannelOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *StopChannelOutput) SetArn(v string) *StopChannelOutput { + s.Arn = &v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *StopChannelOutput) SetDestinations(v []*OutputDestination) *StopChannelOutput { + s.Destinations = v + return s +} + +// SetEgressEndpoints sets the EgressEndpoints field's value. +func (s *StopChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *StopChannelOutput { + s.EgressEndpoints = v + return s +} + +// SetEncoderSettings sets the EncoderSettings field's value. +func (s *StopChannelOutput) SetEncoderSettings(v *EncoderSettings) *StopChannelOutput { + s.EncoderSettings = v + return s +} + +// SetId sets the Id field's value. +func (s *StopChannelOutput) SetId(v string) *StopChannelOutput { + s.Id = &v + return s +} + +// SetInputAttachments sets the InputAttachments field's value. +func (s *StopChannelOutput) SetInputAttachments(v []*InputAttachment) *StopChannelOutput { + s.InputAttachments = v + return s +} + +// SetInputSpecification sets the InputSpecification field's value. +func (s *StopChannelOutput) SetInputSpecification(v *InputSpecification) *StopChannelOutput { + s.InputSpecification = v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *StopChannelOutput) SetLogLevel(v string) *StopChannelOutput { + s.LogLevel = &v + return s +} + +// SetName sets the Name field's value. +func (s *StopChannelOutput) SetName(v string) *StopChannelOutput { + s.Name = &v + return s +} + +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *StopChannelOutput) SetPipelinesRunningCount(v int64) *StopChannelOutput { + s.PipelinesRunningCount = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *StopChannelOutput) SetRoleArn(v string) *StopChannelOutput { + s.RoleArn = &v + return s +} + +// SetState sets the State field's value. +func (s *StopChannelOutput) SetState(v string) *StopChannelOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StopChannelOutput) SetTags(v map[string]*string) *StopChannelOutput { + s.Tags = v + return s +} + +type TeletextDestinationSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TeletextDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TeletextDestinationSettings) GoString() string { + return s.String() +} + +type TeletextSourceSettings struct { + _ struct{} `type:"structure"` + + // Specifies the teletext page number within the data stream from which to extract + // captions. Range of 0x100 (256) to 0x8FF (2303). Unused for passthrough. Should + // be specified as a hexadecimal string with no "0x" prefix. + PageNumber *string `locationName:"pageNumber" type:"string"` +} + +// String returns the string representation +func (s TeletextSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TeletextSourceSettings) GoString() string { + return s.String() +} + +// SetPageNumber sets the PageNumber field's value. +func (s *TeletextSourceSettings) SetPageNumber(v string) *TeletextSourceSettings { + s.PageNumber = &v + return s +} + +type TimecodeConfig struct { + _ struct{} `type:"structure"` + + // Identifies the source for the timecode that will be associated with the events + // outputs.-Embedded (embedded): Initialize the output timecode with timecode + // from the the source. If no embedded timecode is detected in the source, the + // system falls back to using "Start at 0" (zerobased).-System Clock (systemclock): + // Use the UTC time.-Start at 0 (zerobased): The time of the first frame of + // the event will be 00:00:00:00. + // + // Source is a required field + Source *string `locationName:"source" type:"string" required:"true" enum:"TimecodeConfigSource"` + + // Threshold in frames beyond which output timecode is resynchronized to the + // input timecode. Discrepancies below this threshold are permitted to avoid + // unnecessary discontinuities in the output timecode. No timecode sync when + // this is not specified. + SyncThreshold *int64 `locationName:"syncThreshold" min:"1" type:"integer"` +} + +// String returns the string representation +func (s TimecodeConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TimecodeConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TimecodeConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TimecodeConfig"} + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.SyncThreshold != nil && *s.SyncThreshold < 1 { + invalidParams.Add(request.NewErrParamMinValue("SyncThreshold", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSource sets the Source field's value. +func (s *TimecodeConfig) SetSource(v string) *TimecodeConfig { + s.Source = &v + return s +} + +// SetSyncThreshold sets the SyncThreshold field's value. +func (s *TimecodeConfig) SetSyncThreshold(v int64) *TimecodeConfig { + s.SyncThreshold = &v + return s +} + +type TtmlDestinationSettings struct { + _ struct{} `type:"structure"` + + // When set to passthrough, passes through style and position information from + // a TTML-like input source (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or + // TTML output. + StyleControl *string `locationName:"styleControl" type:"string" enum:"TtmlDestinationStyleControl"` +} + +// String returns the string representation +func (s TtmlDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TtmlDestinationSettings) GoString() string { + return s.String() +} + +// SetStyleControl sets the StyleControl field's value. +func (s *TtmlDestinationSettings) SetStyleControl(v string) *TtmlDestinationSettings { + s.StyleControl = &v + return s +} + +type UdpContainerSettings struct { + _ struct{} `type:"structure"` + + M2tsSettings *M2tsSettings `locationName:"m2tsSettings" type:"structure"` +} + +// String returns the string representation +func (s UdpContainerSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UdpContainerSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UdpContainerSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UdpContainerSettings"} + if s.M2tsSettings != nil { + if err := s.M2tsSettings.Validate(); err != nil { + invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetM2tsSettings sets the M2tsSettings field's value. +func (s *UdpContainerSettings) SetM2tsSettings(v *M2tsSettings) *UdpContainerSettings { + s.M2tsSettings = v + return s +} + +type UdpGroupSettings struct { + _ struct{} `type:"structure"` + + // Specifies behavior of last resort when input video is lost, and no more backup + // inputs are available. When dropTs is selected the entire transport stream + // will stop being emitted. When dropProgram is selected the program can be + // dropped from the transport stream (and replaced with null packets to meet + // the TS bitrate requirement). Or, when emitProgram is chosen the transport + // stream will continue to be produced normally with repeat frames, black frames, + // or slate frames substituted for the absent input video. + InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForUdpOut"` + + // Indicates ID3 frame that has the timecode. + TimedMetadataId3Frame *string `locationName:"timedMetadataId3Frame" type:"string" enum:"UdpTimedMetadataId3Frame"` + + // Timed Metadata interval in seconds. + TimedMetadataId3Period *int64 `locationName:"timedMetadataId3Period" type:"integer"` +} + +// String returns the string representation +func (s UdpGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UdpGroupSettings) GoString() string { + return s.String() +} + +// SetInputLossAction sets the InputLossAction field's value. +func (s *UdpGroupSettings) SetInputLossAction(v string) *UdpGroupSettings { + s.InputLossAction = &v + return s +} + +// SetTimedMetadataId3Frame sets the TimedMetadataId3Frame field's value. +func (s *UdpGroupSettings) SetTimedMetadataId3Frame(v string) *UdpGroupSettings { + s.TimedMetadataId3Frame = &v + return s +} + +// SetTimedMetadataId3Period sets the TimedMetadataId3Period field's value. +func (s *UdpGroupSettings) SetTimedMetadataId3Period(v int64) *UdpGroupSettings { + s.TimedMetadataId3Period = &v + return s +} + +type UdpOutputSettings struct { + _ struct{} `type:"structure"` + + // UDP output buffering in milliseconds. Larger values increase latency through + // the transcoder but simultaneously assist the transcoder in maintaining a + // constant, low-jitter UDP/RTP output while accommodating clock recovery, input + // switching, input disruptions, picture reordering, etc. + BufferMsec *int64 `locationName:"bufferMsec" type:"integer"` + + // ContainerSettings is a required field + ContainerSettings *UdpContainerSettings `locationName:"containerSettings" type:"structure" required:"true"` + + // Destination address and port number for RTP or UDP packets. Can be unicast + // or multicast RTP or UDP (eg. rtp://239.10.10.10:5001 or udp://10.100.100.100:5002). + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` + + // Settings for enabling and adjusting Forward Error Correction on UDP outputs. + FecOutputSettings *FecOutputSettings `locationName:"fecOutputSettings" type:"structure"` +} + +// String returns the string representation +func (s UdpOutputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UdpOutputSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UdpOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UdpOutputSettings"} + if s.ContainerSettings == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerSettings")) + } + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.ContainerSettings != nil { + if err := s.ContainerSettings.Validate(); err != nil { + invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams)) + } + } + if s.FecOutputSettings != nil { + if err := s.FecOutputSettings.Validate(); err != nil { + invalidParams.AddNested("FecOutputSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBufferMsec sets the BufferMsec field's value. +func (s *UdpOutputSettings) SetBufferMsec(v int64) *UdpOutputSettings { + s.BufferMsec = &v + return s +} + +// SetContainerSettings sets the ContainerSettings field's value. +func (s *UdpOutputSettings) SetContainerSettings(v *UdpContainerSettings) *UdpOutputSettings { + s.ContainerSettings = v + return s +} + +// SetDestination sets the Destination field's value. +func (s *UdpOutputSettings) SetDestination(v *OutputLocationRef) *UdpOutputSettings { + s.Destination = v + return s +} + +// SetFecOutputSettings sets the FecOutputSettings field's value. +func (s *UdpOutputSettings) SetFecOutputSettings(v *FecOutputSettings) *UdpOutputSettings { + s.FecOutputSettings = v + return s +} + +type UpdateChannelInput struct { + _ struct{} `type:"structure"` + + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` + + Destinations []*OutputDestination `locationName:"destinations" type:"list"` + + EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` + + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + + // The log level the user wants for their channel. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + + Name *string `locationName:"name" type:"string"` + + RoleArn *string `locationName:"roleArn" type:"string"` +} + +// String returns the string representation +func (s UpdateChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateChannelInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + if s.EncoderSettings != nil { + if err := s.EncoderSettings.Validate(); err != nil { + invalidParams.AddNested("EncoderSettings", err.(request.ErrInvalidParams)) + } + } + if s.InputAttachments != nil { + for i, v := range s.InputAttachments { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputAttachments", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelId sets the ChannelId field's value. +func (s *UpdateChannelInput) SetChannelId(v string) *UpdateChannelInput { + s.ChannelId = &v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *UpdateChannelInput) SetDestinations(v []*OutputDestination) *UpdateChannelInput { + s.Destinations = v + return s +} + +// SetEncoderSettings sets the EncoderSettings field's value. +func (s *UpdateChannelInput) SetEncoderSettings(v *EncoderSettings) *UpdateChannelInput { + s.EncoderSettings = v + return s +} + +// SetInputAttachments sets the InputAttachments field's value. +func (s *UpdateChannelInput) SetInputAttachments(v []*InputAttachment) *UpdateChannelInput { + s.InputAttachments = v + return s +} + +// SetInputSpecification sets the InputSpecification field's value. +func (s *UpdateChannelInput) SetInputSpecification(v *InputSpecification) *UpdateChannelInput { + s.InputSpecification = v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *UpdateChannelInput) SetLogLevel(v string) *UpdateChannelInput { + s.LogLevel = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateChannelInput) SetName(v string) *UpdateChannelInput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *UpdateChannelInput) SetRoleArn(v string) *UpdateChannelInput { + s.RoleArn = &v + return s +} + +type UpdateChannelOutput struct { + _ struct{} `type:"structure"` + + Channel *Channel `locationName:"channel" type:"structure"` +} + +// String returns the string representation +func (s UpdateChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateChannelOutput) GoString() string { + return s.String() +} + +// SetChannel sets the Channel field's value. +func (s *UpdateChannelOutput) SetChannel(v *Channel) *UpdateChannelOutput { + s.Channel = v + return s +} + +type UpdateInputInput struct { + _ struct{} `type:"structure"` + + Destinations []*InputDestinationRequest `locationName:"destinations" type:"list"` + + // InputId is a required field + InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"` + + InputSecurityGroups []*string `locationName:"inputSecurityGroups" type:"list"` + + MediaConnectFlows []*MediaConnectFlowRequest `locationName:"mediaConnectFlows" type:"list"` + + Name *string `locationName:"name" type:"string"` + + RoleArn *string `locationName:"roleArn" type:"string"` + + Sources []*InputSourceRequest `locationName:"sources" type:"list"` +} + +// String returns the string representation +func (s UpdateInputInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateInputInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateInputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateInputInput"} + if s.InputId == nil { + invalidParams.Add(request.NewErrParamRequired("InputId")) + } + if s.InputId != nil && len(*s.InputId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinations sets the Destinations field's value. +func (s *UpdateInputInput) SetDestinations(v []*InputDestinationRequest) *UpdateInputInput { + s.Destinations = v + return s +} + +// SetInputId sets the InputId field's value. +func (s *UpdateInputInput) SetInputId(v string) *UpdateInputInput { + s.InputId = &v + return s +} + +// SetInputSecurityGroups sets the InputSecurityGroups field's value. +func (s *UpdateInputInput) SetInputSecurityGroups(v []*string) *UpdateInputInput { + s.InputSecurityGroups = v + return s +} + +// SetMediaConnectFlows sets the MediaConnectFlows field's value. +func (s *UpdateInputInput) SetMediaConnectFlows(v []*MediaConnectFlowRequest) *UpdateInputInput { + s.MediaConnectFlows = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateInputInput) SetName(v string) *UpdateInputInput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *UpdateInputInput) SetRoleArn(v string) *UpdateInputInput { + s.RoleArn = &v + return s +} + +// SetSources sets the Sources field's value. +func (s *UpdateInputInput) SetSources(v []*InputSourceRequest) *UpdateInputInput { + s.Sources = v + return s +} + +type UpdateInputOutput struct { + _ struct{} `type:"structure"` + + Input *Input `locationName:"input" type:"structure"` +} + +// String returns the string representation +func (s UpdateInputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateInputOutput) GoString() string { + return s.String() +} + +// SetInput sets the Input field's value. +func (s *UpdateInputOutput) SetInput(v *Input) *UpdateInputOutput { + s.Input = v + return s +} + +type UpdateInputSecurityGroupInput struct { + _ struct{} `type:"structure"` + + // InputSecurityGroupId is a required field + InputSecurityGroupId *string `location:"uri" locationName:"inputSecurityGroupId" type:"string" required:"true"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + WhitelistRules []*InputWhitelistRuleCidr `locationName:"whitelistRules" type:"list"` +} + +// String returns the string representation +func (s UpdateInputSecurityGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateInputSecurityGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateInputSecurityGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateInputSecurityGroupInput"} + if s.InputSecurityGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId")) + } + if s.InputSecurityGroupId != nil && len(*s.InputSecurityGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputSecurityGroupId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputSecurityGroupId sets the InputSecurityGroupId field's value. +func (s *UpdateInputSecurityGroupInput) SetInputSecurityGroupId(v string) *UpdateInputSecurityGroupInput { + s.InputSecurityGroupId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *UpdateInputSecurityGroupInput) SetTags(v map[string]*string) *UpdateInputSecurityGroupInput { + s.Tags = v + return s +} + +// SetWhitelistRules sets the WhitelistRules field's value. +func (s *UpdateInputSecurityGroupInput) SetWhitelistRules(v []*InputWhitelistRuleCidr) *UpdateInputSecurityGroupInput { + s.WhitelistRules = v + return s +} + +type UpdateInputSecurityGroupOutput struct { + _ struct{} `type:"structure"` + + // An Input Security Group + SecurityGroup *InputSecurityGroup `locationName:"securityGroup" type:"structure"` +} + +// String returns the string representation +func (s UpdateInputSecurityGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateInputSecurityGroupOutput) GoString() string { + return s.String() +} + +// SetSecurityGroup sets the SecurityGroup field's value. +func (s *UpdateInputSecurityGroupOutput) SetSecurityGroup(v *InputSecurityGroup) *UpdateInputSecurityGroupOutput { + s.SecurityGroup = v + return s +} + +type ValidationError struct { + _ struct{} `type:"structure"` + + ElementPath *string `locationName:"elementPath" type:"string"` + + ErrorMessage *string `locationName:"errorMessage" type:"string"` +} + +// String returns the string representation +func (s ValidationError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidationError) GoString() string { + return s.String() +} + +// SetElementPath sets the ElementPath field's value. +func (s *ValidationError) SetElementPath(v string) *ValidationError { + s.ElementPath = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *ValidationError) SetErrorMessage(v string) *ValidationError { + s.ErrorMessage = &v + return s +} + +type VideoCodecSettings struct { + _ struct{} `type:"structure"` + + // Frame Capture Settings + FrameCaptureSettings *FrameCaptureSettings `locationName:"frameCaptureSettings" type:"structure"` + + H264Settings *H264Settings `locationName:"h264Settings" type:"structure"` +} + +// String returns the string representation +func (s VideoCodecSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VideoCodecSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VideoCodecSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VideoCodecSettings"} + if s.FrameCaptureSettings != nil { + if err := s.FrameCaptureSettings.Validate(); err != nil { + invalidParams.AddNested("FrameCaptureSettings", err.(request.ErrInvalidParams)) + } + } + if s.H264Settings != nil { + if err := s.H264Settings.Validate(); err != nil { + invalidParams.AddNested("H264Settings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFrameCaptureSettings sets the FrameCaptureSettings field's value. +func (s *VideoCodecSettings) SetFrameCaptureSettings(v *FrameCaptureSettings) *VideoCodecSettings { + s.FrameCaptureSettings = v + return s +} + +// SetH264Settings sets the H264Settings field's value. +func (s *VideoCodecSettings) SetH264Settings(v *H264Settings) *VideoCodecSettings { + s.H264Settings = v + return s +} + +// Video settings for this stream. +type VideoDescription struct { + _ struct{} `type:"structure"` + + // Video codec settings. + CodecSettings *VideoCodecSettings `locationName:"codecSettings" type:"structure"` + + // Output video height, in pixels. Must be an even number. For most codecs, + // you can leave this field and width blank in order to use the height and width + // (resolution) from the source. Note, however, that leaving blank is not recommended. + // For the Frame Capture codec, height and width are required. + Height *int64 `locationName:"height" type:"integer"` + + // The name of this VideoDescription. Outputs will use this name to uniquely + // identify this Description. Description names should be unique within this + // Live Event. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Indicates how to respond to the AFD values in the input stream. RESPOND causes + // input video to be clipped, depending on the AFD value, input display aspect + // ratio, and output display aspect ratio, and (except for FRAMECAPTURE codec) + // includes the values in the output. PASSTHROUGH (does not apply to FRAMECAPTURE + // codec) ignores the AFD values and includes the values in the output, so input + // video is not clipped. NONE ignores the AFD values and does not include the + // values through to the output, so input video is not clipped. + RespondToAfd *string `locationName:"respondToAfd" type:"string" enum:"VideoDescriptionRespondToAfd"` + + // STRETCHTOOUTPUT configures the output position to stretch the video to the + // specified output resolution (height and width). This option will override + // any position value. DEFAULT may insert black boxes (pillar boxes or letter + // boxes) around the video to provide the specified output resolution. + ScalingBehavior *string `locationName:"scalingBehavior" type:"string" enum:"VideoDescriptionScalingBehavior"` + + // Changes the strength of the anti-alias filter used for scaling. 0 is the + // softest setting, 100 is the sharpest. A setting of 50 is recommended for + // most content. + Sharpness *int64 `locationName:"sharpness" type:"integer"` + + // Output video width, in pixels. Must be an even number. For most codecs, you + // can leave this field and height blank in order to use the height and width + // (resolution) from the source. Note, however, that leaving blank is not recommended. + // For the Frame Capture codec, height and width are required. + Width *int64 `locationName:"width" type:"integer"` +} + +// String returns the string representation +func (s VideoDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VideoDescription) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VideoDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VideoDescription"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.CodecSettings != nil { + if err := s.CodecSettings.Validate(); err != nil { + invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodecSettings sets the CodecSettings field's value. +func (s *VideoDescription) SetCodecSettings(v *VideoCodecSettings) *VideoDescription { + s.CodecSettings = v + return s +} + +// SetHeight sets the Height field's value. +func (s *VideoDescription) SetHeight(v int64) *VideoDescription { + s.Height = &v + return s +} + +// SetName sets the Name field's value. +func (s *VideoDescription) SetName(v string) *VideoDescription { + s.Name = &v + return s +} + +// SetRespondToAfd sets the RespondToAfd field's value. +func (s *VideoDescription) SetRespondToAfd(v string) *VideoDescription { + s.RespondToAfd = &v + return s +} + +// SetScalingBehavior sets the ScalingBehavior field's value. +func (s *VideoDescription) SetScalingBehavior(v string) *VideoDescription { + s.ScalingBehavior = &v + return s +} + +// SetSharpness sets the Sharpness field's value. +func (s *VideoDescription) SetSharpness(v int64) *VideoDescription { + s.Sharpness = &v + return s +} + +// SetWidth sets the Width field's value. +func (s *VideoDescription) SetWidth(v int64) *VideoDescription { + s.Width = &v + return s +} + +// Specifies a particular video stream within an input source. An input may +// have only a single video selector. +type VideoSelector struct { + _ struct{} `type:"structure"` + + // Specifies the colorspace of an input. This setting works in tandem with colorSpaceConversion + // to determine if any conversion will be performed. + ColorSpace *string `locationName:"colorSpace" type:"string" enum:"VideoSelectorColorSpace"` + + // Applies only if colorSpace is a value other than follow. This field controls + // how the value in the colorSpace field will be used. fallback means that when + // the input does include color space data, that data will be used, but when + // the input has no color space data, the value in colorSpace will be used. + // Choose fallback if your input is sometimes missing color space data, but + // when it does have color space data, that data is correct. force means to + // always use the value in colorSpace. Choose force if your input usually has + // no color space data or might have unreliable color space data. + ColorSpaceUsage *string `locationName:"colorSpaceUsage" type:"string" enum:"VideoSelectorColorSpaceUsage"` + + // The video selector settings. + SelectorSettings *VideoSelectorSettings `locationName:"selectorSettings" type:"structure"` +} + +// String returns the string representation +func (s VideoSelector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VideoSelector) GoString() string { + return s.String() +} + +// SetColorSpace sets the ColorSpace field's value. +func (s *VideoSelector) SetColorSpace(v string) *VideoSelector { + s.ColorSpace = &v + return s +} + +// SetColorSpaceUsage sets the ColorSpaceUsage field's value. +func (s *VideoSelector) SetColorSpaceUsage(v string) *VideoSelector { + s.ColorSpaceUsage = &v + return s +} + +// SetSelectorSettings sets the SelectorSettings field's value. +func (s *VideoSelector) SetSelectorSettings(v *VideoSelectorSettings) *VideoSelector { + s.SelectorSettings = v + return s +} + +type VideoSelectorPid struct { + _ struct{} `type:"structure"` + + // Selects a specific PID from within a video source. + Pid *int64 `locationName:"pid" type:"integer"` +} + +// String returns the string representation +func (s VideoSelectorPid) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VideoSelectorPid) GoString() string { + return s.String() +} + +// SetPid sets the Pid field's value. +func (s *VideoSelectorPid) SetPid(v int64) *VideoSelectorPid { + s.Pid = &v + return s +} + +type VideoSelectorProgramId struct { + _ struct{} `type:"structure"` + + // Selects a specific program from within a multi-program transport stream. + // If the program doesn't exist, the first program within the transport stream + // will be selected by default. + ProgramId *int64 `locationName:"programId" type:"integer"` +} + +// String returns the string representation +func (s VideoSelectorProgramId) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VideoSelectorProgramId) GoString() string { + return s.String() +} + +// SetProgramId sets the ProgramId field's value. +func (s *VideoSelectorProgramId) SetProgramId(v int64) *VideoSelectorProgramId { + s.ProgramId = &v + return s +} + +type VideoSelectorSettings struct { + _ struct{} `type:"structure"` + + VideoSelectorPid *VideoSelectorPid `locationName:"videoSelectorPid" type:"structure"` + + VideoSelectorProgramId *VideoSelectorProgramId `locationName:"videoSelectorProgramId" type:"structure"` +} + +// String returns the string representation +func (s VideoSelectorSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VideoSelectorSettings) GoString() string { + return s.String() +} + +// SetVideoSelectorPid sets the VideoSelectorPid field's value. +func (s *VideoSelectorSettings) SetVideoSelectorPid(v *VideoSelectorPid) *VideoSelectorSettings { + s.VideoSelectorPid = v + return s +} + +// SetVideoSelectorProgramId sets the VideoSelectorProgramId field's value. +func (s *VideoSelectorSettings) SetVideoSelectorProgramId(v *VideoSelectorProgramId) *VideoSelectorSettings { + s.VideoSelectorProgramId = v + return s +} + +type WebvttDestinationSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s WebvttDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WebvttDestinationSettings) GoString() string { + return s.String() +} + +const ( + // AacCodingModeAdReceiverMix is a AacCodingMode enum value + AacCodingModeAdReceiverMix = "AD_RECEIVER_MIX" + + // AacCodingModeCodingMode10 is a AacCodingMode enum value + AacCodingModeCodingMode10 = "CODING_MODE_1_0" + + // AacCodingModeCodingMode11 is a AacCodingMode enum value + AacCodingModeCodingMode11 = "CODING_MODE_1_1" + + // AacCodingModeCodingMode20 is a AacCodingMode enum value + AacCodingModeCodingMode20 = "CODING_MODE_2_0" + + // AacCodingModeCodingMode51 is a AacCodingMode enum value + AacCodingModeCodingMode51 = "CODING_MODE_5_1" +) + +const ( + // AacInputTypeBroadcasterMixedAd is a AacInputType enum value + AacInputTypeBroadcasterMixedAd = "BROADCASTER_MIXED_AD" + + // AacInputTypeNormal is a AacInputType enum value + AacInputTypeNormal = "NORMAL" +) + +const ( + // AacProfileHev1 is a AacProfile enum value + AacProfileHev1 = "HEV1" + + // AacProfileHev2 is a AacProfile enum value + AacProfileHev2 = "HEV2" + + // AacProfileLc is a AacProfile enum value + AacProfileLc = "LC" +) + +const ( + // AacRateControlModeCbr is a AacRateControlMode enum value + AacRateControlModeCbr = "CBR" + + // AacRateControlModeVbr is a AacRateControlMode enum value + AacRateControlModeVbr = "VBR" +) + +const ( + // AacRawFormatLatmLoas is a AacRawFormat enum value + AacRawFormatLatmLoas = "LATM_LOAS" + + // AacRawFormatNone is a AacRawFormat enum value + AacRawFormatNone = "NONE" +) + +const ( + // AacSpecMpeg2 is a AacSpec enum value + AacSpecMpeg2 = "MPEG2" + + // AacSpecMpeg4 is a AacSpec enum value + AacSpecMpeg4 = "MPEG4" +) + +const ( + // AacVbrQualityHigh is a AacVbrQuality enum value + AacVbrQualityHigh = "HIGH" + + // AacVbrQualityLow is a AacVbrQuality enum value + AacVbrQualityLow = "LOW" + + // AacVbrQualityMediumHigh is a AacVbrQuality enum value + AacVbrQualityMediumHigh = "MEDIUM_HIGH" + + // AacVbrQualityMediumLow is a AacVbrQuality enum value + AacVbrQualityMediumLow = "MEDIUM_LOW" +) + +const ( + // Ac3BitstreamModeCommentary is a Ac3BitstreamMode enum value + Ac3BitstreamModeCommentary = "COMMENTARY" + + // Ac3BitstreamModeCompleteMain is a Ac3BitstreamMode enum value + Ac3BitstreamModeCompleteMain = "COMPLETE_MAIN" + + // Ac3BitstreamModeDialogue is a Ac3BitstreamMode enum value + Ac3BitstreamModeDialogue = "DIALOGUE" + + // Ac3BitstreamModeEmergency is a Ac3BitstreamMode enum value + Ac3BitstreamModeEmergency = "EMERGENCY" + + // Ac3BitstreamModeHearingImpaired is a Ac3BitstreamMode enum value + Ac3BitstreamModeHearingImpaired = "HEARING_IMPAIRED" + + // Ac3BitstreamModeMusicAndEffects is a Ac3BitstreamMode enum value + Ac3BitstreamModeMusicAndEffects = "MUSIC_AND_EFFECTS" + + // Ac3BitstreamModeVisuallyImpaired is a Ac3BitstreamMode enum value + Ac3BitstreamModeVisuallyImpaired = "VISUALLY_IMPAIRED" + + // Ac3BitstreamModeVoiceOver is a Ac3BitstreamMode enum value + Ac3BitstreamModeVoiceOver = "VOICE_OVER" +) + +const ( + // Ac3CodingModeCodingMode10 is a Ac3CodingMode enum value + Ac3CodingModeCodingMode10 = "CODING_MODE_1_0" + + // Ac3CodingModeCodingMode11 is a Ac3CodingMode enum value + Ac3CodingModeCodingMode11 = "CODING_MODE_1_1" + + // Ac3CodingModeCodingMode20 is a Ac3CodingMode enum value + Ac3CodingModeCodingMode20 = "CODING_MODE_2_0" + + // Ac3CodingModeCodingMode32Lfe is a Ac3CodingMode enum value + Ac3CodingModeCodingMode32Lfe = "CODING_MODE_3_2_LFE" +) + +const ( + // Ac3DrcProfileFilmStandard is a Ac3DrcProfile enum value + Ac3DrcProfileFilmStandard = "FILM_STANDARD" + + // Ac3DrcProfileNone is a Ac3DrcProfile enum value + Ac3DrcProfileNone = "NONE" +) + +const ( + // Ac3LfeFilterDisabled is a Ac3LfeFilter enum value + Ac3LfeFilterDisabled = "DISABLED" + + // Ac3LfeFilterEnabled is a Ac3LfeFilter enum value + Ac3LfeFilterEnabled = "ENABLED" +) + +const ( + // Ac3MetadataControlFollowInput is a Ac3MetadataControl enum value + Ac3MetadataControlFollowInput = "FOLLOW_INPUT" + + // Ac3MetadataControlUseConfigured is a Ac3MetadataControl enum value + Ac3MetadataControlUseConfigured = "USE_CONFIGURED" +) + +const ( + // AfdSignalingAuto is a AfdSignaling enum value + AfdSignalingAuto = "AUTO" + + // AfdSignalingFixed is a AfdSignaling enum value + AfdSignalingFixed = "FIXED" + + // AfdSignalingNone is a AfdSignaling enum value + AfdSignalingNone = "NONE" +) + +const ( + // AudioDescriptionAudioTypeControlFollowInput is a AudioDescriptionAudioTypeControl enum value + AudioDescriptionAudioTypeControlFollowInput = "FOLLOW_INPUT" + + // AudioDescriptionAudioTypeControlUseConfigured is a AudioDescriptionAudioTypeControl enum value + AudioDescriptionAudioTypeControlUseConfigured = "USE_CONFIGURED" +) + +const ( + // AudioDescriptionLanguageCodeControlFollowInput is a AudioDescriptionLanguageCodeControl enum value + AudioDescriptionLanguageCodeControlFollowInput = "FOLLOW_INPUT" + + // AudioDescriptionLanguageCodeControlUseConfigured is a AudioDescriptionLanguageCodeControl enum value + AudioDescriptionLanguageCodeControlUseConfigured = "USE_CONFIGURED" +) + +const ( + // AudioLanguageSelectionPolicyLoose is a AudioLanguageSelectionPolicy enum value + AudioLanguageSelectionPolicyLoose = "LOOSE" + + // AudioLanguageSelectionPolicyStrict is a AudioLanguageSelectionPolicy enum value + AudioLanguageSelectionPolicyStrict = "STRICT" +) + +const ( + // AudioNormalizationAlgorithmItu17701 is a AudioNormalizationAlgorithm enum value + AudioNormalizationAlgorithmItu17701 = "ITU_1770_1" + + // AudioNormalizationAlgorithmItu17702 is a AudioNormalizationAlgorithm enum value + AudioNormalizationAlgorithmItu17702 = "ITU_1770_2" +) + +const ( + // AudioNormalizationAlgorithmControlCorrectAudio is a AudioNormalizationAlgorithmControl enum value + AudioNormalizationAlgorithmControlCorrectAudio = "CORRECT_AUDIO" +) + +const ( + // AudioOnlyHlsTrackTypeAlternateAudioAutoSelect is a AudioOnlyHlsTrackType enum value + AudioOnlyHlsTrackTypeAlternateAudioAutoSelect = "ALTERNATE_AUDIO_AUTO_SELECT" + + // AudioOnlyHlsTrackTypeAlternateAudioAutoSelectDefault is a AudioOnlyHlsTrackType enum value + AudioOnlyHlsTrackTypeAlternateAudioAutoSelectDefault = "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT" + + // AudioOnlyHlsTrackTypeAlternateAudioNotAutoSelect is a AudioOnlyHlsTrackType enum value + AudioOnlyHlsTrackTypeAlternateAudioNotAutoSelect = "ALTERNATE_AUDIO_NOT_AUTO_SELECT" + + // AudioOnlyHlsTrackTypeAudioOnlyVariantStream is a AudioOnlyHlsTrackType enum value + AudioOnlyHlsTrackTypeAudioOnlyVariantStream = "AUDIO_ONLY_VARIANT_STREAM" +) + +const ( + // AudioTypeCleanEffects is a AudioType enum value + AudioTypeCleanEffects = "CLEAN_EFFECTS" + + // AudioTypeHearingImpaired is a AudioType enum value + AudioTypeHearingImpaired = "HEARING_IMPAIRED" + + // AudioTypeUndefined is a AudioType enum value + AudioTypeUndefined = "UNDEFINED" + + // AudioTypeVisualImpairedCommentary is a AudioType enum value + AudioTypeVisualImpairedCommentary = "VISUAL_IMPAIRED_COMMENTARY" +) + +const ( + // AuthenticationSchemeAkamai is a AuthenticationScheme enum value + AuthenticationSchemeAkamai = "AKAMAI" + + // AuthenticationSchemeCommon is a AuthenticationScheme enum value + AuthenticationSchemeCommon = "COMMON" +) + +const ( + // AvailBlankingStateDisabled is a AvailBlankingState enum value + AvailBlankingStateDisabled = "DISABLED" + + // AvailBlankingStateEnabled is a AvailBlankingState enum value + AvailBlankingStateEnabled = "ENABLED" +) + +const ( + // BlackoutSlateNetworkEndBlackoutDisabled is a BlackoutSlateNetworkEndBlackout enum value + BlackoutSlateNetworkEndBlackoutDisabled = "DISABLED" + + // BlackoutSlateNetworkEndBlackoutEnabled is a BlackoutSlateNetworkEndBlackout enum value + BlackoutSlateNetworkEndBlackoutEnabled = "ENABLED" +) + +const ( + // BlackoutSlateStateDisabled is a BlackoutSlateState enum value + BlackoutSlateStateDisabled = "DISABLED" + + // BlackoutSlateStateEnabled is a BlackoutSlateState enum value + BlackoutSlateStateEnabled = "ENABLED" +) + +const ( + // BurnInAlignmentCentered is a BurnInAlignment enum value + BurnInAlignmentCentered = "CENTERED" + + // BurnInAlignmentLeft is a BurnInAlignment enum value + BurnInAlignmentLeft = "LEFT" + + // BurnInAlignmentSmart is a BurnInAlignment enum value + BurnInAlignmentSmart = "SMART" +) + +const ( + // BurnInBackgroundColorBlack is a BurnInBackgroundColor enum value + BurnInBackgroundColorBlack = "BLACK" + + // BurnInBackgroundColorNone is a BurnInBackgroundColor enum value + BurnInBackgroundColorNone = "NONE" + + // BurnInBackgroundColorWhite is a BurnInBackgroundColor enum value + BurnInBackgroundColorWhite = "WHITE" +) + +const ( + // BurnInFontColorBlack is a BurnInFontColor enum value + BurnInFontColorBlack = "BLACK" + + // BurnInFontColorBlue is a BurnInFontColor enum value + BurnInFontColorBlue = "BLUE" + + // BurnInFontColorGreen is a BurnInFontColor enum value + BurnInFontColorGreen = "GREEN" + + // BurnInFontColorRed is a BurnInFontColor enum value + BurnInFontColorRed = "RED" + + // BurnInFontColorWhite is a BurnInFontColor enum value + BurnInFontColorWhite = "WHITE" + + // BurnInFontColorYellow is a BurnInFontColor enum value + BurnInFontColorYellow = "YELLOW" +) + +const ( + // BurnInOutlineColorBlack is a BurnInOutlineColor enum value + BurnInOutlineColorBlack = "BLACK" + + // BurnInOutlineColorBlue is a BurnInOutlineColor enum value + BurnInOutlineColorBlue = "BLUE" + + // BurnInOutlineColorGreen is a BurnInOutlineColor enum value + BurnInOutlineColorGreen = "GREEN" + + // BurnInOutlineColorRed is a BurnInOutlineColor enum value + BurnInOutlineColorRed = "RED" + + // BurnInOutlineColorWhite is a BurnInOutlineColor enum value + BurnInOutlineColorWhite = "WHITE" + + // BurnInOutlineColorYellow is a BurnInOutlineColor enum value + BurnInOutlineColorYellow = "YELLOW" +) + +const ( + // BurnInShadowColorBlack is a BurnInShadowColor enum value + BurnInShadowColorBlack = "BLACK" + + // BurnInShadowColorNone is a BurnInShadowColor enum value + BurnInShadowColorNone = "NONE" + + // BurnInShadowColorWhite is a BurnInShadowColor enum value + BurnInShadowColorWhite = "WHITE" +) + +const ( + // BurnInTeletextGridControlFixed is a BurnInTeletextGridControl enum value + BurnInTeletextGridControlFixed = "FIXED" + + // BurnInTeletextGridControlScaled is a BurnInTeletextGridControl enum value + BurnInTeletextGridControlScaled = "SCALED" +) + +const ( + // ChannelStateCreating is a ChannelState enum value + ChannelStateCreating = "CREATING" + + // ChannelStateCreateFailed is a ChannelState enum value + ChannelStateCreateFailed = "CREATE_FAILED" + + // ChannelStateIdle is a ChannelState enum value + ChannelStateIdle = "IDLE" + + // ChannelStateStarting is a ChannelState enum value + ChannelStateStarting = "STARTING" + + // ChannelStateRunning is a ChannelState enum value + ChannelStateRunning = "RUNNING" + + // ChannelStateRecovering is a ChannelState enum value + ChannelStateRecovering = "RECOVERING" + + // ChannelStateStopping is a ChannelState enum value + ChannelStateStopping = "STOPPING" + + // ChannelStateDeleting is a ChannelState enum value + ChannelStateDeleting = "DELETING" + + // ChannelStateDeleted is a ChannelState enum value + ChannelStateDeleted = "DELETED" +) + +const ( + // DvbSdtOutputSdtSdtFollow is a DvbSdtOutputSdt enum value + DvbSdtOutputSdtSdtFollow = "SDT_FOLLOW" + + // DvbSdtOutputSdtSdtFollowIfPresent is a DvbSdtOutputSdt enum value + DvbSdtOutputSdtSdtFollowIfPresent = "SDT_FOLLOW_IF_PRESENT" + + // DvbSdtOutputSdtSdtManual is a DvbSdtOutputSdt enum value + DvbSdtOutputSdtSdtManual = "SDT_MANUAL" + + // DvbSdtOutputSdtSdtNone is a DvbSdtOutputSdt enum value + DvbSdtOutputSdtSdtNone = "SDT_NONE" +) + +const ( + // DvbSubDestinationAlignmentCentered is a DvbSubDestinationAlignment enum value + DvbSubDestinationAlignmentCentered = "CENTERED" + + // DvbSubDestinationAlignmentLeft is a DvbSubDestinationAlignment enum value + DvbSubDestinationAlignmentLeft = "LEFT" + + // DvbSubDestinationAlignmentSmart is a DvbSubDestinationAlignment enum value + DvbSubDestinationAlignmentSmart = "SMART" +) + +const ( + // DvbSubDestinationBackgroundColorBlack is a DvbSubDestinationBackgroundColor enum value + DvbSubDestinationBackgroundColorBlack = "BLACK" + + // DvbSubDestinationBackgroundColorNone is a DvbSubDestinationBackgroundColor enum value + DvbSubDestinationBackgroundColorNone = "NONE" + + // DvbSubDestinationBackgroundColorWhite is a DvbSubDestinationBackgroundColor enum value + DvbSubDestinationBackgroundColorWhite = "WHITE" +) + +const ( + // DvbSubDestinationFontColorBlack is a DvbSubDestinationFontColor enum value + DvbSubDestinationFontColorBlack = "BLACK" + + // DvbSubDestinationFontColorBlue is a DvbSubDestinationFontColor enum value + DvbSubDestinationFontColorBlue = "BLUE" + + // DvbSubDestinationFontColorGreen is a DvbSubDestinationFontColor enum value + DvbSubDestinationFontColorGreen = "GREEN" + + // DvbSubDestinationFontColorRed is a DvbSubDestinationFontColor enum value + DvbSubDestinationFontColorRed = "RED" + + // DvbSubDestinationFontColorWhite is a DvbSubDestinationFontColor enum value + DvbSubDestinationFontColorWhite = "WHITE" + + // DvbSubDestinationFontColorYellow is a DvbSubDestinationFontColor enum value + DvbSubDestinationFontColorYellow = "YELLOW" +) + +const ( + // DvbSubDestinationOutlineColorBlack is a DvbSubDestinationOutlineColor enum value + DvbSubDestinationOutlineColorBlack = "BLACK" + + // DvbSubDestinationOutlineColorBlue is a DvbSubDestinationOutlineColor enum value + DvbSubDestinationOutlineColorBlue = "BLUE" + + // DvbSubDestinationOutlineColorGreen is a DvbSubDestinationOutlineColor enum value + DvbSubDestinationOutlineColorGreen = "GREEN" + + // DvbSubDestinationOutlineColorRed is a DvbSubDestinationOutlineColor enum value + DvbSubDestinationOutlineColorRed = "RED" + + // DvbSubDestinationOutlineColorWhite is a DvbSubDestinationOutlineColor enum value + DvbSubDestinationOutlineColorWhite = "WHITE" + + // DvbSubDestinationOutlineColorYellow is a DvbSubDestinationOutlineColor enum value + DvbSubDestinationOutlineColorYellow = "YELLOW" +) + +const ( + // DvbSubDestinationShadowColorBlack is a DvbSubDestinationShadowColor enum value + DvbSubDestinationShadowColorBlack = "BLACK" + + // DvbSubDestinationShadowColorNone is a DvbSubDestinationShadowColor enum value + DvbSubDestinationShadowColorNone = "NONE" + + // DvbSubDestinationShadowColorWhite is a DvbSubDestinationShadowColor enum value + DvbSubDestinationShadowColorWhite = "WHITE" +) + +const ( + // DvbSubDestinationTeletextGridControlFixed is a DvbSubDestinationTeletextGridControl enum value + DvbSubDestinationTeletextGridControlFixed = "FIXED" + + // DvbSubDestinationTeletextGridControlScaled is a DvbSubDestinationTeletextGridControl enum value + DvbSubDestinationTeletextGridControlScaled = "SCALED" +) + +const ( + // Eac3AttenuationControlAttenuate3Db is a Eac3AttenuationControl enum value + Eac3AttenuationControlAttenuate3Db = "ATTENUATE_3_DB" + + // Eac3AttenuationControlNone is a Eac3AttenuationControl enum value + Eac3AttenuationControlNone = "NONE" +) + +const ( + // Eac3BitstreamModeCommentary is a Eac3BitstreamMode enum value + Eac3BitstreamModeCommentary = "COMMENTARY" + + // Eac3BitstreamModeCompleteMain is a Eac3BitstreamMode enum value + Eac3BitstreamModeCompleteMain = "COMPLETE_MAIN" + + // Eac3BitstreamModeEmergency is a Eac3BitstreamMode enum value + Eac3BitstreamModeEmergency = "EMERGENCY" + + // Eac3BitstreamModeHearingImpaired is a Eac3BitstreamMode enum value + Eac3BitstreamModeHearingImpaired = "HEARING_IMPAIRED" + + // Eac3BitstreamModeVisuallyImpaired is a Eac3BitstreamMode enum value + Eac3BitstreamModeVisuallyImpaired = "VISUALLY_IMPAIRED" +) + +const ( + // Eac3CodingModeCodingMode10 is a Eac3CodingMode enum value + Eac3CodingModeCodingMode10 = "CODING_MODE_1_0" + + // Eac3CodingModeCodingMode20 is a Eac3CodingMode enum value + Eac3CodingModeCodingMode20 = "CODING_MODE_2_0" + + // Eac3CodingModeCodingMode32 is a Eac3CodingMode enum value + Eac3CodingModeCodingMode32 = "CODING_MODE_3_2" +) + +const ( + // Eac3DcFilterDisabled is a Eac3DcFilter enum value + Eac3DcFilterDisabled = "DISABLED" + + // Eac3DcFilterEnabled is a Eac3DcFilter enum value + Eac3DcFilterEnabled = "ENABLED" +) + +const ( + // Eac3DrcLineFilmLight is a Eac3DrcLine enum value + Eac3DrcLineFilmLight = "FILM_LIGHT" + + // Eac3DrcLineFilmStandard is a Eac3DrcLine enum value + Eac3DrcLineFilmStandard = "FILM_STANDARD" + + // Eac3DrcLineMusicLight is a Eac3DrcLine enum value + Eac3DrcLineMusicLight = "MUSIC_LIGHT" + + // Eac3DrcLineMusicStandard is a Eac3DrcLine enum value + Eac3DrcLineMusicStandard = "MUSIC_STANDARD" + + // Eac3DrcLineNone is a Eac3DrcLine enum value + Eac3DrcLineNone = "NONE" + + // Eac3DrcLineSpeech is a Eac3DrcLine enum value + Eac3DrcLineSpeech = "SPEECH" +) + +const ( + // Eac3DrcRfFilmLight is a Eac3DrcRf enum value + Eac3DrcRfFilmLight = "FILM_LIGHT" + + // Eac3DrcRfFilmStandard is a Eac3DrcRf enum value + Eac3DrcRfFilmStandard = "FILM_STANDARD" + + // Eac3DrcRfMusicLight is a Eac3DrcRf enum value + Eac3DrcRfMusicLight = "MUSIC_LIGHT" + + // Eac3DrcRfMusicStandard is a Eac3DrcRf enum value + Eac3DrcRfMusicStandard = "MUSIC_STANDARD" + + // Eac3DrcRfNone is a Eac3DrcRf enum value + Eac3DrcRfNone = "NONE" + + // Eac3DrcRfSpeech is a Eac3DrcRf enum value + Eac3DrcRfSpeech = "SPEECH" +) + +const ( + // Eac3LfeControlLfe is a Eac3LfeControl enum value + Eac3LfeControlLfe = "LFE" + + // Eac3LfeControlNoLfe is a Eac3LfeControl enum value + Eac3LfeControlNoLfe = "NO_LFE" +) + +const ( + // Eac3LfeFilterDisabled is a Eac3LfeFilter enum value + Eac3LfeFilterDisabled = "DISABLED" + + // Eac3LfeFilterEnabled is a Eac3LfeFilter enum value + Eac3LfeFilterEnabled = "ENABLED" +) + +const ( + // Eac3MetadataControlFollowInput is a Eac3MetadataControl enum value + Eac3MetadataControlFollowInput = "FOLLOW_INPUT" + + // Eac3MetadataControlUseConfigured is a Eac3MetadataControl enum value + Eac3MetadataControlUseConfigured = "USE_CONFIGURED" +) + +const ( + // Eac3PassthroughControlNoPassthrough is a Eac3PassthroughControl enum value + Eac3PassthroughControlNoPassthrough = "NO_PASSTHROUGH" + + // Eac3PassthroughControlWhenPossible is a Eac3PassthroughControl enum value + Eac3PassthroughControlWhenPossible = "WHEN_POSSIBLE" +) + +const ( + // Eac3PhaseControlNoShift is a Eac3PhaseControl enum value + Eac3PhaseControlNoShift = "NO_SHIFT" + + // Eac3PhaseControlShift90Degrees is a Eac3PhaseControl enum value + Eac3PhaseControlShift90Degrees = "SHIFT_90_DEGREES" +) + +const ( + // Eac3StereoDownmixDpl2 is a Eac3StereoDownmix enum value + Eac3StereoDownmixDpl2 = "DPL2" + + // Eac3StereoDownmixLoRo is a Eac3StereoDownmix enum value + Eac3StereoDownmixLoRo = "LO_RO" + + // Eac3StereoDownmixLtRt is a Eac3StereoDownmix enum value + Eac3StereoDownmixLtRt = "LT_RT" + + // Eac3StereoDownmixNotIndicated is a Eac3StereoDownmix enum value + Eac3StereoDownmixNotIndicated = "NOT_INDICATED" +) + +const ( + // Eac3SurroundExModeDisabled is a Eac3SurroundExMode enum value + Eac3SurroundExModeDisabled = "DISABLED" + + // Eac3SurroundExModeEnabled is a Eac3SurroundExMode enum value + Eac3SurroundExModeEnabled = "ENABLED" + + // Eac3SurroundExModeNotIndicated is a Eac3SurroundExMode enum value + Eac3SurroundExModeNotIndicated = "NOT_INDICATED" +) + +const ( + // Eac3SurroundModeDisabled is a Eac3SurroundMode enum value + Eac3SurroundModeDisabled = "DISABLED" + + // Eac3SurroundModeEnabled is a Eac3SurroundMode enum value + Eac3SurroundModeEnabled = "ENABLED" + + // Eac3SurroundModeNotIndicated is a Eac3SurroundMode enum value + Eac3SurroundModeNotIndicated = "NOT_INDICATED" +) + +const ( + // EmbeddedConvert608To708Disabled is a EmbeddedConvert608To708 enum value + EmbeddedConvert608To708Disabled = "DISABLED" + + // EmbeddedConvert608To708Upconvert is a EmbeddedConvert608To708 enum value + EmbeddedConvert608To708Upconvert = "UPCONVERT" +) + +const ( + // EmbeddedScte20DetectionAuto is a EmbeddedScte20Detection enum value + EmbeddedScte20DetectionAuto = "AUTO" + + // EmbeddedScte20DetectionOff is a EmbeddedScte20Detection enum value + EmbeddedScte20DetectionOff = "OFF" +) + +const ( + // FecOutputIncludeFecColumn is a FecOutputIncludeFec enum value + FecOutputIncludeFecColumn = "COLUMN" + + // FecOutputIncludeFecColumnAndRow is a FecOutputIncludeFec enum value + FecOutputIncludeFecColumnAndRow = "COLUMN_AND_ROW" +) + +const ( + // FixedAfdAfd0000 is a FixedAfd enum value + FixedAfdAfd0000 = "AFD_0000" + + // FixedAfdAfd0010 is a FixedAfd enum value + FixedAfdAfd0010 = "AFD_0010" + + // FixedAfdAfd0011 is a FixedAfd enum value + FixedAfdAfd0011 = "AFD_0011" + + // FixedAfdAfd0100 is a FixedAfd enum value + FixedAfdAfd0100 = "AFD_0100" + + // FixedAfdAfd1000 is a FixedAfd enum value + FixedAfdAfd1000 = "AFD_1000" + + // FixedAfdAfd1001 is a FixedAfd enum value + FixedAfdAfd1001 = "AFD_1001" + + // FixedAfdAfd1010 is a FixedAfd enum value + FixedAfdAfd1010 = "AFD_1010" + + // FixedAfdAfd1011 is a FixedAfd enum value + FixedAfdAfd1011 = "AFD_1011" + + // FixedAfdAfd1101 is a FixedAfd enum value + FixedAfdAfd1101 = "AFD_1101" + + // FixedAfdAfd1110 is a FixedAfd enum value + FixedAfdAfd1110 = "AFD_1110" + + // FixedAfdAfd1111 is a FixedAfd enum value + FixedAfdAfd1111 = "AFD_1111" +) + +// Follow reference point. +const ( + // FollowPointEnd is a FollowPoint enum value + FollowPointEnd = "END" + + // FollowPointStart is a FollowPoint enum value + FollowPointStart = "START" +) + +const ( + // GlobalConfigurationInputEndActionNone is a GlobalConfigurationInputEndAction enum value + GlobalConfigurationInputEndActionNone = "NONE" + + // GlobalConfigurationInputEndActionSwitchAndLoopInputs is a GlobalConfigurationInputEndAction enum value + GlobalConfigurationInputEndActionSwitchAndLoopInputs = "SWITCH_AND_LOOP_INPUTS" +) + +const ( + // GlobalConfigurationLowFramerateInputsDisabled is a GlobalConfigurationLowFramerateInputs enum value + GlobalConfigurationLowFramerateInputsDisabled = "DISABLED" + + // GlobalConfigurationLowFramerateInputsEnabled is a GlobalConfigurationLowFramerateInputs enum value + GlobalConfigurationLowFramerateInputsEnabled = "ENABLED" +) + +const ( + // GlobalConfigurationOutputTimingSourceInputClock is a GlobalConfigurationOutputTimingSource enum value + GlobalConfigurationOutputTimingSourceInputClock = "INPUT_CLOCK" + + // GlobalConfigurationOutputTimingSourceSystemClock is a GlobalConfigurationOutputTimingSource enum value + GlobalConfigurationOutputTimingSourceSystemClock = "SYSTEM_CLOCK" +) + +const ( + // H264AdaptiveQuantizationHigh is a H264AdaptiveQuantization enum value + H264AdaptiveQuantizationHigh = "HIGH" + + // H264AdaptiveQuantizationHigher is a H264AdaptiveQuantization enum value + H264AdaptiveQuantizationHigher = "HIGHER" + + // H264AdaptiveQuantizationLow is a H264AdaptiveQuantization enum value + H264AdaptiveQuantizationLow = "LOW" + + // H264AdaptiveQuantizationMax is a H264AdaptiveQuantization enum value + H264AdaptiveQuantizationMax = "MAX" + + // H264AdaptiveQuantizationMedium is a H264AdaptiveQuantization enum value + H264AdaptiveQuantizationMedium = "MEDIUM" + + // H264AdaptiveQuantizationOff is a H264AdaptiveQuantization enum value + H264AdaptiveQuantizationOff = "OFF" +) + +const ( + // H264ColorMetadataIgnore is a H264ColorMetadata enum value + H264ColorMetadataIgnore = "IGNORE" + + // H264ColorMetadataInsert is a H264ColorMetadata enum value + H264ColorMetadataInsert = "INSERT" +) + +const ( + // H264EntropyEncodingCabac is a H264EntropyEncoding enum value + H264EntropyEncodingCabac = "CABAC" + + // H264EntropyEncodingCavlc is a H264EntropyEncoding enum value + H264EntropyEncodingCavlc = "CAVLC" +) + +const ( + // H264FlickerAqDisabled is a H264FlickerAq enum value + H264FlickerAqDisabled = "DISABLED" + + // H264FlickerAqEnabled is a H264FlickerAq enum value + H264FlickerAqEnabled = "ENABLED" +) + +const ( + // H264FramerateControlInitializeFromSource is a H264FramerateControl enum value + H264FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // H264FramerateControlSpecified is a H264FramerateControl enum value + H264FramerateControlSpecified = "SPECIFIED" +) + +const ( + // H264GopBReferenceDisabled is a H264GopBReference enum value + H264GopBReferenceDisabled = "DISABLED" + + // H264GopBReferenceEnabled is a H264GopBReference enum value + H264GopBReferenceEnabled = "ENABLED" +) + +const ( + // H264GopSizeUnitsFrames is a H264GopSizeUnits enum value + H264GopSizeUnitsFrames = "FRAMES" + + // H264GopSizeUnitsSeconds is a H264GopSizeUnits enum value + H264GopSizeUnitsSeconds = "SECONDS" +) + +const ( + // H264LevelH264Level1 is a H264Level enum value + H264LevelH264Level1 = "H264_LEVEL_1" + + // H264LevelH264Level11 is a H264Level enum value + H264LevelH264Level11 = "H264_LEVEL_1_1" + + // H264LevelH264Level12 is a H264Level enum value + H264LevelH264Level12 = "H264_LEVEL_1_2" + + // H264LevelH264Level13 is a H264Level enum value + H264LevelH264Level13 = "H264_LEVEL_1_3" + + // H264LevelH264Level2 is a H264Level enum value + H264LevelH264Level2 = "H264_LEVEL_2" + + // H264LevelH264Level21 is a H264Level enum value + H264LevelH264Level21 = "H264_LEVEL_2_1" + + // H264LevelH264Level22 is a H264Level enum value + H264LevelH264Level22 = "H264_LEVEL_2_2" + + // H264LevelH264Level3 is a H264Level enum value + H264LevelH264Level3 = "H264_LEVEL_3" + + // H264LevelH264Level31 is a H264Level enum value + H264LevelH264Level31 = "H264_LEVEL_3_1" + + // H264LevelH264Level32 is a H264Level enum value + H264LevelH264Level32 = "H264_LEVEL_3_2" + + // H264LevelH264Level4 is a H264Level enum value + H264LevelH264Level4 = "H264_LEVEL_4" + + // H264LevelH264Level41 is a H264Level enum value + H264LevelH264Level41 = "H264_LEVEL_4_1" + + // H264LevelH264Level42 is a H264Level enum value + H264LevelH264Level42 = "H264_LEVEL_4_2" + + // H264LevelH264Level5 is a H264Level enum value + H264LevelH264Level5 = "H264_LEVEL_5" + + // H264LevelH264Level51 is a H264Level enum value + H264LevelH264Level51 = "H264_LEVEL_5_1" + + // H264LevelH264Level52 is a H264Level enum value + H264LevelH264Level52 = "H264_LEVEL_5_2" + + // H264LevelH264LevelAuto is a H264Level enum value + H264LevelH264LevelAuto = "H264_LEVEL_AUTO" +) + +const ( + // H264LookAheadRateControlHigh is a H264LookAheadRateControl enum value + H264LookAheadRateControlHigh = "HIGH" + + // H264LookAheadRateControlLow is a H264LookAheadRateControl enum value + H264LookAheadRateControlLow = "LOW" + + // H264LookAheadRateControlMedium is a H264LookAheadRateControl enum value + H264LookAheadRateControlMedium = "MEDIUM" +) + +const ( + // H264ParControlInitializeFromSource is a H264ParControl enum value + H264ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // H264ParControlSpecified is a H264ParControl enum value + H264ParControlSpecified = "SPECIFIED" +) + +const ( + // H264ProfileBaseline is a H264Profile enum value + H264ProfileBaseline = "BASELINE" + + // H264ProfileHigh is a H264Profile enum value + H264ProfileHigh = "HIGH" + + // H264ProfileHigh10bit is a H264Profile enum value + H264ProfileHigh10bit = "HIGH_10BIT" + + // H264ProfileHigh422 is a H264Profile enum value + H264ProfileHigh422 = "HIGH_422" + + // H264ProfileHigh42210bit is a H264Profile enum value + H264ProfileHigh42210bit = "HIGH_422_10BIT" + + // H264ProfileMain is a H264Profile enum value + H264ProfileMain = "MAIN" +) + +const ( + // H264RateControlModeCbr is a H264RateControlMode enum value + H264RateControlModeCbr = "CBR" + + // H264RateControlModeQvbr is a H264RateControlMode enum value + H264RateControlModeQvbr = "QVBR" + + // H264RateControlModeVbr is a H264RateControlMode enum value + H264RateControlModeVbr = "VBR" +) + +const ( + // H264ScanTypeInterlaced is a H264ScanType enum value + H264ScanTypeInterlaced = "INTERLACED" + + // H264ScanTypeProgressive is a H264ScanType enum value + H264ScanTypeProgressive = "PROGRESSIVE" +) + +const ( + // H264SceneChangeDetectDisabled is a H264SceneChangeDetect enum value + H264SceneChangeDetectDisabled = "DISABLED" + + // H264SceneChangeDetectEnabled is a H264SceneChangeDetect enum value + H264SceneChangeDetectEnabled = "ENABLED" +) + +const ( + // H264SpatialAqDisabled is a H264SpatialAq enum value + H264SpatialAqDisabled = "DISABLED" + + // H264SpatialAqEnabled is a H264SpatialAq enum value + H264SpatialAqEnabled = "ENABLED" +) + +const ( + // H264SubGopLengthDynamic is a H264SubGopLength enum value + H264SubGopLengthDynamic = "DYNAMIC" + + // H264SubGopLengthFixed is a H264SubGopLength enum value + H264SubGopLengthFixed = "FIXED" +) + +const ( + // H264SyntaxDefault is a H264Syntax enum value + H264SyntaxDefault = "DEFAULT" + + // H264SyntaxRp2027 is a H264Syntax enum value + H264SyntaxRp2027 = "RP2027" +) + +const ( + // H264TemporalAqDisabled is a H264TemporalAq enum value + H264TemporalAqDisabled = "DISABLED" + + // H264TemporalAqEnabled is a H264TemporalAq enum value + H264TemporalAqEnabled = "ENABLED" +) + +const ( + // H264TimecodeInsertionBehaviorDisabled is a H264TimecodeInsertionBehavior enum value + H264TimecodeInsertionBehaviorDisabled = "DISABLED" + + // H264TimecodeInsertionBehaviorPicTimingSei is a H264TimecodeInsertionBehavior enum value + H264TimecodeInsertionBehaviorPicTimingSei = "PIC_TIMING_SEI" +) + +const ( + // HlsAdMarkersAdobe is a HlsAdMarkers enum value + HlsAdMarkersAdobe = "ADOBE" + + // HlsAdMarkersElemental is a HlsAdMarkers enum value + HlsAdMarkersElemental = "ELEMENTAL" + + // HlsAdMarkersElementalScte35 is a HlsAdMarkers enum value + HlsAdMarkersElementalScte35 = "ELEMENTAL_SCTE35" +) + +const ( + // HlsAkamaiHttpTransferModeChunked is a HlsAkamaiHttpTransferMode enum value + HlsAkamaiHttpTransferModeChunked = "CHUNKED" + + // HlsAkamaiHttpTransferModeNonChunked is a HlsAkamaiHttpTransferMode enum value + HlsAkamaiHttpTransferModeNonChunked = "NON_CHUNKED" +) + +const ( + // HlsCaptionLanguageSettingInsert is a HlsCaptionLanguageSetting enum value + HlsCaptionLanguageSettingInsert = "INSERT" + + // HlsCaptionLanguageSettingNone is a HlsCaptionLanguageSetting enum value + HlsCaptionLanguageSettingNone = "NONE" + + // HlsCaptionLanguageSettingOmit is a HlsCaptionLanguageSetting enum value + HlsCaptionLanguageSettingOmit = "OMIT" +) + +const ( + // HlsClientCacheDisabled is a HlsClientCache enum value + HlsClientCacheDisabled = "DISABLED" + + // HlsClientCacheEnabled is a HlsClientCache enum value + HlsClientCacheEnabled = "ENABLED" +) + +const ( + // HlsCodecSpecificationRfc4281 is a HlsCodecSpecification enum value + HlsCodecSpecificationRfc4281 = "RFC_4281" + + // HlsCodecSpecificationRfc6381 is a HlsCodecSpecification enum value + HlsCodecSpecificationRfc6381 = "RFC_6381" +) + +const ( + // HlsDirectoryStructureSingleDirectory is a HlsDirectoryStructure enum value + HlsDirectoryStructureSingleDirectory = "SINGLE_DIRECTORY" + + // HlsDirectoryStructureSubdirectoryPerStream is a HlsDirectoryStructure enum value + HlsDirectoryStructureSubdirectoryPerStream = "SUBDIRECTORY_PER_STREAM" +) + +const ( + // HlsEncryptionTypeAes128 is a HlsEncryptionType enum value + HlsEncryptionTypeAes128 = "AES128" + + // HlsEncryptionTypeSampleAes is a HlsEncryptionType enum value + HlsEncryptionTypeSampleAes = "SAMPLE_AES" +) + +const ( + // HlsIvInManifestExclude is a HlsIvInManifest enum value + HlsIvInManifestExclude = "EXCLUDE" + + // HlsIvInManifestInclude is a HlsIvInManifest enum value + HlsIvInManifestInclude = "INCLUDE" +) + +const ( + // HlsIvSourceExplicit is a HlsIvSource enum value + HlsIvSourceExplicit = "EXPLICIT" + + // HlsIvSourceFollowsSegmentNumber is a HlsIvSource enum value + HlsIvSourceFollowsSegmentNumber = "FOLLOWS_SEGMENT_NUMBER" +) + +const ( + // HlsManifestCompressionGzip is a HlsManifestCompression enum value + HlsManifestCompressionGzip = "GZIP" + + // HlsManifestCompressionNone is a HlsManifestCompression enum value + HlsManifestCompressionNone = "NONE" +) + +const ( + // HlsManifestDurationFormatFloatingPoint is a HlsManifestDurationFormat enum value + HlsManifestDurationFormatFloatingPoint = "FLOATING_POINT" + + // HlsManifestDurationFormatInteger is a HlsManifestDurationFormat enum value + HlsManifestDurationFormatInteger = "INTEGER" +) + +const ( + // HlsMediaStoreStorageClassTemporal is a HlsMediaStoreStorageClass enum value + HlsMediaStoreStorageClassTemporal = "TEMPORAL" +) + +const ( + // HlsModeLive is a HlsMode enum value + HlsModeLive = "LIVE" + + // HlsModeVod is a HlsMode enum value + HlsModeVod = "VOD" +) + +const ( + // HlsOutputSelectionManifestsAndSegments is a HlsOutputSelection enum value + HlsOutputSelectionManifestsAndSegments = "MANIFESTS_AND_SEGMENTS" + + // HlsOutputSelectionSegmentsOnly is a HlsOutputSelection enum value + HlsOutputSelectionSegmentsOnly = "SEGMENTS_ONLY" +) + +const ( + // HlsProgramDateTimeExclude is a HlsProgramDateTime enum value + HlsProgramDateTimeExclude = "EXCLUDE" + + // HlsProgramDateTimeInclude is a HlsProgramDateTime enum value + HlsProgramDateTimeInclude = "INCLUDE" +) + +const ( + // HlsRedundantManifestDisabled is a HlsRedundantManifest enum value + HlsRedundantManifestDisabled = "DISABLED" + + // HlsRedundantManifestEnabled is a HlsRedundantManifest enum value + HlsRedundantManifestEnabled = "ENABLED" +) + +const ( + // HlsSegmentationModeUseInputSegmentation is a HlsSegmentationMode enum value + HlsSegmentationModeUseInputSegmentation = "USE_INPUT_SEGMENTATION" + + // HlsSegmentationModeUseSegmentDuration is a HlsSegmentationMode enum value + HlsSegmentationModeUseSegmentDuration = "USE_SEGMENT_DURATION" +) + +const ( + // HlsStreamInfResolutionExclude is a HlsStreamInfResolution enum value + HlsStreamInfResolutionExclude = "EXCLUDE" + + // HlsStreamInfResolutionInclude is a HlsStreamInfResolution enum value + HlsStreamInfResolutionInclude = "INCLUDE" +) + +const ( + // HlsTimedMetadataId3FrameNone is a HlsTimedMetadataId3Frame enum value + HlsTimedMetadataId3FrameNone = "NONE" + + // HlsTimedMetadataId3FramePriv is a HlsTimedMetadataId3Frame enum value + HlsTimedMetadataId3FramePriv = "PRIV" + + // HlsTimedMetadataId3FrameTdrl is a HlsTimedMetadataId3Frame enum value + HlsTimedMetadataId3FrameTdrl = "TDRL" +) + +const ( + // HlsTsFileModeSegmentedFiles is a HlsTsFileMode enum value + HlsTsFileModeSegmentedFiles = "SEGMENTED_FILES" + + // HlsTsFileModeSingleFile is a HlsTsFileMode enum value + HlsTsFileModeSingleFile = "SINGLE_FILE" +) + +const ( + // HlsWebdavHttpTransferModeChunked is a HlsWebdavHttpTransferMode enum value + HlsWebdavHttpTransferModeChunked = "CHUNKED" + + // HlsWebdavHttpTransferModeNonChunked is a HlsWebdavHttpTransferMode enum value + HlsWebdavHttpTransferModeNonChunked = "NON_CHUNKED" +) + +// When set to "standard", an I-Frame only playlist will be written out for +// each video output in the output group. This I-Frame only playlist will contain +// byte range offsets pointing to the I-frame(s) in each segment. +const ( + // IFrameOnlyPlaylistTypeDisabled is a IFrameOnlyPlaylistType enum value + IFrameOnlyPlaylistTypeDisabled = "DISABLED" + + // IFrameOnlyPlaylistTypeStandard is a IFrameOnlyPlaylistType enum value + IFrameOnlyPlaylistTypeStandard = "STANDARD" +) + +// codec in increasing order of complexity +const ( + // InputCodecMpeg2 is a InputCodec enum value + InputCodecMpeg2 = "MPEG2" + + // InputCodecAvc is a InputCodec enum value + InputCodecAvc = "AVC" + + // InputCodecHevc is a InputCodec enum value + InputCodecHevc = "HEVC" +) + +const ( + // InputDeblockFilterDisabled is a InputDeblockFilter enum value + InputDeblockFilterDisabled = "DISABLED" + + // InputDeblockFilterEnabled is a InputDeblockFilter enum value + InputDeblockFilterEnabled = "ENABLED" +) + +const ( + // InputDenoiseFilterDisabled is a InputDenoiseFilter enum value + InputDenoiseFilterDisabled = "DISABLED" + + // InputDenoiseFilterEnabled is a InputDenoiseFilter enum value + InputDenoiseFilterEnabled = "ENABLED" +) + +const ( + // InputFilterAuto is a InputFilter enum value + InputFilterAuto = "AUTO" + + // InputFilterDisabled is a InputFilter enum value + InputFilterDisabled = "DISABLED" + + // InputFilterForced is a InputFilter enum value + InputFilterForced = "FORCED" +) + +const ( + // InputLossActionForHlsOutEmitOutput is a InputLossActionForHlsOut enum value + InputLossActionForHlsOutEmitOutput = "EMIT_OUTPUT" + + // InputLossActionForHlsOutPauseOutput is a InputLossActionForHlsOut enum value + InputLossActionForHlsOutPauseOutput = "PAUSE_OUTPUT" +) + +const ( + // InputLossActionForMsSmoothOutEmitOutput is a InputLossActionForMsSmoothOut enum value + InputLossActionForMsSmoothOutEmitOutput = "EMIT_OUTPUT" + + // InputLossActionForMsSmoothOutPauseOutput is a InputLossActionForMsSmoothOut enum value + InputLossActionForMsSmoothOutPauseOutput = "PAUSE_OUTPUT" +) + +const ( + // InputLossActionForRtmpOutEmitOutput is a InputLossActionForRtmpOut enum value + InputLossActionForRtmpOutEmitOutput = "EMIT_OUTPUT" + + // InputLossActionForRtmpOutPauseOutput is a InputLossActionForRtmpOut enum value + InputLossActionForRtmpOutPauseOutput = "PAUSE_OUTPUT" +) + +const ( + // InputLossActionForUdpOutDropProgram is a InputLossActionForUdpOut enum value + InputLossActionForUdpOutDropProgram = "DROP_PROGRAM" + + // InputLossActionForUdpOutDropTs is a InputLossActionForUdpOut enum value + InputLossActionForUdpOutDropTs = "DROP_TS" + + // InputLossActionForUdpOutEmitProgram is a InputLossActionForUdpOut enum value + InputLossActionForUdpOutEmitProgram = "EMIT_PROGRAM" +) + +const ( + // InputLossImageTypeColor is a InputLossImageType enum value + InputLossImageTypeColor = "COLOR" + + // InputLossImageTypeSlate is a InputLossImageType enum value + InputLossImageTypeSlate = "SLATE" +) + +// Maximum input bitrate in megabits per second. Bitrates up to 50 Mbps are +// supported currently. +const ( + // InputMaximumBitrateMax10Mbps is a InputMaximumBitrate enum value + InputMaximumBitrateMax10Mbps = "MAX_10_MBPS" + + // InputMaximumBitrateMax20Mbps is a InputMaximumBitrate enum value + InputMaximumBitrateMax20Mbps = "MAX_20_MBPS" + + // InputMaximumBitrateMax50Mbps is a InputMaximumBitrate enum value + InputMaximumBitrateMax50Mbps = "MAX_50_MBPS" +) + +// Input resolution based on lines of vertical resolution in the input; SD is +// less than 720 lines, HD is 720 to 1080 lines, UHD is greater than 1080 lines +const ( + // InputResolutionSd is a InputResolution enum value + InputResolutionSd = "SD" + + // InputResolutionHd is a InputResolution enum value + InputResolutionHd = "HD" + + // InputResolutionUhd is a InputResolution enum value + InputResolutionUhd = "UHD" +) + +const ( + // InputSecurityGroupStateIdle is a InputSecurityGroupState enum value + InputSecurityGroupStateIdle = "IDLE" + + // InputSecurityGroupStateInUse is a InputSecurityGroupState enum value + InputSecurityGroupStateInUse = "IN_USE" + + // InputSecurityGroupStateUpdating is a InputSecurityGroupState enum value + InputSecurityGroupStateUpdating = "UPDATING" + + // InputSecurityGroupStateDeleted is a InputSecurityGroupState enum value + InputSecurityGroupStateDeleted = "DELETED" +) + +const ( + // InputSourceEndBehaviorContinue is a InputSourceEndBehavior enum value + InputSourceEndBehaviorContinue = "CONTINUE" + + // InputSourceEndBehaviorLoop is a InputSourceEndBehavior enum value + InputSourceEndBehaviorLoop = "LOOP" +) + +const ( + // InputStateCreating is a InputState enum value + InputStateCreating = "CREATING" + + // InputStateDetached is a InputState enum value + InputStateDetached = "DETACHED" + + // InputStateAttached is a InputState enum value + InputStateAttached = "ATTACHED" + + // InputStateDeleting is a InputState enum value + InputStateDeleting = "DELETING" + + // InputStateDeleted is a InputState enum value + InputStateDeleted = "DELETED" +) + +const ( + // InputTypeUdpPush is a InputType enum value + InputTypeUdpPush = "UDP_PUSH" + + // InputTypeRtpPush is a InputType enum value + InputTypeRtpPush = "RTP_PUSH" + + // InputTypeRtmpPush is a InputType enum value + InputTypeRtmpPush = "RTMP_PUSH" + + // InputTypeRtmpPull is a InputType enum value + InputTypeRtmpPull = "RTMP_PULL" + + // InputTypeUrlPull is a InputType enum value + InputTypeUrlPull = "URL_PULL" + + // InputTypeMp4File is a InputType enum value + InputTypeMp4File = "MP4_FILE" + + // InputTypeMediaconnect is a InputType enum value + InputTypeMediaconnect = "MEDIACONNECT" +) + +// The log level the user wants for their channel. +const ( + // LogLevelError is a LogLevel enum value + LogLevelError = "ERROR" + + // LogLevelWarning is a LogLevel enum value + LogLevelWarning = "WARNING" + + // LogLevelInfo is a LogLevel enum value + LogLevelInfo = "INFO" + + // LogLevelDebug is a LogLevel enum value + LogLevelDebug = "DEBUG" + + // LogLevelDisabled is a LogLevel enum value + LogLevelDisabled = "DISABLED" +) + +const ( + // M2tsAbsentInputAudioBehaviorDrop is a M2tsAbsentInputAudioBehavior enum value + M2tsAbsentInputAudioBehaviorDrop = "DROP" + + // M2tsAbsentInputAudioBehaviorEncodeSilence is a M2tsAbsentInputAudioBehavior enum value + M2tsAbsentInputAudioBehaviorEncodeSilence = "ENCODE_SILENCE" +) + +const ( + // M2tsAribDisabled is a M2tsArib enum value + M2tsAribDisabled = "DISABLED" + + // M2tsAribEnabled is a M2tsArib enum value + M2tsAribEnabled = "ENABLED" +) + +const ( + // M2tsAribCaptionsPidControlAuto is a M2tsAribCaptionsPidControl enum value + M2tsAribCaptionsPidControlAuto = "AUTO" + + // M2tsAribCaptionsPidControlUseConfigured is a M2tsAribCaptionsPidControl enum value + M2tsAribCaptionsPidControlUseConfigured = "USE_CONFIGURED" +) + +const ( + // M2tsAudioBufferModelAtsc is a M2tsAudioBufferModel enum value + M2tsAudioBufferModelAtsc = "ATSC" + + // M2tsAudioBufferModelDvb is a M2tsAudioBufferModel enum value + M2tsAudioBufferModelDvb = "DVB" +) + +const ( + // M2tsAudioIntervalVideoAndFixedIntervals is a M2tsAudioInterval enum value + M2tsAudioIntervalVideoAndFixedIntervals = "VIDEO_AND_FIXED_INTERVALS" + + // M2tsAudioIntervalVideoInterval is a M2tsAudioInterval enum value + M2tsAudioIntervalVideoInterval = "VIDEO_INTERVAL" +) + +const ( + // M2tsAudioStreamTypeAtsc is a M2tsAudioStreamType enum value + M2tsAudioStreamTypeAtsc = "ATSC" + + // M2tsAudioStreamTypeDvb is a M2tsAudioStreamType enum value + M2tsAudioStreamTypeDvb = "DVB" +) + +const ( + // M2tsBufferModelMultiplex is a M2tsBufferModel enum value + M2tsBufferModelMultiplex = "MULTIPLEX" + + // M2tsBufferModelNone is a M2tsBufferModel enum value + M2tsBufferModelNone = "NONE" +) + +const ( + // M2tsCcDescriptorDisabled is a M2tsCcDescriptor enum value + M2tsCcDescriptorDisabled = "DISABLED" + + // M2tsCcDescriptorEnabled is a M2tsCcDescriptor enum value + M2tsCcDescriptorEnabled = "ENABLED" +) + +const ( + // M2tsEbifControlNone is a M2tsEbifControl enum value + M2tsEbifControlNone = "NONE" + + // M2tsEbifControlPassthrough is a M2tsEbifControl enum value + M2tsEbifControlPassthrough = "PASSTHROUGH" +) + +const ( + // M2tsEbpPlacementVideoAndAudioPids is a M2tsEbpPlacement enum value + M2tsEbpPlacementVideoAndAudioPids = "VIDEO_AND_AUDIO_PIDS" + + // M2tsEbpPlacementVideoPid is a M2tsEbpPlacement enum value + M2tsEbpPlacementVideoPid = "VIDEO_PID" +) + +const ( + // M2tsEsRateInPesExclude is a M2tsEsRateInPes enum value + M2tsEsRateInPesExclude = "EXCLUDE" + + // M2tsEsRateInPesInclude is a M2tsEsRateInPes enum value + M2tsEsRateInPesInclude = "INCLUDE" +) + +const ( + // M2tsKlvNone is a M2tsKlv enum value + M2tsKlvNone = "NONE" + + // M2tsKlvPassthrough is a M2tsKlv enum value + M2tsKlvPassthrough = "PASSTHROUGH" +) + +const ( + // M2tsPcrControlConfiguredPcrPeriod is a M2tsPcrControl enum value + M2tsPcrControlConfiguredPcrPeriod = "CONFIGURED_PCR_PERIOD" + + // M2tsPcrControlPcrEveryPesPacket is a M2tsPcrControl enum value + M2tsPcrControlPcrEveryPesPacket = "PCR_EVERY_PES_PACKET" +) + +const ( + // M2tsRateModeCbr is a M2tsRateMode enum value + M2tsRateModeCbr = "CBR" + + // M2tsRateModeVbr is a M2tsRateMode enum value + M2tsRateModeVbr = "VBR" +) + +const ( + // M2tsScte35ControlNone is a M2tsScte35Control enum value + M2tsScte35ControlNone = "NONE" + + // M2tsScte35ControlPassthrough is a M2tsScte35Control enum value + M2tsScte35ControlPassthrough = "PASSTHROUGH" +) + +const ( + // M2tsSegmentationMarkersEbp is a M2tsSegmentationMarkers enum value + M2tsSegmentationMarkersEbp = "EBP" + + // M2tsSegmentationMarkersEbpLegacy is a M2tsSegmentationMarkers enum value + M2tsSegmentationMarkersEbpLegacy = "EBP_LEGACY" + + // M2tsSegmentationMarkersNone is a M2tsSegmentationMarkers enum value + M2tsSegmentationMarkersNone = "NONE" + + // M2tsSegmentationMarkersPsiSegstart is a M2tsSegmentationMarkers enum value + M2tsSegmentationMarkersPsiSegstart = "PSI_SEGSTART" + + // M2tsSegmentationMarkersRaiAdapt is a M2tsSegmentationMarkers enum value + M2tsSegmentationMarkersRaiAdapt = "RAI_ADAPT" + + // M2tsSegmentationMarkersRaiSegstart is a M2tsSegmentationMarkers enum value + M2tsSegmentationMarkersRaiSegstart = "RAI_SEGSTART" +) + +const ( + // M2tsSegmentationStyleMaintainCadence is a M2tsSegmentationStyle enum value + M2tsSegmentationStyleMaintainCadence = "MAINTAIN_CADENCE" + + // M2tsSegmentationStyleResetCadence is a M2tsSegmentationStyle enum value + M2tsSegmentationStyleResetCadence = "RESET_CADENCE" +) + +const ( + // M2tsTimedMetadataBehaviorNoPassthrough is a M2tsTimedMetadataBehavior enum value + M2tsTimedMetadataBehaviorNoPassthrough = "NO_PASSTHROUGH" + + // M2tsTimedMetadataBehaviorPassthrough is a M2tsTimedMetadataBehavior enum value + M2tsTimedMetadataBehaviorPassthrough = "PASSTHROUGH" +) + +const ( + // M3u8PcrControlConfiguredPcrPeriod is a M3u8PcrControl enum value + M3u8PcrControlConfiguredPcrPeriod = "CONFIGURED_PCR_PERIOD" + + // M3u8PcrControlPcrEveryPesPacket is a M3u8PcrControl enum value + M3u8PcrControlPcrEveryPesPacket = "PCR_EVERY_PES_PACKET" +) + +const ( + // M3u8Scte35BehaviorNoPassthrough is a M3u8Scte35Behavior enum value + M3u8Scte35BehaviorNoPassthrough = "NO_PASSTHROUGH" + + // M3u8Scte35BehaviorPassthrough is a M3u8Scte35Behavior enum value + M3u8Scte35BehaviorPassthrough = "PASSTHROUGH" +) + +const ( + // M3u8TimedMetadataBehaviorNoPassthrough is a M3u8TimedMetadataBehavior enum value + M3u8TimedMetadataBehaviorNoPassthrough = "NO_PASSTHROUGH" + + // M3u8TimedMetadataBehaviorPassthrough is a M3u8TimedMetadataBehavior enum value + M3u8TimedMetadataBehaviorPassthrough = "PASSTHROUGH" +) + +const ( + // Mp2CodingModeCodingMode10 is a Mp2CodingMode enum value + Mp2CodingModeCodingMode10 = "CODING_MODE_1_0" + + // Mp2CodingModeCodingMode20 is a Mp2CodingMode enum value + Mp2CodingModeCodingMode20 = "CODING_MODE_2_0" +) + +const ( + // NetworkInputServerValidationCheckCryptographyAndValidateName is a NetworkInputServerValidation enum value + NetworkInputServerValidationCheckCryptographyAndValidateName = "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" + + // NetworkInputServerValidationCheckCryptographyOnly is a NetworkInputServerValidation enum value + NetworkInputServerValidationCheckCryptographyOnly = "CHECK_CRYPTOGRAPHY_ONLY" +) + +// Units for duration, e.g. 'MONTHS' +const ( + // OfferingDurationUnitsMonths is a OfferingDurationUnits enum value + OfferingDurationUnitsMonths = "MONTHS" +) + +// Offering type, e.g. 'NO_UPFRONT' +const ( + // OfferingTypeNoUpfront is a OfferingType enum value + OfferingTypeNoUpfront = "NO_UPFRONT" +) + +// Pipeline ID +const ( + // PipelineIdPipeline0 is a PipelineId enum value + PipelineIdPipeline0 = "PIPELINE_0" + + // PipelineIdPipeline1 is a PipelineId enum value + PipelineIdPipeline1 = "PIPELINE_1" +) + +// Codec, 'MPEG2', 'AVC', 'HEVC', or 'AUDIO' +const ( + // ReservationCodecMpeg2 is a ReservationCodec enum value + ReservationCodecMpeg2 = "MPEG2" + + // ReservationCodecAvc is a ReservationCodec enum value + ReservationCodecAvc = "AVC" + + // ReservationCodecHevc is a ReservationCodec enum value + ReservationCodecHevc = "HEVC" + + // ReservationCodecAudio is a ReservationCodec enum value + ReservationCodecAudio = "AUDIO" +) + +// Maximum bitrate in megabits per second +const ( + // ReservationMaximumBitrateMax10Mbps is a ReservationMaximumBitrate enum value + ReservationMaximumBitrateMax10Mbps = "MAX_10_MBPS" + + // ReservationMaximumBitrateMax20Mbps is a ReservationMaximumBitrate enum value + ReservationMaximumBitrateMax20Mbps = "MAX_20_MBPS" + + // ReservationMaximumBitrateMax50Mbps is a ReservationMaximumBitrate enum value + ReservationMaximumBitrateMax50Mbps = "MAX_50_MBPS" +) + +// Maximum framerate in frames per second (Outputs only) +const ( + // ReservationMaximumFramerateMax30Fps is a ReservationMaximumFramerate enum value + ReservationMaximumFramerateMax30Fps = "MAX_30_FPS" + + // ReservationMaximumFramerateMax60Fps is a ReservationMaximumFramerate enum value + ReservationMaximumFramerateMax60Fps = "MAX_60_FPS" +) + +// Resolution based on lines of vertical resolution; SD is less than 720 lines, +// HD is 720 to 1080 lines, UHD is greater than 1080 lines +const ( + // ReservationResolutionSd is a ReservationResolution enum value + ReservationResolutionSd = "SD" + + // ReservationResolutionHd is a ReservationResolution enum value + ReservationResolutionHd = "HD" + + // ReservationResolutionUhd is a ReservationResolution enum value + ReservationResolutionUhd = "UHD" +) + +// Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL' +const ( + // ReservationResourceTypeInput is a ReservationResourceType enum value + ReservationResourceTypeInput = "INPUT" + + // ReservationResourceTypeOutput is a ReservationResourceType enum value + ReservationResourceTypeOutput = "OUTPUT" + + // ReservationResourceTypeChannel is a ReservationResourceType enum value + ReservationResourceTypeChannel = "CHANNEL" +) + +// Special features, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION' +const ( + // ReservationSpecialFeatureAdvancedAudio is a ReservationSpecialFeature enum value + ReservationSpecialFeatureAdvancedAudio = "ADVANCED_AUDIO" + + // ReservationSpecialFeatureAudioNormalization is a ReservationSpecialFeature enum value + ReservationSpecialFeatureAudioNormalization = "AUDIO_NORMALIZATION" +) + +// Current reservation state +const ( + // ReservationStateActive is a ReservationState enum value + ReservationStateActive = "ACTIVE" + + // ReservationStateExpired is a ReservationState enum value + ReservationStateExpired = "EXPIRED" + + // ReservationStateCanceled is a ReservationState enum value + ReservationStateCanceled = "CANCELED" + + // ReservationStateDeleted is a ReservationState enum value + ReservationStateDeleted = "DELETED" +) + +// Video quality, e.g. 'STANDARD' (Outputs only) +const ( + // ReservationVideoQualityStandard is a ReservationVideoQuality enum value + ReservationVideoQualityStandard = "STANDARD" + + // ReservationVideoQualityEnhanced is a ReservationVideoQuality enum value + ReservationVideoQualityEnhanced = "ENHANCED" + + // ReservationVideoQualityPremium is a ReservationVideoQuality enum value + ReservationVideoQualityPremium = "PREMIUM" +) + +const ( + // RtmpCacheFullBehaviorDisconnectImmediately is a RtmpCacheFullBehavior enum value + RtmpCacheFullBehaviorDisconnectImmediately = "DISCONNECT_IMMEDIATELY" + + // RtmpCacheFullBehaviorWaitForServer is a RtmpCacheFullBehavior enum value + RtmpCacheFullBehaviorWaitForServer = "WAIT_FOR_SERVER" +) + +const ( + // RtmpCaptionDataAll is a RtmpCaptionData enum value + RtmpCaptionDataAll = "ALL" + + // RtmpCaptionDataField1608 is a RtmpCaptionData enum value + RtmpCaptionDataField1608 = "FIELD1_608" + + // RtmpCaptionDataField1AndField2608 is a RtmpCaptionData enum value + RtmpCaptionDataField1AndField2608 = "FIELD1_AND_FIELD2_608" +) + +const ( + // RtmpOutputCertificateModeSelfSigned is a RtmpOutputCertificateMode enum value + RtmpOutputCertificateModeSelfSigned = "SELF_SIGNED" + + // RtmpOutputCertificateModeVerifyAuthenticity is a RtmpOutputCertificateMode enum value + RtmpOutputCertificateModeVerifyAuthenticity = "VERIFY_AUTHENTICITY" +) + +const ( + // Scte20Convert608To708Disabled is a Scte20Convert608To708 enum value + Scte20Convert608To708Disabled = "DISABLED" + + // Scte20Convert608To708Upconvert is a Scte20Convert608To708 enum value + Scte20Convert608To708Upconvert = "UPCONVERT" +) + +const ( + // Scte35AposNoRegionalBlackoutBehaviorFollow is a Scte35AposNoRegionalBlackoutBehavior enum value + Scte35AposNoRegionalBlackoutBehaviorFollow = "FOLLOW" + + // Scte35AposNoRegionalBlackoutBehaviorIgnore is a Scte35AposNoRegionalBlackoutBehavior enum value + Scte35AposNoRegionalBlackoutBehaviorIgnore = "IGNORE" +) + +const ( + // Scte35AposWebDeliveryAllowedBehaviorFollow is a Scte35AposWebDeliveryAllowedBehavior enum value + Scte35AposWebDeliveryAllowedBehaviorFollow = "FOLLOW" + + // Scte35AposWebDeliveryAllowedBehaviorIgnore is a Scte35AposWebDeliveryAllowedBehavior enum value + Scte35AposWebDeliveryAllowedBehaviorIgnore = "IGNORE" +) + +// Corresponds to the archive_allowed parameter. A value of ARCHIVE_NOT_ALLOWED +// corresponds to 0 (false) in the SCTE-35 specification. If you include one +// of the "restriction" flags then you must include all four of them. +const ( + // Scte35ArchiveAllowedFlagArchiveNotAllowed is a Scte35ArchiveAllowedFlag enum value + Scte35ArchiveAllowedFlagArchiveNotAllowed = "ARCHIVE_NOT_ALLOWED" + + // Scte35ArchiveAllowedFlagArchiveAllowed is a Scte35ArchiveAllowedFlag enum value + Scte35ArchiveAllowedFlagArchiveAllowed = "ARCHIVE_ALLOWED" +) + +// Corresponds to the device_restrictions parameter in a segmentation_descriptor. +// If you include one of the "restriction" flags then you must include all four +// of them. +const ( + // Scte35DeviceRestrictionsNone is a Scte35DeviceRestrictions enum value + Scte35DeviceRestrictionsNone = "NONE" + + // Scte35DeviceRestrictionsRestrictGroup0 is a Scte35DeviceRestrictions enum value + Scte35DeviceRestrictionsRestrictGroup0 = "RESTRICT_GROUP0" + + // Scte35DeviceRestrictionsRestrictGroup1 is a Scte35DeviceRestrictions enum value + Scte35DeviceRestrictionsRestrictGroup1 = "RESTRICT_GROUP1" + + // Scte35DeviceRestrictionsRestrictGroup2 is a Scte35DeviceRestrictions enum value + Scte35DeviceRestrictionsRestrictGroup2 = "RESTRICT_GROUP2" +) + +// Corresponds to the no_regional_blackout_flag parameter. A value of REGIONAL_BLACKOUT +// corresponds to 0 (false) in the SCTE-35 specification. If you include one +// of the "restriction" flags then you must include all four of them. +const ( + // Scte35NoRegionalBlackoutFlagRegionalBlackout is a Scte35NoRegionalBlackoutFlag enum value + Scte35NoRegionalBlackoutFlagRegionalBlackout = "REGIONAL_BLACKOUT" + + // Scte35NoRegionalBlackoutFlagNoRegionalBlackout is a Scte35NoRegionalBlackoutFlag enum value + Scte35NoRegionalBlackoutFlagNoRegionalBlackout = "NO_REGIONAL_BLACKOUT" +) + +// Corresponds to SCTE-35 segmentation_event_cancel_indicator. SEGMENTATION_EVENT_NOT_CANCELED +// corresponds to 0 in the SCTE-35 specification and indicates that this is +// an insertion request. SEGMENTATION_EVENT_CANCELED corresponds to 1 in the +// SCTE-35 specification and indicates that this is a cancelation request, in +// which case complete this field and the existing event ID to cancel. +const ( + // Scte35SegmentationCancelIndicatorSegmentationEventNotCanceled is a Scte35SegmentationCancelIndicator enum value + Scte35SegmentationCancelIndicatorSegmentationEventNotCanceled = "SEGMENTATION_EVENT_NOT_CANCELED" + + // Scte35SegmentationCancelIndicatorSegmentationEventCanceled is a Scte35SegmentationCancelIndicator enum value + Scte35SegmentationCancelIndicatorSegmentationEventCanceled = "SEGMENTATION_EVENT_CANCELED" +) + +const ( + // Scte35SpliceInsertNoRegionalBlackoutBehaviorFollow is a Scte35SpliceInsertNoRegionalBlackoutBehavior enum value + Scte35SpliceInsertNoRegionalBlackoutBehaviorFollow = "FOLLOW" + + // Scte35SpliceInsertNoRegionalBlackoutBehaviorIgnore is a Scte35SpliceInsertNoRegionalBlackoutBehavior enum value + Scte35SpliceInsertNoRegionalBlackoutBehaviorIgnore = "IGNORE" +) + +const ( + // Scte35SpliceInsertWebDeliveryAllowedBehaviorFollow is a Scte35SpliceInsertWebDeliveryAllowedBehavior enum value + Scte35SpliceInsertWebDeliveryAllowedBehaviorFollow = "FOLLOW" + + // Scte35SpliceInsertWebDeliveryAllowedBehaviorIgnore is a Scte35SpliceInsertWebDeliveryAllowedBehavior enum value + Scte35SpliceInsertWebDeliveryAllowedBehaviorIgnore = "IGNORE" +) + +// Corresponds to the web_delivery_allowed_flag parameter. A value of WEB_DELIVERY_NOT_ALLOWED +// corresponds to 0 (false) in the SCTE-35 specification. If you include one +// of the "restriction" flags then you must include all four of them. +const ( + // Scte35WebDeliveryAllowedFlagWebDeliveryNotAllowed is a Scte35WebDeliveryAllowedFlag enum value + Scte35WebDeliveryAllowedFlagWebDeliveryNotAllowed = "WEB_DELIVERY_NOT_ALLOWED" + + // Scte35WebDeliveryAllowedFlagWebDeliveryAllowed is a Scte35WebDeliveryAllowedFlag enum value + Scte35WebDeliveryAllowedFlagWebDeliveryAllowed = "WEB_DELIVERY_ALLOWED" +) + +const ( + // SmoothGroupAudioOnlyTimecodeControlPassthrough is a SmoothGroupAudioOnlyTimecodeControl enum value + SmoothGroupAudioOnlyTimecodeControlPassthrough = "PASSTHROUGH" + + // SmoothGroupAudioOnlyTimecodeControlUseConfiguredClock is a SmoothGroupAudioOnlyTimecodeControl enum value + SmoothGroupAudioOnlyTimecodeControlUseConfiguredClock = "USE_CONFIGURED_CLOCK" +) + +const ( + // SmoothGroupCertificateModeSelfSigned is a SmoothGroupCertificateMode enum value + SmoothGroupCertificateModeSelfSigned = "SELF_SIGNED" + + // SmoothGroupCertificateModeVerifyAuthenticity is a SmoothGroupCertificateMode enum value + SmoothGroupCertificateModeVerifyAuthenticity = "VERIFY_AUTHENTICITY" +) + +const ( + // SmoothGroupEventIdModeNoEventId is a SmoothGroupEventIdMode enum value + SmoothGroupEventIdModeNoEventId = "NO_EVENT_ID" + + // SmoothGroupEventIdModeUseConfigured is a SmoothGroupEventIdMode enum value + SmoothGroupEventIdModeUseConfigured = "USE_CONFIGURED" + + // SmoothGroupEventIdModeUseTimestamp is a SmoothGroupEventIdMode enum value + SmoothGroupEventIdModeUseTimestamp = "USE_TIMESTAMP" +) + +const ( + // SmoothGroupEventStopBehaviorNone is a SmoothGroupEventStopBehavior enum value + SmoothGroupEventStopBehaviorNone = "NONE" + + // SmoothGroupEventStopBehaviorSendEos is a SmoothGroupEventStopBehavior enum value + SmoothGroupEventStopBehaviorSendEos = "SEND_EOS" +) + +const ( + // SmoothGroupSegmentationModeUseInputSegmentation is a SmoothGroupSegmentationMode enum value + SmoothGroupSegmentationModeUseInputSegmentation = "USE_INPUT_SEGMENTATION" + + // SmoothGroupSegmentationModeUseSegmentDuration is a SmoothGroupSegmentationMode enum value + SmoothGroupSegmentationModeUseSegmentDuration = "USE_SEGMENT_DURATION" +) + +const ( + // SmoothGroupSparseTrackTypeNone is a SmoothGroupSparseTrackType enum value + SmoothGroupSparseTrackTypeNone = "NONE" + + // SmoothGroupSparseTrackTypeScte35 is a SmoothGroupSparseTrackType enum value + SmoothGroupSparseTrackTypeScte35 = "SCTE_35" +) + +const ( + // SmoothGroupStreamManifestBehaviorDoNotSend is a SmoothGroupStreamManifestBehavior enum value + SmoothGroupStreamManifestBehaviorDoNotSend = "DO_NOT_SEND" + + // SmoothGroupStreamManifestBehaviorSend is a SmoothGroupStreamManifestBehavior enum value + SmoothGroupStreamManifestBehaviorSend = "SEND" +) + +const ( + // SmoothGroupTimestampOffsetModeUseConfiguredOffset is a SmoothGroupTimestampOffsetMode enum value + SmoothGroupTimestampOffsetModeUseConfiguredOffset = "USE_CONFIGURED_OFFSET" + + // SmoothGroupTimestampOffsetModeUseEventStartDate is a SmoothGroupTimestampOffsetMode enum value + SmoothGroupTimestampOffsetModeUseEventStartDate = "USE_EVENT_START_DATE" +) + +const ( + // TimecodeConfigSourceEmbedded is a TimecodeConfigSource enum value + TimecodeConfigSourceEmbedded = "EMBEDDED" + + // TimecodeConfigSourceSystemclock is a TimecodeConfigSource enum value + TimecodeConfigSourceSystemclock = "SYSTEMCLOCK" + + // TimecodeConfigSourceZerobased is a TimecodeConfigSource enum value + TimecodeConfigSourceZerobased = "ZEROBASED" +) + +const ( + // TtmlDestinationStyleControlPassthrough is a TtmlDestinationStyleControl enum value + TtmlDestinationStyleControlPassthrough = "PASSTHROUGH" + + // TtmlDestinationStyleControlUseConfigured is a TtmlDestinationStyleControl enum value + TtmlDestinationStyleControlUseConfigured = "USE_CONFIGURED" +) + +const ( + // UdpTimedMetadataId3FrameNone is a UdpTimedMetadataId3Frame enum value + UdpTimedMetadataId3FrameNone = "NONE" + + // UdpTimedMetadataId3FramePriv is a UdpTimedMetadataId3Frame enum value + UdpTimedMetadataId3FramePriv = "PRIV" + + // UdpTimedMetadataId3FrameTdrl is a UdpTimedMetadataId3Frame enum value + UdpTimedMetadataId3FrameTdrl = "TDRL" +) + +const ( + // VideoDescriptionRespondToAfdNone is a VideoDescriptionRespondToAfd enum value + VideoDescriptionRespondToAfdNone = "NONE" + + // VideoDescriptionRespondToAfdPassthrough is a VideoDescriptionRespondToAfd enum value + VideoDescriptionRespondToAfdPassthrough = "PASSTHROUGH" + + // VideoDescriptionRespondToAfdRespond is a VideoDescriptionRespondToAfd enum value + VideoDescriptionRespondToAfdRespond = "RESPOND" +) + +const ( + // VideoDescriptionScalingBehaviorDefault is a VideoDescriptionScalingBehavior enum value + VideoDescriptionScalingBehaviorDefault = "DEFAULT" + + // VideoDescriptionScalingBehaviorStretchToOutput is a VideoDescriptionScalingBehavior enum value + VideoDescriptionScalingBehaviorStretchToOutput = "STRETCH_TO_OUTPUT" +) + +const ( + // VideoSelectorColorSpaceFollow is a VideoSelectorColorSpace enum value + VideoSelectorColorSpaceFollow = "FOLLOW" + + // VideoSelectorColorSpaceRec601 is a VideoSelectorColorSpace enum value + VideoSelectorColorSpaceRec601 = "REC_601" + + // VideoSelectorColorSpaceRec709 is a VideoSelectorColorSpace enum value + VideoSelectorColorSpaceRec709 = "REC_709" +) + +const ( + // VideoSelectorColorSpaceUsageFallback is a VideoSelectorColorSpaceUsage enum value + VideoSelectorColorSpaceUsageFallback = "FALLBACK" + + // VideoSelectorColorSpaceUsageForce is a VideoSelectorColorSpaceUsage enum value + VideoSelectorColorSpaceUsageForce = "FORCE" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/medialive/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/medialive/doc.go new file mode 100644 index 00000000000..22c90987203 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/medialive/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package medialive provides the client and types for making API +// requests to AWS Elemental MediaLive. +// +// API for AWS Elemental MediaLive +// +// See https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14 for more information on this service. +// +// See medialive package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/medialive/ +// +// Using the Client +// +// To contact AWS Elemental MediaLive 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 Elemental MediaLive client MediaLive for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/medialive/#New +package medialive diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/medialive/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/medialive/errors.go new file mode 100644 index 00000000000..247fb52c70c --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/medialive/errors.go @@ -0,0 +1,42 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package medialive + +const ( + + // ErrCodeBadGatewayException for service response error code + // "BadGatewayException". + ErrCodeBadGatewayException = "BadGatewayException" + + // ErrCodeBadRequestException for service response error code + // "BadRequestException". + ErrCodeBadRequestException = "BadRequestException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + ErrCodeConflictException = "ConflictException" + + // ErrCodeForbiddenException for service response error code + // "ForbiddenException". + ErrCodeForbiddenException = "ForbiddenException" + + // ErrCodeGatewayTimeoutException for service response error code + // "GatewayTimeoutException". + ErrCodeGatewayTimeoutException = "GatewayTimeoutException" + + // ErrCodeInternalServerErrorException for service response error code + // "InternalServerErrorException". + ErrCodeInternalServerErrorException = "InternalServerErrorException" + + // ErrCodeNotFoundException for service response error code + // "NotFoundException". + ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + ErrCodeTooManyRequestsException = "TooManyRequestsException" + + // ErrCodeUnprocessableEntityException for service response error code + // "UnprocessableEntityException". + ErrCodeUnprocessableEntityException = "UnprocessableEntityException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/medialive/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/medialive/service.go new file mode 100644 index 00000000000..582d570f177 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/medialive/service.go @@ -0,0 +1,99 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package medialive + +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/restjson" +) + +// MediaLive provides the API operation methods for making requests to +// AWS Elemental MediaLive. See this package's package overview docs +// for details on the service. +// +// MediaLive methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type MediaLive 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 = "medialive" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "MediaLive" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the MediaLive 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 MediaLive client from just a session. +// svc := medialive.New(mySession) +// +// // Create a MediaLive client with additional configuration +// svc := medialive.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *MediaLive { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "medialive" + } + 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) *MediaLive { + svc := &MediaLive{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2017-10-14", + JSONVersion: "1.1", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a MediaLive operation and runs any +// custom request initialization. +func (c *MediaLive) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go new file mode 100644 index 00000000000..a7ca10f3e12 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go @@ -0,0 +1,4511 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediapackage + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreateChannel = "CreateChannel" + +// CreateChannelRequest generates a "aws/request.Request" representing the +// client's request for the CreateChannel 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 CreateChannel for more information on using the CreateChannel +// 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 CreateChannelRequest method. +// req, resp := client.CreateChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateChannel +func (c *MediaPackage) CreateChannelRequest(input *CreateChannelInput) (req *request.Request, output *CreateChannelOutput) { + op := &request.Operation{ + Name: opCreateChannel, + HTTPMethod: "POST", + HTTPPath: "/channels", + } + + if input == nil { + input = &CreateChannelInput{} + } + + output = &CreateChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateChannel API operation for AWS Elemental MediaPackage. +// +// Creates a new Channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation CreateChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateChannel +func (c *MediaPackage) CreateChannel(input *CreateChannelInput) (*CreateChannelOutput, error) { + req, out := c.CreateChannelRequest(input) + return out, req.Send() +} + +// CreateChannelWithContext is the same as CreateChannel with the addition of +// the ability to pass a context and additional request options. +// +// See CreateChannel 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 *MediaPackage) CreateChannelWithContext(ctx aws.Context, input *CreateChannelInput, opts ...request.Option) (*CreateChannelOutput, error) { + req, out := c.CreateChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateOriginEndpoint = "CreateOriginEndpoint" + +// CreateOriginEndpointRequest generates a "aws/request.Request" representing the +// client's request for the CreateOriginEndpoint 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 CreateOriginEndpoint for more information on using the CreateOriginEndpoint +// 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 CreateOriginEndpointRequest method. +// req, resp := client.CreateOriginEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateOriginEndpoint +func (c *MediaPackage) CreateOriginEndpointRequest(input *CreateOriginEndpointInput) (req *request.Request, output *CreateOriginEndpointOutput) { + op := &request.Operation{ + Name: opCreateOriginEndpoint, + HTTPMethod: "POST", + HTTPPath: "/origin_endpoints", + } + + if input == nil { + input = &CreateOriginEndpointInput{} + } + + output = &CreateOriginEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateOriginEndpoint API operation for AWS Elemental MediaPackage. +// +// Creates a new OriginEndpoint record. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation CreateOriginEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateOriginEndpoint +func (c *MediaPackage) CreateOriginEndpoint(input *CreateOriginEndpointInput) (*CreateOriginEndpointOutput, error) { + req, out := c.CreateOriginEndpointRequest(input) + return out, req.Send() +} + +// CreateOriginEndpointWithContext is the same as CreateOriginEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See CreateOriginEndpoint 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 *MediaPackage) CreateOriginEndpointWithContext(ctx aws.Context, input *CreateOriginEndpointInput, opts ...request.Option) (*CreateOriginEndpointOutput, error) { + req, out := c.CreateOriginEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteChannel = "DeleteChannel" + +// DeleteChannelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteChannel 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 DeleteChannel for more information on using the DeleteChannel +// 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 DeleteChannelRequest method. +// req, resp := client.DeleteChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteChannel +func (c *MediaPackage) DeleteChannelRequest(input *DeleteChannelInput) (req *request.Request, output *DeleteChannelOutput) { + op := &request.Operation{ + Name: opDeleteChannel, + HTTPMethod: "DELETE", + HTTPPath: "/channels/{id}", + } + + if input == nil { + input = &DeleteChannelInput{} + } + + output = &DeleteChannelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteChannel API operation for AWS Elemental MediaPackage. +// +// Deletes an existing Channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation DeleteChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteChannel +func (c *MediaPackage) DeleteChannel(input *DeleteChannelInput) (*DeleteChannelOutput, error) { + req, out := c.DeleteChannelRequest(input) + return out, req.Send() +} + +// DeleteChannelWithContext is the same as DeleteChannel with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteChannel 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 *MediaPackage) DeleteChannelWithContext(ctx aws.Context, input *DeleteChannelInput, opts ...request.Option) (*DeleteChannelOutput, error) { + req, out := c.DeleteChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteOriginEndpoint = "DeleteOriginEndpoint" + +// DeleteOriginEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DeleteOriginEndpoint 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 DeleteOriginEndpoint for more information on using the DeleteOriginEndpoint +// 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 DeleteOriginEndpointRequest method. +// req, resp := client.DeleteOriginEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteOriginEndpoint +func (c *MediaPackage) DeleteOriginEndpointRequest(input *DeleteOriginEndpointInput) (req *request.Request, output *DeleteOriginEndpointOutput) { + op := &request.Operation{ + Name: opDeleteOriginEndpoint, + HTTPMethod: "DELETE", + HTTPPath: "/origin_endpoints/{id}", + } + + if input == nil { + input = &DeleteOriginEndpointInput{} + } + + output = &DeleteOriginEndpointOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteOriginEndpoint API operation for AWS Elemental MediaPackage. +// +// Deletes an existing OriginEndpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation DeleteOriginEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteOriginEndpoint +func (c *MediaPackage) DeleteOriginEndpoint(input *DeleteOriginEndpointInput) (*DeleteOriginEndpointOutput, error) { + req, out := c.DeleteOriginEndpointRequest(input) + return out, req.Send() +} + +// DeleteOriginEndpointWithContext is the same as DeleteOriginEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteOriginEndpoint 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 *MediaPackage) DeleteOriginEndpointWithContext(ctx aws.Context, input *DeleteOriginEndpointInput, opts ...request.Option) (*DeleteOriginEndpointOutput, error) { + req, out := c.DeleteOriginEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeChannel = "DescribeChannel" + +// DescribeChannelRequest generates a "aws/request.Request" representing the +// client's request for the DescribeChannel 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 DescribeChannel for more information on using the DescribeChannel +// 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 DescribeChannelRequest method. +// req, resp := client.DescribeChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeChannel +func (c *MediaPackage) DescribeChannelRequest(input *DescribeChannelInput) (req *request.Request, output *DescribeChannelOutput) { + op := &request.Operation{ + Name: opDescribeChannel, + HTTPMethod: "GET", + HTTPPath: "/channels/{id}", + } + + if input == nil { + input = &DescribeChannelInput{} + } + + output = &DescribeChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeChannel API operation for AWS Elemental MediaPackage. +// +// Gets details about a Channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation DescribeChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeChannel +func (c *MediaPackage) DescribeChannel(input *DescribeChannelInput) (*DescribeChannelOutput, error) { + req, out := c.DescribeChannelRequest(input) + return out, req.Send() +} + +// DescribeChannelWithContext is the same as DescribeChannel with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeChannel 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 *MediaPackage) DescribeChannelWithContext(ctx aws.Context, input *DescribeChannelInput, opts ...request.Option) (*DescribeChannelOutput, error) { + req, out := c.DescribeChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeOriginEndpoint = "DescribeOriginEndpoint" + +// DescribeOriginEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOriginEndpoint 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 DescribeOriginEndpoint for more information on using the DescribeOriginEndpoint +// 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 DescribeOriginEndpointRequest method. +// req, resp := client.DescribeOriginEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeOriginEndpoint +func (c *MediaPackage) DescribeOriginEndpointRequest(input *DescribeOriginEndpointInput) (req *request.Request, output *DescribeOriginEndpointOutput) { + op := &request.Operation{ + Name: opDescribeOriginEndpoint, + HTTPMethod: "GET", + HTTPPath: "/origin_endpoints/{id}", + } + + if input == nil { + input = &DescribeOriginEndpointInput{} + } + + output = &DescribeOriginEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeOriginEndpoint API operation for AWS Elemental MediaPackage. +// +// Gets details about an existing OriginEndpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation DescribeOriginEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeOriginEndpoint +func (c *MediaPackage) DescribeOriginEndpoint(input *DescribeOriginEndpointInput) (*DescribeOriginEndpointOutput, error) { + req, out := c.DescribeOriginEndpointRequest(input) + return out, req.Send() +} + +// DescribeOriginEndpointWithContext is the same as DescribeOriginEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeOriginEndpoint 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 *MediaPackage) DescribeOriginEndpointWithContext(ctx aws.Context, input *DescribeOriginEndpointInput, opts ...request.Option) (*DescribeOriginEndpointOutput, error) { + req, out := c.DescribeOriginEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListChannels = "ListChannels" + +// ListChannelsRequest generates a "aws/request.Request" representing the +// client's request for the ListChannels 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 ListChannels for more information on using the ListChannels +// 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 ListChannelsRequest method. +// req, resp := client.ListChannelsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListChannels +func (c *MediaPackage) ListChannelsRequest(input *ListChannelsInput) (req *request.Request, output *ListChannelsOutput) { + op := &request.Operation{ + Name: opListChannels, + HTTPMethod: "GET", + HTTPPath: "/channels", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListChannelsInput{} + } + + output = &ListChannelsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListChannels API operation for AWS Elemental MediaPackage. +// +// Returns a collection of Channels. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation ListChannels for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListChannels +func (c *MediaPackage) ListChannels(input *ListChannelsInput) (*ListChannelsOutput, error) { + req, out := c.ListChannelsRequest(input) + return out, req.Send() +} + +// ListChannelsWithContext is the same as ListChannels with the addition of +// the ability to pass a context and additional request options. +// +// See ListChannels 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 *MediaPackage) ListChannelsWithContext(ctx aws.Context, input *ListChannelsInput, opts ...request.Option) (*ListChannelsOutput, error) { + req, out := c.ListChannelsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListChannelsPages iterates over the pages of a ListChannels operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListChannels 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 ListChannels operation. +// pageNum := 0 +// err := client.ListChannelsPages(params, +// func(page *ListChannelsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaPackage) ListChannelsPages(input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool) error { + return c.ListChannelsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListChannelsPagesWithContext same as ListChannelsPages 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 *MediaPackage) ListChannelsPagesWithContext(ctx aws.Context, input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListChannelsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListChannelsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListChannelsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListOriginEndpoints = "ListOriginEndpoints" + +// ListOriginEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the ListOriginEndpoints 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 ListOriginEndpoints for more information on using the ListOriginEndpoints +// 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 ListOriginEndpointsRequest method. +// req, resp := client.ListOriginEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListOriginEndpoints +func (c *MediaPackage) ListOriginEndpointsRequest(input *ListOriginEndpointsInput) (req *request.Request, output *ListOriginEndpointsOutput) { + op := &request.Operation{ + Name: opListOriginEndpoints, + HTTPMethod: "GET", + HTTPPath: "/origin_endpoints", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListOriginEndpointsInput{} + } + + output = &ListOriginEndpointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListOriginEndpoints API operation for AWS Elemental MediaPackage. +// +// Returns a collection of OriginEndpoint records. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation ListOriginEndpoints for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListOriginEndpoints +func (c *MediaPackage) ListOriginEndpoints(input *ListOriginEndpointsInput) (*ListOriginEndpointsOutput, error) { + req, out := c.ListOriginEndpointsRequest(input) + return out, req.Send() +} + +// ListOriginEndpointsWithContext is the same as ListOriginEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See ListOriginEndpoints 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 *MediaPackage) ListOriginEndpointsWithContext(ctx aws.Context, input *ListOriginEndpointsInput, opts ...request.Option) (*ListOriginEndpointsOutput, error) { + req, out := c.ListOriginEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListOriginEndpointsPages iterates over the pages of a ListOriginEndpoints operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListOriginEndpoints 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 ListOriginEndpoints operation. +// pageNum := 0 +// err := client.ListOriginEndpointsPages(params, +// func(page *ListOriginEndpointsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaPackage) ListOriginEndpointsPages(input *ListOriginEndpointsInput, fn func(*ListOriginEndpointsOutput, bool) bool) error { + return c.ListOriginEndpointsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListOriginEndpointsPagesWithContext same as ListOriginEndpointsPages 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 *MediaPackage) ListOriginEndpointsPagesWithContext(ctx aws.Context, input *ListOriginEndpointsInput, fn func(*ListOriginEndpointsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListOriginEndpointsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListOriginEndpointsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListOriginEndpointsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListTagsForResource +func (c *MediaPackage) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resource-arn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS Elemental MediaPackage. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation ListTagsForResource for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListTagsForResource +func (c *MediaPackage) 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 *MediaPackage) 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 opRotateChannelCredentials = "RotateChannelCredentials" + +// RotateChannelCredentialsRequest generates a "aws/request.Request" representing the +// client's request for the RotateChannelCredentials 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 RotateChannelCredentials for more information on using the RotateChannelCredentials +// 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 RotateChannelCredentialsRequest method. +// req, resp := client.RotateChannelCredentialsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateChannelCredentials +// +// Deprecated: This API is deprecated. Please use RotateIngestEndpointCredentials instead +func (c *MediaPackage) RotateChannelCredentialsRequest(input *RotateChannelCredentialsInput) (req *request.Request, output *RotateChannelCredentialsOutput) { + if c.Client.Config.Logger != nil { + c.Client.Config.Logger.Log("This operation, RotateChannelCredentials, has been deprecated") + } + op := &request.Operation{ + Name: opRotateChannelCredentials, + HTTPMethod: "PUT", + HTTPPath: "/channels/{id}/credentials", + } + + if input == nil { + input = &RotateChannelCredentialsInput{} + } + + output = &RotateChannelCredentialsOutput{} + req = c.newRequest(op, input, output) + return +} + +// RotateChannelCredentials API operation for AWS Elemental MediaPackage. +// +// Changes the Channel's first IngestEndpoint's username and password. WARNING +// - This API is deprecated. Please use RotateIngestEndpointCredentials instead +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation RotateChannelCredentials for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateChannelCredentials +// +// Deprecated: This API is deprecated. Please use RotateIngestEndpointCredentials instead +func (c *MediaPackage) RotateChannelCredentials(input *RotateChannelCredentialsInput) (*RotateChannelCredentialsOutput, error) { + req, out := c.RotateChannelCredentialsRequest(input) + return out, req.Send() +} + +// RotateChannelCredentialsWithContext is the same as RotateChannelCredentials with the addition of +// the ability to pass a context and additional request options. +// +// See RotateChannelCredentials 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. +// +// Deprecated: This API is deprecated. Please use RotateIngestEndpointCredentials instead +func (c *MediaPackage) RotateChannelCredentialsWithContext(ctx aws.Context, input *RotateChannelCredentialsInput, opts ...request.Option) (*RotateChannelCredentialsOutput, error) { + req, out := c.RotateChannelCredentialsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRotateIngestEndpointCredentials = "RotateIngestEndpointCredentials" + +// RotateIngestEndpointCredentialsRequest generates a "aws/request.Request" representing the +// client's request for the RotateIngestEndpointCredentials 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 RotateIngestEndpointCredentials for more information on using the RotateIngestEndpointCredentials +// 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 RotateIngestEndpointCredentialsRequest method. +// req, resp := client.RotateIngestEndpointCredentialsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateIngestEndpointCredentials +func (c *MediaPackage) RotateIngestEndpointCredentialsRequest(input *RotateIngestEndpointCredentialsInput) (req *request.Request, output *RotateIngestEndpointCredentialsOutput) { + op := &request.Operation{ + Name: opRotateIngestEndpointCredentials, + HTTPMethod: "PUT", + HTTPPath: "/channels/{id}/ingest_endpoints/{ingest_endpoint_id}/credentials", + } + + if input == nil { + input = &RotateIngestEndpointCredentialsInput{} + } + + output = &RotateIngestEndpointCredentialsOutput{} + req = c.newRequest(op, input, output) + return +} + +// RotateIngestEndpointCredentials API operation for AWS Elemental MediaPackage. +// +// Rotate the IngestEndpoint's username and password, as specified by the IngestEndpoint's +// id. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaPackage's +// API operation RotateIngestEndpointCredentials for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateIngestEndpointCredentials +func (c *MediaPackage) RotateIngestEndpointCredentials(input *RotateIngestEndpointCredentialsInput) (*RotateIngestEndpointCredentialsOutput, error) { + req, out := c.RotateIngestEndpointCredentialsRequest(input) + return out, req.Send() +} + +// RotateIngestEndpointCredentialsWithContext is the same as RotateIngestEndpointCredentials with the addition of +// the ability to pass a context and additional request options. +// +// See RotateIngestEndpointCredentials 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 *MediaPackage) RotateIngestEndpointCredentialsWithContext(ctx aws.Context, input *RotateIngestEndpointCredentialsInput, opts ...request.Option) (*RotateIngestEndpointCredentialsOutput, error) { + req, out := c.RotateIngestEndpointCredentialsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/TagResource +func (c *MediaPackage) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resource-arn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Elemental MediaPackage. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation TagResource for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/TagResource +func (c *MediaPackage) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaPackage) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UntagResource +func (c *MediaPackage) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resource-arn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS Elemental MediaPackage. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation UntagResource for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UntagResource +func (c *MediaPackage) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaPackage) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateChannel = "UpdateChannel" + +// UpdateChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateChannel 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 UpdateChannel for more information on using the UpdateChannel +// 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 UpdateChannelRequest method. +// req, resp := client.UpdateChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateChannel +func (c *MediaPackage) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) { + op := &request.Operation{ + Name: opUpdateChannel, + HTTPMethod: "PUT", + HTTPPath: "/channels/{id}", + } + + if input == nil { + input = &UpdateChannelInput{} + } + + output = &UpdateChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateChannel API operation for AWS Elemental MediaPackage. +// +// Updates an existing Channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation UpdateChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateChannel +func (c *MediaPackage) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) { + req, out := c.UpdateChannelRequest(input) + return out, req.Send() +} + +// UpdateChannelWithContext is the same as UpdateChannel with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateChannel 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 *MediaPackage) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) { + req, out := c.UpdateChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateOriginEndpoint = "UpdateOriginEndpoint" + +// UpdateOriginEndpointRequest generates a "aws/request.Request" representing the +// client's request for the UpdateOriginEndpoint 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 UpdateOriginEndpoint for more information on using the UpdateOriginEndpoint +// 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 UpdateOriginEndpointRequest method. +// req, resp := client.UpdateOriginEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateOriginEndpoint +func (c *MediaPackage) UpdateOriginEndpointRequest(input *UpdateOriginEndpointInput) (req *request.Request, output *UpdateOriginEndpointOutput) { + op := &request.Operation{ + Name: opUpdateOriginEndpoint, + HTTPMethod: "PUT", + HTTPPath: "/origin_endpoints/{id}", + } + + if input == nil { + input = &UpdateOriginEndpointInput{} + } + + output = &UpdateOriginEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateOriginEndpoint API operation for AWS Elemental MediaPackage. +// +// Updates an existing OriginEndpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaPackage's +// API operation UpdateOriginEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateOriginEndpoint +func (c *MediaPackage) UpdateOriginEndpoint(input *UpdateOriginEndpointInput) (*UpdateOriginEndpointOutput, error) { + req, out := c.UpdateOriginEndpointRequest(input) + return out, req.Send() +} + +// UpdateOriginEndpointWithContext is the same as UpdateOriginEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateOriginEndpoint 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 *MediaPackage) UpdateOriginEndpointWithContext(ctx aws.Context, input *UpdateOriginEndpointInput, opts ...request.Option) (*UpdateOriginEndpointOutput, error) { + req, out := c.UpdateOriginEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// A Channel resource configuration. +type Channel struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) assigned to the Channel. + Arn *string `locationName:"arn" type:"string"` + + // A short text description of the Channel. + Description *string `locationName:"description" type:"string"` + + // An HTTP Live Streaming (HLS) ingest resource configuration. + HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"` + + // The ID of the Channel. + Id *string `locationName:"id" type:"string"` + + // A collection of tags associated with a resource + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s Channel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Channel) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Channel) SetArn(v string) *Channel { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Channel) SetDescription(v string) *Channel { + s.Description = &v + return s +} + +// SetHlsIngest sets the HlsIngest field's value. +func (s *Channel) SetHlsIngest(v *HlsIngest) *Channel { + s.HlsIngest = v + return s +} + +// SetId sets the Id field's value. +func (s *Channel) SetId(v string) *Channel { + s.Id = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Channel) SetTags(v map[string]*string) *Channel { + s.Tags = v + return s +} + +// A Common Media Application Format (CMAF) encryption configuration. +type CmafEncryption struct { + _ struct{} `type:"structure"` + + // Time (in seconds) between each encryption key rotation. + KeyRotationIntervalSeconds *int64 `locationName:"keyRotationIntervalSeconds" type:"integer"` + + // A configuration for accessing an external Secure Packager and Encoder Key + // Exchange (SPEKE) service that will provide encryption keys. + // + // SpekeKeyProvider is a required field + SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CmafEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CmafEncryption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CmafEncryption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CmafEncryption"} + if s.SpekeKeyProvider == nil { + invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider")) + } + if s.SpekeKeyProvider != nil { + if err := s.SpekeKeyProvider.Validate(); err != nil { + invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyRotationIntervalSeconds sets the KeyRotationIntervalSeconds field's value. +func (s *CmafEncryption) SetKeyRotationIntervalSeconds(v int64) *CmafEncryption { + s.KeyRotationIntervalSeconds = &v + return s +} + +// SetSpekeKeyProvider sets the SpekeKeyProvider field's value. +func (s *CmafEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *CmafEncryption { + s.SpekeKeyProvider = v + return s +} + +// A Common Media Application Format (CMAF) packaging configuration. +type CmafPackage struct { + _ struct{} `type:"structure"` + + // A Common Media Application Format (CMAF) encryption configuration. + Encryption *CmafEncryption `locationName:"encryption" type:"structure"` + + // A list of HLS manifest configurations + HlsManifests []*HlsManifest `locationName:"hlsManifests" type:"list"` + + // Duration (in seconds) of each segment. Actual segments will berounded to + // the nearest multiple of the source segment duration. + SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"` + + // An optional custom string that is prepended to the name of each segment. + // If not specified, it defaults to the ChannelId. + SegmentPrefix *string `locationName:"segmentPrefix" type:"string"` + + // A StreamSelection configuration. + StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"` +} + +// String returns the string representation +func (s CmafPackage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CmafPackage) GoString() string { + return s.String() +} + +// SetEncryption sets the Encryption field's value. +func (s *CmafPackage) SetEncryption(v *CmafEncryption) *CmafPackage { + s.Encryption = v + return s +} + +// SetHlsManifests sets the HlsManifests field's value. +func (s *CmafPackage) SetHlsManifests(v []*HlsManifest) *CmafPackage { + s.HlsManifests = v + return s +} + +// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value. +func (s *CmafPackage) SetSegmentDurationSeconds(v int64) *CmafPackage { + s.SegmentDurationSeconds = &v + return s +} + +// SetSegmentPrefix sets the SegmentPrefix field's value. +func (s *CmafPackage) SetSegmentPrefix(v string) *CmafPackage { + s.SegmentPrefix = &v + return s +} + +// SetStreamSelection sets the StreamSelection field's value. +func (s *CmafPackage) SetStreamSelection(v *StreamSelection) *CmafPackage { + s.StreamSelection = v + return s +} + +// A Common Media Application Format (CMAF) packaging configuration. +type CmafPackageCreateOrUpdateParameters struct { + _ struct{} `type:"structure"` + + // A Common Media Application Format (CMAF) encryption configuration. + Encryption *CmafEncryption `locationName:"encryption" type:"structure"` + + // A list of HLS manifest configurations + HlsManifests []*HlsManifestCreateOrUpdateParameters `locationName:"hlsManifests" type:"list"` + + // Duration (in seconds) of each segment. Actual segments will berounded to + // the nearest multiple of the source segment duration. + SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"` + + // An optional custom string that is prepended to the name of each segment. + // If not specified, it defaults to the ChannelId. + SegmentPrefix *string `locationName:"segmentPrefix" type:"string"` + + // A StreamSelection configuration. + StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"` +} + +// String returns the string representation +func (s CmafPackageCreateOrUpdateParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CmafPackageCreateOrUpdateParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CmafPackageCreateOrUpdateParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CmafPackageCreateOrUpdateParameters"} + if s.Encryption != nil { + if err := s.Encryption.Validate(); err != nil { + invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) + } + } + if s.HlsManifests != nil { + for i, v := range s.HlsManifests { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HlsManifests", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryption sets the Encryption field's value. +func (s *CmafPackageCreateOrUpdateParameters) SetEncryption(v *CmafEncryption) *CmafPackageCreateOrUpdateParameters { + s.Encryption = v + return s +} + +// SetHlsManifests sets the HlsManifests field's value. +func (s *CmafPackageCreateOrUpdateParameters) SetHlsManifests(v []*HlsManifestCreateOrUpdateParameters) *CmafPackageCreateOrUpdateParameters { + s.HlsManifests = v + return s +} + +// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value. +func (s *CmafPackageCreateOrUpdateParameters) SetSegmentDurationSeconds(v int64) *CmafPackageCreateOrUpdateParameters { + s.SegmentDurationSeconds = &v + return s +} + +// SetSegmentPrefix sets the SegmentPrefix field's value. +func (s *CmafPackageCreateOrUpdateParameters) SetSegmentPrefix(v string) *CmafPackageCreateOrUpdateParameters { + s.SegmentPrefix = &v + return s +} + +// SetStreamSelection sets the StreamSelection field's value. +func (s *CmafPackageCreateOrUpdateParameters) SetStreamSelection(v *StreamSelection) *CmafPackageCreateOrUpdateParameters { + s.StreamSelection = v + return s +} + +type CreateChannelInput struct { + _ struct{} `type:"structure"` + + Description *string `locationName:"description" type:"string"` + + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // A collection of tags associated with a resource + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateChannelInput) SetDescription(v string) *CreateChannelInput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateChannelInput) SetId(v string) *CreateChannelInput { + s.Id = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateChannelInput) SetTags(v map[string]*string) *CreateChannelInput { + s.Tags = v + return s +} + +type CreateChannelOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Description *string `locationName:"description" type:"string"` + + // An HTTP Live Streaming (HLS) ingest resource configuration. + HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + // A collection of tags associated with a resource + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateChannelOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateChannelOutput) SetArn(v string) *CreateChannelOutput { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateChannelOutput) SetDescription(v string) *CreateChannelOutput { + s.Description = &v + return s +} + +// SetHlsIngest sets the HlsIngest field's value. +func (s *CreateChannelOutput) SetHlsIngest(v *HlsIngest) *CreateChannelOutput { + s.HlsIngest = v + return s +} + +// SetId sets the Id field's value. +func (s *CreateChannelOutput) SetId(v string) *CreateChannelOutput { + s.Id = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateChannelOutput) SetTags(v map[string]*string) *CreateChannelOutput { + s.Tags = v + return s +} + +type CreateOriginEndpointInput struct { + _ struct{} `type:"structure"` + + // ChannelId is a required field + ChannelId *string `locationName:"channelId" type:"string" required:"true"` + + // A Common Media Application Format (CMAF) packaging configuration. + CmafPackage *CmafPackageCreateOrUpdateParameters `locationName:"cmafPackage" type:"structure"` + + // A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + DashPackage *DashPackage `locationName:"dashPackage" type:"structure"` + + Description *string `locationName:"description" type:"string"` + + // An HTTP Live Streaming (HLS) packaging configuration. + HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"` + + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + ManifestName *string `locationName:"manifestName" type:"string"` + + // A Microsoft Smooth Streaming (MSS) packaging configuration. + MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + + StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"` + + // A collection of tags associated with a resource + Tags map[string]*string `locationName:"tags" type:"map"` + + TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"` + + Whitelist []*string `locationName:"whitelist" type:"list"` +} + +// String returns the string representation +func (s CreateOriginEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateOriginEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateOriginEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateOriginEndpointInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.CmafPackage != nil { + if err := s.CmafPackage.Validate(); err != nil { + invalidParams.AddNested("CmafPackage", err.(request.ErrInvalidParams)) + } + } + if s.DashPackage != nil { + if err := s.DashPackage.Validate(); err != nil { + invalidParams.AddNested("DashPackage", err.(request.ErrInvalidParams)) + } + } + if s.HlsPackage != nil { + if err := s.HlsPackage.Validate(); err != nil { + invalidParams.AddNested("HlsPackage", err.(request.ErrInvalidParams)) + } + } + if s.MssPackage != nil { + if err := s.MssPackage.Validate(); err != nil { + invalidParams.AddNested("MssPackage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelId sets the ChannelId field's value. +func (s *CreateOriginEndpointInput) SetChannelId(v string) *CreateOriginEndpointInput { + s.ChannelId = &v + return s +} + +// SetCmafPackage sets the CmafPackage field's value. +func (s *CreateOriginEndpointInput) SetCmafPackage(v *CmafPackageCreateOrUpdateParameters) *CreateOriginEndpointInput { + s.CmafPackage = v + return s +} + +// SetDashPackage sets the DashPackage field's value. +func (s *CreateOriginEndpointInput) SetDashPackage(v *DashPackage) *CreateOriginEndpointInput { + s.DashPackage = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateOriginEndpointInput) SetDescription(v string) *CreateOriginEndpointInput { + s.Description = &v + return s +} + +// SetHlsPackage sets the HlsPackage field's value. +func (s *CreateOriginEndpointInput) SetHlsPackage(v *HlsPackage) *CreateOriginEndpointInput { + s.HlsPackage = v + return s +} + +// SetId sets the Id field's value. +func (s *CreateOriginEndpointInput) SetId(v string) *CreateOriginEndpointInput { + s.Id = &v + return s +} + +// SetManifestName sets the ManifestName field's value. +func (s *CreateOriginEndpointInput) SetManifestName(v string) *CreateOriginEndpointInput { + s.ManifestName = &v + return s +} + +// SetMssPackage sets the MssPackage field's value. +func (s *CreateOriginEndpointInput) SetMssPackage(v *MssPackage) *CreateOriginEndpointInput { + s.MssPackage = v + return s +} + +// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value. +func (s *CreateOriginEndpointInput) SetStartoverWindowSeconds(v int64) *CreateOriginEndpointInput { + s.StartoverWindowSeconds = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateOriginEndpointInput) SetTags(v map[string]*string) *CreateOriginEndpointInput { + s.Tags = v + return s +} + +// SetTimeDelaySeconds sets the TimeDelaySeconds field's value. +func (s *CreateOriginEndpointInput) SetTimeDelaySeconds(v int64) *CreateOriginEndpointInput { + s.TimeDelaySeconds = &v + return s +} + +// SetWhitelist sets the Whitelist field's value. +func (s *CreateOriginEndpointInput) SetWhitelist(v []*string) *CreateOriginEndpointInput { + s.Whitelist = v + return s +} + +type CreateOriginEndpointOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + ChannelId *string `locationName:"channelId" type:"string"` + + // A Common Media Application Format (CMAF) packaging configuration. + CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"` + + // A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + DashPackage *DashPackage `locationName:"dashPackage" type:"structure"` + + Description *string `locationName:"description" type:"string"` + + // An HTTP Live Streaming (HLS) packaging configuration. + HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + ManifestName *string `locationName:"manifestName" type:"string"` + + // A Microsoft Smooth Streaming (MSS) packaging configuration. + MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + + StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"` + + // A collection of tags associated with a resource + Tags map[string]*string `locationName:"tags" type:"map"` + + TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"` + + Url *string `locationName:"url" type:"string"` + + Whitelist []*string `locationName:"whitelist" type:"list"` +} + +// String returns the string representation +func (s CreateOriginEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateOriginEndpointOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateOriginEndpointOutput) SetArn(v string) *CreateOriginEndpointOutput { + s.Arn = &v + return s +} + +// SetChannelId sets the ChannelId field's value. +func (s *CreateOriginEndpointOutput) SetChannelId(v string) *CreateOriginEndpointOutput { + s.ChannelId = &v + return s +} + +// SetCmafPackage sets the CmafPackage field's value. +func (s *CreateOriginEndpointOutput) SetCmafPackage(v *CmafPackage) *CreateOriginEndpointOutput { + s.CmafPackage = v + return s +} + +// SetDashPackage sets the DashPackage field's value. +func (s *CreateOriginEndpointOutput) SetDashPackage(v *DashPackage) *CreateOriginEndpointOutput { + s.DashPackage = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateOriginEndpointOutput) SetDescription(v string) *CreateOriginEndpointOutput { + s.Description = &v + return s +} + +// SetHlsPackage sets the HlsPackage field's value. +func (s *CreateOriginEndpointOutput) SetHlsPackage(v *HlsPackage) *CreateOriginEndpointOutput { + s.HlsPackage = v + return s +} + +// SetId sets the Id field's value. +func (s *CreateOriginEndpointOutput) SetId(v string) *CreateOriginEndpointOutput { + s.Id = &v + return s +} + +// SetManifestName sets the ManifestName field's value. +func (s *CreateOriginEndpointOutput) SetManifestName(v string) *CreateOriginEndpointOutput { + s.ManifestName = &v + return s +} + +// SetMssPackage sets the MssPackage field's value. +func (s *CreateOriginEndpointOutput) SetMssPackage(v *MssPackage) *CreateOriginEndpointOutput { + s.MssPackage = v + return s +} + +// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value. +func (s *CreateOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *CreateOriginEndpointOutput { + s.StartoverWindowSeconds = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateOriginEndpointOutput) SetTags(v map[string]*string) *CreateOriginEndpointOutput { + s.Tags = v + return s +} + +// SetTimeDelaySeconds sets the TimeDelaySeconds field's value. +func (s *CreateOriginEndpointOutput) SetTimeDelaySeconds(v int64) *CreateOriginEndpointOutput { + s.TimeDelaySeconds = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *CreateOriginEndpointOutput) SetUrl(v string) *CreateOriginEndpointOutput { + s.Url = &v + return s +} + +// SetWhitelist sets the Whitelist field's value. +func (s *CreateOriginEndpointOutput) SetWhitelist(v []*string) *CreateOriginEndpointOutput { + s.Whitelist = v + return s +} + +// A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration. +type DashEncryption struct { + _ struct{} `type:"structure"` + + // Time (in seconds) between each encryption key rotation. + KeyRotationIntervalSeconds *int64 `locationName:"keyRotationIntervalSeconds" type:"integer"` + + // A configuration for accessing an external Secure Packager and Encoder Key + // Exchange (SPEKE) service that will provide encryption keys. + // + // SpekeKeyProvider is a required field + SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DashEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashEncryption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DashEncryption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DashEncryption"} + if s.SpekeKeyProvider == nil { + invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider")) + } + if s.SpekeKeyProvider != nil { + if err := s.SpekeKeyProvider.Validate(); err != nil { + invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyRotationIntervalSeconds sets the KeyRotationIntervalSeconds field's value. +func (s *DashEncryption) SetKeyRotationIntervalSeconds(v int64) *DashEncryption { + s.KeyRotationIntervalSeconds = &v + return s +} + +// SetSpekeKeyProvider sets the SpekeKeyProvider field's value. +func (s *DashEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *DashEncryption { + s.SpekeKeyProvider = v + return s +} + +// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. +type DashPackage struct { + _ struct{} `type:"structure"` + + // A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration. + Encryption *DashEncryption `locationName:"encryption" type:"structure"` + + // Determines the position of some tags in the Media Presentation Description + // (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection + // are included in each Representation. When set to COMPACT, duplicate elements + // are combined and presented at the AdaptationSet level. + ManifestLayout *string `locationName:"manifestLayout" type:"string" enum:"ManifestLayout"` + + // Time window (in seconds) contained in each manifest. + ManifestWindowSeconds *int64 `locationName:"manifestWindowSeconds" type:"integer"` + + // Minimum duration (in seconds) that a player will buffer media before starting + // the presentation. + MinBufferTimeSeconds *int64 `locationName:"minBufferTimeSeconds" type:"integer"` + + // Minimum duration (in seconds) between potential changes to the Dynamic Adaptive + // Streaming over HTTP (DASH) Media Presentation Description (MPD). + MinUpdatePeriodSeconds *int64 `locationName:"minUpdatePeriodSeconds" type:"integer"` + + // A list of triggers that controls when the outgoing Dynamic Adaptive Streaming + // over HTTP (DASH)Media Presentation Description (MPD) will be partitioned + // into multiple periods. If empty, the content will notbe partitioned into + // more than one period. If the list contains "ADS", new periods will be created + // wherethe Channel source contains SCTE-35 ad markers. + PeriodTriggers []*string `locationName:"periodTriggers" type:"list"` + + // The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to + // "HBBTV_1_5", HbbTV 1.5 compliant output is enabled. + Profile *string `locationName:"profile" type:"string" enum:"Profile"` + + // Duration (in seconds) of each segment. Actual segments will berounded to + // the nearest multiple of the source segment duration. + SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"` + + // Determines the type of SegmentTimeline included in the Media Presentation + // Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented + // in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE, + // a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. + SegmentTemplateFormat *string `locationName:"segmentTemplateFormat" type:"string" enum:"SegmentTemplateFormat"` + + // A StreamSelection configuration. + StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"` + + // Duration (in seconds) to delay live content before presentation. + SuggestedPresentationDelaySeconds *int64 `locationName:"suggestedPresentationDelaySeconds" type:"integer"` +} + +// String returns the string representation +func (s DashPackage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashPackage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DashPackage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DashPackage"} + if s.Encryption != nil { + if err := s.Encryption.Validate(); err != nil { + invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryption sets the Encryption field's value. +func (s *DashPackage) SetEncryption(v *DashEncryption) *DashPackage { + s.Encryption = v + return s +} + +// SetManifestLayout sets the ManifestLayout field's value. +func (s *DashPackage) SetManifestLayout(v string) *DashPackage { + s.ManifestLayout = &v + return s +} + +// SetManifestWindowSeconds sets the ManifestWindowSeconds field's value. +func (s *DashPackage) SetManifestWindowSeconds(v int64) *DashPackage { + s.ManifestWindowSeconds = &v + return s +} + +// SetMinBufferTimeSeconds sets the MinBufferTimeSeconds field's value. +func (s *DashPackage) SetMinBufferTimeSeconds(v int64) *DashPackage { + s.MinBufferTimeSeconds = &v + return s +} + +// SetMinUpdatePeriodSeconds sets the MinUpdatePeriodSeconds field's value. +func (s *DashPackage) SetMinUpdatePeriodSeconds(v int64) *DashPackage { + s.MinUpdatePeriodSeconds = &v + return s +} + +// SetPeriodTriggers sets the PeriodTriggers field's value. +func (s *DashPackage) SetPeriodTriggers(v []*string) *DashPackage { + s.PeriodTriggers = v + return s +} + +// SetProfile sets the Profile field's value. +func (s *DashPackage) SetProfile(v string) *DashPackage { + s.Profile = &v + return s +} + +// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value. +func (s *DashPackage) SetSegmentDurationSeconds(v int64) *DashPackage { + s.SegmentDurationSeconds = &v + return s +} + +// SetSegmentTemplateFormat sets the SegmentTemplateFormat field's value. +func (s *DashPackage) SetSegmentTemplateFormat(v string) *DashPackage { + s.SegmentTemplateFormat = &v + return s +} + +// SetStreamSelection sets the StreamSelection field's value. +func (s *DashPackage) SetStreamSelection(v *StreamSelection) *DashPackage { + s.StreamSelection = v + return s +} + +// SetSuggestedPresentationDelaySeconds sets the SuggestedPresentationDelaySeconds field's value. +func (s *DashPackage) SetSuggestedPresentationDelaySeconds(v int64) *DashPackage { + s.SuggestedPresentationDelaySeconds = &v + return s +} + +type DeleteChannelInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteChannelInput) SetId(v string) *DeleteChannelInput { + s.Id = &v + return s +} + +type DeleteChannelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteChannelOutput) GoString() string { + return s.String() +} + +type DeleteOriginEndpointInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteOriginEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteOriginEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteOriginEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteOriginEndpointInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteOriginEndpointInput) SetId(v string) *DeleteOriginEndpointInput { + s.Id = &v + return s +} + +type DeleteOriginEndpointOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteOriginEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteOriginEndpointOutput) GoString() string { + return s.String() +} + +type DescribeChannelInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DescribeChannelInput) SetId(v string) *DescribeChannelInput { + s.Id = &v + return s +} + +type DescribeChannelOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Description *string `locationName:"description" type:"string"` + + // An HTTP Live Streaming (HLS) ingest resource configuration. + HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + // A collection of tags associated with a resource + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s DescribeChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeChannelOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeChannelOutput) SetArn(v string) *DescribeChannelOutput { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DescribeChannelOutput) SetDescription(v string) *DescribeChannelOutput { + s.Description = &v + return s +} + +// SetHlsIngest sets the HlsIngest field's value. +func (s *DescribeChannelOutput) SetHlsIngest(v *HlsIngest) *DescribeChannelOutput { + s.HlsIngest = v + return s +} + +// SetId sets the Id field's value. +func (s *DescribeChannelOutput) SetId(v string) *DescribeChannelOutput { + s.Id = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOutput { + s.Tags = v + return s +} + +type DescribeOriginEndpointInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeOriginEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeOriginEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeOriginEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeOriginEndpointInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DescribeOriginEndpointInput) SetId(v string) *DescribeOriginEndpointInput { + s.Id = &v + return s +} + +type DescribeOriginEndpointOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + ChannelId *string `locationName:"channelId" type:"string"` + + // A Common Media Application Format (CMAF) packaging configuration. + CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"` + + // A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + DashPackage *DashPackage `locationName:"dashPackage" type:"structure"` + + Description *string `locationName:"description" type:"string"` + + // An HTTP Live Streaming (HLS) packaging configuration. + HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + ManifestName *string `locationName:"manifestName" type:"string"` + + // A Microsoft Smooth Streaming (MSS) packaging configuration. + MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + + StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"` + + // A collection of tags associated with a resource + Tags map[string]*string `locationName:"tags" type:"map"` + + TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"` + + Url *string `locationName:"url" type:"string"` + + Whitelist []*string `locationName:"whitelist" type:"list"` +} + +// String returns the string representation +func (s DescribeOriginEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeOriginEndpointOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeOriginEndpointOutput) SetArn(v string) *DescribeOriginEndpointOutput { + s.Arn = &v + return s +} + +// SetChannelId sets the ChannelId field's value. +func (s *DescribeOriginEndpointOutput) SetChannelId(v string) *DescribeOriginEndpointOutput { + s.ChannelId = &v + return s +} + +// SetCmafPackage sets the CmafPackage field's value. +func (s *DescribeOriginEndpointOutput) SetCmafPackage(v *CmafPackage) *DescribeOriginEndpointOutput { + s.CmafPackage = v + return s +} + +// SetDashPackage sets the DashPackage field's value. +func (s *DescribeOriginEndpointOutput) SetDashPackage(v *DashPackage) *DescribeOriginEndpointOutput { + s.DashPackage = v + return s +} + +// SetDescription sets the Description field's value. +func (s *DescribeOriginEndpointOutput) SetDescription(v string) *DescribeOriginEndpointOutput { + s.Description = &v + return s +} + +// SetHlsPackage sets the HlsPackage field's value. +func (s *DescribeOriginEndpointOutput) SetHlsPackage(v *HlsPackage) *DescribeOriginEndpointOutput { + s.HlsPackage = v + return s +} + +// SetId sets the Id field's value. +func (s *DescribeOriginEndpointOutput) SetId(v string) *DescribeOriginEndpointOutput { + s.Id = &v + return s +} + +// SetManifestName sets the ManifestName field's value. +func (s *DescribeOriginEndpointOutput) SetManifestName(v string) *DescribeOriginEndpointOutput { + s.ManifestName = &v + return s +} + +// SetMssPackage sets the MssPackage field's value. +func (s *DescribeOriginEndpointOutput) SetMssPackage(v *MssPackage) *DescribeOriginEndpointOutput { + s.MssPackage = v + return s +} + +// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value. +func (s *DescribeOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *DescribeOriginEndpointOutput { + s.StartoverWindowSeconds = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeOriginEndpointOutput) SetTags(v map[string]*string) *DescribeOriginEndpointOutput { + s.Tags = v + return s +} + +// SetTimeDelaySeconds sets the TimeDelaySeconds field's value. +func (s *DescribeOriginEndpointOutput) SetTimeDelaySeconds(v int64) *DescribeOriginEndpointOutput { + s.TimeDelaySeconds = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *DescribeOriginEndpointOutput) SetUrl(v string) *DescribeOriginEndpointOutput { + s.Url = &v + return s +} + +// SetWhitelist sets the Whitelist field's value. +func (s *DescribeOriginEndpointOutput) SetWhitelist(v []*string) *DescribeOriginEndpointOutput { + s.Whitelist = v + return s +} + +// An HTTP Live Streaming (HLS) encryption configuration. +type HlsEncryption struct { + _ struct{} `type:"structure"` + + // A constant initialization vector for encryption (optional).When not specified + // the initialization vector will be periodically rotated. + ConstantInitializationVector *string `locationName:"constantInitializationVector" type:"string"` + + // The encryption method to use. + EncryptionMethod *string `locationName:"encryptionMethod" type:"string" enum:"EncryptionMethod"` + + // Interval (in seconds) between each encryption key rotation. + KeyRotationIntervalSeconds *int64 `locationName:"keyRotationIntervalSeconds" type:"integer"` + + // When enabled, the EXT-X-KEY tag will be repeated in output manifests. + RepeatExtXKey *bool `locationName:"repeatExtXKey" type:"boolean"` + + // A configuration for accessing an external Secure Packager and Encoder Key + // Exchange (SPEKE) service that will provide encryption keys. + // + // SpekeKeyProvider is a required field + SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"` +} + +// String returns the string representation +func (s HlsEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsEncryption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsEncryption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsEncryption"} + if s.SpekeKeyProvider == nil { + invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider")) + } + if s.SpekeKeyProvider != nil { + if err := s.SpekeKeyProvider.Validate(); err != nil { + invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConstantInitializationVector sets the ConstantInitializationVector field's value. +func (s *HlsEncryption) SetConstantInitializationVector(v string) *HlsEncryption { + s.ConstantInitializationVector = &v + return s +} + +// SetEncryptionMethod sets the EncryptionMethod field's value. +func (s *HlsEncryption) SetEncryptionMethod(v string) *HlsEncryption { + s.EncryptionMethod = &v + return s +} + +// SetKeyRotationIntervalSeconds sets the KeyRotationIntervalSeconds field's value. +func (s *HlsEncryption) SetKeyRotationIntervalSeconds(v int64) *HlsEncryption { + s.KeyRotationIntervalSeconds = &v + return s +} + +// SetRepeatExtXKey sets the RepeatExtXKey field's value. +func (s *HlsEncryption) SetRepeatExtXKey(v bool) *HlsEncryption { + s.RepeatExtXKey = &v + return s +} + +// SetSpekeKeyProvider sets the SpekeKeyProvider field's value. +func (s *HlsEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *HlsEncryption { + s.SpekeKeyProvider = v + return s +} + +// An HTTP Live Streaming (HLS) ingest resource configuration. +type HlsIngest struct { + _ struct{} `type:"structure"` + + // A list of endpoints to which the source stream should be sent. + IngestEndpoints []*IngestEndpoint `locationName:"ingestEndpoints" type:"list"` +} + +// String returns the string representation +func (s HlsIngest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsIngest) GoString() string { + return s.String() +} + +// SetIngestEndpoints sets the IngestEndpoints field's value. +func (s *HlsIngest) SetIngestEndpoints(v []*IngestEndpoint) *HlsIngest { + s.IngestEndpoints = v + return s +} + +// A HTTP Live Streaming (HLS) manifest configuration. +type HlsManifest struct { + _ struct{} `type:"structure"` + + // This setting controls how ad markers are included in the packaged OriginEndpoint."NONE" + // will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the + // manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly + // from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates + // ad markers and blackout tags based on SCTE-35messages in the input source. + AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"` + + // The ID of the manifest. The ID must be unique within the OriginEndpoint and + // it cannot be changed after it is created. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // When enabled, an I-Frame only stream will be included in the output. + IncludeIframeOnlyStream *bool `locationName:"includeIframeOnlyStream" type:"boolean"` + + // An optional short string appended to the end of the OriginEndpoint URL. If + // not specified, defaults to the manifestName for the OriginEndpoint. + ManifestName *string `locationName:"manifestName" type:"string"` + + // The HTTP Live Streaming (HLS) playlist type.When either "EVENT" or "VOD" + // is specified, a corresponding EXT-X-PLAYLIST-TYPEentry will be included in + // the media playlist. + PlaylistType *string `locationName:"playlistType" type:"string" enum:"PlaylistType"` + + // Time window (in seconds) contained in each parent manifest. + PlaylistWindowSeconds *int64 `locationName:"playlistWindowSeconds" type:"integer"` + + // The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME taginserted + // into manifests. Additionally, when an interval is specifiedID3Timed Metadata + // messages will be generated every 5 seconds using theingest time of the content.If + // the interval is not specified, or set to 0, thenno EXT-X-PROGRAM-DATE-TIME + // tags will be inserted into manifests and noID3Timed Metadata messages will + // be generated. Note that irrespectiveof this parameter, if any ID3 Timed Metadata + // is found in HTTP Live Streaming (HLS) input,it will be passed through to + // HLS output. + ProgramDateTimeIntervalSeconds *int64 `locationName:"programDateTimeIntervalSeconds" type:"integer"` + + // The URL of the packaged OriginEndpoint for consumption. + Url *string `locationName:"url" type:"string"` +} + +// String returns the string representation +func (s HlsManifest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsManifest) GoString() string { + return s.String() +} + +// SetAdMarkers sets the AdMarkers field's value. +func (s *HlsManifest) SetAdMarkers(v string) *HlsManifest { + s.AdMarkers = &v + return s +} + +// SetId sets the Id field's value. +func (s *HlsManifest) SetId(v string) *HlsManifest { + s.Id = &v + return s +} + +// SetIncludeIframeOnlyStream sets the IncludeIframeOnlyStream field's value. +func (s *HlsManifest) SetIncludeIframeOnlyStream(v bool) *HlsManifest { + s.IncludeIframeOnlyStream = &v + return s +} + +// SetManifestName sets the ManifestName field's value. +func (s *HlsManifest) SetManifestName(v string) *HlsManifest { + s.ManifestName = &v + return s +} + +// SetPlaylistType sets the PlaylistType field's value. +func (s *HlsManifest) SetPlaylistType(v string) *HlsManifest { + s.PlaylistType = &v + return s +} + +// SetPlaylistWindowSeconds sets the PlaylistWindowSeconds field's value. +func (s *HlsManifest) SetPlaylistWindowSeconds(v int64) *HlsManifest { + s.PlaylistWindowSeconds = &v + return s +} + +// SetProgramDateTimeIntervalSeconds sets the ProgramDateTimeIntervalSeconds field's value. +func (s *HlsManifest) SetProgramDateTimeIntervalSeconds(v int64) *HlsManifest { + s.ProgramDateTimeIntervalSeconds = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *HlsManifest) SetUrl(v string) *HlsManifest { + s.Url = &v + return s +} + +// A HTTP Live Streaming (HLS) manifest configuration. +type HlsManifestCreateOrUpdateParameters struct { + _ struct{} `type:"structure"` + + // This setting controls how ad markers are included in the packaged OriginEndpoint."NONE" + // will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the + // manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly + // from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates + // ad markers and blackout tags based on SCTE-35messages in the input source. + AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"` + + // The ID of the manifest. The ID must be unique within the OriginEndpoint and + // it cannot be changed after it is created. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // When enabled, an I-Frame only stream will be included in the output. + IncludeIframeOnlyStream *bool `locationName:"includeIframeOnlyStream" type:"boolean"` + + // An optional short string appended to the end of the OriginEndpoint URL. If + // not specified, defaults to the manifestName for the OriginEndpoint. + ManifestName *string `locationName:"manifestName" type:"string"` + + // The HTTP Live Streaming (HLS) playlist type.When either "EVENT" or "VOD" + // is specified, a corresponding EXT-X-PLAYLIST-TYPEentry will be included in + // the media playlist. + PlaylistType *string `locationName:"playlistType" type:"string" enum:"PlaylistType"` + + // Time window (in seconds) contained in each parent manifest. + PlaylistWindowSeconds *int64 `locationName:"playlistWindowSeconds" type:"integer"` + + // The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME taginserted + // into manifests. Additionally, when an interval is specifiedID3Timed Metadata + // messages will be generated every 5 seconds using theingest time of the content.If + // the interval is not specified, or set to 0, thenno EXT-X-PROGRAM-DATE-TIME + // tags will be inserted into manifests and noID3Timed Metadata messages will + // be generated. Note that irrespectiveof this parameter, if any ID3 Timed Metadata + // is found in HTTP Live Streaming (HLS) input,it will be passed through to + // HLS output. + ProgramDateTimeIntervalSeconds *int64 `locationName:"programDateTimeIntervalSeconds" type:"integer"` +} + +// String returns the string representation +func (s HlsManifestCreateOrUpdateParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsManifestCreateOrUpdateParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsManifestCreateOrUpdateParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsManifestCreateOrUpdateParameters"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdMarkers sets the AdMarkers field's value. +func (s *HlsManifestCreateOrUpdateParameters) SetAdMarkers(v string) *HlsManifestCreateOrUpdateParameters { + s.AdMarkers = &v + return s +} + +// SetId sets the Id field's value. +func (s *HlsManifestCreateOrUpdateParameters) SetId(v string) *HlsManifestCreateOrUpdateParameters { + s.Id = &v + return s +} + +// SetIncludeIframeOnlyStream sets the IncludeIframeOnlyStream field's value. +func (s *HlsManifestCreateOrUpdateParameters) SetIncludeIframeOnlyStream(v bool) *HlsManifestCreateOrUpdateParameters { + s.IncludeIframeOnlyStream = &v + return s +} + +// SetManifestName sets the ManifestName field's value. +func (s *HlsManifestCreateOrUpdateParameters) SetManifestName(v string) *HlsManifestCreateOrUpdateParameters { + s.ManifestName = &v + return s +} + +// SetPlaylistType sets the PlaylistType field's value. +func (s *HlsManifestCreateOrUpdateParameters) SetPlaylistType(v string) *HlsManifestCreateOrUpdateParameters { + s.PlaylistType = &v + return s +} + +// SetPlaylistWindowSeconds sets the PlaylistWindowSeconds field's value. +func (s *HlsManifestCreateOrUpdateParameters) SetPlaylistWindowSeconds(v int64) *HlsManifestCreateOrUpdateParameters { + s.PlaylistWindowSeconds = &v + return s +} + +// SetProgramDateTimeIntervalSeconds sets the ProgramDateTimeIntervalSeconds field's value. +func (s *HlsManifestCreateOrUpdateParameters) SetProgramDateTimeIntervalSeconds(v int64) *HlsManifestCreateOrUpdateParameters { + s.ProgramDateTimeIntervalSeconds = &v + return s +} + +// An HTTP Live Streaming (HLS) packaging configuration. +type HlsPackage struct { + _ struct{} `type:"structure"` + + // This setting controls how ad markers are included in the packaged OriginEndpoint."NONE" + // will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the + // manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly + // from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates + // ad markers and blackout tags based on SCTE-35messages in the input source. + AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"` + + // An HTTP Live Streaming (HLS) encryption configuration. + Encryption *HlsEncryption `locationName:"encryption" type:"structure"` + + // When enabled, an I-Frame only stream will be included in the output. + IncludeIframeOnlyStream *bool `locationName:"includeIframeOnlyStream" type:"boolean"` + + // The HTTP Live Streaming (HLS) playlist type.When either "EVENT" or "VOD" + // is specified, a corresponding EXT-X-PLAYLIST-TYPEentry will be included in + // the media playlist. + PlaylistType *string `locationName:"playlistType" type:"string" enum:"PlaylistType"` + + // Time window (in seconds) contained in each parent manifest. + PlaylistWindowSeconds *int64 `locationName:"playlistWindowSeconds" type:"integer"` + + // The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME taginserted + // into manifests. Additionally, when an interval is specifiedID3Timed Metadata + // messages will be generated every 5 seconds using theingest time of the content.If + // the interval is not specified, or set to 0, thenno EXT-X-PROGRAM-DATE-TIME + // tags will be inserted into manifests and noID3Timed Metadata messages will + // be generated. Note that irrespectiveof this parameter, if any ID3 Timed Metadata + // is found in HTTP Live Streaming (HLS) input,it will be passed through to + // HLS output. + ProgramDateTimeIntervalSeconds *int64 `locationName:"programDateTimeIntervalSeconds" type:"integer"` + + // Duration (in seconds) of each fragment. Actual fragments will berounded to + // the nearest multiple of the source fragment duration. + SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"` + + // A StreamSelection configuration. + StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"` + + // When enabled, audio streams will be placed in rendition groups in the output. + UseAudioRenditionGroup *bool `locationName:"useAudioRenditionGroup" type:"boolean"` +} + +// String returns the string representation +func (s HlsPackage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsPackage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsPackage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsPackage"} + if s.Encryption != nil { + if err := s.Encryption.Validate(); err != nil { + invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdMarkers sets the AdMarkers field's value. +func (s *HlsPackage) SetAdMarkers(v string) *HlsPackage { + s.AdMarkers = &v + return s +} + +// SetEncryption sets the Encryption field's value. +func (s *HlsPackage) SetEncryption(v *HlsEncryption) *HlsPackage { + s.Encryption = v + return s +} + +// SetIncludeIframeOnlyStream sets the IncludeIframeOnlyStream field's value. +func (s *HlsPackage) SetIncludeIframeOnlyStream(v bool) *HlsPackage { + s.IncludeIframeOnlyStream = &v + return s +} + +// SetPlaylistType sets the PlaylistType field's value. +func (s *HlsPackage) SetPlaylistType(v string) *HlsPackage { + s.PlaylistType = &v + return s +} + +// SetPlaylistWindowSeconds sets the PlaylistWindowSeconds field's value. +func (s *HlsPackage) SetPlaylistWindowSeconds(v int64) *HlsPackage { + s.PlaylistWindowSeconds = &v + return s +} + +// SetProgramDateTimeIntervalSeconds sets the ProgramDateTimeIntervalSeconds field's value. +func (s *HlsPackage) SetProgramDateTimeIntervalSeconds(v int64) *HlsPackage { + s.ProgramDateTimeIntervalSeconds = &v + return s +} + +// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value. +func (s *HlsPackage) SetSegmentDurationSeconds(v int64) *HlsPackage { + s.SegmentDurationSeconds = &v + return s +} + +// SetStreamSelection sets the StreamSelection field's value. +func (s *HlsPackage) SetStreamSelection(v *StreamSelection) *HlsPackage { + s.StreamSelection = v + return s +} + +// SetUseAudioRenditionGroup sets the UseAudioRenditionGroup field's value. +func (s *HlsPackage) SetUseAudioRenditionGroup(v bool) *HlsPackage { + s.UseAudioRenditionGroup = &v + return s +} + +// An endpoint for ingesting source content for a Channel. +type IngestEndpoint struct { + _ struct{} `type:"structure"` + + // The system generated unique identifier for the IngestEndpoint + Id *string `locationName:"id" type:"string"` + + // The system generated password for ingest authentication. + Password *string `locationName:"password" type:"string"` + + // The ingest URL to which the source stream should be sent. + Url *string `locationName:"url" type:"string"` + + // The system generated username for ingest authentication. + Username *string `locationName:"username" type:"string"` +} + +// String returns the string representation +func (s IngestEndpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IngestEndpoint) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *IngestEndpoint) SetId(v string) *IngestEndpoint { + s.Id = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *IngestEndpoint) SetPassword(v string) *IngestEndpoint { + s.Password = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *IngestEndpoint) SetUrl(v string) *IngestEndpoint { + s.Url = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *IngestEndpoint) SetUsername(v string) *IngestEndpoint { + s.Username = &v + return s +} + +type ListChannelsInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListChannelsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListChannelsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListChannelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"} + 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 *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput { + s.NextToken = &v + return s +} + +type ListChannelsOutput struct { + _ struct{} `type:"structure"` + + Channels []*Channel `locationName:"channels" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListChannelsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListChannelsOutput) GoString() string { + return s.String() +} + +// SetChannels sets the Channels field's value. +func (s *ListChannelsOutput) SetChannels(v []*Channel) *ListChannelsOutput { + s.Channels = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput { + s.NextToken = &v + return s +} + +type ListOriginEndpointsInput struct { + _ struct{} `type:"structure"` + + ChannelId *string `location:"querystring" locationName:"channelId" type:"string"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListOriginEndpointsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListOriginEndpointsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListOriginEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListOriginEndpointsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelId sets the ChannelId field's value. +func (s *ListOriginEndpointsInput) SetChannelId(v string) *ListOriginEndpointsInput { + s.ChannelId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListOriginEndpointsInput) SetMaxResults(v int64) *ListOriginEndpointsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOriginEndpointsInput) SetNextToken(v string) *ListOriginEndpointsInput { + s.NextToken = &v + return s +} + +type ListOriginEndpointsOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` + + OriginEndpoints []*OriginEndpoint `locationName:"originEndpoints" type:"list"` +} + +// String returns the string representation +func (s ListOriginEndpointsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListOriginEndpointsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOriginEndpointsOutput) SetNextToken(v string) *ListOriginEndpointsOutput { + s.NextToken = &v + return s +} + +// SetOriginEndpoints sets the OriginEndpoints field's value. +func (s *ListOriginEndpointsOutput) SetOriginEndpoints(v []*OriginEndpoint) *ListOriginEndpointsOutput { + s.OriginEndpoints = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` +} + +// 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.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// 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() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// A Microsoft Smooth Streaming (MSS) encryption configuration. +type MssEncryption struct { + _ struct{} `type:"structure"` + + // A configuration for accessing an external Secure Packager and Encoder Key + // Exchange (SPEKE) service that will provide encryption keys. + // + // SpekeKeyProvider is a required field + SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"` +} + +// String returns the string representation +func (s MssEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MssEncryption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MssEncryption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MssEncryption"} + if s.SpekeKeyProvider == nil { + invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider")) + } + if s.SpekeKeyProvider != nil { + if err := s.SpekeKeyProvider.Validate(); err != nil { + invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSpekeKeyProvider sets the SpekeKeyProvider field's value. +func (s *MssEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *MssEncryption { + s.SpekeKeyProvider = v + return s +} + +// A Microsoft Smooth Streaming (MSS) packaging configuration. +type MssPackage struct { + _ struct{} `type:"structure"` + + // A Microsoft Smooth Streaming (MSS) encryption configuration. + Encryption *MssEncryption `locationName:"encryption" type:"structure"` + + // The time window (in seconds) contained in each manifest. + ManifestWindowSeconds *int64 `locationName:"manifestWindowSeconds" type:"integer"` + + // The duration (in seconds) of each segment. + SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"` + + // A StreamSelection configuration. + StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"` +} + +// String returns the string representation +func (s MssPackage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MssPackage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MssPackage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MssPackage"} + if s.Encryption != nil { + if err := s.Encryption.Validate(); err != nil { + invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryption sets the Encryption field's value. +func (s *MssPackage) SetEncryption(v *MssEncryption) *MssPackage { + s.Encryption = v + return s +} + +// SetManifestWindowSeconds sets the ManifestWindowSeconds field's value. +func (s *MssPackage) SetManifestWindowSeconds(v int64) *MssPackage { + s.ManifestWindowSeconds = &v + return s +} + +// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value. +func (s *MssPackage) SetSegmentDurationSeconds(v int64) *MssPackage { + s.SegmentDurationSeconds = &v + return s +} + +// SetStreamSelection sets the StreamSelection field's value. +func (s *MssPackage) SetStreamSelection(v *StreamSelection) *MssPackage { + s.StreamSelection = v + return s +} + +// An OriginEndpoint resource configuration. +type OriginEndpoint struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) assigned to the OriginEndpoint. + Arn *string `locationName:"arn" type:"string"` + + // The ID of the Channel the OriginEndpoint is associated with. + ChannelId *string `locationName:"channelId" type:"string"` + + // A Common Media Application Format (CMAF) packaging configuration. + CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"` + + // A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + DashPackage *DashPackage `locationName:"dashPackage" type:"structure"` + + // A short text description of the OriginEndpoint. + Description *string `locationName:"description" type:"string"` + + // An HTTP Live Streaming (HLS) packaging configuration. + HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"` + + // The ID of the OriginEndpoint. + Id *string `locationName:"id" type:"string"` + + // A short string appended to the end of the OriginEndpoint URL. + ManifestName *string `locationName:"manifestName" type:"string"` + + // A Microsoft Smooth Streaming (MSS) packaging configuration. + MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + + // Maximum duration (seconds) of content to retain for startover playback.If + // not specified, startover playback will be disabled for the OriginEndpoint. + StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"` + + // A collection of tags associated with a resource + Tags map[string]*string `locationName:"tags" type:"map"` + + // Amount of delay (seconds) to enforce on the playback of live content.If not + // specified, there will be no time delay in effect for the OriginEndpoint. + TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"` + + // The URL of the packaged OriginEndpoint for consumption. + Url *string `locationName:"url" type:"string"` + + // A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. + Whitelist []*string `locationName:"whitelist" type:"list"` +} + +// String returns the string representation +func (s OriginEndpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OriginEndpoint) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *OriginEndpoint) SetArn(v string) *OriginEndpoint { + s.Arn = &v + return s +} + +// SetChannelId sets the ChannelId field's value. +func (s *OriginEndpoint) SetChannelId(v string) *OriginEndpoint { + s.ChannelId = &v + return s +} + +// SetCmafPackage sets the CmafPackage field's value. +func (s *OriginEndpoint) SetCmafPackage(v *CmafPackage) *OriginEndpoint { + s.CmafPackage = v + return s +} + +// SetDashPackage sets the DashPackage field's value. +func (s *OriginEndpoint) SetDashPackage(v *DashPackage) *OriginEndpoint { + s.DashPackage = v + return s +} + +// SetDescription sets the Description field's value. +func (s *OriginEndpoint) SetDescription(v string) *OriginEndpoint { + s.Description = &v + return s +} + +// SetHlsPackage sets the HlsPackage field's value. +func (s *OriginEndpoint) SetHlsPackage(v *HlsPackage) *OriginEndpoint { + s.HlsPackage = v + return s +} + +// SetId sets the Id field's value. +func (s *OriginEndpoint) SetId(v string) *OriginEndpoint { + s.Id = &v + return s +} + +// SetManifestName sets the ManifestName field's value. +func (s *OriginEndpoint) SetManifestName(v string) *OriginEndpoint { + s.ManifestName = &v + return s +} + +// SetMssPackage sets the MssPackage field's value. +func (s *OriginEndpoint) SetMssPackage(v *MssPackage) *OriginEndpoint { + s.MssPackage = v + return s +} + +// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value. +func (s *OriginEndpoint) SetStartoverWindowSeconds(v int64) *OriginEndpoint { + s.StartoverWindowSeconds = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *OriginEndpoint) SetTags(v map[string]*string) *OriginEndpoint { + s.Tags = v + return s +} + +// SetTimeDelaySeconds sets the TimeDelaySeconds field's value. +func (s *OriginEndpoint) SetTimeDelaySeconds(v int64) *OriginEndpoint { + s.TimeDelaySeconds = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *OriginEndpoint) SetUrl(v string) *OriginEndpoint { + s.Url = &v + return s +} + +// SetWhitelist sets the Whitelist field's value. +func (s *OriginEndpoint) SetWhitelist(v []*string) *OriginEndpoint { + s.Whitelist = v + return s +} + +// Deprecated: RotateChannelCredentialsInput has been deprecated +type RotateChannelCredentialsInput struct { + _ struct{} `deprecated:"true" type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s RotateChannelCredentialsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RotateChannelCredentialsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RotateChannelCredentialsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RotateChannelCredentialsInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *RotateChannelCredentialsInput) SetId(v string) *RotateChannelCredentialsInput { + s.Id = &v + return s +} + +// Deprecated: RotateChannelCredentialsOutput has been deprecated +type RotateChannelCredentialsOutput struct { + _ struct{} `deprecated:"true" type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Description *string `locationName:"description" type:"string"` + + // An HTTP Live Streaming (HLS) ingest resource configuration. + HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + // A collection of tags associated with a resource + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s RotateChannelCredentialsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RotateChannelCredentialsOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *RotateChannelCredentialsOutput) SetArn(v string) *RotateChannelCredentialsOutput { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *RotateChannelCredentialsOutput) SetDescription(v string) *RotateChannelCredentialsOutput { + s.Description = &v + return s +} + +// SetHlsIngest sets the HlsIngest field's value. +func (s *RotateChannelCredentialsOutput) SetHlsIngest(v *HlsIngest) *RotateChannelCredentialsOutput { + s.HlsIngest = v + return s +} + +// SetId sets the Id field's value. +func (s *RotateChannelCredentialsOutput) SetId(v string) *RotateChannelCredentialsOutput { + s.Id = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *RotateChannelCredentialsOutput) SetTags(v map[string]*string) *RotateChannelCredentialsOutput { + s.Tags = v + return s +} + +type RotateIngestEndpointCredentialsInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` + + // IngestEndpointId is a required field + IngestEndpointId *string `location:"uri" locationName:"ingest_endpoint_id" type:"string" required:"true"` +} + +// String returns the string representation +func (s RotateIngestEndpointCredentialsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RotateIngestEndpointCredentialsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RotateIngestEndpointCredentialsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RotateIngestEndpointCredentialsInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.IngestEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("IngestEndpointId")) + } + if s.IngestEndpointId != nil && len(*s.IngestEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IngestEndpointId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *RotateIngestEndpointCredentialsInput) SetId(v string) *RotateIngestEndpointCredentialsInput { + s.Id = &v + return s +} + +// SetIngestEndpointId sets the IngestEndpointId field's value. +func (s *RotateIngestEndpointCredentialsInput) SetIngestEndpointId(v string) *RotateIngestEndpointCredentialsInput { + s.IngestEndpointId = &v + return s +} + +type RotateIngestEndpointCredentialsOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Description *string `locationName:"description" type:"string"` + + // An HTTP Live Streaming (HLS) ingest resource configuration. + HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + // A collection of tags associated with a resource + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s RotateIngestEndpointCredentialsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RotateIngestEndpointCredentialsOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *RotateIngestEndpointCredentialsOutput) SetArn(v string) *RotateIngestEndpointCredentialsOutput { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *RotateIngestEndpointCredentialsOutput) SetDescription(v string) *RotateIngestEndpointCredentialsOutput { + s.Description = &v + return s +} + +// SetHlsIngest sets the HlsIngest field's value. +func (s *RotateIngestEndpointCredentialsOutput) SetHlsIngest(v *HlsIngest) *RotateIngestEndpointCredentialsOutput { + s.HlsIngest = v + return s +} + +// SetId sets the Id field's value. +func (s *RotateIngestEndpointCredentialsOutput) SetId(v string) *RotateIngestEndpointCredentialsOutput { + s.Id = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *RotateIngestEndpointCredentialsOutput) SetTags(v map[string]*string) *RotateIngestEndpointCredentialsOutput { + s.Tags = v + return s +} + +// A configuration for accessing an external Secure Packager and Encoder Key +// Exchange (SPEKE) service that will provide encryption keys. +type SpekeKeyProvider struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) of a Certificate Manager certificatethat MediaPackage + // will use for enforcing secure end-to-end datatransfer with the key provider + // service. + CertificateArn *string `locationName:"certificateArn" type:"string"` + + // The resource ID to include in key requests. + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + + // An Amazon Resource Name (ARN) of an IAM role that AWS ElementalMediaPackage + // will assume when accessing the key provider service. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` + + // The system IDs to include in key requests. + // + // SystemIds is a required field + SystemIds []*string `locationName:"systemIds" type:"list" required:"true"` + + // The URL of the external key provider service. + // + // Url is a required field + Url *string `locationName:"url" type:"string" required:"true"` +} + +// String returns the string representation +func (s SpekeKeyProvider) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SpekeKeyProvider) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SpekeKeyProvider) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SpekeKeyProvider"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.SystemIds == nil { + invalidParams.Add(request.NewErrParamRequired("SystemIds")) + } + if s.Url == nil { + invalidParams.Add(request.NewErrParamRequired("Url")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateArn sets the CertificateArn field's value. +func (s *SpekeKeyProvider) SetCertificateArn(v string) *SpekeKeyProvider { + s.CertificateArn = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *SpekeKeyProvider) SetResourceId(v string) *SpekeKeyProvider { + s.ResourceId = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *SpekeKeyProvider) SetRoleArn(v string) *SpekeKeyProvider { + s.RoleArn = &v + return s +} + +// SetSystemIds sets the SystemIds field's value. +func (s *SpekeKeyProvider) SetSystemIds(v []*string) *SpekeKeyProvider { + s.SystemIds = v + return s +} + +// SetUrl sets the Url field's value. +func (s *SpekeKeyProvider) SetUrl(v string) *SpekeKeyProvider { + s.Url = &v + return s +} + +// A StreamSelection configuration. +type StreamSelection struct { + _ struct{} `type:"structure"` + + // The maximum video bitrate (bps) to include in output. + MaxVideoBitsPerSecond *int64 `locationName:"maxVideoBitsPerSecond" type:"integer"` + + // The minimum video bitrate (bps) to include in output. + MinVideoBitsPerSecond *int64 `locationName:"minVideoBitsPerSecond" type:"integer"` + + // A directive that determines the order of streams in the output. + StreamOrder *string `locationName:"streamOrder" type:"string" enum:"StreamOrder"` +} + +// String returns the string representation +func (s StreamSelection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StreamSelection) GoString() string { + return s.String() +} + +// SetMaxVideoBitsPerSecond sets the MaxVideoBitsPerSecond field's value. +func (s *StreamSelection) SetMaxVideoBitsPerSecond(v int64) *StreamSelection { + s.MaxVideoBitsPerSecond = &v + return s +} + +// SetMinVideoBitsPerSecond sets the MinVideoBitsPerSecond field's value. +func (s *StreamSelection) SetMinVideoBitsPerSecond(v int64) *StreamSelection { + s.MinVideoBitsPerSecond = &v + return s +} + +// SetStreamOrder sets the StreamOrder field's value. +func (s *StreamSelection) SetStreamOrder(v string) *StreamSelection { + s.StreamOrder = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` + + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` + + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateChannelInput struct { + _ struct{} `type:"structure"` + + Description *string `locationName:"description" type:"string"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateChannelInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateChannelInput) SetDescription(v string) *UpdateChannelInput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateChannelInput) SetId(v string) *UpdateChannelInput { + s.Id = &v + return s +} + +type UpdateChannelOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Description *string `locationName:"description" type:"string"` + + // An HTTP Live Streaming (HLS) ingest resource configuration. + HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + // A collection of tags associated with a resource + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s UpdateChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateChannelOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *UpdateChannelOutput) SetArn(v string) *UpdateChannelOutput { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateChannelOutput) SetDescription(v string) *UpdateChannelOutput { + s.Description = &v + return s +} + +// SetHlsIngest sets the HlsIngest field's value. +func (s *UpdateChannelOutput) SetHlsIngest(v *HlsIngest) *UpdateChannelOutput { + s.HlsIngest = v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateChannelOutput) SetId(v string) *UpdateChannelOutput { + s.Id = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *UpdateChannelOutput) SetTags(v map[string]*string) *UpdateChannelOutput { + s.Tags = v + return s +} + +type UpdateOriginEndpointInput struct { + _ struct{} `type:"structure"` + + // A Common Media Application Format (CMAF) packaging configuration. + CmafPackage *CmafPackageCreateOrUpdateParameters `locationName:"cmafPackage" type:"structure"` + + // A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + DashPackage *DashPackage `locationName:"dashPackage" type:"structure"` + + Description *string `locationName:"description" type:"string"` + + // An HTTP Live Streaming (HLS) packaging configuration. + HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` + + ManifestName *string `locationName:"manifestName" type:"string"` + + // A Microsoft Smooth Streaming (MSS) packaging configuration. + MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + + StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"` + + TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"` + + Whitelist []*string `locationName:"whitelist" type:"list"` +} + +// String returns the string representation +func (s UpdateOriginEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateOriginEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateOriginEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateOriginEndpointInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.CmafPackage != nil { + if err := s.CmafPackage.Validate(); err != nil { + invalidParams.AddNested("CmafPackage", err.(request.ErrInvalidParams)) + } + } + if s.DashPackage != nil { + if err := s.DashPackage.Validate(); err != nil { + invalidParams.AddNested("DashPackage", err.(request.ErrInvalidParams)) + } + } + if s.HlsPackage != nil { + if err := s.HlsPackage.Validate(); err != nil { + invalidParams.AddNested("HlsPackage", err.(request.ErrInvalidParams)) + } + } + if s.MssPackage != nil { + if err := s.MssPackage.Validate(); err != nil { + invalidParams.AddNested("MssPackage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCmafPackage sets the CmafPackage field's value. +func (s *UpdateOriginEndpointInput) SetCmafPackage(v *CmafPackageCreateOrUpdateParameters) *UpdateOriginEndpointInput { + s.CmafPackage = v + return s +} + +// SetDashPackage sets the DashPackage field's value. +func (s *UpdateOriginEndpointInput) SetDashPackage(v *DashPackage) *UpdateOriginEndpointInput { + s.DashPackage = v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateOriginEndpointInput) SetDescription(v string) *UpdateOriginEndpointInput { + s.Description = &v + return s +} + +// SetHlsPackage sets the HlsPackage field's value. +func (s *UpdateOriginEndpointInput) SetHlsPackage(v *HlsPackage) *UpdateOriginEndpointInput { + s.HlsPackage = v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateOriginEndpointInput) SetId(v string) *UpdateOriginEndpointInput { + s.Id = &v + return s +} + +// SetManifestName sets the ManifestName field's value. +func (s *UpdateOriginEndpointInput) SetManifestName(v string) *UpdateOriginEndpointInput { + s.ManifestName = &v + return s +} + +// SetMssPackage sets the MssPackage field's value. +func (s *UpdateOriginEndpointInput) SetMssPackage(v *MssPackage) *UpdateOriginEndpointInput { + s.MssPackage = v + return s +} + +// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value. +func (s *UpdateOriginEndpointInput) SetStartoverWindowSeconds(v int64) *UpdateOriginEndpointInput { + s.StartoverWindowSeconds = &v + return s +} + +// SetTimeDelaySeconds sets the TimeDelaySeconds field's value. +func (s *UpdateOriginEndpointInput) SetTimeDelaySeconds(v int64) *UpdateOriginEndpointInput { + s.TimeDelaySeconds = &v + return s +} + +// SetWhitelist sets the Whitelist field's value. +func (s *UpdateOriginEndpointInput) SetWhitelist(v []*string) *UpdateOriginEndpointInput { + s.Whitelist = v + return s +} + +type UpdateOriginEndpointOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + ChannelId *string `locationName:"channelId" type:"string"` + + // A Common Media Application Format (CMAF) packaging configuration. + CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"` + + // A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + DashPackage *DashPackage `locationName:"dashPackage" type:"structure"` + + Description *string `locationName:"description" type:"string"` + + // An HTTP Live Streaming (HLS) packaging configuration. + HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + ManifestName *string `locationName:"manifestName" type:"string"` + + // A Microsoft Smooth Streaming (MSS) packaging configuration. + MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + + StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"` + + // A collection of tags associated with a resource + Tags map[string]*string `locationName:"tags" type:"map"` + + TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"` + + Url *string `locationName:"url" type:"string"` + + Whitelist []*string `locationName:"whitelist" type:"list"` +} + +// String returns the string representation +func (s UpdateOriginEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateOriginEndpointOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *UpdateOriginEndpointOutput) SetArn(v string) *UpdateOriginEndpointOutput { + s.Arn = &v + return s +} + +// SetChannelId sets the ChannelId field's value. +func (s *UpdateOriginEndpointOutput) SetChannelId(v string) *UpdateOriginEndpointOutput { + s.ChannelId = &v + return s +} + +// SetCmafPackage sets the CmafPackage field's value. +func (s *UpdateOriginEndpointOutput) SetCmafPackage(v *CmafPackage) *UpdateOriginEndpointOutput { + s.CmafPackage = v + return s +} + +// SetDashPackage sets the DashPackage field's value. +func (s *UpdateOriginEndpointOutput) SetDashPackage(v *DashPackage) *UpdateOriginEndpointOutput { + s.DashPackage = v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateOriginEndpointOutput) SetDescription(v string) *UpdateOriginEndpointOutput { + s.Description = &v + return s +} + +// SetHlsPackage sets the HlsPackage field's value. +func (s *UpdateOriginEndpointOutput) SetHlsPackage(v *HlsPackage) *UpdateOriginEndpointOutput { + s.HlsPackage = v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateOriginEndpointOutput) SetId(v string) *UpdateOriginEndpointOutput { + s.Id = &v + return s +} + +// SetManifestName sets the ManifestName field's value. +func (s *UpdateOriginEndpointOutput) SetManifestName(v string) *UpdateOriginEndpointOutput { + s.ManifestName = &v + return s +} + +// SetMssPackage sets the MssPackage field's value. +func (s *UpdateOriginEndpointOutput) SetMssPackage(v *MssPackage) *UpdateOriginEndpointOutput { + s.MssPackage = v + return s +} + +// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value. +func (s *UpdateOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *UpdateOriginEndpointOutput { + s.StartoverWindowSeconds = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *UpdateOriginEndpointOutput) SetTags(v map[string]*string) *UpdateOriginEndpointOutput { + s.Tags = v + return s +} + +// SetTimeDelaySeconds sets the TimeDelaySeconds field's value. +func (s *UpdateOriginEndpointOutput) SetTimeDelaySeconds(v int64) *UpdateOriginEndpointOutput { + s.TimeDelaySeconds = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *UpdateOriginEndpointOutput) SetUrl(v string) *UpdateOriginEndpointOutput { + s.Url = &v + return s +} + +// SetWhitelist sets the Whitelist field's value. +func (s *UpdateOriginEndpointOutput) SetWhitelist(v []*string) *UpdateOriginEndpointOutput { + s.Whitelist = v + return s +} + +const ( + // AdMarkersNone is a AdMarkers enum value + AdMarkersNone = "NONE" + + // AdMarkersScte35Enhanced is a AdMarkers enum value + AdMarkersScte35Enhanced = "SCTE35_ENHANCED" + + // AdMarkersPassthrough is a AdMarkers enum value + AdMarkersPassthrough = "PASSTHROUGH" +) + +const ( + // EncryptionMethodAes128 is a EncryptionMethod enum value + EncryptionMethodAes128 = "AES_128" + + // EncryptionMethodSampleAes is a EncryptionMethod enum value + EncryptionMethodSampleAes = "SAMPLE_AES" +) + +const ( + // ManifestLayoutFull is a ManifestLayout enum value + ManifestLayoutFull = "FULL" + + // ManifestLayoutCompact is a ManifestLayout enum value + ManifestLayoutCompact = "COMPACT" +) + +const ( + // PlaylistTypeNone is a PlaylistType enum value + PlaylistTypeNone = "NONE" + + // PlaylistTypeEvent is a PlaylistType enum value + PlaylistTypeEvent = "EVENT" + + // PlaylistTypeVod is a PlaylistType enum value + PlaylistTypeVod = "VOD" +) + +const ( + // ProfileNone is a Profile enum value + ProfileNone = "NONE" + + // ProfileHbbtv15 is a Profile enum value + ProfileHbbtv15 = "HBBTV_1_5" +) + +const ( + // SegmentTemplateFormatNumberWithTimeline is a SegmentTemplateFormat enum value + SegmentTemplateFormatNumberWithTimeline = "NUMBER_WITH_TIMELINE" + + // SegmentTemplateFormatTimeWithTimeline is a SegmentTemplateFormat enum value + SegmentTemplateFormatTimeWithTimeline = "TIME_WITH_TIMELINE" +) + +const ( + // StreamOrderOriginal is a StreamOrder enum value + StreamOrderOriginal = "ORIGINAL" + + // StreamOrderVideoBitrateAscending is a StreamOrder enum value + StreamOrderVideoBitrateAscending = "VIDEO_BITRATE_ASCENDING" + + // StreamOrderVideoBitrateDescending is a StreamOrder enum value + StreamOrderVideoBitrateDescending = "VIDEO_BITRATE_DESCENDING" +) + +const ( + // __PeriodTriggersElementAds is a __PeriodTriggersElement enum value + __PeriodTriggersElementAds = "ADS" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediapackage/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediapackage/doc.go new file mode 100644 index 00000000000..03c86834991 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediapackage/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package mediapackage provides the client and types for making API +// requests to AWS Elemental MediaPackage. +// +// AWS Elemental MediaPackage +// +// See https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12 for more information on this service. +// +// See mediapackage package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mediapackage/ +// +// Using the Client +// +// To contact AWS Elemental MediaPackage 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 Elemental MediaPackage client MediaPackage for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mediapackage/#New +package mediapackage diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediapackage/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediapackage/errors.go new file mode 100644 index 00000000000..c6ba3649e5c --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediapackage/errors.go @@ -0,0 +1,30 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediapackage + +const ( + + // ErrCodeForbiddenException for service response error code + // "ForbiddenException". + ErrCodeForbiddenException = "ForbiddenException" + + // ErrCodeInternalServerErrorException for service response error code + // "InternalServerErrorException". + ErrCodeInternalServerErrorException = "InternalServerErrorException" + + // ErrCodeNotFoundException for service response error code + // "NotFoundException". + ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeServiceUnavailableException for service response error code + // "ServiceUnavailableException". + ErrCodeServiceUnavailableException = "ServiceUnavailableException" + + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + ErrCodeTooManyRequestsException = "TooManyRequestsException" + + // ErrCodeUnprocessableEntityException for service response error code + // "UnprocessableEntityException". + ErrCodeUnprocessableEntityException = "UnprocessableEntityException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediapackage/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediapackage/service.go new file mode 100644 index 00000000000..96dd74dcf3d --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediapackage/service.go @@ -0,0 +1,99 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediapackage + +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/restjson" +) + +// MediaPackage provides the API operation methods for making requests to +// AWS Elemental MediaPackage. See this package's package overview docs +// for details on the service. +// +// MediaPackage methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type MediaPackage 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 = "mediapackage" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "MediaPackage" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the MediaPackage 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 MediaPackage client from just a session. +// svc := mediapackage.New(mySession) +// +// // Create a MediaPackage client with additional configuration +// svc := mediapackage.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *MediaPackage { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "mediapackage" + } + 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) *MediaPackage { + svc := &MediaPackage{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2017-10-12", + JSONVersion: "1.1", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a MediaPackage operation and runs any +// custom request initialization. +func (c *MediaPackage) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastore/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastore/api.go index fdce6d30b1a..7e3997ff0f0 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastore/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastore/api.go @@ -419,7 +419,8 @@ func (c *MediaStore) DeleteLifecyclePolicyRequest(input *DeleteLifecyclePolicyIn // DeleteLifecyclePolicy API operation for AWS Elemental MediaStore. // -// Removes an object lifecycle policy from a container. +// Removes an object lifecycle policy from a container. It takes up to 20 minutes +// for the change to take effect. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1064,6 +1065,9 @@ func (c *MediaStore) PutCorsPolicyRequest(input *PutCorsPolicyInput) (req *reque // to 398,000 characters. You can add up to 100 rules to a CORS policy. If more // than one rule applies, the service uses the first applicable rule listed. // +// To learn more about CORS, see Cross-Origin Resource Sharing (CORS) in AWS +// Elemental MediaStore (https://docs.aws.amazon.com/mediastore/latest/ug/cors-policy.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. @@ -1151,7 +1155,10 @@ func (c *MediaStore) PutLifecyclePolicyRequest(input *PutLifecyclePolicyInput) ( // // Writes an object lifecycle policy to a container. If the container already // has an object lifecycle policy, the service replaces the existing policy -// with the new policy. +// with the new policy. It takes up to 20 minutes for the change to take effect. +// +// For information about how to construct an object lifecycle policy, see Components +// of an Object Lifecycle Policy (https://docs.aws.amazon.com/mediastore/latest/ug/policies-object-lifecycle-components.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 @@ -1193,6 +1200,184 @@ func (c *MediaStore) PutLifecyclePolicyWithContext(ctx aws.Context, input *PutLi return out, req.Send() } +const opStartAccessLogging = "StartAccessLogging" + +// StartAccessLoggingRequest generates a "aws/request.Request" representing the +// client's request for the StartAccessLogging 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 StartAccessLogging for more information on using the StartAccessLogging +// 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 StartAccessLoggingRequest method. +// req, resp := client.StartAccessLoggingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/StartAccessLogging +func (c *MediaStore) StartAccessLoggingRequest(input *StartAccessLoggingInput) (req *request.Request, output *StartAccessLoggingOutput) { + op := &request.Operation{ + Name: opStartAccessLogging, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartAccessLoggingInput{} + } + + output = &StartAccessLoggingOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StartAccessLogging API operation for AWS Elemental MediaStore. +// +// Starts access logging on the specified container. When you enable access +// logging on a container, MediaStore delivers access logs for objects stored +// in that container to Amazon CloudWatch Logs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaStore's +// API operation StartAccessLogging for usage and error information. +// +// Returned Error Codes: +// * ErrCodeContainerInUseException "ContainerInUseException" +// The container that you specified in the request already exists or is being +// updated. +// +// * ErrCodeContainerNotFoundException "ContainerNotFoundException" +// The container that you specified in the request does not exist. +// +// * ErrCodeInternalServerError "InternalServerError" +// The service is temporarily unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/StartAccessLogging +func (c *MediaStore) StartAccessLogging(input *StartAccessLoggingInput) (*StartAccessLoggingOutput, error) { + req, out := c.StartAccessLoggingRequest(input) + return out, req.Send() +} + +// StartAccessLoggingWithContext is the same as StartAccessLogging with the addition of +// the ability to pass a context and additional request options. +// +// See StartAccessLogging 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 *MediaStore) StartAccessLoggingWithContext(ctx aws.Context, input *StartAccessLoggingInput, opts ...request.Option) (*StartAccessLoggingOutput, error) { + req, out := c.StartAccessLoggingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopAccessLogging = "StopAccessLogging" + +// StopAccessLoggingRequest generates a "aws/request.Request" representing the +// client's request for the StopAccessLogging 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 StopAccessLogging for more information on using the StopAccessLogging +// 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 StopAccessLoggingRequest method. +// req, resp := client.StopAccessLoggingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/StopAccessLogging +func (c *MediaStore) StopAccessLoggingRequest(input *StopAccessLoggingInput) (req *request.Request, output *StopAccessLoggingOutput) { + op := &request.Operation{ + Name: opStopAccessLogging, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopAccessLoggingInput{} + } + + output = &StopAccessLoggingOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopAccessLogging API operation for AWS Elemental MediaStore. +// +// Stops access logging on the specified container. When you stop access logging +// on a container, MediaStore stops sending access logs to Amazon CloudWatch +// Logs. These access logs are not saved and are not retrievable. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaStore's +// API operation StopAccessLogging for usage and error information. +// +// Returned Error Codes: +// * ErrCodeContainerInUseException "ContainerInUseException" +// The container that you specified in the request already exists or is being +// updated. +// +// * ErrCodeContainerNotFoundException "ContainerNotFoundException" +// The container that you specified in the request does not exist. +// +// * ErrCodeInternalServerError "InternalServerError" +// The service is temporarily unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/StopAccessLogging +func (c *MediaStore) StopAccessLogging(input *StopAccessLoggingInput) (*StopAccessLoggingOutput, error) { + req, out := c.StopAccessLoggingRequest(input) + return out, req.Send() +} + +// StopAccessLoggingWithContext is the same as StopAccessLogging with the addition of +// the ability to pass a context and additional request options. +// +// See StopAccessLogging 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 *MediaStore) StopAccessLoggingWithContext(ctx aws.Context, input *StopAccessLoggingInput, opts ...request.Option) (*StopAccessLoggingOutput, error) { + req, out := c.StopAccessLoggingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + // This section describes operations that you can perform on an AWS Elemental // MediaStore container. type Container struct { @@ -1206,6 +1391,13 @@ type Container struct { // For example: arn:aws:mediastore:us-west-2:111122223333:container/movies ARN *string `min:"1" type:"string"` + // The state of access logging on the container. This value is false by default, + // indicating that AWS Elemental MediaStore does not send access logs to Amazon + // CloudWatch Logs. When you enable access logging on the container, MediaStore + // changes this value to true, indicating that the service delivers access logs + // for objects stored in that container to CloudWatch Logs. + AccessLoggingEnabled *bool `type:"boolean"` + // Unix timestamp. CreationTime *time.Time `type:"timestamp"` @@ -1241,6 +1433,12 @@ func (s *Container) SetARN(v string) *Container { return s } +// SetAccessLoggingEnabled sets the AccessLoggingEnabled field's value. +func (s *Container) SetAccessLoggingEnabled(v bool) *Container { + s.AccessLoggingEnabled = &v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *Container) SetCreationTime(v time.Time) *Container { s.CreationTime = &v @@ -2249,6 +2447,116 @@ func (s PutLifecyclePolicyOutput) GoString() string { return s.String() } +type StartAccessLoggingInput struct { + _ struct{} `type:"structure"` + + // The name of the container that you want to start access logging on. + // + // ContainerName is a required field + ContainerName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartAccessLoggingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartAccessLoggingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartAccessLoggingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartAccessLoggingInput"} + if s.ContainerName == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerName")) + } + if s.ContainerName != nil && len(*s.ContainerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContainerName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainerName sets the ContainerName field's value. +func (s *StartAccessLoggingInput) SetContainerName(v string) *StartAccessLoggingInput { + s.ContainerName = &v + return s +} + +type StartAccessLoggingOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StartAccessLoggingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartAccessLoggingOutput) GoString() string { + return s.String() +} + +type StopAccessLoggingInput struct { + _ struct{} `type:"structure"` + + // The name of the container that you want to stop access logging on. + // + // ContainerName is a required field + ContainerName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopAccessLoggingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopAccessLoggingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopAccessLoggingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopAccessLoggingInput"} + if s.ContainerName == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerName")) + } + if s.ContainerName != nil && len(*s.ContainerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContainerName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainerName sets the ContainerName field's value. +func (s *StopAccessLoggingInput) SetContainerName(v string) *StopAccessLoggingInput { + s.ContainerName = &v + return s +} + +type StopAccessLoggingOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopAccessLoggingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopAccessLoggingOutput) GoString() string { + return s.String() +} + const ( // ContainerStatusActive is a ContainerStatus enum value ContainerStatusActive = "ACTIVE" diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastoredata/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastoredata/api.go new file mode 100644 index 00000000000..a8e1df9fc54 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastoredata/api.go @@ -0,0 +1,1112 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediastoredata + +import ( + "io" + "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/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opDeleteObject = "DeleteObject" + +// DeleteObjectRequest generates a "aws/request.Request" representing the +// client's request for the DeleteObject 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 DeleteObject for more information on using the DeleteObject +// 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 DeleteObjectRequest method. +// req, resp := client.DeleteObjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-data-2017-09-01/DeleteObject +func (c *MediaStoreData) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request, output *DeleteObjectOutput) { + op := &request.Operation{ + Name: opDeleteObject, + HTTPMethod: "DELETE", + HTTPPath: "/{Path+}", + } + + if input == nil { + input = &DeleteObjectInput{} + } + + output = &DeleteObjectOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteObject API operation for AWS Elemental MediaStore Data Plane. +// +// Deletes an object at the specified path. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaStore Data Plane's +// API operation DeleteObject for usage and error information. +// +// Returned Error Codes: +// * ErrCodeContainerNotFoundException "ContainerNotFoundException" +// The specified container was not found for the specified account. +// +// * ErrCodeObjectNotFoundException "ObjectNotFoundException" +// Could not perform an operation on an object that does not exist. +// +// * ErrCodeInternalServerError "InternalServerError" +// The service is temporarily unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-data-2017-09-01/DeleteObject +func (c *MediaStoreData) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) { + req, out := c.DeleteObjectRequest(input) + return out, req.Send() +} + +// DeleteObjectWithContext is the same as DeleteObject with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteObject 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 *MediaStoreData) DeleteObjectWithContext(ctx aws.Context, input *DeleteObjectInput, opts ...request.Option) (*DeleteObjectOutput, error) { + req, out := c.DeleteObjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeObject = "DescribeObject" + +// DescribeObjectRequest generates a "aws/request.Request" representing the +// client's request for the DescribeObject 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 DescribeObject for more information on using the DescribeObject +// 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 DescribeObjectRequest method. +// req, resp := client.DescribeObjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-data-2017-09-01/DescribeObject +func (c *MediaStoreData) DescribeObjectRequest(input *DescribeObjectInput) (req *request.Request, output *DescribeObjectOutput) { + op := &request.Operation{ + Name: opDescribeObject, + HTTPMethod: "HEAD", + HTTPPath: "/{Path+}", + } + + if input == nil { + input = &DescribeObjectInput{} + } + + output = &DescribeObjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeObject API operation for AWS Elemental MediaStore Data Plane. +// +// Gets the headers for an object at the specified path. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaStore Data Plane's +// API operation DescribeObject for usage and error information. +// +// Returned Error Codes: +// * ErrCodeContainerNotFoundException "ContainerNotFoundException" +// The specified container was not found for the specified account. +// +// * ErrCodeObjectNotFoundException "ObjectNotFoundException" +// Could not perform an operation on an object that does not exist. +// +// * ErrCodeInternalServerError "InternalServerError" +// The service is temporarily unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-data-2017-09-01/DescribeObject +func (c *MediaStoreData) DescribeObject(input *DescribeObjectInput) (*DescribeObjectOutput, error) { + req, out := c.DescribeObjectRequest(input) + return out, req.Send() +} + +// DescribeObjectWithContext is the same as DescribeObject with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeObject 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 *MediaStoreData) DescribeObjectWithContext(ctx aws.Context, input *DescribeObjectInput, opts ...request.Option) (*DescribeObjectOutput, error) { + req, out := c.DescribeObjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetObject = "GetObject" + +// GetObjectRequest generates a "aws/request.Request" representing the +// client's request for the GetObject 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 GetObject for more information on using the GetObject +// 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 GetObjectRequest method. +// req, resp := client.GetObjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-data-2017-09-01/GetObject +func (c *MediaStoreData) GetObjectRequest(input *GetObjectInput) (req *request.Request, output *GetObjectOutput) { + op := &request.Operation{ + Name: opGetObject, + HTTPMethod: "GET", + HTTPPath: "/{Path+}", + } + + if input == nil { + input = &GetObjectInput{} + } + + output = &GetObjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetObject API operation for AWS Elemental MediaStore Data Plane. +// +// Downloads the object at the specified path. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaStore Data Plane's +// API operation GetObject for usage and error information. +// +// Returned Error Codes: +// * ErrCodeContainerNotFoundException "ContainerNotFoundException" +// The specified container was not found for the specified account. +// +// * ErrCodeObjectNotFoundException "ObjectNotFoundException" +// Could not perform an operation on an object that does not exist. +// +// * ErrCodeRequestedRangeNotSatisfiableException "RequestedRangeNotSatisfiableException" +// The requested content range is not valid. +// +// * ErrCodeInternalServerError "InternalServerError" +// The service is temporarily unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-data-2017-09-01/GetObject +func (c *MediaStoreData) GetObject(input *GetObjectInput) (*GetObjectOutput, error) { + req, out := c.GetObjectRequest(input) + return out, req.Send() +} + +// GetObjectWithContext is the same as GetObject with the addition of +// the ability to pass a context and additional request options. +// +// See GetObject 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 *MediaStoreData) GetObjectWithContext(ctx aws.Context, input *GetObjectInput, opts ...request.Option) (*GetObjectOutput, error) { + req, out := c.GetObjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListItems = "ListItems" + +// ListItemsRequest generates a "aws/request.Request" representing the +// client's request for the ListItems 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 ListItems for more information on using the ListItems +// 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 ListItemsRequest method. +// req, resp := client.ListItemsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-data-2017-09-01/ListItems +func (c *MediaStoreData) ListItemsRequest(input *ListItemsInput) (req *request.Request, output *ListItemsOutput) { + op := &request.Operation{ + Name: opListItems, + HTTPMethod: "GET", + HTTPPath: "/", + } + + if input == nil { + input = &ListItemsInput{} + } + + output = &ListItemsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListItems API operation for AWS Elemental MediaStore Data Plane. +// +// Provides a list of metadata entries about folders and objects in the specified +// folder. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaStore Data Plane's +// API operation ListItems for usage and error information. +// +// Returned Error Codes: +// * ErrCodeContainerNotFoundException "ContainerNotFoundException" +// The specified container was not found for the specified account. +// +// * ErrCodeInternalServerError "InternalServerError" +// The service is temporarily unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-data-2017-09-01/ListItems +func (c *MediaStoreData) ListItems(input *ListItemsInput) (*ListItemsOutput, error) { + req, out := c.ListItemsRequest(input) + return out, req.Send() +} + +// ListItemsWithContext is the same as ListItems with the addition of +// the ability to pass a context and additional request options. +// +// See ListItems 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 *MediaStoreData) ListItemsWithContext(ctx aws.Context, input *ListItemsInput, opts ...request.Option) (*ListItemsOutput, error) { + req, out := c.ListItemsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutObject = "PutObject" + +// PutObjectRequest generates a "aws/request.Request" representing the +// client's request for the PutObject 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 PutObject for more information on using the PutObject +// 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 PutObjectRequest method. +// req, resp := client.PutObjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-data-2017-09-01/PutObject +func (c *MediaStoreData) PutObjectRequest(input *PutObjectInput) (req *request.Request, output *PutObjectOutput) { + op := &request.Operation{ + Name: opPutObject, + HTTPMethod: "PUT", + HTTPPath: "/{Path+}", + } + + if input == nil { + input = &PutObjectInput{} + } + + output = &PutObjectOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Sign.Remove(v4.SignRequestHandler) + handler := v4.BuildNamedHandler("v4.CustomSignerHandler", v4.WithUnsignedPayload) + req.Handlers.Sign.PushFrontNamed(handler) + return +} + +// PutObject API operation for AWS Elemental MediaStore Data Plane. +// +// Uploads an object to the specified path. Object sizes are limited to 25 MB. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Elemental MediaStore Data Plane's +// API operation PutObject for usage and error information. +// +// Returned Error Codes: +// * ErrCodeContainerNotFoundException "ContainerNotFoundException" +// The specified container was not found for the specified account. +// +// * ErrCodeInternalServerError "InternalServerError" +// The service is temporarily unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediastore-data-2017-09-01/PutObject +func (c *MediaStoreData) PutObject(input *PutObjectInput) (*PutObjectOutput, error) { + req, out := c.PutObjectRequest(input) + return out, req.Send() +} + +// PutObjectWithContext is the same as PutObject with the addition of +// the ability to pass a context and additional request options. +// +// See PutObject 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 *MediaStoreData) PutObjectWithContext(ctx aws.Context, input *PutObjectInput, opts ...request.Option) (*PutObjectOutput, error) { + req, out := c.PutObjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type DeleteObjectInput struct { + _ struct{} `type:"structure"` + + // The path (including the file name) where the object is stored in the container. + // Format: // + // + // Path is a required field + Path *string `location:"uri" locationName:"Path" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteObjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteObjectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteObjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteObjectInput"} + if s.Path == nil { + invalidParams.Add(request.NewErrParamRequired("Path")) + } + if s.Path != nil && len(*s.Path) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Path", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPath sets the Path field's value. +func (s *DeleteObjectInput) SetPath(v string) *DeleteObjectInput { + s.Path = &v + return s +} + +type DeleteObjectOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteObjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteObjectOutput) GoString() string { + return s.String() +} + +type DescribeObjectInput struct { + _ struct{} `type:"structure"` + + // The path (including the file name) where the object is stored in the container. + // Format: // + // + // Path is a required field + Path *string `location:"uri" locationName:"Path" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeObjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeObjectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeObjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeObjectInput"} + if s.Path == nil { + invalidParams.Add(request.NewErrParamRequired("Path")) + } + if s.Path != nil && len(*s.Path) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Path", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPath sets the Path field's value. +func (s *DescribeObjectInput) SetPath(v string) *DescribeObjectInput { + s.Path = &v + return s +} + +type DescribeObjectOutput struct { + _ struct{} `type:"structure"` + + // An optional CacheControl header that allows the caller to control the object's + // cache behavior. Headers can be passed in as specified in the HTTP at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9 + // (https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9). + // + // Headers with a custom user-defined value are also accepted. + CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` + + // The length of the object in bytes. + ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` + + // The content type of the object. + ContentType *string `location:"header" locationName:"Content-Type" type:"string"` + + // The ETag that represents a unique instance of the object. + ETag *string `location:"header" locationName:"ETag" min:"1" type:"string"` + + // The date and time that the object was last modified. + LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"` +} + +// String returns the string representation +func (s DescribeObjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeObjectOutput) GoString() string { + return s.String() +} + +// SetCacheControl sets the CacheControl field's value. +func (s *DescribeObjectOutput) SetCacheControl(v string) *DescribeObjectOutput { + s.CacheControl = &v + return s +} + +// SetContentLength sets the ContentLength field's value. +func (s *DescribeObjectOutput) SetContentLength(v int64) *DescribeObjectOutput { + s.ContentLength = &v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *DescribeObjectOutput) SetContentType(v string) *DescribeObjectOutput { + s.ContentType = &v + return s +} + +// SetETag sets the ETag field's value. +func (s *DescribeObjectOutput) SetETag(v string) *DescribeObjectOutput { + s.ETag = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *DescribeObjectOutput) SetLastModified(v time.Time) *DescribeObjectOutput { + s.LastModified = &v + return s +} + +type GetObjectInput struct { + _ struct{} `type:"structure"` + + // The path (including the file name) where the object is stored in the container. + // Format: // + // + // For example, to upload the file mlaw.avi to the folder path premium\canada + // in the container movies, enter the path premium/canada/mlaw.avi. + // + // Do not include the container name in this path. + // + // If the path includes any folders that don't exist yet, the service creates + // them. For example, suppose you have an existing premium/usa subfolder. If + // you specify premium/canada, the service creates a canada subfolder in the + // premium folder. You then have two subfolders, usa and canada, in the premium + // folder. + // + // There is no correlation between the path to the source and the path (folders) + // in the container in AWS Elemental MediaStore. + // + // For more information about folders and how they exist in a container, see + // the AWS Elemental MediaStore User Guide (http://docs.aws.amazon.com/mediastore/latest/ug/). + // + // The file name is the name that is assigned to the file that you upload. The + // file can have the same name inside and outside of AWS Elemental MediaStore, + // or it can have the same name. The file name can include or omit an extension. + // + // Path is a required field + Path *string `location:"uri" locationName:"Path" min:"1" type:"string" required:"true"` + + // The range bytes of an object to retrieve. For more information about the + // Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35 + // (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35). + Range *string `location:"header" locationName:"Range" type:"string"` +} + +// String returns the string representation +func (s GetObjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetObjectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetObjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetObjectInput"} + if s.Path == nil { + invalidParams.Add(request.NewErrParamRequired("Path")) + } + if s.Path != nil && len(*s.Path) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Path", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPath sets the Path field's value. +func (s *GetObjectInput) SetPath(v string) *GetObjectInput { + s.Path = &v + return s +} + +// SetRange sets the Range field's value. +func (s *GetObjectInput) SetRange(v string) *GetObjectInput { + s.Range = &v + return s +} + +type GetObjectOutput struct { + _ struct{} `type:"structure" payload:"Body"` + + // The bytes of the object. + Body io.ReadCloser `type:"blob"` + + // An optional CacheControl header that allows the caller to control the object's + // cache behavior. Headers can be passed in as specified in the HTTP spec at + // https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9 (https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9). + // + // Headers with a custom user-defined value are also accepted. + CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` + + // The length of the object in bytes. + ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` + + // The range of bytes to retrieve. + ContentRange *string `location:"header" locationName:"Content-Range" type:"string"` + + // The content type of the object. + ContentType *string `location:"header" locationName:"Content-Type" type:"string"` + + // The ETag that represents a unique instance of the object. + ETag *string `location:"header" locationName:"ETag" min:"1" type:"string"` + + // The date and time that the object was last modified. + LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"` + + // The HTML status code of the request. Status codes ranging from 200 to 299 + // indicate success. All other status codes indicate the type of error that + // occurred. + // + // StatusCode is a required field + StatusCode *int64 `location:"statusCode" type:"integer" required:"true"` +} + +// String returns the string representation +func (s GetObjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetObjectOutput) GoString() string { + return s.String() +} + +// SetBody sets the Body field's value. +func (s *GetObjectOutput) SetBody(v io.ReadCloser) *GetObjectOutput { + s.Body = v + return s +} + +// SetCacheControl sets the CacheControl field's value. +func (s *GetObjectOutput) SetCacheControl(v string) *GetObjectOutput { + s.CacheControl = &v + return s +} + +// SetContentLength sets the ContentLength field's value. +func (s *GetObjectOutput) SetContentLength(v int64) *GetObjectOutput { + s.ContentLength = &v + return s +} + +// SetContentRange sets the ContentRange field's value. +func (s *GetObjectOutput) SetContentRange(v string) *GetObjectOutput { + s.ContentRange = &v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *GetObjectOutput) SetContentType(v string) *GetObjectOutput { + s.ContentType = &v + return s +} + +// SetETag sets the ETag field's value. +func (s *GetObjectOutput) SetETag(v string) *GetObjectOutput { + s.ETag = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *GetObjectOutput) SetLastModified(v time.Time) *GetObjectOutput { + s.LastModified = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *GetObjectOutput) SetStatusCode(v int64) *GetObjectOutput { + s.StatusCode = &v + return s +} + +// A metadata entry for a folder or object. +type Item struct { + _ struct{} `type:"structure"` + + // The length of the item in bytes. + ContentLength *int64 `type:"long"` + + // The content type of the item. + ContentType *string `type:"string"` + + // The ETag that represents a unique instance of the item. + ETag *string `min:"1" type:"string"` + + // The date and time that the item was last modified. + LastModified *time.Time `type:"timestamp"` + + // The name of the item. + Name *string `type:"string"` + + // The item type (folder or object). + Type *string `type:"string" enum:"ItemType"` +} + +// String returns the string representation +func (s Item) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Item) GoString() string { + return s.String() +} + +// SetContentLength sets the ContentLength field's value. +func (s *Item) SetContentLength(v int64) *Item { + s.ContentLength = &v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *Item) SetContentType(v string) *Item { + s.ContentType = &v + return s +} + +// SetETag sets the ETag field's value. +func (s *Item) SetETag(v string) *Item { + s.ETag = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *Item) SetLastModified(v time.Time) *Item { + s.LastModified = &v + return s +} + +// SetName sets the Name field's value. +func (s *Item) SetName(v string) *Item { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *Item) SetType(v string) *Item { + s.Type = &v + return s +} + +type ListItemsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return per API request. For example, you + // submit a ListItems request with MaxResults set at 500. Although 2,000 items + // match your request, the service returns no more than the first 500 items. + // (The service also returns a NextToken value that you can use to fetch the + // next batch of results.) The service might return fewer results than the MaxResults + // value. + // + // If MaxResults is not included in the request, the service defaults to pagination + // with a maximum of 1,000 results per page. + MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"` + + // The token that identifies which batch of results that you want to see. For + // example, you submit a ListItems request with MaxResults set at 500. The service + // returns the first batch of results (up to 500) and a NextToken value. To + // see the next batch of results, you can submit the ListItems request a second + // time and specify the NextToken value. + // + // Tokens expire after 15 minutes. + NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` + + // The path in the container from which to retrieve items. Format: // + Path *string `location:"querystring" locationName:"Path" type:"string"` +} + +// String returns the string representation +func (s ListItemsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListItemsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListItemsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListItemsInput"} + 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 *ListItemsInput) SetMaxResults(v int64) *ListItemsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListItemsInput) SetNextToken(v string) *ListItemsInput { + s.NextToken = &v + return s +} + +// SetPath sets the Path field's value. +func (s *ListItemsInput) SetPath(v string) *ListItemsInput { + s.Path = &v + return s +} + +type ListItemsOutput struct { + _ struct{} `type:"structure"` + + // The metadata entries for the folders and objects at the requested path. + Items []*Item `type:"list"` + + // The token that can be used in a request to view the next set of results. + // For example, you submit a ListItems request that matches 2,000 items with + // MaxResults set at 500. The service returns the first batch of results (up + // to 500) and a NextToken value that can be used to fetch the next batch of + // results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListItemsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListItemsOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *ListItemsOutput) SetItems(v []*Item) *ListItemsOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListItemsOutput) SetNextToken(v string) *ListItemsOutput { + s.NextToken = &v + return s +} + +type PutObjectInput struct { + _ struct{} `type:"structure" payload:"Body"` + + // The bytes to be stored. + // + // Body is a required field + Body io.ReadSeeker `type:"blob" required:"true"` + + // An optional CacheControl header that allows the caller to control the object's + // cache behavior. Headers can be passed in as specified in the HTTP at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9 + // (https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9). + // + // Headers with a custom user-defined value are also accepted. + CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` + + // The content type of the object. + ContentType *string `location:"header" locationName:"Content-Type" type:"string"` + + // The path (including the file name) where the object is stored in the container. + // Format: // + // + // For example, to upload the file mlaw.avi to the folder path premium\canada + // in the container movies, enter the path premium/canada/mlaw.avi. + // + // Do not include the container name in this path. + // + // If the path includes any folders that don't exist yet, the service creates + // them. For example, suppose you have an existing premium/usa subfolder. If + // you specify premium/canada, the service creates a canada subfolder in the + // premium folder. You then have two subfolders, usa and canada, in the premium + // folder. + // + // There is no correlation between the path to the source and the path (folders) + // in the container in AWS Elemental MediaStore. + // + // For more information about folders and how they exist in a container, see + // the AWS Elemental MediaStore User Guide (http://docs.aws.amazon.com/mediastore/latest/ug/). + // + // The file name is the name that is assigned to the file that you upload. The + // file can have the same name inside and outside of AWS Elemental MediaStore, + // or it can have the same name. The file name can include or omit an extension. + // + // Path is a required field + Path *string `location:"uri" locationName:"Path" min:"1" type:"string" required:"true"` + + // Indicates the storage class of a Put request. Defaults to high-performance + // temporal storage class, and objects are persisted into durable storage shortly + // after being received. + StorageClass *string `location:"header" locationName:"x-amz-storage-class" min:"1" type:"string" enum:"StorageClass"` +} + +// String returns the string representation +func (s PutObjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutObjectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutObjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutObjectInput"} + if s.Body == nil { + invalidParams.Add(request.NewErrParamRequired("Body")) + } + 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.StorageClass != nil && len(*s.StorageClass) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StorageClass", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBody sets the Body field's value. +func (s *PutObjectInput) SetBody(v io.ReadSeeker) *PutObjectInput { + s.Body = v + return s +} + +// SetCacheControl sets the CacheControl field's value. +func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput { + s.CacheControl = &v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *PutObjectInput) SetContentType(v string) *PutObjectInput { + s.ContentType = &v + return s +} + +// SetPath sets the Path field's value. +func (s *PutObjectInput) SetPath(v string) *PutObjectInput { + s.Path = &v + return s +} + +// SetStorageClass sets the StorageClass field's value. +func (s *PutObjectInput) SetStorageClass(v string) *PutObjectInput { + s.StorageClass = &v + return s +} + +type PutObjectOutput struct { + _ struct{} `type:"structure"` + + // The SHA256 digest of the object that is persisted. + ContentSHA256 *string `min:"64" type:"string"` + + // Unique identifier of the object in the container. + ETag *string `min:"1" type:"string"` + + // The storage class where the object was persisted. The class should be “Temporal”. + StorageClass *string `min:"1" type:"string" enum:"StorageClass"` +} + +// String returns the string representation +func (s PutObjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutObjectOutput) GoString() string { + return s.String() +} + +// SetContentSHA256 sets the ContentSHA256 field's value. +func (s *PutObjectOutput) SetContentSHA256(v string) *PutObjectOutput { + s.ContentSHA256 = &v + return s +} + +// SetETag sets the ETag field's value. +func (s *PutObjectOutput) SetETag(v string) *PutObjectOutput { + s.ETag = &v + return s +} + +// SetStorageClass sets the StorageClass field's value. +func (s *PutObjectOutput) SetStorageClass(v string) *PutObjectOutput { + s.StorageClass = &v + return s +} + +const ( + // ItemTypeObject is a ItemType enum value + ItemTypeObject = "OBJECT" + + // ItemTypeFolder is a ItemType enum value + ItemTypeFolder = "FOLDER" +) + +const ( + // StorageClassTemporal is a StorageClass enum value + StorageClassTemporal = "TEMPORAL" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastoredata/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastoredata/doc.go new file mode 100644 index 00000000000..2d0c4fbeade --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastoredata/doc.go @@ -0,0 +1,30 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package mediastoredata provides the client and types for making API +// requests to AWS Elemental MediaStore Data Plane. +// +// An AWS Elemental MediaStore asset is an object, similar to an object in the +// Amazon S3 service. Objects are the fundamental entities that are stored in +// AWS Elemental MediaStore. +// +// See https://docs.aws.amazon.com/goto/WebAPI/mediastore-data-2017-09-01 for more information on this service. +// +// See mediastoredata package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mediastoredata/ +// +// Using the Client +// +// To contact AWS Elemental MediaStore Data Plane 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 Elemental MediaStore Data Plane client MediaStoreData for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mediastoredata/#New +package mediastoredata diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastoredata/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastoredata/errors.go new file mode 100644 index 00000000000..95f0acdbd0f --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastoredata/errors.go @@ -0,0 +1,30 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediastoredata + +const ( + + // ErrCodeContainerNotFoundException for service response error code + // "ContainerNotFoundException". + // + // The specified container was not found for the specified account. + ErrCodeContainerNotFoundException = "ContainerNotFoundException" + + // ErrCodeInternalServerError for service response error code + // "InternalServerError". + // + // The service is temporarily unavailable. + ErrCodeInternalServerError = "InternalServerError" + + // ErrCodeObjectNotFoundException for service response error code + // "ObjectNotFoundException". + // + // Could not perform an operation on an object that does not exist. + ErrCodeObjectNotFoundException = "ObjectNotFoundException" + + // ErrCodeRequestedRangeNotSatisfiableException for service response error code + // "RequestedRangeNotSatisfiableException". + // + // The requested content range is not valid. + ErrCodeRequestedRangeNotSatisfiableException = "RequestedRangeNotSatisfiableException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastoredata/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastoredata/service.go new file mode 100644 index 00000000000..4203140146d --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/mediastoredata/service.go @@ -0,0 +1,98 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediastoredata + +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/restjson" +) + +// MediaStoreData provides the API operation methods for making requests to +// AWS Elemental MediaStore Data Plane. See this package's package overview docs +// for details on the service. +// +// MediaStoreData methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type MediaStoreData 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 = "data.mediastore" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "MediaStore Data" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the MediaStoreData 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 MediaStoreData client from just a session. +// svc := mediastoredata.New(mySession) +// +// // Create a MediaStoreData client with additional configuration +// svc := mediastoredata.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *MediaStoreData { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "mediastore" + } + 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) *MediaStoreData { + svc := &MediaStoreData{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2017-09-01", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a MediaStoreData operation and runs any +// custom request initialization. +func (c *MediaStoreData) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go index f37a867f071..6d6846090b4 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go @@ -76,10 +76,10 @@ func (c *Organizations) AcceptHandshakeRequest(input *AcceptHandshakeInput) (req // the master account. // // For more information about invitations, see Inviting an AWS Account to Join -// Your Organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_invites.html) +// Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_invites.html) // in the AWS Organizations User Guide. For more information about requests // to enable all features in the organization, see Enabling All Features -// in Your Organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) +// in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) // in the AWS Organizations User Guide. // // After you accept a handshake, it continues to appear in the results of relevant @@ -97,7 +97,7 @@ func (c *Organizations) AcceptHandshakeRequest(input *AcceptHandshakeInput) (req // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -229,6 +229,10 @@ func (c *Organizations) AcceptHandshakeRequest(input *AcceptHandshakeInput) (req // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // * ErrCodeAccessDeniedForDependencyException "AccessDeniedForDependencyException" // The operation that you attempted requires you to have the iam:CreateServiceLinkedRole // so that AWS Organizations can create the required service-linked role. You @@ -316,14 +320,15 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // If you attach the policy directly to an account, then it affects only that // account. // -// SCPs essentially are permission "filters". When you attach one SCP to a higher -// level root or OU, and you also attach a different SCP to a child OU or -// to an account, the child policy can further restrict only the permissions -// that pass through the parent filter and are available to the child. An -// SCP that is attached to a child cannot grant a permission that is not -// already granted by the parent. For example, imagine that the parent SCP -// allows permissions A, B, C, D, and E. The child SCP allows C, D, E, F, -// and G. The result is that the accounts affected by the child SCP are allowed +// SCPs are JSON policies that specify the maximum permissions for an organization +// or organizational unit (OU). When you attach one SCP to a higher level +// root or OU, and you also attach a different SCP to a child OU or to an +// account, the child policy can further restrict only the permissions that +// pass through the parent filter and are available to the child. An SCP +// that is attached to a child cannot grant a permission that is not already +// granted by the parent. For example, imagine that the parent SCP allows +// permissions A, B, C, D, and E. The child SCP allows C, D, E, F, and G. +// The result is that the accounts affected by the child SCP are allowed // to use only C, D, and E. They cannot use A or B because they were filtered // out by the child OU. They also cannot use F and G because they were filtered // out by the parent OU. They cannot be granted back by the child SCP; child @@ -336,7 +341,7 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // that specifies the permissions that you want to allow in that OU or account. // // For more information about how Organizations policies permissions work, see -// Using Service Control Policies (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) +// Using Service Control Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) // in the AWS Organizations User Guide. // // This operation can be called only from the organization's master account. @@ -353,7 +358,7 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -526,7 +531,7 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // The specified policy type isn't currently enabled in this root. You can't // attach policies of the specified type to entities in a root until you enable // that type in the root. For more information, see Enabling All Features in -// Your Organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) +// Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) // in the AWS Organizations User Guide. // // * ErrCodeServiceException "ServiceException" @@ -540,6 +545,10 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/AttachPolicy func (c *Organizations) AttachPolicy(input *AttachPolicyInput) (*AttachPolicyOutput, error) { req, out := c.AttachPolicyRequest(input) @@ -628,7 +637,7 @@ func (c *Organizations) CancelHandshakeRequest(input *CancelHandshakeInput) (req // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeConcurrentModificationException "ConcurrentModificationException" @@ -714,6 +723,10 @@ func (c *Organizations) CancelHandshakeRequest(input *CancelHandshakeInput) (req // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CancelHandshake func (c *Organizations) CancelHandshake(input *CancelHandshakeInput) (*CancelHandshakeOutput, error) { req, out := c.CancelHandshakeRequest(input) @@ -808,7 +821,7 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // This operation can be called only from the organization's master account. // // For more information about creating accounts, see Creating an AWS Account -// in Your Organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_create.html)in the AWS Organizations User Guide. +// in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_create.html)in the AWS Organizations User Guide. // // When you create an account in an organization using the AWS Organizations // console, API, or CLI commands, the information required for the account to @@ -826,7 +839,7 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // your organization is still initializing, wait one hour and then try again. // If the error persists, contact AWS Support (https://console.aws.amazon.com/support/home#/). // -// Using CreateAccount to create multiple temporary accounts is not recommended. +// Using CreateAccount to create multiple temporary accounts isn't recommended. // You can only close an account from the Billing and Cost Management Console, // and you must be signed in as the root user. For information on the requirements // and process for closing an account, see Closing an AWS Account (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_close.html) @@ -838,7 +851,7 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // permissions can view billing information for the account. If you disable // it, only the account root user can access billing information. For information // about how to disable this switch for an account, see Granting Access to Your -// Billing Information and Tools (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/grantaccess.html). +// Billing Information and Tools (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/grantaccess.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 @@ -852,7 +865,7 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -1029,6 +1042,10 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreateAccount func (c *Organizations) CreateAccount(input *CreateAccountInput) (*CreateAccountOutput, error) { req, out := c.CreateAccountRequest(input) @@ -1096,7 +1113,7 @@ func (c *Organizations) CreateOrganizationRequest(input *CreateOrganizationInput // CreateOrganization API operation for AWS Organizations. // // Creates an AWS organization. The account whose user is calling the CreateOrganization -// operation automatically becomes the master account (http://docs.aws.amazon.com/IAM/latest/UserGuide/orgs_getting-started_concepts.html#account) +// operation automatically becomes the master account (https://docs.aws.amazon.com/IAM/latest/UserGuide/orgs_getting-started_concepts.html#account) // of the new organization. // // This operation must be called using credentials from the account that is @@ -1122,7 +1139,7 @@ func (c *Organizations) CreateOrganizationRequest(input *CreateOrganizationInput // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAlreadyInOrganizationException "AlreadyInOrganizationException" @@ -1293,6 +1310,10 @@ func (c *Organizations) CreateOrganizationRequest(input *CreateOrganizationInput // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // * ErrCodeAccessDeniedForDependencyException "AccessDeniedForDependencyException" // The operation that you attempted requires you to have the iam:CreateServiceLinkedRole // so that AWS Organizations can create the required service-linked role. You @@ -1370,7 +1391,7 @@ func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizatio // that you can nest OUs is dependent upon the policy types enabled for that // root. For service control policies, the limit is five. // -// For more information about OUs, see Managing Organizational Units (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_ous.html) +// For more information about OUs, see Managing Organizational Units (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_ous.html) // in the AWS Organizations User Guide. // // This operation can be called only from the organization's master account. @@ -1387,7 +1408,7 @@ func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizatio // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -1564,6 +1585,10 @@ func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizatio // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreateOrganizationalUnit func (c *Organizations) CreateOrganizationalUnit(input *CreateOrganizationalUnitInput) (*CreateOrganizationalUnitOutput, error) { req, out := c.CreateOrganizationalUnitRequest(input) @@ -1634,7 +1659,7 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ // unit (OU), or an individual AWS account. // // For more information about policies and their use, see Managing Organization -// Policies (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html). +// Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html). // // This operation can be called only from the organization's master account. // @@ -1650,7 +1675,7 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -1819,14 +1844,14 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ // * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocumentException" // The provided policy document doesn't meet the requirements of the specified // policy type. For example, the syntax might be incorrect. For details about -// service control policy syntax, see Service Control Policy Syntax (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) +// service control policy syntax, see Service Control Policy Syntax (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) // in the AWS Organizations User Guide. // // * ErrCodePolicyTypeNotAvailableForOrganizationException "PolicyTypeNotAvailableForOrganizationException" // You can't use the specified policy type with the feature set currently enabled // for this organization. For example, you can enable SCPs only after you enable // all features in the organization. For more information, see Enabling and -// Disabling a Policy Type on a Root (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root) +// Disabling a Policy Type on a Root (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root) // in the AWS Organizations User Guide. // // * ErrCodeServiceException "ServiceException" @@ -1837,6 +1862,10 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreatePolicy func (c *Organizations) CreatePolicy(input *CreatePolicyInput) (*CreatePolicyOutput, error) { req, out := c.CreatePolicyRequest(input) @@ -1926,7 +1955,7 @@ func (c *Organizations) DeclineHandshakeRequest(input *DeclineHandshakeInput) (r // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeConcurrentModificationException "ConcurrentModificationException" @@ -2012,6 +2041,10 @@ func (c *Organizations) DeclineHandshakeRequest(input *DeclineHandshakeInput) (r // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeclineHandshake func (c *Organizations) DeclineHandshake(input *DeclineHandshakeInput) (*DeclineHandshakeOutput, error) { req, out := c.DeclineHandshakeRequest(input) @@ -2094,7 +2127,7 @@ func (c *Organizations) DeleteOrganizationRequest(input *DeleteOrganizationInput // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -2176,6 +2209,10 @@ func (c *Organizations) DeleteOrganizationRequest(input *DeleteOrganizationInput // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeleteOrganization func (c *Organizations) DeleteOrganization(input *DeleteOrganizationInput) (*DeleteOrganizationOutput, error) { req, out := c.DeleteOrganizationRequest(input) @@ -2260,7 +2297,7 @@ func (c *Organizations) DeleteOrganizationalUnitRequest(input *DeleteOrganizatio // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -2345,6 +2382,10 @@ func (c *Organizations) DeleteOrganizationalUnitRequest(input *DeleteOrganizatio // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeleteOrganizationalUnit func (c *Organizations) DeleteOrganizationalUnit(input *DeleteOrganizationalUnitInput) (*DeleteOrganizationalUnitOutput, error) { req, out := c.DeleteOrganizationalUnitRequest(input) @@ -2430,7 +2471,7 @@ func (c *Organizations) DeletePolicyRequest(input *DeletePolicyInput) (req *requ // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -2515,6 +2556,10 @@ func (c *Organizations) DeletePolicyRequest(input *DeletePolicyInput) (req *requ // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeletePolicy func (c *Organizations) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) { req, out := c.DeletePolicyRequest(input) @@ -2597,7 +2642,7 @@ func (c *Organizations) DescribeAccountRequest(input *DescribeAccountInput) (req // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAccountNotFoundException "AccountNotFoundException" @@ -2676,6 +2721,10 @@ func (c *Organizations) DescribeAccountRequest(input *DescribeAccountInput) (req // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeAccount func (c *Organizations) DescribeAccount(input *DescribeAccountInput) (*DescribeAccountOutput, error) { req, out := c.DescribeAccountRequest(input) @@ -2758,7 +2807,7 @@ func (c *Organizations) DescribeCreateAccountStatusRequest(input *DescribeCreate // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -2836,6 +2885,10 @@ func (c *Organizations) DescribeCreateAccountStatusRequest(input *DescribeCreate // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeCreateAccountStatus func (c *Organizations) DescribeCreateAccountStatus(input *DescribeCreateAccountStatusInput) (*DescribeCreateAccountStatusOutput, error) { req, out := c.DescribeCreateAccountStatusRequest(input) @@ -2924,7 +2977,7 @@ func (c *Organizations) DescribeHandshakeRequest(input *DescribeHandshakeInput) // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeConcurrentModificationException "ConcurrentModificationException" @@ -3001,6 +3054,10 @@ func (c *Organizations) DescribeHandshakeRequest(input *DescribeHandshakeInput) // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeHandshake func (c *Organizations) DescribeHandshake(input *DescribeHandshakeInput) (*DescribeHandshakeOutput, error) { req, out := c.DescribeHandshakeRequest(input) @@ -3088,7 +3145,7 @@ func (c *Organizations) DescribeOrganizationRequest(input *DescribeOrganizationI // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -3107,6 +3164,10 @@ func (c *Organizations) DescribeOrganizationRequest(input *DescribeOrganizationI // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeOrganization func (c *Organizations) DescribeOrganization(input *DescribeOrganizationInput) (*DescribeOrganizationOutput, error) { req, out := c.DescribeOrganizationRequest(input) @@ -3189,7 +3250,7 @@ func (c *Organizations) DescribeOrganizationalUnitRequest(input *DescribeOrganiz // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -3266,6 +3327,10 @@ func (c *Organizations) DescribeOrganizationalUnitRequest(input *DescribeOrganiz // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeOrganizationalUnit func (c *Organizations) DescribeOrganizationalUnit(input *DescribeOrganizationalUnitInput) (*DescribeOrganizationalUnitOutput, error) { req, out := c.DescribeOrganizationalUnitRequest(input) @@ -3348,7 +3413,7 @@ func (c *Organizations) DescribePolicyRequest(input *DescribePolicyInput) (req * // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -3425,6 +3490,10 @@ func (c *Organizations) DescribePolicyRequest(input *DescribePolicyInput) (req * // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribePolicy func (c *Organizations) DescribePolicy(input *DescribePolicyInput) (*DescribePolicyOutput, error) { req, out := c.DescribePolicyRequest(input) @@ -3500,11 +3569,11 @@ func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *requ // you want to replace the default FullAWSAccess policy with one that limits // the permissions that can be delegated, then you must attach the replacement // policy before you can remove the default one. This is the authorization strategy -// of whitelisting (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_about-scps.html#orgs_policies_whitelist). +// of whitelisting (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_about-scps.html#orgs_policies_whitelist). // If you instead attach a second SCP and leave the FullAWSAccess SCP still // attached, and specify "Effect": "Deny" in the second SCP to override the // "Effect": "Allow" in the FullAWSAccess policy (or any other attached SCP), -// then you are using the authorization strategy of blacklisting (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_about-scps.html#orgs_policies_blacklist). +// then you are using the authorization strategy of blacklisting (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_about-scps.html#orgs_policies_blacklist). // // This operation can be called only from the organization's master account. // @@ -3520,7 +3589,7 @@ func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *requ // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -3700,6 +3769,10 @@ func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *requ // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DetachPolicy func (c *Organizations) DetachPolicy(input *DetachPolicyInput) (*DetachPolicyOutput, error) { req, out := c.DetachPolicyRequest(input) @@ -3803,7 +3876,7 @@ func (c *Organizations) DisableAWSServiceAccessRequest(input *DisableAWSServiceA // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -3974,6 +4047,10 @@ func (c *Organizations) DisableAWSServiceAccessRequest(input *DisableAWSServiceA // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DisableAWSServiceAccess func (c *Organizations) DisableAWSServiceAccess(input *DisableAWSServiceAccessInput) (*DisableAWSServiceAccessOutput, error) { req, out := c.DisableAWSServiceAccessRequest(input) @@ -4065,7 +4142,7 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -4232,7 +4309,7 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) // The specified policy type isn't currently enabled in this root. You can't // attach policies of the specified type to entities in a root until you enable // that type in the root. For more information, see Enabling All Features in -// Your Organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) +// Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) // in the AWS Organizations User Guide. // // * ErrCodeRootNotFoundException "RootNotFoundException" @@ -4246,6 +4323,10 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DisablePolicyType func (c *Organizations) DisablePolicyType(input *DisablePolicyTypeInput) (*DisablePolicyTypeOutput, error) { req, out := c.DisablePolicyTypeRequest(input) @@ -4346,7 +4427,7 @@ func (c *Organizations) EnableAWSServiceAccessRequest(input *EnableAWSServiceAcc // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -4517,6 +4598,10 @@ func (c *Organizations) EnableAWSServiceAccessRequest(input *EnableAWSServiceAcc // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/EnableAWSServiceAccess func (c *Organizations) EnableAWSServiceAccess(input *EnableAWSServiceAccessInput) (*EnableAWSServiceAccessOutput, error) { req, out := c.EnableAWSServiceAccessRequest(input) @@ -4588,7 +4673,7 @@ func (c *Organizations) EnableAllFeaturesRequest(input *EnableAllFeaturesInput) // each account. Until you enable all features, you have access only to consolidated // billing, and you can't use any of the advanced account administration features // that AWS Organizations supports. For more information, see Enabling All Features -// in Your Organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) +// in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) // in the AWS Organizations User Guide. // // This operation is required only for organizations that were created explicitly @@ -4626,7 +4711,7 @@ func (c *Organizations) EnableAllFeaturesRequest(input *EnableAllFeaturesInput) // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -4746,6 +4831,10 @@ func (c *Organizations) EnableAllFeaturesRequest(input *EnableAllFeaturesInput) // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/EnableAllFeatures func (c *Organizations) EnableAllFeatures(input *EnableAllFeaturesInput) (*EnableAllFeaturesOutput, error) { req, out := c.EnableAllFeaturesRequest(input) @@ -4837,7 +4926,7 @@ func (c *Organizations) EnablePolicyTypeRequest(input *EnablePolicyTypeInput) (r // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -5014,11 +5103,15 @@ func (c *Organizations) EnablePolicyTypeRequest(input *EnablePolicyTypeInput) (r // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // * ErrCodePolicyTypeNotAvailableForOrganizationException "PolicyTypeNotAvailableForOrganizationException" // You can't use the specified policy type with the feature set currently enabled // for this organization. For example, you can enable SCPs only after you enable // all features in the organization. For more information, see Enabling and -// Disabling a Policy Type on a Root (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root) +// Disabling a Policy Type on a Root (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root) // in the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/EnablePolicyType @@ -5118,7 +5211,7 @@ func (c *Organizations) InviteAccountToOrganizationRequest(input *InviteAccountT // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -5257,6 +5350,10 @@ func (c *Organizations) InviteAccountToOrganizationRequest(input *InviteAccountT // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/InviteAccountToOrganization func (c *Organizations) InviteAccountToOrganization(input *InviteAccountToOrganizationInput) (*InviteAccountToOrganizationOutput, error) { req, out := c.InviteAccountToOrganizationRequest(input) @@ -5366,7 +5463,7 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAccountNotFoundException "AccountNotFoundException" @@ -5547,6 +5644,10 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/LeaveOrganization func (c *Organizations) LeaveOrganization(input *LeaveOrganizationInput) (*LeaveOrganizationOutput, error) { req, out := c.LeaveOrganizationRequest(input) @@ -5643,7 +5744,7 @@ func (c *Organizations) ListAWSServiceAccessForOrganizationRequest(input *ListAW // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -5810,6 +5911,10 @@ func (c *Organizations) ListAWSServiceAccessForOrganizationRequest(input *ListAW // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListAWSServiceAccessForOrganization func (c *Organizations) ListAWSServiceAccessForOrganization(input *ListAWSServiceAccessForOrganizationInput) (*ListAWSServiceAccessForOrganizationOutput, error) { req, out := c.ListAWSServiceAccessForOrganizationRequest(input) @@ -5955,7 +6060,7 @@ func (c *Organizations) ListAccountsRequest(input *ListAccountsInput) (req *requ // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -6029,6 +6134,10 @@ func (c *Organizations) ListAccountsRequest(input *ListAccountsInput) (req *requ // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListAccounts func (c *Organizations) ListAccounts(input *ListAccountsInput) (*ListAccountsOutput, error) { req, out := c.ListAccountsRequest(input) @@ -6177,7 +6286,7 @@ func (c *Organizations) ListAccountsForParentRequest(input *ListAccountsForParen // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -6254,6 +6363,10 @@ func (c *Organizations) ListAccountsForParentRequest(input *ListAccountsForParen // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListAccountsForParent func (c *Organizations) ListAccountsForParent(input *ListAccountsForParentInput) (*ListAccountsForParentOutput, error) { req, out := c.ListAccountsForParentRequest(input) @@ -6399,7 +6512,7 @@ func (c *Organizations) ListChildrenRequest(input *ListChildrenInput) (req *requ // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -6476,6 +6589,10 @@ func (c *Organizations) ListChildrenRequest(input *ListChildrenInput) (req *requ // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListChildren func (c *Organizations) ListChildren(input *ListChildrenInput) (*ListChildrenOutput, error) { req, out := c.ListChildrenRequest(input) @@ -6620,7 +6737,7 @@ func (c *Organizations) ListCreateAccountStatusRequest(input *ListCreateAccountS // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -6694,6 +6811,10 @@ func (c *Organizations) ListCreateAccountStatusRequest(input *ListCreateAccountS // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListCreateAccountStatus func (c *Organizations) ListCreateAccountStatus(input *ListCreateAccountStatusInput) (*ListCreateAccountStatusOutput, error) { req, out := c.ListCreateAccountStatusRequest(input) @@ -6842,7 +6963,7 @@ func (c *Organizations) ListHandshakesForAccountRequest(input *ListHandshakesFor // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeConcurrentModificationException "ConcurrentModificationException" @@ -6916,6 +7037,10 @@ func (c *Organizations) ListHandshakesForAccountRequest(input *ListHandshakesFor // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListHandshakesForAccount func (c *Organizations) ListHandshakesForAccount(input *ListHandshakesForAccountInput) (*ListHandshakesForAccountOutput, error) { req, out := c.ListHandshakesForAccountRequest(input) @@ -7066,7 +7191,7 @@ func (c *Organizations) ListHandshakesForOrganizationRequest(input *ListHandshak // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -7144,6 +7269,10 @@ func (c *Organizations) ListHandshakesForOrganizationRequest(input *ListHandshak // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListHandshakesForOrganization func (c *Organizations) ListHandshakesForOrganization(input *ListHandshakesForOrganizationInput) (*ListHandshakesForOrganizationOutput, error) { req, out := c.ListHandshakesForOrganizationRequest(input) @@ -7287,7 +7416,7 @@ func (c *Organizations) ListOrganizationalUnitsForParentRequest(input *ListOrgan // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -7364,6 +7493,10 @@ func (c *Organizations) ListOrganizationalUnitsForParentRequest(input *ListOrgan // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListOrganizationalUnitsForParent func (c *Organizations) ListOrganizationalUnitsForParent(input *ListOrganizationalUnitsForParentInput) (*ListOrganizationalUnitsForParentOutput, error) { req, out := c.ListOrganizationalUnitsForParentRequest(input) @@ -7511,7 +7644,7 @@ func (c *Organizations) ListParentsRequest(input *ListParentsInput) (req *reques // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -7589,6 +7722,10 @@ func (c *Organizations) ListParentsRequest(input *ListParentsInput) (req *reques // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListParents func (c *Organizations) ListParents(input *ListParentsInput) (*ListParentsOutput, error) { req, out := c.ListParentsRequest(input) @@ -7732,7 +7869,7 @@ func (c *Organizations) ListPoliciesRequest(input *ListPoliciesInput) (req *requ // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -7806,6 +7943,10 @@ func (c *Organizations) ListPoliciesRequest(input *ListPoliciesInput) (req *requ // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListPolicies func (c *Organizations) ListPolicies(input *ListPoliciesInput) (*ListPoliciesOutput, error) { req, out := c.ListPoliciesRequest(input) @@ -7951,7 +8092,7 @@ func (c *Organizations) ListPoliciesForTargetRequest(input *ListPoliciesForTarge // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -8028,6 +8169,10 @@ func (c *Organizations) ListPoliciesForTargetRequest(input *ListPoliciesForTarge // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListPoliciesForTarget func (c *Organizations) ListPoliciesForTarget(input *ListPoliciesForTargetInput) (*ListPoliciesForTargetOutput, error) { req, out := c.ListPoliciesForTargetRequest(input) @@ -8177,7 +8322,7 @@ func (c *Organizations) ListRootsRequest(input *ListRootsInput) (req *request.Re // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -8251,6 +8396,10 @@ func (c *Organizations) ListRootsRequest(input *ListRootsInput) (req *request.Re // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListRoots func (c *Organizations) ListRoots(input *ListRootsInput) (*ListRootsOutput, error) { req, out := c.ListRootsRequest(input) @@ -8395,7 +8544,7 @@ func (c *Organizations) ListTargetsForPolicyRequest(input *ListTargetsForPolicyI // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -8472,6 +8621,10 @@ func (c *Organizations) ListTargetsForPolicyRequest(input *ListTargetsForPolicyI // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListTargetsForPolicy func (c *Organizations) ListTargetsForPolicy(input *ListTargetsForPolicyInput) (*ListTargetsForPolicyOutput, error) { req, out := c.ListTargetsForPolicyRequest(input) @@ -8606,7 +8759,7 @@ func (c *Organizations) MoveAccountRequest(input *MoveAccountInput) (req *reques // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeInvalidInputException "InvalidInputException" @@ -8687,6 +8840,10 @@ func (c *Organizations) MoveAccountRequest(input *MoveAccountInput) (req *reques // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // * ErrCodeConcurrentModificationException "ConcurrentModificationException" // The target of the operation is currently being modified by a different request. // Try again later. @@ -8804,7 +8961,7 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAccountNotFoundException "AccountNotFoundException" @@ -8985,6 +9142,10 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/RemoveAccountFromOrganization func (c *Organizations) RemoveAccountFromOrganization(input *RemoveAccountFromOrganizationInput) (*RemoveAccountFromOrganizationOutput, error) { req, out := c.RemoveAccountFromOrganizationRequest(input) @@ -9069,7 +9230,7 @@ func (c *Organizations) UpdateOrganizationalUnitRequest(input *UpdateOrganizatio // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -9153,6 +9314,10 @@ func (c *Organizations) UpdateOrganizationalUnitRequest(input *UpdateOrganizatio // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/UpdateOrganizationalUnit func (c *Organizations) UpdateOrganizationalUnit(input *UpdateOrganizationalUnitInput) (*UpdateOrganizationalUnitOutput, error) { req, out := c.UpdateOrganizationalUnitRequest(input) @@ -9237,7 +9402,7 @@ func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *requ // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see -// Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. // // * ErrCodeAWSOrganizationsNotInUseException "AWSOrganizationsNotInUseException" @@ -9406,7 +9571,7 @@ func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *requ // * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocumentException" // The provided policy document doesn't meet the requirements of the specified // policy type. For example, the syntax might be incorrect. For details about -// service control policy syntax, see Service Control Policy Syntax (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) +// service control policy syntax, see Service Control Policy Syntax (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) // in the AWS Organizations User Guide. // // * ErrCodePolicyNotFoundException "PolicyNotFoundException" @@ -9420,6 +9585,10 @@ func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *requ // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. // +// For information on limits that affect Organizations, see Limits of AWS Organizations +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) +// in the AWS Organizations User Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/UpdatePolicy func (c *Organizations) UpdatePolicy(input *UpdatePolicyInput) (*UpdatePolicyOutput, error) { req, out := c.UpdatePolicyRequest(input) @@ -9513,7 +9682,7 @@ type Account struct { // The Amazon Resource Name (ARN) of the account. // // For more information about ARNs in Organizations, see ARN Formats Supported - // by Organizations (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) + // by Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) // in the AWS Organizations User Guide. Arn *string `type:"string"` @@ -9812,7 +9981,7 @@ type CreateAccountInput struct { // information if they have the required permissions. If set to DENY, only the // root user of the new account can access account billing information. For // more information, see Activating Access to the Billing and Cost Management - // Console (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/grantaccess.html#ControllingAccessWebsite-Activate) + // Console (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/grantaccess.html#ControllingAccessWebsite-Activate) // in the AWS Billing and Cost Management User Guide. // // If you don't specify this parameter, the value defaults to ALLOW, and IAM @@ -9832,9 +10001,9 @@ type CreateAccountInput struct { // // For more information about how to use this role to access the member account, // see Accessing and Administering the Member Accounts in Your Organization - // (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html#orgs_manage_accounts_create-cross-account-role) + // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html#orgs_manage_accounts_create-cross-account-role) // in the AWS Organizations User Guide, and steps 2 and 3 in Tutorial: Delegate - // Access Across AWS Accounts Using IAM Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html) + // Access Across AWS Accounts Using IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html) // in the IAM User Guide. // // The regex pattern (http://wikipedia.org/wiki/regex) that is used to validate @@ -10041,13 +10210,13 @@ type CreateOrganizationInput struct { // // * CONSOLIDATED_BILLING: All member accounts have their bills consolidated // to and paid by the master account. For more information, see Consolidated - // billing (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#feature-set-cb-only) + // billing (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#feature-set-cb-only) // in the AWS Organizations User Guide. // // * ALL: In addition to all the features supported by the consolidated billing // feature set, the master account can also apply any type of policy to any // member account in the organization. For more information, see All features - // (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#feature-set-all) + // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#feature-set-all) // in the AWS Organizations User Guide. FeatureSet *string `type:"string" enum:"OrganizationFeatureSet"` } @@ -10185,11 +10354,11 @@ type CreatePolicyInput struct { _ struct{} `type:"structure"` // The policy content to add to the new policy. For example, if you create a - // service control policy (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) + // service control policy (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) // (SCP), this string must be JSON text that specifies the permissions that // admins in attached accounts can delegate to their users, groups, and roles. // For more information about the SCP syntax, see Service Control Policy Syntax - // (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) + // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) // in the AWS Organizations User Guide. // // Content is a required field @@ -11341,7 +11510,7 @@ type Handshake struct { // The Amazon Resource Name (ARN) of a handshake. // // For more information about ARNs in Organizations, see ARN Formats Supported - // by Organizations (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) + // by Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) // in the AWS Organizations User Guide. Arn *string `type:"string"` @@ -12264,8 +12433,8 @@ type ListHandshakesForAccountInput struct { // Filters the handshakes that you want included in the response. The default // is all types. Use the ActionType element to limit the output to only a specified - // type, such as INVITE, ENABLE-FULL-CONTROL, or APPROVE-FULL-CONTROL. Alternatively, - // for the ENABLE-FULL-CONTROL handshake that generates a separate child handshake + // type, such as INVITE, ENABLE_ALL_FEATURES, or APPROVE_ALL_FEATURES. Alternatively, + // for the ENABLE_ALL_FEATURES handshake that generates a separate child handshake // for each member account, you can specify ParentHandshakeId to see only the // handshakes that were generated by that parent request. Filter *HandshakeFilter `type:"structure"` @@ -13269,7 +13438,7 @@ type Organization struct { // The Amazon Resource Name (ARN) of an organization. // // For more information about ARNs in Organizations, see ARN Formats Supported - // by Organizations (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) + // by Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) // in the AWS Organizations User Guide. Arn *string `type:"string"` @@ -13287,7 +13456,7 @@ type Organization struct { // If set to "ALL", then all features are enabled and policies can be applied // to accounts in the organization. If set to "CONSOLIDATED_BILLING", then only // consolidated billing functionality is available. For more information, see - // Enabling All Features in Your Organization (http://docs.aws.amazon.com/IAM/latest/UserGuide/orgs_manage_org_support-all-features.html) + // Enabling All Features in Your Organization (https://docs.aws.amazon.com/IAM/latest/UserGuide/orgs_manage_org_support-all-features.html) // in the AWS Organizations User Guide. FeatureSet *string `type:"string" enum:"OrganizationFeatureSet"` @@ -13301,7 +13470,7 @@ type Organization struct { // account for the organization. // // For more information about ARNs in Organizations, see ARN Formats Supported - // by Organizations (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) + // by Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) // in the AWS Organizations User Guide. MasterAccountArn *string `type:"string"` @@ -13377,7 +13546,7 @@ type OrganizationalUnit struct { // The Amazon Resource Name (ARN) of this OU. // // For more information about ARNs in Organizations, see ARN Formats Supported - // by Organizations (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) + // by Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) // in the AWS Organizations User Guide. Arn *string `type:"string"` @@ -13513,7 +13682,7 @@ type PolicySummary struct { // The Amazon Resource Name (ARN) of the policy. // // For more information about ARNs in Organizations, see ARN Formats Supported - // by Organizations (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) + // by Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) // in the AWS Organizations User Guide. Arn *string `type:"string"` @@ -13596,7 +13765,7 @@ type PolicyTargetSummary struct { // The Amazon Resource Name (ARN) of the policy target. // // For more information about ARNs in Organizations, see ARN Formats Supported - // by Organizations (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) + // by Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) // in the AWS Organizations User Guide. Arn *string `type:"string"` @@ -13764,7 +13933,7 @@ type Root struct { // The Amazon Resource Name (ARN) of the root. // // For more information about ARNs in Organizations, see ARN Formats Supported - // by Organizations (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) + // by Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions.html#orgs-permissions-arns) // in the AWS Organizations User Guide. Arn *string `type:"string"` @@ -13914,7 +14083,7 @@ type UpdatePolicyInput struct { // If provided, the new content for the policy. The text must be correctly formatted // JSON that complies with the syntax for the policy's type. For more information, - // see Service Control Policy Syntax (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) + // see Service Control Policy Syntax (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) // in the AWS Organizations User Guide. Content *string `min:"1" type:"string"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/organizations/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/organizations/doc.go index cc704a61a84..d23748a00db 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/organizations/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/organizations/doc.go @@ -8,7 +8,7 @@ // their resources. // // This guide provides descriptions of the Organizations API. For more information -// about using this service, see the AWS Organizations User Guide (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html). +// about using this service, see the AWS Organizations User Guide (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html). // // API Version // @@ -27,7 +27,7 @@ // We recommend that you use the AWS SDKs to make programmatic API calls to // Organizations. However, you also can use the Organizations Query API to make // direct calls to the Organizations web service. To learn more about the Organizations -// Query API, see Making Query Requests (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_query-requests.html) +// Query API, see Making Query Requests (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_query-requests.html) // in the AWS Organizations User Guide. Organizations supports GET and POST // requests for all actions. That is, the API does not require you to use GET // for some actions and POST for others. However, GET requests are subject to @@ -46,7 +46,7 @@ // Service to generate temporary security credentials, and use those credentials // to sign requests. // -// To sign requests, we recommend that you use Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). +// To sign requests, we recommend that you use Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). // If you have an existing application that uses Signature Version 2, you do // not have to update it to use Signature Version 4. However, some operations // now require Signature Version 4. The documentation for operations that require @@ -88,7 +88,7 @@ // // For the various SDKs used to call the APIs, see the documentation for the // SDK of interest to learn how to direct the requests to a specific endpoint. -// For more information, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region) +// For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region) // in the AWS General Reference. // // How examples are presented @@ -109,10 +109,10 @@ // requests were successfully made to Organizations, who made the request, when // it was made, and so on. For more about AWS Organizations and its support // for AWS CloudTrail, see Logging AWS Organizations Events with AWS CloudTrail -// (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_monitoring.html#orgs_cloudtrail-integration) +// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_monitoring.html#orgs_cloudtrail-integration) // in the AWS Organizations User Guide. 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). +// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html). // // See https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28 for more information on this service. // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/organizations/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/organizations/errors.go index 5d886170ef4..a6659f7a471 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/organizations/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/organizations/errors.go @@ -17,7 +17,7 @@ const ( // You don't have permissions to perform the requested operation. The user or // role that is making the request must have at least one IAM permissions policy // attached that grants the required permissions. For more information, see - // Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) + // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. ErrCodeAccessDeniedException = "AccessDeniedException" @@ -353,7 +353,7 @@ const ( // // The provided policy document doesn't meet the requirements of the specified // policy type. For example, the syntax might be incorrect. For details about - // service control policy syntax, see Service Control Policy Syntax (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) + // service control policy syntax, see Service Control Policy Syntax (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) // in the AWS Organizations User Guide. ErrCodeMalformedPolicyDocumentException = "MalformedPolicyDocumentException" @@ -422,7 +422,7 @@ const ( // You can't use the specified policy type with the feature set currently enabled // for this organization. For example, you can enable SCPs only after you enable // all features in the organization. For more information, see Enabling and - // Disabling a Policy Type on a Root (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root) + // Disabling a Policy Type on a Root (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root) // in the AWS Organizations User Guide. ErrCodePolicyTypeNotAvailableForOrganizationException = "PolicyTypeNotAvailableForOrganizationException" @@ -432,7 +432,7 @@ const ( // The specified policy type isn't currently enabled in this root. You can't // attach policies of the specified type to entities in a root until you enable // that type in the root. For more information, see Enabling All Features in - // Your Organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) + // Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) // in the AWS Organizations User Guide. ErrCodePolicyTypeNotEnabledException = "PolicyTypeNotEnabledException" @@ -466,5 +466,9 @@ const ( // // You've sent too many requests in too short a period of time. The limit helps // protect against denial-of-service attacks. Try again later. + // + // For information on limits that affect Organizations, see Limits of AWS Organizations + // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) + // in the AWS Organizations User Guide. ErrCodeTooManyRequestsException = "TooManyRequestsException" ) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go index 76152a5e386..416eb6012dd 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go @@ -6,6 +6,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" ) const opCreateApp = "CreateApp" @@ -4990,6 +4992,80 @@ func (c *Pinpoint) GetVoiceChannelWithContext(ctx aws.Context, input *GetVoiceCh 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/pinpoint-2016-12-01/ListTagsForResource +func (c *Pinpoint) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/v1/tags/{resource-arn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon Pinpoint. +// +// Get list of all tags for a given resource arn +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation ListTagsForResource for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource +func (c *Pinpoint) 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 *Pinpoint) 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 opPhoneNumberValidate = "PhoneNumberValidate" // PhoneNumberValidateRequest generates a "aws/request.Request" representing the @@ -5555,6 +5631,156 @@ func (c *Pinpoint) SendUsersMessagesWithContext(ctx aws.Context, input *SendUser return out, req.Send() } +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource +func (c *Pinpoint) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/v1/tags/{resource-arn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon Pinpoint. +// +// Adds tags to a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation TagResource for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource +func (c *Pinpoint) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource +func (c *Pinpoint) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/v1/tags/{resource-arn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon Pinpoint. +// +// Remove tags from a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation UntagResource for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource +func (c *Pinpoint) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateAdmChannel = "UpdateAdmChannel" // UpdateAdmChannelRequest generates a "aws/request.Request" representing the @@ -8583,11 +8809,17 @@ func (s *AddressConfiguration) SetTitleOverride(v string) *AddressConfiguration type ApplicationResponse struct { _ struct{} `type:"structure"` + // The arn for the application. + Arn *string `type:"string"` + // The unique application ID. Id *string `type:"string"` // The display name of the application. Name *string `type:"string"` + + // The Tags for the application. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation @@ -8600,6 +8832,12 @@ func (s ApplicationResponse) GoString() string { return s.String() } +// SetArn sets the Arn field's value. +func (s *ApplicationResponse) SetArn(v string) *ApplicationResponse { + s.Arn = &v + return s +} + // SetId sets the Id field's value. func (s *ApplicationResponse) SetId(v string) *ApplicationResponse { s.Id = &v @@ -8612,6 +8850,12 @@ func (s *ApplicationResponse) SetName(v string) *ApplicationResponse { return s } +// SetTags sets the Tags field's value. +func (s *ApplicationResponse) SetTags(v map[string]*string) *ApplicationResponse { + s.Tags = v + return s +} + // Application settings. type ApplicationSettingsResource struct { _ struct{} `type:"structure"` @@ -9312,6 +9556,9 @@ type CampaignResponse struct { // The ID of the application to which the campaign applies. ApplicationId *string `type:"string"` + // The arn for the campaign. + Arn *string `type:"string"` + // The date the campaign was created in ISO 8601 format. CreationDate *string `type:"string"` @@ -9361,6 +9608,9 @@ type CampaignResponse struct { // only when all treatments have a status of COMPLETED. State *CampaignState `type:"structure"` + // The Tags for the campaign. + Tags map[string]*string `locationName:"tags" type:"map"` + // A custom description for the treatment. TreatmentDescription *string `type:"string"` @@ -9393,6 +9643,12 @@ func (s *CampaignResponse) SetApplicationId(v string) *CampaignResponse { return s } +// SetArn sets the Arn field's value. +func (s *CampaignResponse) SetArn(v string) *CampaignResponse { + s.Arn = &v + return s +} + // SetCreationDate sets the CreationDate field's value. func (s *CampaignResponse) SetCreationDate(v string) *CampaignResponse { s.CreationDate = &v @@ -9483,6 +9739,12 @@ func (s *CampaignResponse) SetState(v *CampaignState) *CampaignResponse { return s } +// SetTags sets the Tags field's value. +func (s *CampaignResponse) SetTags(v map[string]*string) *CampaignResponse { + s.Tags = v + return s +} + // SetTreatmentDescription sets the TreatmentDescription field's value. func (s *CampaignResponse) SetTreatmentDescription(v string) *CampaignResponse { s.TreatmentDescription = &v @@ -9793,6 +10055,9 @@ type CreateApplicationRequest struct { // The display name of the application. Used in the Amazon Pinpoint console. Name *string `type:"string"` + + // The Tags for the app. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation @@ -9811,6 +10076,12 @@ func (s *CreateApplicationRequest) SetName(v string) *CreateApplicationRequest { return s } +// SetTags sets the Tags field's value. +func (s *CreateApplicationRequest) SetTags(v map[string]*string) *CreateApplicationRequest { + s.Tags = v + return s +} + type CreateCampaignInput struct { _ struct{} `type:"structure" payload:"WriteCampaignRequest"` @@ -12586,6 +12857,15 @@ func (s *EndpointsResponse) SetItem(v []*EndpointResponse) *EndpointsResponse { type Event struct { _ struct{} `type:"structure"` + // The package name associated with the app that's recording the event. + AppPackageName *string `type:"string"` + + // The title of the app that's recording the event. + AppTitle *string `type:"string"` + + // The version number of the app that's recording the event. + AppVersionCode *string `type:"string"` + // Custom attributes that are associated with the event you're adding or updating. Attributes map[string]*string `type:"map"` @@ -12598,6 +12878,9 @@ type Event struct { // Custom metrics related to the event. Metrics map[string]*float64 `type:"map"` + // The name of the SDK that's being used to record the event. + SdkName *string `type:"string"` + // Information about the session in which the event occurred. Session *Session `type:"structure"` @@ -12615,6 +12898,24 @@ func (s Event) GoString() string { return s.String() } +// SetAppPackageName sets the AppPackageName field's value. +func (s *Event) SetAppPackageName(v string) *Event { + s.AppPackageName = &v + return s +} + +// SetAppTitle sets the AppTitle field's value. +func (s *Event) SetAppTitle(v string) *Event { + s.AppTitle = &v + return s +} + +// SetAppVersionCode sets the AppVersionCode field's value. +func (s *Event) SetAppVersionCode(v string) *Event { + s.AppVersionCode = &v + return s +} + // SetAttributes sets the Attributes field's value. func (s *Event) SetAttributes(v map[string]*string) *Event { s.Attributes = v @@ -12639,6 +12940,12 @@ func (s *Event) SetMetrics(v map[string]*float64) *Event { return s } +// SetSdkName sets the SdkName field's value. +func (s *Event) SetSdkName(v string) *Event { + s.SdkName = &v + return s +} + // SetSession sets the Session field's value. func (s *Event) SetSession(v *Session) *Event { s.Session = v @@ -16396,6 +16703,68 @@ func (s *ItemResponse) SetEventsItemResponse(v map[string]*EventItemResponse) *I return s } +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` +} + +// 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.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure" payload:"TagsModel"` + + // TagsModel is a required field + TagsModel *TagsModel `type:"structure" required:"true"` +} + +// 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() +} + +// SetTagsModel sets the TagsModel field's value. +func (s *ListTagsForResourceOutput) SetTagsModel(v *TagsModel) *ListTagsForResourceOutput { + s.TagsModel = v + return s +} + // Message to send type Message struct { _ struct{} `type:"structure"` @@ -18349,6 +18718,9 @@ type SegmentResponse struct { // The ID of the application that the segment applies to. ApplicationId *string `type:"string"` + // The arn for the segment. + Arn *string `type:"string"` + // The date and time when the segment was created. CreationDate *string `type:"string"` @@ -18380,6 +18752,9 @@ type SegmentResponse struct { // request to the jobs/import resource. SegmentType *string `type:"string" enum:"SegmentType"` + // The Tags for the segment. + Tags map[string]*string `locationName:"tags" type:"map"` + // The segment version number. Version *int64 `type:"integer"` } @@ -18400,6 +18775,12 @@ func (s *SegmentResponse) SetApplicationId(v string) *SegmentResponse { return s } +// SetArn sets the Arn field's value. +func (s *SegmentResponse) SetArn(v string) *SegmentResponse { + s.Arn = &v + return s +} + // SetCreationDate sets the CreationDate field's value. func (s *SegmentResponse) SetCreationDate(v string) *SegmentResponse { s.CreationDate = &v @@ -18448,6 +18829,12 @@ func (s *SegmentResponse) SetSegmentType(v string) *SegmentResponse { return s } +// SetTags sets the Tags field's value. +func (s *SegmentResponse) SetTags(v map[string]*string) *SegmentResponse { + s.Tags = v + return s +} + // SetVersion sets the Version field's value. func (s *SegmentResponse) SetVersion(v int64) *SegmentResponse { s.Version = &v @@ -18913,6 +19300,112 @@ func (s *SimpleEmailPart) SetData(v string) *SimpleEmailPart { return s } +type TagResourceInput struct { + _ struct{} `type:"structure" payload:"TagsModel"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` + + // TagsModel is a required field + TagsModel *TagsModel `type:"structure" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagsModel == nil { + invalidParams.Add(request.NewErrParamRequired("TagsModel")) + } + if s.TagsModel != nil { + if err := s.TagsModel.Validate(); err != nil { + invalidParams.AddNested("TagsModel", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagsModel sets the TagsModel field's value. +func (s *TagResourceInput) SetTagsModel(v *TagsModel) *TagResourceInput { + s.TagsModel = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type TagsModel struct { + _ struct{} `type:"structure"` + + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation +func (s TagsModel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagsModel) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagsModel) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagsModel"} + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTags sets the Tags field's value. +func (s *TagsModel) SetTags(v map[string]*string) *TagsModel { + s.Tags = v + return s +} + // Treatment resource type TreatmentResource struct { _ struct{} `type:"structure"` @@ -18991,6 +19484,71 @@ func (s *TreatmentResource) SetTreatmentName(v string) *TreatmentResource { return s } +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` + + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + type UpdateAdmChannelInput struct { _ struct{} `type:"structure" payload:"ADMChannelRequest"` @@ -20523,6 +21081,9 @@ type WriteCampaignRequest struct { // The version of the segment to which the campaign sends messages. SegmentVersion *int64 `type:"integer"` + // The Tags for the campaign. + Tags map[string]*string `locationName:"tags" type:"map"` + // A custom description for the treatment. TreatmentDescription *string `type:"string"` @@ -20606,6 +21167,12 @@ func (s *WriteCampaignRequest) SetSegmentVersion(v int64) *WriteCampaignRequest return s } +// SetTags sets the Tags field's value. +func (s *WriteCampaignRequest) SetTags(v map[string]*string) *WriteCampaignRequest { + s.Tags = v + return s +} + // SetTreatmentDescription sets the TreatmentDescription field's value. func (s *WriteCampaignRequest) SetTreatmentDescription(v string) *WriteCampaignRequest { s.TreatmentDescription = &v @@ -20669,6 +21236,9 @@ type WriteSegmentRequest struct { // one segment group. Your request can include either a SegmentGroups object // or a Dimensions object, but not both. SegmentGroups *SegmentGroupList `type:"structure"` + + // The Tags for the segments. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation @@ -20699,6 +21269,12 @@ func (s *WriteSegmentRequest) SetSegmentGroups(v *SegmentGroupList) *WriteSegmen return s } +// SetTags sets the Tags field's value. +func (s *WriteSegmentRequest) SetTags(v map[string]*string) *WriteSegmentRequest { + s.Tags = v + return s +} + // Used to create a campaign treatment. type WriteTreatmentResource struct { _ struct{} `type:"structure"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ram/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ram/api.go new file mode 100644 index 00000000000..0359d03b244 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ram/api.go @@ -0,0 +1,4029 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package ram + +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" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opAcceptResourceShareInvitation = "AcceptResourceShareInvitation" + +// AcceptResourceShareInvitationRequest generates a "aws/request.Request" representing the +// client's request for the AcceptResourceShareInvitation 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 AcceptResourceShareInvitation for more information on using the AcceptResourceShareInvitation +// 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 AcceptResourceShareInvitationRequest method. +// req, resp := client.AcceptResourceShareInvitationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AcceptResourceShareInvitation +func (c *RAM) AcceptResourceShareInvitationRequest(input *AcceptResourceShareInvitationInput) (req *request.Request, output *AcceptResourceShareInvitationOutput) { + op := &request.Operation{ + Name: opAcceptResourceShareInvitation, + HTTPMethod: "POST", + HTTPPath: "/acceptresourceshareinvitation", + } + + if input == nil { + input = &AcceptResourceShareInvitationInput{} + } + + output = &AcceptResourceShareInvitationOutput{} + req = c.newRequest(op, input, output) + return +} + +// AcceptResourceShareInvitation API operation for AWS Resource Access Manager. +// +// Accepts an invitation to a resource share from another 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 AWS Resource Access Manager's +// API operation AcceptResourceShareInvitation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// * ErrCodeResourceShareInvitationArnNotFoundException "ResourceShareInvitationArnNotFoundException" +// The Amazon Resource Name (ARN) for an invitation was not found. +// +// * ErrCodeResourceShareInvitationAlreadyAcceptedException "ResourceShareInvitationAlreadyAcceptedException" +// The invitation was already accepted. +// +// * ErrCodeResourceShareInvitationAlreadyRejectedException "ResourceShareInvitationAlreadyRejectedException" +// The invitation was already rejected. +// +// * ErrCodeResourceShareInvitationExpiredException "ResourceShareInvitationExpiredException" +// The invitation is expired. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AcceptResourceShareInvitation +func (c *RAM) AcceptResourceShareInvitation(input *AcceptResourceShareInvitationInput) (*AcceptResourceShareInvitationOutput, error) { + req, out := c.AcceptResourceShareInvitationRequest(input) + return out, req.Send() +} + +// AcceptResourceShareInvitationWithContext is the same as AcceptResourceShareInvitation with the addition of +// the ability to pass a context and additional request options. +// +// See AcceptResourceShareInvitation 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 *RAM) AcceptResourceShareInvitationWithContext(ctx aws.Context, input *AcceptResourceShareInvitationInput, opts ...request.Option) (*AcceptResourceShareInvitationOutput, error) { + req, out := c.AcceptResourceShareInvitationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssociateResourceShare = "AssociateResourceShare" + +// AssociateResourceShareRequest generates a "aws/request.Request" representing the +// client's request for the AssociateResourceShare 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 AssociateResourceShare for more information on using the AssociateResourceShare +// 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 AssociateResourceShareRequest method. +// req, resp := client.AssociateResourceShareRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AssociateResourceShare +func (c *RAM) AssociateResourceShareRequest(input *AssociateResourceShareInput) (req *request.Request, output *AssociateResourceShareOutput) { + op := &request.Operation{ + Name: opAssociateResourceShare, + HTTPMethod: "POST", + HTTPPath: "/associateresourceshare", + } + + if input == nil { + input = &AssociateResourceShareInput{} + } + + output = &AssociateResourceShareOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateResourceShare API operation for AWS Resource Access Manager. +// +// Associates the specified resource share with the specified principals and +// resources. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Access Manager's +// API operation AssociateResourceShare for usage and error information. +// +// Returned Error Codes: +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// A client token input parameter was reused with an operation, but at least +// one of the other input parameters is different from the previous call to +// the operation. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeInvalidStateTransitionException "InvalidStateTransitionException" +// The requested state transition is not valid. +// +// * ErrCodeResourceShareLimitExceededException "ResourceShareLimitExceededException" +// The requested resource share exceeds the limit for your account. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeInvalidStateTransitionException "InvalidStateTransitionException" +// The requested state transition is not valid. +// +// * ErrCodeInvalidClientTokenException "InvalidClientTokenException" +// A client token is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AssociateResourceShare +func (c *RAM) AssociateResourceShare(input *AssociateResourceShareInput) (*AssociateResourceShareOutput, error) { + req, out := c.AssociateResourceShareRequest(input) + return out, req.Send() +} + +// AssociateResourceShareWithContext is the same as AssociateResourceShare with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateResourceShare 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 *RAM) AssociateResourceShareWithContext(ctx aws.Context, input *AssociateResourceShareInput, opts ...request.Option) (*AssociateResourceShareOutput, error) { + req, out := c.AssociateResourceShareRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateResourceShare = "CreateResourceShare" + +// CreateResourceShareRequest generates a "aws/request.Request" representing the +// client's request for the CreateResourceShare 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 CreateResourceShare for more information on using the CreateResourceShare +// 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 CreateResourceShareRequest method. +// req, resp := client.CreateResourceShareRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/CreateResourceShare +func (c *RAM) CreateResourceShareRequest(input *CreateResourceShareInput) (req *request.Request, output *CreateResourceShareOutput) { + op := &request.Operation{ + Name: opCreateResourceShare, + HTTPMethod: "POST", + HTTPPath: "/createresourceshare", + } + + if input == nil { + input = &CreateResourceShareInput{} + } + + output = &CreateResourceShareOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateResourceShare API operation for AWS Resource Access Manager. +// +// Creates a resource share. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Access Manager's +// API operation CreateResourceShare for usage and error information. +// +// Returned Error Codes: +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// A client token input parameter was reused with an operation, but at least +// one of the other input parameters is different from the previous call to +// the operation. +// +// * ErrCodeInvalidStateTransitionException "InvalidStateTransitionException" +// The requested state transition is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeInvalidClientTokenException "InvalidClientTokenException" +// A client token is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// * ErrCodeResourceShareLimitExceededException "ResourceShareLimitExceededException" +// The requested resource share exceeds the limit for your account. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/CreateResourceShare +func (c *RAM) CreateResourceShare(input *CreateResourceShareInput) (*CreateResourceShareOutput, error) { + req, out := c.CreateResourceShareRequest(input) + return out, req.Send() +} + +// CreateResourceShareWithContext is the same as CreateResourceShare with the addition of +// the ability to pass a context and additional request options. +// +// See CreateResourceShare 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 *RAM) CreateResourceShareWithContext(ctx aws.Context, input *CreateResourceShareInput, opts ...request.Option) (*CreateResourceShareOutput, error) { + req, out := c.CreateResourceShareRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteResourceShare = "DeleteResourceShare" + +// DeleteResourceShareRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResourceShare 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 DeleteResourceShare for more information on using the DeleteResourceShare +// 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 DeleteResourceShareRequest method. +// req, resp := client.DeleteResourceShareRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DeleteResourceShare +func (c *RAM) DeleteResourceShareRequest(input *DeleteResourceShareInput) (req *request.Request, output *DeleteResourceShareOutput) { + op := &request.Operation{ + Name: opDeleteResourceShare, + HTTPMethod: "DELETE", + HTTPPath: "/deleteresourceshare", + } + + if input == nil { + input = &DeleteResourceShareInput{} + } + + output = &DeleteResourceShareOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteResourceShare API operation for AWS Resource Access Manager. +// +// Deletes the specified resource share. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Access Manager's +// API operation DeleteResourceShare for usage and error information. +// +// Returned Error Codes: +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// A client token input parameter was reused with an operation, but at least +// one of the other input parameters is different from the previous call to +// the operation. +// +// * ErrCodeInvalidStateTransitionException "InvalidStateTransitionException" +// The requested state transition is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeInvalidClientTokenException "InvalidClientTokenException" +// A client token is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DeleteResourceShare +func (c *RAM) DeleteResourceShare(input *DeleteResourceShareInput) (*DeleteResourceShareOutput, error) { + req, out := c.DeleteResourceShareRequest(input) + return out, req.Send() +} + +// DeleteResourceShareWithContext is the same as DeleteResourceShare with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteResourceShare 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 *RAM) DeleteResourceShareWithContext(ctx aws.Context, input *DeleteResourceShareInput, opts ...request.Option) (*DeleteResourceShareOutput, error) { + req, out := c.DeleteResourceShareRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateResourceShare = "DisassociateResourceShare" + +// DisassociateResourceShareRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateResourceShare 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 DisassociateResourceShare for more information on using the DisassociateResourceShare +// 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 DisassociateResourceShareRequest method. +// req, resp := client.DisassociateResourceShareRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DisassociateResourceShare +func (c *RAM) DisassociateResourceShareRequest(input *DisassociateResourceShareInput) (req *request.Request, output *DisassociateResourceShareOutput) { + op := &request.Operation{ + Name: opDisassociateResourceShare, + HTTPMethod: "POST", + HTTPPath: "/disassociateresourceshare", + } + + if input == nil { + input = &DisassociateResourceShareInput{} + } + + output = &DisassociateResourceShareOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateResourceShare API operation for AWS Resource Access Manager. +// +// Disassociates the specified principals or resources from the specified resource +// share. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Access Manager's +// API operation DisassociateResourceShare for usage and error information. +// +// Returned Error Codes: +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// A client token input parameter was reused with an operation, but at least +// one of the other input parameters is different from the previous call to +// the operation. +// +// * ErrCodeResourceShareLimitExceededException "ResourceShareLimitExceededException" +// The requested resource share exceeds the limit for your account. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeInvalidStateTransitionException "InvalidStateTransitionException" +// The requested state transition is not valid. +// +// * ErrCodeInvalidClientTokenException "InvalidClientTokenException" +// A client token is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DisassociateResourceShare +func (c *RAM) DisassociateResourceShare(input *DisassociateResourceShareInput) (*DisassociateResourceShareOutput, error) { + req, out := c.DisassociateResourceShareRequest(input) + return out, req.Send() +} + +// DisassociateResourceShareWithContext is the same as DisassociateResourceShare with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateResourceShare 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 *RAM) DisassociateResourceShareWithContext(ctx aws.Context, input *DisassociateResourceShareInput, opts ...request.Option) (*DisassociateResourceShareOutput, error) { + req, out := c.DisassociateResourceShareRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opEnableSharingWithAwsOrganization = "EnableSharingWithAwsOrganization" + +// EnableSharingWithAwsOrganizationRequest generates a "aws/request.Request" representing the +// client's request for the EnableSharingWithAwsOrganization 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 EnableSharingWithAwsOrganization for more information on using the EnableSharingWithAwsOrganization +// 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 EnableSharingWithAwsOrganizationRequest method. +// req, resp := client.EnableSharingWithAwsOrganizationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/EnableSharingWithAwsOrganization +func (c *RAM) EnableSharingWithAwsOrganizationRequest(input *EnableSharingWithAwsOrganizationInput) (req *request.Request, output *EnableSharingWithAwsOrganizationOutput) { + op := &request.Operation{ + Name: opEnableSharingWithAwsOrganization, + HTTPMethod: "POST", + HTTPPath: "/enablesharingwithawsorganization", + } + + if input == nil { + input = &EnableSharingWithAwsOrganizationInput{} + } + + output = &EnableSharingWithAwsOrganizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// EnableSharingWithAwsOrganization API operation for AWS Resource Access Manager. +// +// Enables resource sharing within your organization. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Access Manager's +// API operation EnableSharingWithAwsOrganization for usage and error information. +// +// Returned Error Codes: +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/EnableSharingWithAwsOrganization +func (c *RAM) EnableSharingWithAwsOrganization(input *EnableSharingWithAwsOrganizationInput) (*EnableSharingWithAwsOrganizationOutput, error) { + req, out := c.EnableSharingWithAwsOrganizationRequest(input) + return out, req.Send() +} + +// EnableSharingWithAwsOrganizationWithContext is the same as EnableSharingWithAwsOrganization with the addition of +// the ability to pass a context and additional request options. +// +// See EnableSharingWithAwsOrganization 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 *RAM) EnableSharingWithAwsOrganizationWithContext(ctx aws.Context, input *EnableSharingWithAwsOrganizationInput, opts ...request.Option) (*EnableSharingWithAwsOrganizationOutput, error) { + req, out := c.EnableSharingWithAwsOrganizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetResourcePolicies = "GetResourcePolicies" + +// GetResourcePoliciesRequest generates a "aws/request.Request" representing the +// client's request for the GetResourcePolicies 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 GetResourcePolicies for more information on using the GetResourcePolicies +// 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 GetResourcePoliciesRequest method. +// req, resp := client.GetResourcePoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourcePolicies +func (c *RAM) GetResourcePoliciesRequest(input *GetResourcePoliciesInput) (req *request.Request, output *GetResourcePoliciesOutput) { + op := &request.Operation{ + Name: opGetResourcePolicies, + HTTPMethod: "POST", + HTTPPath: "/getresourcepolicies", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetResourcePoliciesInput{} + } + + output = &GetResourcePoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResourcePolicies API operation for AWS Resource Access Manager. +// +// Gets the policies for the specifies resources. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Access Manager's +// API operation GetResourcePolicies for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The specified value for NextToken is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourcePolicies +func (c *RAM) GetResourcePolicies(input *GetResourcePoliciesInput) (*GetResourcePoliciesOutput, error) { + req, out := c.GetResourcePoliciesRequest(input) + return out, req.Send() +} + +// GetResourcePoliciesWithContext is the same as GetResourcePolicies with the addition of +// the ability to pass a context and additional request options. +// +// See GetResourcePolicies 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 *RAM) GetResourcePoliciesWithContext(ctx aws.Context, input *GetResourcePoliciesInput, opts ...request.Option) (*GetResourcePoliciesOutput, error) { + req, out := c.GetResourcePoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetResourcePoliciesPages iterates over the pages of a GetResourcePolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetResourcePolicies 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 GetResourcePolicies operation. +// pageNum := 0 +// err := client.GetResourcePoliciesPages(params, +// func(page *GetResourcePoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RAM) GetResourcePoliciesPages(input *GetResourcePoliciesInput, fn func(*GetResourcePoliciesOutput, bool) bool) error { + return c.GetResourcePoliciesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetResourcePoliciesPagesWithContext same as GetResourcePoliciesPages 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 *RAM) GetResourcePoliciesPagesWithContext(ctx aws.Context, input *GetResourcePoliciesInput, fn func(*GetResourcePoliciesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetResourcePoliciesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetResourcePoliciesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetResourcePoliciesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetResourceShareAssociations = "GetResourceShareAssociations" + +// GetResourceShareAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the GetResourceShareAssociations 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 GetResourceShareAssociations for more information on using the GetResourceShareAssociations +// 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 GetResourceShareAssociationsRequest method. +// req, resp := client.GetResourceShareAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourceShareAssociations +func (c *RAM) GetResourceShareAssociationsRequest(input *GetResourceShareAssociationsInput) (req *request.Request, output *GetResourceShareAssociationsOutput) { + op := &request.Operation{ + Name: opGetResourceShareAssociations, + HTTPMethod: "POST", + HTTPPath: "/getresourceshareassociations", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetResourceShareAssociationsInput{} + } + + output = &GetResourceShareAssociationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResourceShareAssociations API operation for AWS Resource Access Manager. +// +// Gets the associations for the specified resource share. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Access Manager's +// API operation GetResourceShareAssociations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The specified value for NextToken is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourceShareAssociations +func (c *RAM) GetResourceShareAssociations(input *GetResourceShareAssociationsInput) (*GetResourceShareAssociationsOutput, error) { + req, out := c.GetResourceShareAssociationsRequest(input) + return out, req.Send() +} + +// GetResourceShareAssociationsWithContext is the same as GetResourceShareAssociations with the addition of +// the ability to pass a context and additional request options. +// +// See GetResourceShareAssociations 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 *RAM) GetResourceShareAssociationsWithContext(ctx aws.Context, input *GetResourceShareAssociationsInput, opts ...request.Option) (*GetResourceShareAssociationsOutput, error) { + req, out := c.GetResourceShareAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetResourceShareAssociationsPages iterates over the pages of a GetResourceShareAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetResourceShareAssociations 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 GetResourceShareAssociations operation. +// pageNum := 0 +// err := client.GetResourceShareAssociationsPages(params, +// func(page *GetResourceShareAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RAM) GetResourceShareAssociationsPages(input *GetResourceShareAssociationsInput, fn func(*GetResourceShareAssociationsOutput, bool) bool) error { + return c.GetResourceShareAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetResourceShareAssociationsPagesWithContext same as GetResourceShareAssociationsPages 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 *RAM) GetResourceShareAssociationsPagesWithContext(ctx aws.Context, input *GetResourceShareAssociationsInput, fn func(*GetResourceShareAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetResourceShareAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetResourceShareAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetResourceShareAssociationsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetResourceShareInvitations = "GetResourceShareInvitations" + +// GetResourceShareInvitationsRequest generates a "aws/request.Request" representing the +// client's request for the GetResourceShareInvitations 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 GetResourceShareInvitations for more information on using the GetResourceShareInvitations +// 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 GetResourceShareInvitationsRequest method. +// req, resp := client.GetResourceShareInvitationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourceShareInvitations +func (c *RAM) GetResourceShareInvitationsRequest(input *GetResourceShareInvitationsInput) (req *request.Request, output *GetResourceShareInvitationsOutput) { + op := &request.Operation{ + Name: opGetResourceShareInvitations, + HTTPMethod: "POST", + HTTPPath: "/getresourceshareinvitations", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetResourceShareInvitationsInput{} + } + + output = &GetResourceShareInvitationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResourceShareInvitations API operation for AWS Resource Access Manager. +// +// Gets the specified invitations for resource sharing. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Access Manager's +// API operation GetResourceShareInvitations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceShareInvitationArnNotFoundException "ResourceShareInvitationArnNotFoundException" +// The Amazon Resource Name (ARN) for an invitation was not found. +// +// * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException" +// The specified value for MaxResults is not valid. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The specified value for NextToken is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourceShareInvitations +func (c *RAM) GetResourceShareInvitations(input *GetResourceShareInvitationsInput) (*GetResourceShareInvitationsOutput, error) { + req, out := c.GetResourceShareInvitationsRequest(input) + return out, req.Send() +} + +// GetResourceShareInvitationsWithContext is the same as GetResourceShareInvitations with the addition of +// the ability to pass a context and additional request options. +// +// See GetResourceShareInvitations 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 *RAM) GetResourceShareInvitationsWithContext(ctx aws.Context, input *GetResourceShareInvitationsInput, opts ...request.Option) (*GetResourceShareInvitationsOutput, error) { + req, out := c.GetResourceShareInvitationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetResourceShareInvitationsPages iterates over the pages of a GetResourceShareInvitations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetResourceShareInvitations 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 GetResourceShareInvitations operation. +// pageNum := 0 +// err := client.GetResourceShareInvitationsPages(params, +// func(page *GetResourceShareInvitationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RAM) GetResourceShareInvitationsPages(input *GetResourceShareInvitationsInput, fn func(*GetResourceShareInvitationsOutput, bool) bool) error { + return c.GetResourceShareInvitationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetResourceShareInvitationsPagesWithContext same as GetResourceShareInvitationsPages 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 *RAM) GetResourceShareInvitationsPagesWithContext(ctx aws.Context, input *GetResourceShareInvitationsInput, fn func(*GetResourceShareInvitationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetResourceShareInvitationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetResourceShareInvitationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetResourceShareInvitationsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetResourceShares = "GetResourceShares" + +// GetResourceSharesRequest generates a "aws/request.Request" representing the +// client's request for the GetResourceShares 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 GetResourceShares for more information on using the GetResourceShares +// 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 GetResourceSharesRequest method. +// req, resp := client.GetResourceSharesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourceShares +func (c *RAM) GetResourceSharesRequest(input *GetResourceSharesInput) (req *request.Request, output *GetResourceSharesOutput) { + op := &request.Operation{ + Name: opGetResourceShares, + HTTPMethod: "POST", + HTTPPath: "/getresourceshares", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetResourceSharesInput{} + } + + output = &GetResourceSharesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResourceShares API operation for AWS Resource Access Manager. +// +// Gets the specified resource shares or all of your resource shares. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Access Manager's +// API operation GetResourceShares for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The specified value for NextToken is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourceShares +func (c *RAM) GetResourceShares(input *GetResourceSharesInput) (*GetResourceSharesOutput, error) { + req, out := c.GetResourceSharesRequest(input) + return out, req.Send() +} + +// GetResourceSharesWithContext is the same as GetResourceShares with the addition of +// the ability to pass a context and additional request options. +// +// See GetResourceShares 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 *RAM) GetResourceSharesWithContext(ctx aws.Context, input *GetResourceSharesInput, opts ...request.Option) (*GetResourceSharesOutput, error) { + req, out := c.GetResourceSharesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetResourceSharesPages iterates over the pages of a GetResourceShares operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetResourceShares 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 GetResourceShares operation. +// pageNum := 0 +// err := client.GetResourceSharesPages(params, +// func(page *GetResourceSharesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RAM) GetResourceSharesPages(input *GetResourceSharesInput, fn func(*GetResourceSharesOutput, bool) bool) error { + return c.GetResourceSharesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetResourceSharesPagesWithContext same as GetResourceSharesPages 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 *RAM) GetResourceSharesPagesWithContext(ctx aws.Context, input *GetResourceSharesInput, fn func(*GetResourceSharesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetResourceSharesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetResourceSharesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetResourceSharesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListPrincipals = "ListPrincipals" + +// ListPrincipalsRequest generates a "aws/request.Request" representing the +// client's request for the ListPrincipals 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 ListPrincipals for more information on using the ListPrincipals +// 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 ListPrincipalsRequest method. +// req, resp := client.ListPrincipalsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPrincipals +func (c *RAM) ListPrincipalsRequest(input *ListPrincipalsInput) (req *request.Request, output *ListPrincipalsOutput) { + op := &request.Operation{ + Name: opListPrincipals, + HTTPMethod: "POST", + HTTPPath: "/listprincipals", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPrincipalsInput{} + } + + output = &ListPrincipalsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPrincipals API operation for AWS Resource Access Manager. +// +// Lists the principals with access 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 AWS Resource Access Manager's +// API operation ListPrincipals for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The specified value for NextToken is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPrincipals +func (c *RAM) ListPrincipals(input *ListPrincipalsInput) (*ListPrincipalsOutput, error) { + req, out := c.ListPrincipalsRequest(input) + return out, req.Send() +} + +// ListPrincipalsWithContext is the same as ListPrincipals with the addition of +// the ability to pass a context and additional request options. +// +// See ListPrincipals 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 *RAM) ListPrincipalsWithContext(ctx aws.Context, input *ListPrincipalsInput, opts ...request.Option) (*ListPrincipalsOutput, error) { + req, out := c.ListPrincipalsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPrincipalsPages iterates over the pages of a ListPrincipals operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPrincipals 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 ListPrincipals operation. +// pageNum := 0 +// err := client.ListPrincipalsPages(params, +// func(page *ListPrincipalsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RAM) ListPrincipalsPages(input *ListPrincipalsInput, fn func(*ListPrincipalsOutput, bool) bool) error { + return c.ListPrincipalsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPrincipalsPagesWithContext same as ListPrincipalsPages 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 *RAM) ListPrincipalsPagesWithContext(ctx aws.Context, input *ListPrincipalsInput, fn func(*ListPrincipalsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPrincipalsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPrincipalsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListPrincipalsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListResources = "ListResources" + +// ListResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListResources 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 ListResources for more information on using the ListResources +// 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 ListResourcesRequest method. +// req, resp := client.ListResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListResources +func (c *RAM) ListResourcesRequest(input *ListResourcesInput) (req *request.Request, output *ListResourcesOutput) { + op := &request.Operation{ + Name: opListResources, + HTTPMethod: "POST", + HTTPPath: "/listresources", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResourcesInput{} + } + + output = &ListResourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResources API operation for AWS Resource Access Manager. +// +// Lists the resources that the specified principal can access. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Access Manager's +// API operation ListResources for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidResourceTypeException "InvalidResourceTypeException" +// The specified resource type is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The specified value for NextToken is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListResources +func (c *RAM) ListResources(input *ListResourcesInput) (*ListResourcesOutput, error) { + req, out := c.ListResourcesRequest(input) + return out, req.Send() +} + +// ListResourcesWithContext is the same as ListResources with the addition of +// the ability to pass a context and additional request options. +// +// See ListResources 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 *RAM) ListResourcesWithContext(ctx aws.Context, input *ListResourcesInput, opts ...request.Option) (*ListResourcesOutput, error) { + req, out := c.ListResourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResourcesPages iterates over the pages of a ListResources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResources 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 ListResources operation. +// pageNum := 0 +// err := client.ListResourcesPages(params, +// func(page *ListResourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RAM) ListResourcesPages(input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool) error { + return c.ListResourcesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResourcesPagesWithContext same as ListResourcesPages 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 *RAM) ListResourcesPagesWithContext(ctx aws.Context, input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResourcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResourcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListResourcesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opRejectResourceShareInvitation = "RejectResourceShareInvitation" + +// RejectResourceShareInvitationRequest generates a "aws/request.Request" representing the +// client's request for the RejectResourceShareInvitation 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 RejectResourceShareInvitation for more information on using the RejectResourceShareInvitation +// 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 RejectResourceShareInvitationRequest method. +// req, resp := client.RejectResourceShareInvitationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/RejectResourceShareInvitation +func (c *RAM) RejectResourceShareInvitationRequest(input *RejectResourceShareInvitationInput) (req *request.Request, output *RejectResourceShareInvitationOutput) { + op := &request.Operation{ + Name: opRejectResourceShareInvitation, + HTTPMethod: "POST", + HTTPPath: "/rejectresourceshareinvitation", + } + + if input == nil { + input = &RejectResourceShareInvitationInput{} + } + + output = &RejectResourceShareInvitationOutput{} + req = c.newRequest(op, input, output) + return +} + +// RejectResourceShareInvitation API operation for AWS Resource Access Manager. +// +// Rejects an invitation to a resource share from another 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 AWS Resource Access Manager's +// API operation RejectResourceShareInvitation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// * ErrCodeResourceShareInvitationArnNotFoundException "ResourceShareInvitationArnNotFoundException" +// The Amazon Resource Name (ARN) for an invitation was not found. +// +// * ErrCodeResourceShareInvitationAlreadyAcceptedException "ResourceShareInvitationAlreadyAcceptedException" +// The invitation was already accepted. +// +// * ErrCodeResourceShareInvitationAlreadyRejectedException "ResourceShareInvitationAlreadyRejectedException" +// The invitation was already rejected. +// +// * ErrCodeResourceShareInvitationExpiredException "ResourceShareInvitationExpiredException" +// The invitation is expired. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/RejectResourceShareInvitation +func (c *RAM) RejectResourceShareInvitation(input *RejectResourceShareInvitationInput) (*RejectResourceShareInvitationOutput, error) { + req, out := c.RejectResourceShareInvitationRequest(input) + return out, req.Send() +} + +// RejectResourceShareInvitationWithContext is the same as RejectResourceShareInvitation with the addition of +// the ability to pass a context and additional request options. +// +// See RejectResourceShareInvitation 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 *RAM) RejectResourceShareInvitationWithContext(ctx aws.Context, input *RejectResourceShareInvitationInput, opts ...request.Option) (*RejectResourceShareInvitationOutput, error) { + req, out := c.RejectResourceShareInvitationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/TagResource +func (c *RAM) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tagresource", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Resource Access Manager. +// +// Adds the specified tags to the specified resource share. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Access Manager's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeTagLimitExceededException "TagLimitExceededException" +// The requested tags exceed the limit for your account. +// +// * ErrCodeResourceArnNotFoundException "ResourceArnNotFoundException" +// An Amazon Resource Name (ARN) was not found. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/TagResource +func (c *RAM) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RAM) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/UntagResource +func (c *RAM) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/untagresource", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS Resource Access Manager. +// +// Removes the specified tags from the specified resource share. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Access Manager's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/UntagResource +func (c *RAM) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RAM) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateResourceShare = "UpdateResourceShare" + +// UpdateResourceShareRequest generates a "aws/request.Request" representing the +// client's request for the UpdateResourceShare 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 UpdateResourceShare for more information on using the UpdateResourceShare +// 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 UpdateResourceShareRequest method. +// req, resp := client.UpdateResourceShareRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/UpdateResourceShare +func (c *RAM) UpdateResourceShareRequest(input *UpdateResourceShareInput) (req *request.Request, output *UpdateResourceShareOutput) { + op := &request.Operation{ + Name: opUpdateResourceShare, + HTTPMethod: "POST", + HTTPPath: "/updateresourceshare", + } + + if input == nil { + input = &UpdateResourceShareInput{} + } + + output = &UpdateResourceShareOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateResourceShare API operation for AWS Resource Access Manager. +// +// Updates the specified resource share. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Access Manager's +// API operation UpdateResourceShare for usage and error information. +// +// Returned Error Codes: +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// A client token input parameter was reused with an operation, but at least +// one of the other input parameters is different from the previous call to +// the operation. +// +// * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException" +// A required input parameter is missing. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeInvalidClientTokenException "InvalidClientTokenException" +// A client token is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/UpdateResourceShare +func (c *RAM) UpdateResourceShare(input *UpdateResourceShareInput) (*UpdateResourceShareOutput, error) { + req, out := c.UpdateResourceShareRequest(input) + return out, req.Send() +} + +// UpdateResourceShareWithContext is the same as UpdateResourceShare with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateResourceShare 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 *RAM) UpdateResourceShareWithContext(ctx aws.Context, input *UpdateResourceShareInput, opts ...request.Option) (*UpdateResourceShareOutput, error) { + req, out := c.UpdateResourceShareRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type AcceptResourceShareInvitationInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // The Amazon Resource Name (ARN) of the invitation. + // + // ResourceShareInvitationArn is a required field + ResourceShareInvitationArn *string `locationName:"resourceShareInvitationArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s AcceptResourceShareInvitationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptResourceShareInvitationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcceptResourceShareInvitationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcceptResourceShareInvitationInput"} + if s.ResourceShareInvitationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareInvitationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *AcceptResourceShareInvitationInput) SetClientToken(v string) *AcceptResourceShareInvitationInput { + s.ClientToken = &v + return s +} + +// SetResourceShareInvitationArn sets the ResourceShareInvitationArn field's value. +func (s *AcceptResourceShareInvitationInput) SetResourceShareInvitationArn(v string) *AcceptResourceShareInvitationInput { + s.ResourceShareInvitationArn = &v + return s +} + +type AcceptResourceShareInvitationOutput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // Information about the invitation. + ResourceShareInvitation *ResourceShareInvitation `locationName:"resourceShareInvitation" type:"structure"` +} + +// String returns the string representation +func (s AcceptResourceShareInvitationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptResourceShareInvitationOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *AcceptResourceShareInvitationOutput) SetClientToken(v string) *AcceptResourceShareInvitationOutput { + s.ClientToken = &v + return s +} + +// SetResourceShareInvitation sets the ResourceShareInvitation field's value. +func (s *AcceptResourceShareInvitationOutput) SetResourceShareInvitation(v *ResourceShareInvitation) *AcceptResourceShareInvitationOutput { + s.ResourceShareInvitation = v + return s +} + +type AssociateResourceShareInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // The principals. + Principals []*string `locationName:"principals" type:"list"` + + // The Amazon Resource Names (ARN) of the resources. + ResourceArns []*string `locationName:"resourceArns" type:"list"` + + // The Amazon Resource Name (ARN) of the resource share. + // + // ResourceShareArn is a required field + ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateResourceShareInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResourceShareInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateResourceShareInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateResourceShareInput"} + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *AssociateResourceShareInput) SetClientToken(v string) *AssociateResourceShareInput { + s.ClientToken = &v + return s +} + +// SetPrincipals sets the Principals field's value. +func (s *AssociateResourceShareInput) SetPrincipals(v []*string) *AssociateResourceShareInput { + s.Principals = v + return s +} + +// SetResourceArns sets the ResourceArns field's value. +func (s *AssociateResourceShareInput) SetResourceArns(v []*string) *AssociateResourceShareInput { + s.ResourceArns = v + return s +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *AssociateResourceShareInput) SetResourceShareArn(v string) *AssociateResourceShareInput { + s.ResourceShareArn = &v + return s +} + +type AssociateResourceShareOutput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // Information about the associations. + ResourceShareAssociations []*ResourceShareAssociation `locationName:"resourceShareAssociations" type:"list"` +} + +// String returns the string representation +func (s AssociateResourceShareOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResourceShareOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *AssociateResourceShareOutput) SetClientToken(v string) *AssociateResourceShareOutput { + s.ClientToken = &v + return s +} + +// SetResourceShareAssociations sets the ResourceShareAssociations field's value. +func (s *AssociateResourceShareOutput) SetResourceShareAssociations(v []*ResourceShareAssociation) *AssociateResourceShareOutput { + s.ResourceShareAssociations = v + return s +} + +type CreateResourceShareInput struct { + _ struct{} `type:"structure"` + + // Indicates whether principals outside your organization can be associated + // with a resource share. + AllowExternalPrincipals *bool `locationName:"allowExternalPrincipals" type:"boolean"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // The name of the resource share. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The principals to associate with the resource share. The possible values + // are IDs of AWS accounts, the ARN of an OU or organization from AWS Organizations. + Principals []*string `locationName:"principals" type:"list"` + + // The Amazon Resource Names (ARN) of the resources to associate with the resource + // share. + ResourceArns []*string `locationName:"resourceArns" type:"list"` + + // One or more tags. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation +func (s CreateResourceShareInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResourceShareInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateResourceShareInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateResourceShareInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowExternalPrincipals sets the AllowExternalPrincipals field's value. +func (s *CreateResourceShareInput) SetAllowExternalPrincipals(v bool) *CreateResourceShareInput { + s.AllowExternalPrincipals = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateResourceShareInput) SetClientToken(v string) *CreateResourceShareInput { + s.ClientToken = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateResourceShareInput) SetName(v string) *CreateResourceShareInput { + s.Name = &v + return s +} + +// SetPrincipals sets the Principals field's value. +func (s *CreateResourceShareInput) SetPrincipals(v []*string) *CreateResourceShareInput { + s.Principals = v + return s +} + +// SetResourceArns sets the ResourceArns field's value. +func (s *CreateResourceShareInput) SetResourceArns(v []*string) *CreateResourceShareInput { + s.ResourceArns = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateResourceShareInput) SetTags(v []*Tag) *CreateResourceShareInput { + s.Tags = v + return s +} + +type CreateResourceShareOutput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // Information about the resource share. + ResourceShare *ResourceShare `locationName:"resourceShare" type:"structure"` +} + +// String returns the string representation +func (s CreateResourceShareOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResourceShareOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateResourceShareOutput) SetClientToken(v string) *CreateResourceShareOutput { + s.ClientToken = &v + return s +} + +// SetResourceShare sets the ResourceShare field's value. +func (s *CreateResourceShareOutput) SetResourceShare(v *ResourceShare) *CreateResourceShareOutput { + s.ResourceShare = v + return s +} + +type DeleteResourceShareInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `location:"querystring" locationName:"clientToken" type:"string"` + + // The Amazon Resource Name (ARN) of the resource share. + // + // ResourceShareArn is a required field + ResourceShareArn *string `location:"querystring" locationName:"resourceShareArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteResourceShareInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourceShareInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResourceShareInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResourceShareInput"} + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteResourceShareInput) SetClientToken(v string) *DeleteResourceShareInput { + s.ClientToken = &v + return s +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *DeleteResourceShareInput) SetResourceShareArn(v string) *DeleteResourceShareInput { + s.ResourceShareArn = &v + return s +} + +type DeleteResourceShareOutput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // Indicates whether the request succeeded. + ReturnValue *bool `locationName:"returnValue" type:"boolean"` +} + +// String returns the string representation +func (s DeleteResourceShareOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourceShareOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteResourceShareOutput) SetClientToken(v string) *DeleteResourceShareOutput { + s.ClientToken = &v + return s +} + +// SetReturnValue sets the ReturnValue field's value. +func (s *DeleteResourceShareOutput) SetReturnValue(v bool) *DeleteResourceShareOutput { + s.ReturnValue = &v + return s +} + +type DisassociateResourceShareInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // The principals. + Principals []*string `locationName:"principals" type:"list"` + + // The Amazon Resource Names (ARN) of the resources. + ResourceArns []*string `locationName:"resourceArns" type:"list"` + + // The Amazon Resource Name (ARN) of the resource share. + // + // ResourceShareArn is a required field + ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateResourceShareInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResourceShareInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateResourceShareInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateResourceShareInput"} + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DisassociateResourceShareInput) SetClientToken(v string) *DisassociateResourceShareInput { + s.ClientToken = &v + return s +} + +// SetPrincipals sets the Principals field's value. +func (s *DisassociateResourceShareInput) SetPrincipals(v []*string) *DisassociateResourceShareInput { + s.Principals = v + return s +} + +// SetResourceArns sets the ResourceArns field's value. +func (s *DisassociateResourceShareInput) SetResourceArns(v []*string) *DisassociateResourceShareInput { + s.ResourceArns = v + return s +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *DisassociateResourceShareInput) SetResourceShareArn(v string) *DisassociateResourceShareInput { + s.ResourceShareArn = &v + return s +} + +type DisassociateResourceShareOutput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // Information about the associations. + ResourceShareAssociations []*ResourceShareAssociation `locationName:"resourceShareAssociations" type:"list"` +} + +// String returns the string representation +func (s DisassociateResourceShareOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResourceShareOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *DisassociateResourceShareOutput) SetClientToken(v string) *DisassociateResourceShareOutput { + s.ClientToken = &v + return s +} + +// SetResourceShareAssociations sets the ResourceShareAssociations field's value. +func (s *DisassociateResourceShareOutput) SetResourceShareAssociations(v []*ResourceShareAssociation) *DisassociateResourceShareOutput { + s.ResourceShareAssociations = v + return s +} + +type EnableSharingWithAwsOrganizationInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s EnableSharingWithAwsOrganizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableSharingWithAwsOrganizationInput) GoString() string { + return s.String() +} + +type EnableSharingWithAwsOrganizationOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether the request succeeded. + ReturnValue *bool `locationName:"returnValue" type:"boolean"` +} + +// String returns the string representation +func (s EnableSharingWithAwsOrganizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableSharingWithAwsOrganizationOutput) GoString() string { + return s.String() +} + +// SetReturnValue sets the ReturnValue field's value. +func (s *EnableSharingWithAwsOrganizationOutput) SetReturnValue(v bool) *EnableSharingWithAwsOrganizationOutput { + s.ReturnValue = &v + return s +} + +type GetResourcePoliciesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The principal. + Principal *string `locationName:"principal" type:"string"` + + // The Amazon Resource Names (ARN) of the resources. + // + // ResourceArns is a required field + ResourceArns []*string `locationName:"resourceArns" type:"list" required:"true"` +} + +// String returns the string representation +func (s GetResourcePoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourcePoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourcePoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourcePoliciesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceArns == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArns")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetResourcePoliciesInput) SetMaxResults(v int64) *GetResourcePoliciesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetResourcePoliciesInput) SetNextToken(v string) *GetResourcePoliciesInput { + s.NextToken = &v + return s +} + +// SetPrincipal sets the Principal field's value. +func (s *GetResourcePoliciesInput) SetPrincipal(v string) *GetResourcePoliciesInput { + s.Principal = &v + return s +} + +// SetResourceArns sets the ResourceArns field's value. +func (s *GetResourcePoliciesInput) SetResourceArns(v []*string) *GetResourcePoliciesInput { + s.ResourceArns = v + return s +} + +type GetResourcePoliciesOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // A key policy document, in JSON format. + Policies []*string `locationName:"policies" type:"list"` +} + +// String returns the string representation +func (s GetResourcePoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourcePoliciesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetResourcePoliciesOutput) SetNextToken(v string) *GetResourcePoliciesOutput { + s.NextToken = &v + return s +} + +// SetPolicies sets the Policies field's value. +func (s *GetResourcePoliciesOutput) SetPolicies(v []*string) *GetResourcePoliciesOutput { + s.Policies = v + return s +} + +type GetResourceShareAssociationsInput struct { + _ struct{} `type:"structure"` + + // The status of the association. + AssociationStatus *string `locationName:"associationStatus" type:"string" enum:"ResourceShareAssociationStatus"` + + // The association type. + // + // AssociationType is a required field + AssociationType *string `locationName:"associationType" type:"string" required:"true" enum:"ResourceShareAssociationType"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The principal. + Principal *string `locationName:"principal" type:"string"` + + // The Amazon Resource Name (ARN) of the resource. + ResourceArn *string `locationName:"resourceArn" type:"string"` + + // The Amazon Resource Names (ARN) of the resource shares. + ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"` +} + +// String returns the string representation +func (s GetResourceShareAssociationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourceShareAssociationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourceShareAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourceShareAssociationsInput"} + if s.AssociationType == nil { + invalidParams.Add(request.NewErrParamRequired("AssociationType")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociationStatus sets the AssociationStatus field's value. +func (s *GetResourceShareAssociationsInput) SetAssociationStatus(v string) *GetResourceShareAssociationsInput { + s.AssociationStatus = &v + return s +} + +// SetAssociationType sets the AssociationType field's value. +func (s *GetResourceShareAssociationsInput) SetAssociationType(v string) *GetResourceShareAssociationsInput { + s.AssociationType = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetResourceShareAssociationsInput) SetMaxResults(v int64) *GetResourceShareAssociationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetResourceShareAssociationsInput) SetNextToken(v string) *GetResourceShareAssociationsInput { + s.NextToken = &v + return s +} + +// SetPrincipal sets the Principal field's value. +func (s *GetResourceShareAssociationsInput) SetPrincipal(v string) *GetResourceShareAssociationsInput { + s.Principal = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *GetResourceShareAssociationsInput) SetResourceArn(v string) *GetResourceShareAssociationsInput { + s.ResourceArn = &v + return s +} + +// SetResourceShareArns sets the ResourceShareArns field's value. +func (s *GetResourceShareAssociationsInput) SetResourceShareArns(v []*string) *GetResourceShareAssociationsInput { + s.ResourceShareArns = v + return s +} + +type GetResourceShareAssociationsOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // Information about the association. + ResourceShareAssociations []*ResourceShareAssociation `locationName:"resourceShareAssociations" type:"list"` +} + +// String returns the string representation +func (s GetResourceShareAssociationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourceShareAssociationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetResourceShareAssociationsOutput) SetNextToken(v string) *GetResourceShareAssociationsOutput { + s.NextToken = &v + return s +} + +// SetResourceShareAssociations sets the ResourceShareAssociations field's value. +func (s *GetResourceShareAssociationsOutput) SetResourceShareAssociations(v []*ResourceShareAssociation) *GetResourceShareAssociationsOutput { + s.ResourceShareAssociations = v + return s +} + +type GetResourceShareInvitationsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The Amazon Resource Names (ARN) of the resource shares. + ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"` + + // The Amazon Resource Names (ARN) of the invitations. + ResourceShareInvitationArns []*string `locationName:"resourceShareInvitationArns" type:"list"` +} + +// String returns the string representation +func (s GetResourceShareInvitationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourceShareInvitationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourceShareInvitationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourceShareInvitationsInput"} + 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 *GetResourceShareInvitationsInput) SetMaxResults(v int64) *GetResourceShareInvitationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetResourceShareInvitationsInput) SetNextToken(v string) *GetResourceShareInvitationsInput { + s.NextToken = &v + return s +} + +// SetResourceShareArns sets the ResourceShareArns field's value. +func (s *GetResourceShareInvitationsInput) SetResourceShareArns(v []*string) *GetResourceShareInvitationsInput { + s.ResourceShareArns = v + return s +} + +// SetResourceShareInvitationArns sets the ResourceShareInvitationArns field's value. +func (s *GetResourceShareInvitationsInput) SetResourceShareInvitationArns(v []*string) *GetResourceShareInvitationsInput { + s.ResourceShareInvitationArns = v + return s +} + +type GetResourceShareInvitationsOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // Information about the invitations. + ResourceShareInvitations []*ResourceShareInvitation `locationName:"resourceShareInvitations" type:"list"` +} + +// String returns the string representation +func (s GetResourceShareInvitationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourceShareInvitationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetResourceShareInvitationsOutput) SetNextToken(v string) *GetResourceShareInvitationsOutput { + s.NextToken = &v + return s +} + +// SetResourceShareInvitations sets the ResourceShareInvitations field's value. +func (s *GetResourceShareInvitationsOutput) SetResourceShareInvitations(v []*ResourceShareInvitation) *GetResourceShareInvitationsOutput { + s.ResourceShareInvitations = v + return s +} + +type GetResourceSharesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The name of the resource share. + Name *string `locationName:"name" type:"string"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The type of owner. + // + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" type:"string" required:"true" enum:"ResourceOwner"` + + // The Amazon Resource Names (ARN) of the resource shares. + ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"` + + // The status of the resource share. + ResourceShareStatus *string `locationName:"resourceShareStatus" type:"string" enum:"ResourceShareStatus"` + + // One or more tag filters. + TagFilters []*TagFilter `locationName:"tagFilters" type:"list"` +} + +// String returns the string representation +func (s GetResourceSharesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourceSharesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourceSharesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourceSharesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceOwner == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceOwner")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetResourceSharesInput) SetMaxResults(v int64) *GetResourceSharesInput { + s.MaxResults = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetResourceSharesInput) SetName(v string) *GetResourceSharesInput { + s.Name = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetResourceSharesInput) SetNextToken(v string) *GetResourceSharesInput { + s.NextToken = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *GetResourceSharesInput) SetResourceOwner(v string) *GetResourceSharesInput { + s.ResourceOwner = &v + return s +} + +// SetResourceShareArns sets the ResourceShareArns field's value. +func (s *GetResourceSharesInput) SetResourceShareArns(v []*string) *GetResourceSharesInput { + s.ResourceShareArns = v + return s +} + +// SetResourceShareStatus sets the ResourceShareStatus field's value. +func (s *GetResourceSharesInput) SetResourceShareStatus(v string) *GetResourceSharesInput { + s.ResourceShareStatus = &v + return s +} + +// SetTagFilters sets the TagFilters field's value. +func (s *GetResourceSharesInput) SetTagFilters(v []*TagFilter) *GetResourceSharesInput { + s.TagFilters = v + return s +} + +type GetResourceSharesOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // Information about the resource shares. + ResourceShares []*ResourceShare `locationName:"resourceShares" type:"list"` +} + +// String returns the string representation +func (s GetResourceSharesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourceSharesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetResourceSharesOutput) SetNextToken(v string) *GetResourceSharesOutput { + s.NextToken = &v + return s +} + +// SetResourceShares sets the ResourceShares field's value. +func (s *GetResourceSharesOutput) SetResourceShares(v []*ResourceShare) *GetResourceSharesOutput { + s.ResourceShares = v + return s +} + +type ListPrincipalsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The principals. + Principals []*string `locationName:"principals" type:"list"` + + // The Amazon Resource Name (ARN) of the resource. + ResourceArn *string `locationName:"resourceArn" type:"string"` + + // The type of owner. + // + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" type:"string" required:"true" enum:"ResourceOwner"` + + // The Amazon Resource Names (ARN) of the resource shares. + ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"` + + // The resource type. + ResourceType *string `locationName:"resourceType" type:"string"` +} + +// String returns the string representation +func (s ListPrincipalsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPrincipalsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPrincipalsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPrincipalsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceOwner == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceOwner")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPrincipalsInput) SetMaxResults(v int64) *ListPrincipalsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPrincipalsInput) SetNextToken(v string) *ListPrincipalsInput { + s.NextToken = &v + return s +} + +// SetPrincipals sets the Principals field's value. +func (s *ListPrincipalsInput) SetPrincipals(v []*string) *ListPrincipalsInput { + s.Principals = v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListPrincipalsInput) SetResourceArn(v string) *ListPrincipalsInput { + s.ResourceArn = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *ListPrincipalsInput) SetResourceOwner(v string) *ListPrincipalsInput { + s.ResourceOwner = &v + return s +} + +// SetResourceShareArns sets the ResourceShareArns field's value. +func (s *ListPrincipalsInput) SetResourceShareArns(v []*string) *ListPrincipalsInput { + s.ResourceShareArns = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ListPrincipalsInput) SetResourceType(v string) *ListPrincipalsInput { + s.ResourceType = &v + return s +} + +type ListPrincipalsOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // The principals. + Principals []*Principal `locationName:"principals" type:"list"` +} + +// String returns the string representation +func (s ListPrincipalsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPrincipalsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPrincipalsOutput) SetNextToken(v string) *ListPrincipalsOutput { + s.NextToken = &v + return s +} + +// SetPrincipals sets the Principals field's value. +func (s *ListPrincipalsOutput) SetPrincipals(v []*Principal) *ListPrincipalsOutput { + s.Principals = v + return s +} + +type ListResourcesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The principal. + Principal *string `locationName:"principal" type:"string"` + + // The Amazon Resource Names (ARN) of the resources. + ResourceArns []*string `locationName:"resourceArns" type:"list"` + + // The type of owner. + // + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" type:"string" required:"true" enum:"ResourceOwner"` + + // The Amazon Resource Names (ARN) of the resource shares. + ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"` + + // The resource type. + ResourceType *string `locationName:"resourceType" type:"string"` +} + +// String returns the string representation +func (s ListResourcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResourcesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceOwner == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceOwner")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResourcesInput) SetMaxResults(v int64) *ListResourcesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResourcesInput) SetNextToken(v string) *ListResourcesInput { + s.NextToken = &v + return s +} + +// SetPrincipal sets the Principal field's value. +func (s *ListResourcesInput) SetPrincipal(v string) *ListResourcesInput { + s.Principal = &v + return s +} + +// SetResourceArns sets the ResourceArns field's value. +func (s *ListResourcesInput) SetResourceArns(v []*string) *ListResourcesInput { + s.ResourceArns = v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *ListResourcesInput) SetResourceOwner(v string) *ListResourcesInput { + s.ResourceOwner = &v + return s +} + +// SetResourceShareArns sets the ResourceShareArns field's value. +func (s *ListResourcesInput) SetResourceShareArns(v []*string) *ListResourcesInput { + s.ResourceShareArns = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ListResourcesInput) SetResourceType(v string) *ListResourcesInput { + s.ResourceType = &v + return s +} + +type ListResourcesOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // Information about the resources. + Resources []*Resource `locationName:"resources" type:"list"` +} + +// String returns the string representation +func (s ListResourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResourcesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResourcesOutput) SetNextToken(v string) *ListResourcesOutput { + s.NextToken = &v + return s +} + +// SetResources sets the Resources field's value. +func (s *ListResourcesOutput) SetResources(v []*Resource) *ListResourcesOutput { + s.Resources = v + return s +} + +// Describes a principal for use with AWS Resource Access Manager. +type Principal struct { + _ struct{} `type:"structure"` + + // The time when the principal was associated with the resource share. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // Indicates whether the principal belongs to the same organization as the AWS + // account that owns the resource share. + External *bool `locationName:"external" type:"boolean"` + + // The ID of the principal. + Id *string `locationName:"id" type:"string"` + + // The time when the association was last updated. + LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the resource share. + ResourceShareArn *string `locationName:"resourceShareArn" type:"string"` +} + +// String returns the string representation +func (s Principal) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Principal) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Principal) SetCreationTime(v time.Time) *Principal { + s.CreationTime = &v + return s +} + +// SetExternal sets the External field's value. +func (s *Principal) SetExternal(v bool) *Principal { + s.External = &v + return s +} + +// SetId sets the Id field's value. +func (s *Principal) SetId(v string) *Principal { + s.Id = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Principal) SetLastUpdatedTime(v time.Time) *Principal { + s.LastUpdatedTime = &v + return s +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *Principal) SetResourceShareArn(v string) *Principal { + s.ResourceShareArn = &v + return s +} + +type RejectResourceShareInvitationInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // The Amazon Resource Name (ARN) of the invitation. + // + // ResourceShareInvitationArn is a required field + ResourceShareInvitationArn *string `locationName:"resourceShareInvitationArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s RejectResourceShareInvitationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RejectResourceShareInvitationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RejectResourceShareInvitationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RejectResourceShareInvitationInput"} + if s.ResourceShareInvitationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareInvitationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *RejectResourceShareInvitationInput) SetClientToken(v string) *RejectResourceShareInvitationInput { + s.ClientToken = &v + return s +} + +// SetResourceShareInvitationArn sets the ResourceShareInvitationArn field's value. +func (s *RejectResourceShareInvitationInput) SetResourceShareInvitationArn(v string) *RejectResourceShareInvitationInput { + s.ResourceShareInvitationArn = &v + return s +} + +type RejectResourceShareInvitationOutput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // Information about the invitation. + ResourceShareInvitation *ResourceShareInvitation `locationName:"resourceShareInvitation" type:"structure"` +} + +// String returns the string representation +func (s RejectResourceShareInvitationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RejectResourceShareInvitationOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *RejectResourceShareInvitationOutput) SetClientToken(v string) *RejectResourceShareInvitationOutput { + s.ClientToken = &v + return s +} + +// SetResourceShareInvitation sets the ResourceShareInvitation field's value. +func (s *RejectResourceShareInvitationOutput) SetResourceShareInvitation(v *ResourceShareInvitation) *RejectResourceShareInvitationOutput { + s.ResourceShareInvitation = v + return s +} + +// Describes a resource associated with a resource share. +type Resource struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource. + Arn *string `locationName:"arn" type:"string"` + + // The time when the resource was associated with the resource share. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The time when the association was last updated. + LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the resource share. + ResourceShareArn *string `locationName:"resourceShareArn" type:"string"` + + // The status of the resource. + Status *string `locationName:"status" type:"string" enum:"ResourceStatus"` + + // A message about the status of the resource. + StatusMessage *string `locationName:"statusMessage" type:"string"` + + // The resource type. + Type *string `locationName:"type" type:"string"` +} + +// String returns the string representation +func (s Resource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Resource) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Resource) SetArn(v string) *Resource { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Resource) SetCreationTime(v time.Time) *Resource { + s.CreationTime = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Resource) SetLastUpdatedTime(v time.Time) *Resource { + s.LastUpdatedTime = &v + return s +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *Resource) SetResourceShareArn(v string) *Resource { + s.ResourceShareArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Resource) SetStatus(v string) *Resource { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *Resource) SetStatusMessage(v string) *Resource { + s.StatusMessage = &v + return s +} + +// SetType sets the Type field's value. +func (s *Resource) SetType(v string) *Resource { + s.Type = &v + return s +} + +// Describes a resource share. +type ResourceShare struct { + _ struct{} `type:"structure"` + + // Indicates whether principals outside your organization can be associated + // with a resource share. + AllowExternalPrincipals *bool `locationName:"allowExternalPrincipals" type:"boolean"` + + // The time when the resource share was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The time when the resource share was last updated. + LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"` + + // The name of the resource share. + Name *string `locationName:"name" type:"string"` + + // The ID of the AWS account that owns the resource share. + OwningAccountId *string `locationName:"owningAccountId" type:"string"` + + // The Amazon Resource Name (ARN) of the resource share. + ResourceShareArn *string `locationName:"resourceShareArn" type:"string"` + + // The status of the resource share. + Status *string `locationName:"status" type:"string" enum:"ResourceShareStatus"` + + // A message about the status of the resource share. + StatusMessage *string `locationName:"statusMessage" type:"string"` + + // The tags for the resource share. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation +func (s ResourceShare) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceShare) GoString() string { + return s.String() +} + +// SetAllowExternalPrincipals sets the AllowExternalPrincipals field's value. +func (s *ResourceShare) SetAllowExternalPrincipals(v bool) *ResourceShare { + s.AllowExternalPrincipals = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ResourceShare) SetCreationTime(v time.Time) *ResourceShare { + s.CreationTime = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *ResourceShare) SetLastUpdatedTime(v time.Time) *ResourceShare { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *ResourceShare) SetName(v string) *ResourceShare { + s.Name = &v + return s +} + +// SetOwningAccountId sets the OwningAccountId field's value. +func (s *ResourceShare) SetOwningAccountId(v string) *ResourceShare { + s.OwningAccountId = &v + return s +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *ResourceShare) SetResourceShareArn(v string) *ResourceShare { + s.ResourceShareArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResourceShare) SetStatus(v string) *ResourceShare { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *ResourceShare) SetStatusMessage(v string) *ResourceShare { + s.StatusMessage = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ResourceShare) SetTags(v []*Tag) *ResourceShare { + s.Tags = v + return s +} + +// Describes an association with a resource share. +type ResourceShareAssociation struct { + _ struct{} `type:"structure"` + + // The associated entity. For resource associations, this is the ARN of the + // resource. For principal associations, this is the ID of an AWS account or + // the ARN of an OU or organization from AWS Organizations. + AssociatedEntity *string `locationName:"associatedEntity" type:"string"` + + // The association type. + AssociationType *string `locationName:"associationType" type:"string" enum:"ResourceShareAssociationType"` + + // The time when the association was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // Indicates whether the principal belongs to the same organization as the AWS + // account that owns the resource share. + External *bool `locationName:"external" type:"boolean"` + + // The time when the association was last updated. + LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the resource share. + ResourceShareArn *string `locationName:"resourceShareArn" type:"string"` + + // The status of the association. + Status *string `locationName:"status" type:"string" enum:"ResourceShareAssociationStatus"` + + // A message about the status of the association. + StatusMessage *string `locationName:"statusMessage" type:"string"` +} + +// String returns the string representation +func (s ResourceShareAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceShareAssociation) GoString() string { + return s.String() +} + +// SetAssociatedEntity sets the AssociatedEntity field's value. +func (s *ResourceShareAssociation) SetAssociatedEntity(v string) *ResourceShareAssociation { + s.AssociatedEntity = &v + return s +} + +// SetAssociationType sets the AssociationType field's value. +func (s *ResourceShareAssociation) SetAssociationType(v string) *ResourceShareAssociation { + s.AssociationType = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ResourceShareAssociation) SetCreationTime(v time.Time) *ResourceShareAssociation { + s.CreationTime = &v + return s +} + +// SetExternal sets the External field's value. +func (s *ResourceShareAssociation) SetExternal(v bool) *ResourceShareAssociation { + s.External = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *ResourceShareAssociation) SetLastUpdatedTime(v time.Time) *ResourceShareAssociation { + s.LastUpdatedTime = &v + return s +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *ResourceShareAssociation) SetResourceShareArn(v string) *ResourceShareAssociation { + s.ResourceShareArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResourceShareAssociation) SetStatus(v string) *ResourceShareAssociation { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *ResourceShareAssociation) SetStatusMessage(v string) *ResourceShareAssociation { + s.StatusMessage = &v + return s +} + +// Describes an invitation to join a resource share. +type ResourceShareInvitation struct { + _ struct{} `type:"structure"` + + // The date and time when the invitation was sent. + InvitationTimestamp *time.Time `locationName:"invitationTimestamp" type:"timestamp"` + + // The ID of the AWS account that received the invitation. + ReceiverAccountId *string `locationName:"receiverAccountId" type:"string"` + + // The Amazon Resource Name (ARN) of the resource share. + ResourceShareArn *string `locationName:"resourceShareArn" type:"string"` + + // The resources associated with the resource share. + ResourceShareAssociations []*ResourceShareAssociation `locationName:"resourceShareAssociations" type:"list"` + + // The Amazon Resource Name (ARN) of the invitation. + ResourceShareInvitationArn *string `locationName:"resourceShareInvitationArn" type:"string"` + + // The name of the resource share. + ResourceShareName *string `locationName:"resourceShareName" type:"string"` + + // The ID of the AWS account that sent the invitation. + SenderAccountId *string `locationName:"senderAccountId" type:"string"` + + // The status of the invitation. + Status *string `locationName:"status" type:"string" enum:"ResourceShareInvitationStatus"` +} + +// String returns the string representation +func (s ResourceShareInvitation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceShareInvitation) GoString() string { + return s.String() +} + +// SetInvitationTimestamp sets the InvitationTimestamp field's value. +func (s *ResourceShareInvitation) SetInvitationTimestamp(v time.Time) *ResourceShareInvitation { + s.InvitationTimestamp = &v + return s +} + +// SetReceiverAccountId sets the ReceiverAccountId field's value. +func (s *ResourceShareInvitation) SetReceiverAccountId(v string) *ResourceShareInvitation { + s.ReceiverAccountId = &v + return s +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *ResourceShareInvitation) SetResourceShareArn(v string) *ResourceShareInvitation { + s.ResourceShareArn = &v + return s +} + +// SetResourceShareAssociations sets the ResourceShareAssociations field's value. +func (s *ResourceShareInvitation) SetResourceShareAssociations(v []*ResourceShareAssociation) *ResourceShareInvitation { + s.ResourceShareAssociations = v + return s +} + +// SetResourceShareInvitationArn sets the ResourceShareInvitationArn field's value. +func (s *ResourceShareInvitation) SetResourceShareInvitationArn(v string) *ResourceShareInvitation { + s.ResourceShareInvitationArn = &v + return s +} + +// SetResourceShareName sets the ResourceShareName field's value. +func (s *ResourceShareInvitation) SetResourceShareName(v string) *ResourceShareInvitation { + s.ResourceShareName = &v + return s +} + +// SetSenderAccountId sets the SenderAccountId field's value. +func (s *ResourceShareInvitation) SetSenderAccountId(v string) *ResourceShareInvitation { + s.SenderAccountId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResourceShareInvitation) SetStatus(v string) *ResourceShareInvitation { + s.Status = &v + return s +} + +// Information about a tag. +type Tag struct { + _ struct{} `type:"structure"` + + // The key of the tag. + Key *string `locationName:"key" type:"string"` + + // The value of the tag. + Value *string `locationName:"value" type:"string"` +} + +// 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() +} + +// 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 +} + +// Used to filter information based on tags. +type TagFilter struct { + _ struct{} `type:"structure"` + + // The tag key. + TagKey *string `locationName:"tagKey" type:"string"` + + // The tag values. + TagValues []*string `locationName:"tagValues" type:"list"` +} + +// String returns the string representation +func (s TagFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagFilter) GoString() string { + return s.String() +} + +// SetTagKey sets the TagKey field's value. +func (s *TagFilter) SetTagKey(v string) *TagFilter { + s.TagKey = &v + return s +} + +// SetTagValues sets the TagValues field's value. +func (s *TagFilter) SetTagValues(v []*string) *TagFilter { + s.TagValues = v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource share. + // + // ResourceShareArn is a required field + ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"` + + // One or more tags. + // + // Tags is a required field + Tags []*Tag `locationName:"tags" type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *TagResourceInput) SetResourceShareArn(v string) *TagResourceInput { + s.ResourceShareArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource share. + // + // ResourceShareArn is a required field + ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"` + + // The tag keys of the tags to remove. + // + // TagKeys is a required field + TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *UntagResourceInput) SetResourceShareArn(v string) *UntagResourceInput { + s.ResourceShareArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateResourceShareInput struct { + _ struct{} `type:"structure"` + + // Indicates whether principals outside your organization can be associated + // with a resource share. + AllowExternalPrincipals *bool `locationName:"allowExternalPrincipals" type:"boolean"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // The name of the resource share. + Name *string `locationName:"name" type:"string"` + + // The Amazon Resource Name (ARN) of the resource share. + // + // ResourceShareArn is a required field + ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateResourceShareInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateResourceShareInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateResourceShareInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateResourceShareInput"} + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowExternalPrincipals sets the AllowExternalPrincipals field's value. +func (s *UpdateResourceShareInput) SetAllowExternalPrincipals(v bool) *UpdateResourceShareInput { + s.AllowExternalPrincipals = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateResourceShareInput) SetClientToken(v string) *UpdateResourceShareInput { + s.ClientToken = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateResourceShareInput) SetName(v string) *UpdateResourceShareInput { + s.Name = &v + return s +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *UpdateResourceShareInput) SetResourceShareArn(v string) *UpdateResourceShareInput { + s.ResourceShareArn = &v + return s +} + +type UpdateResourceShareOutput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // Information about the resource share. + ResourceShare *ResourceShare `locationName:"resourceShare" type:"structure"` +} + +// String returns the string representation +func (s UpdateResourceShareOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateResourceShareOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateResourceShareOutput) SetClientToken(v string) *UpdateResourceShareOutput { + s.ClientToken = &v + return s +} + +// SetResourceShare sets the ResourceShare field's value. +func (s *UpdateResourceShareOutput) SetResourceShare(v *ResourceShare) *UpdateResourceShareOutput { + s.ResourceShare = v + return s +} + +const ( + // ResourceOwnerSelf is a ResourceOwner enum value + ResourceOwnerSelf = "SELF" + + // ResourceOwnerOtherAccounts is a ResourceOwner enum value + ResourceOwnerOtherAccounts = "OTHER-ACCOUNTS" +) + +const ( + // ResourceShareAssociationStatusAssociating is a ResourceShareAssociationStatus enum value + ResourceShareAssociationStatusAssociating = "ASSOCIATING" + + // ResourceShareAssociationStatusAssociated is a ResourceShareAssociationStatus enum value + ResourceShareAssociationStatusAssociated = "ASSOCIATED" + + // ResourceShareAssociationStatusFailed is a ResourceShareAssociationStatus enum value + ResourceShareAssociationStatusFailed = "FAILED" + + // ResourceShareAssociationStatusDisassociating is a ResourceShareAssociationStatus enum value + ResourceShareAssociationStatusDisassociating = "DISASSOCIATING" + + // ResourceShareAssociationStatusDisassociated is a ResourceShareAssociationStatus enum value + ResourceShareAssociationStatusDisassociated = "DISASSOCIATED" +) + +const ( + // ResourceShareAssociationTypePrincipal is a ResourceShareAssociationType enum value + ResourceShareAssociationTypePrincipal = "PRINCIPAL" + + // ResourceShareAssociationTypeResource is a ResourceShareAssociationType enum value + ResourceShareAssociationTypeResource = "RESOURCE" +) + +const ( + // ResourceShareInvitationStatusPending is a ResourceShareInvitationStatus enum value + ResourceShareInvitationStatusPending = "PENDING" + + // ResourceShareInvitationStatusAccepted is a ResourceShareInvitationStatus enum value + ResourceShareInvitationStatusAccepted = "ACCEPTED" + + // ResourceShareInvitationStatusRejected is a ResourceShareInvitationStatus enum value + ResourceShareInvitationStatusRejected = "REJECTED" + + // ResourceShareInvitationStatusExpired is a ResourceShareInvitationStatus enum value + ResourceShareInvitationStatusExpired = "EXPIRED" +) + +const ( + // ResourceShareStatusPending is a ResourceShareStatus enum value + ResourceShareStatusPending = "PENDING" + + // ResourceShareStatusActive is a ResourceShareStatus enum value + ResourceShareStatusActive = "ACTIVE" + + // ResourceShareStatusFailed is a ResourceShareStatus enum value + ResourceShareStatusFailed = "FAILED" + + // ResourceShareStatusDeleting is a ResourceShareStatus enum value + ResourceShareStatusDeleting = "DELETING" + + // ResourceShareStatusDeleted is a ResourceShareStatus enum value + ResourceShareStatusDeleted = "DELETED" +) + +const ( + // ResourceStatusAvailable is a ResourceStatus enum value + ResourceStatusAvailable = "AVAILABLE" + + // ResourceStatusZonalResourceInaccessible is a ResourceStatus enum value + ResourceStatusZonalResourceInaccessible = "ZONAL_RESOURCE_INACCESSIBLE" + + // ResourceStatusLimitExceeded is a ResourceStatus enum value + ResourceStatusLimitExceeded = "LIMIT_EXCEEDED" + + // ResourceStatusUnavailable is a ResourceStatus enum value + ResourceStatusUnavailable = "UNAVAILABLE" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ram/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ram/doc.go new file mode 100644 index 00000000000..234b180b8b9 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ram/doc.go @@ -0,0 +1,44 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package ram provides the client and types for making API +// requests to AWS Resource Access Manager. +// +// Use AWS Resource Access Manager to share AWS resources between AWS accounts. +// To share a resource, you create a resource share, associate the resource +// with the resource share, and specify the principals that can access the resource. +// The following principals are supported: +// +// * The ID of an AWS account +// +// * The Amazon Resource Name (ARN) of an OU from AWS Organizations +// +// * The Amazon Resource Name (ARN) of an organization from AWS Organizations +// +// If you specify an AWS account that doesn't exist in the same organization +// as the account that owns the resource share, the owner of the specified account +// receives an invitation to accept the resource share. After the owner accepts +// the invitation, they can access the resources in the resource share. An administrator +// of the specified account can use IAM policies to restrict access resources +// in the resource share. +// +// See https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04 for more information on this service. +// +// See ram package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/ram/ +// +// Using the Client +// +// To contact AWS Resource Access Manager 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 Resource Access Manager client RAM for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/ram/#New +package ram diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ram/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ram/errors.go new file mode 100644 index 00000000000..e0f0af48c15 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ram/errors.go @@ -0,0 +1,128 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package ram + +const ( + + // ErrCodeIdempotentParameterMismatchException for service response error code + // "IdempotentParameterMismatchException". + // + // A client token input parameter was reused with an operation, but at least + // one of the other input parameters is different from the previous call to + // the operation. + ErrCodeIdempotentParameterMismatchException = "IdempotentParameterMismatchException" + + // ErrCodeInvalidClientTokenException for service response error code + // "InvalidClientTokenException". + // + // A client token is not valid. + ErrCodeInvalidClientTokenException = "InvalidClientTokenException" + + // ErrCodeInvalidMaxResultsException for service response error code + // "InvalidMaxResultsException". + // + // The specified value for MaxResults is not valid. + ErrCodeInvalidMaxResultsException = "InvalidMaxResultsException" + + // ErrCodeInvalidNextTokenException for service response error code + // "InvalidNextTokenException". + // + // The specified value for NextToken is not valid. + ErrCodeInvalidNextTokenException = "InvalidNextTokenException" + + // ErrCodeInvalidParameterException for service response error code + // "InvalidParameterException". + // + // A parameter is not valid. + ErrCodeInvalidParameterException = "InvalidParameterException" + + // ErrCodeInvalidResourceTypeException for service response error code + // "InvalidResourceTypeException". + // + // The specified resource type is not valid. + ErrCodeInvalidResourceTypeException = "InvalidResourceTypeException" + + // ErrCodeInvalidStateTransitionException for service response error code + // "InvalidStateTransitionException". + // + // The requested state transition is not valid. + ErrCodeInvalidStateTransitionException = "InvalidStateTransitionException" + + // ErrCodeMalformedArnException for service response error code + // "MalformedArnException". + // + // The format of an Amazon Resource Name (ARN) is not valid. + ErrCodeMalformedArnException = "MalformedArnException" + + // ErrCodeMissingRequiredParameterException for service response error code + // "MissingRequiredParameterException". + // + // A required input parameter is missing. + ErrCodeMissingRequiredParameterException = "MissingRequiredParameterException" + + // ErrCodeOperationNotPermittedException for service response error code + // "OperationNotPermittedException". + // + // The requested operation is not permitted. + ErrCodeOperationNotPermittedException = "OperationNotPermittedException" + + // ErrCodeResourceArnNotFoundException for service response error code + // "ResourceArnNotFoundException". + // + // An Amazon Resource Name (ARN) was not found. + ErrCodeResourceArnNotFoundException = "ResourceArnNotFoundException" + + // ErrCodeResourceShareInvitationAlreadyAcceptedException for service response error code + // "ResourceShareInvitationAlreadyAcceptedException". + // + // The invitation was already accepted. + ErrCodeResourceShareInvitationAlreadyAcceptedException = "ResourceShareInvitationAlreadyAcceptedException" + + // ErrCodeResourceShareInvitationAlreadyRejectedException for service response error code + // "ResourceShareInvitationAlreadyRejectedException". + // + // The invitation was already rejected. + ErrCodeResourceShareInvitationAlreadyRejectedException = "ResourceShareInvitationAlreadyRejectedException" + + // ErrCodeResourceShareInvitationArnNotFoundException for service response error code + // "ResourceShareInvitationArnNotFoundException". + // + // The Amazon Resource Name (ARN) for an invitation was not found. + ErrCodeResourceShareInvitationArnNotFoundException = "ResourceShareInvitationArnNotFoundException" + + // ErrCodeResourceShareInvitationExpiredException for service response error code + // "ResourceShareInvitationExpiredException". + // + // The invitation is expired. + ErrCodeResourceShareInvitationExpiredException = "ResourceShareInvitationExpiredException" + + // ErrCodeResourceShareLimitExceededException for service response error code + // "ResourceShareLimitExceededException". + // + // The requested resource share exceeds the limit for your account. + ErrCodeResourceShareLimitExceededException = "ResourceShareLimitExceededException" + + // ErrCodeServerInternalException for service response error code + // "ServerInternalException". + // + // The service could not respond to the request due to an internal problem. + ErrCodeServerInternalException = "ServerInternalException" + + // ErrCodeServiceUnavailableException for service response error code + // "ServiceUnavailableException". + // + // The service is not available. + ErrCodeServiceUnavailableException = "ServiceUnavailableException" + + // ErrCodeTagLimitExceededException for service response error code + // "TagLimitExceededException". + // + // The requested tags exceed the limit for your account. + ErrCodeTagLimitExceededException = "TagLimitExceededException" + + // ErrCodeUnknownResourceException for service response error code + // "UnknownResourceException". + // + // A specified resource was not found. + ErrCodeUnknownResourceException = "UnknownResourceException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ram/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ram/service.go new file mode 100644 index 00000000000..8781113a9cd --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ram/service.go @@ -0,0 +1,96 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package ram + +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/restjson" +) + +// RAM provides the API operation methods for making requests to +// AWS Resource Access Manager. See this package's package overview docs +// for details on the service. +// +// RAM methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type RAM 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 = "RAM" // Name of service. + EndpointsID = "ram" // ID to lookup a service endpoint with. + ServiceID = "RAM" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the RAM 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 RAM client from just a session. +// svc := ram.New(mySession) +// +// // Create a RAM client with additional configuration +// svc := ram.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *RAM { + 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) *RAM { + svc := &RAM{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-01-04", + JSONVersion: "1.1", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a RAM operation and runs any +// custom request initialization. +func (c *RAM) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/rds/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/rds/api.go index 89bf316df06..03adeefd75c 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/rds/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/rds/api.go @@ -58,9 +58,9 @@ func (c *RDS) AddRoleToDBClusterRequest(input *AddRoleToDBClusterInput) (req *re // AddRoleToDBCluster API operation for Amazon Relational Database Service. // -// Associates an Identity and Access Management (IAM) role from an Aurora DB -// cluster. For more information, see Authorizing Amazon Aurora MySQL to Access -// Other AWS Services on Your Behalf (http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html) +// Associates an Identity and Access Management (IAM) role from an Amazon Aurora +// DB cluster. For more information, see Authorizing Amazon Aurora MySQL to +// Access Other AWS Services on Your Behalf (http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html) // in the Amazon Aurora User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -107,6 +107,97 @@ func (c *RDS) AddRoleToDBClusterWithContext(ctx aws.Context, input *AddRoleToDBC return out, req.Send() } +const opAddRoleToDBInstance = "AddRoleToDBInstance" + +// AddRoleToDBInstanceRequest generates a "aws/request.Request" representing the +// client's request for the AddRoleToDBInstance 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 AddRoleToDBInstance for more information on using the AddRoleToDBInstance +// 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 AddRoleToDBInstanceRequest method. +// req, resp := client.AddRoleToDBInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBInstance +func (c *RDS) AddRoleToDBInstanceRequest(input *AddRoleToDBInstanceInput) (req *request.Request, output *AddRoleToDBInstanceOutput) { + op := &request.Operation{ + Name: opAddRoleToDBInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddRoleToDBInstanceInput{} + } + + output = &AddRoleToDBInstanceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AddRoleToDBInstance API operation for Amazon Relational Database Service. +// +// Associates an AWS Identity and Access Management (IAM) role with a DB 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 Relational Database Service's +// API operation AddRoleToDBInstance for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// * ErrCodeDBInstanceRoleAlreadyExistsFault "DBInstanceRoleAlreadyExists" +// The specified RoleArn or FeatureName value is already associated with the +// DB instance. +// +// * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState" +// The DB instance isn't in a valid state. +// +// * ErrCodeDBInstanceRoleQuotaExceededFault "DBInstanceRoleQuotaExceeded" +// You can't associate any more AWS Identity and Access Management (IAM) roles +// with the DB instance because the quota has been reached. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBInstance +func (c *RDS) AddRoleToDBInstance(input *AddRoleToDBInstanceInput) (*AddRoleToDBInstanceOutput, error) { + req, out := c.AddRoleToDBInstanceRequest(input) + return out, req.Send() +} + +// AddRoleToDBInstanceWithContext is the same as AddRoleToDBInstance with the addition of +// the ability to pass a context and additional request options. +// +// See AddRoleToDBInstance 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 *RDS) AddRoleToDBInstanceWithContext(ctx aws.Context, input *AddRoleToDBInstanceInput, opts ...request.Option) (*AddRoleToDBInstanceOutput, error) { + req, out := c.AddRoleToDBInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAddSourceIdentifierToSubscription = "AddSourceIdentifierToSubscription" // AddSourceIdentifierToSubscriptionRequest generates a "aws/request.Request" representing the @@ -1621,6 +1712,7 @@ func (c *RDS) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *reques // Domain doesn't refer to an existing Active Directory domain. // // * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault" +// The backup policy was not found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance func (c *RDS) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) { @@ -8291,6 +8383,7 @@ func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *reques // Domain doesn't refer to an existing Active Directory domain. // // * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault" +// The backup policy was not found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance func (c *RDS) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) { @@ -9444,9 +9537,9 @@ func (c *RDS) RemoveRoleFromDBClusterRequest(input *RemoveRoleFromDBClusterInput // RemoveRoleFromDBCluster API operation for Amazon Relational Database Service. // -// Disassociates an Identity and Access Management (IAM) role from an Aurora -// DB cluster. For more information, see Authorizing Amazon Aurora MySQL to -// Access Other AWS Services on Your Behalf (http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html) +// Disassociates an AWS Identity and Access Management (IAM) role from an Amazon +// Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL +// to Access Other AWS Services on Your Behalf (http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html) // in the Amazon Aurora User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -9489,6 +9582,94 @@ func (c *RDS) RemoveRoleFromDBClusterWithContext(ctx aws.Context, input *RemoveR return out, req.Send() } +const opRemoveRoleFromDBInstance = "RemoveRoleFromDBInstance" + +// RemoveRoleFromDBInstanceRequest generates a "aws/request.Request" representing the +// client's request for the RemoveRoleFromDBInstance 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 RemoveRoleFromDBInstance for more information on using the RemoveRoleFromDBInstance +// 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 RemoveRoleFromDBInstanceRequest method. +// req, resp := client.RemoveRoleFromDBInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBInstance +func (c *RDS) RemoveRoleFromDBInstanceRequest(input *RemoveRoleFromDBInstanceInput) (req *request.Request, output *RemoveRoleFromDBInstanceOutput) { + op := &request.Operation{ + Name: opRemoveRoleFromDBInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RemoveRoleFromDBInstanceInput{} + } + + output = &RemoveRoleFromDBInstanceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// RemoveRoleFromDBInstance API operation for Amazon Relational Database Service. +// +// Disassociates an AWS Identity and Access Management (IAM) role from a DB +// 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 Relational Database Service's +// API operation RemoveRoleFromDBInstance for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// * ErrCodeDBInstanceRoleNotFoundFault "DBInstanceRoleNotFound" +// The specified RoleArn value doesn't match the specifed feature for the DB +// instance. +// +// * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState" +// The DB instance isn't in a valid state. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBInstance +func (c *RDS) RemoveRoleFromDBInstance(input *RemoveRoleFromDBInstanceInput) (*RemoveRoleFromDBInstanceOutput, error) { + req, out := c.RemoveRoleFromDBInstanceRequest(input) + return out, req.Send() +} + +// RemoveRoleFromDBInstanceWithContext is the same as RemoveRoleFromDBInstance with the addition of +// the ability to pass a context and additional request options. +// +// See RemoveRoleFromDBInstance 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 *RDS) RemoveRoleFromDBInstanceWithContext(ctx aws.Context, input *RemoveRoleFromDBInstanceInput, opts ...request.Option) (*RemoveRoleFromDBInstanceOutput, error) { + req, out := c.RemoveRoleFromDBInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription" // RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the @@ -10414,6 +10595,7 @@ func (c *RDS) RestoreDBInstanceFromDBSnapshotRequest(input *RestoreDBInstanceFro // DBParameterGroupName doesn't refer to an existing DB parameter group. // // * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault" +// The backup policy was not found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot func (c *RDS) RestoreDBInstanceFromDBSnapshot(input *RestoreDBInstanceFromDBSnapshotInput) (*RestoreDBInstanceFromDBSnapshotOutput, error) { @@ -10557,6 +10739,7 @@ func (c *RDS) RestoreDBInstanceFromS3Request(input *RestoreDBInstanceFromS3Input // An error occurred accessing an AWS KMS key. // // * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault" +// The backup policy was not found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3 func (c *RDS) RestoreDBInstanceFromS3(input *RestoreDBInstanceFromS3Input) (*RestoreDBInstanceFromS3Output, error) { @@ -10716,6 +10899,7 @@ func (c *RDS) RestoreDBInstanceToPointInTimeRequest(input *RestoreDBInstanceToPo // Domain doesn't refer to an existing Active Directory domain. // // * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault" +// The backup policy was not found. // // * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound" // DBParameterGroupName doesn't refer to an existing DB parameter group. @@ -11353,6 +11537,88 @@ func (s AddRoleToDBClusterOutput) GoString() string { return s.String() } +type AddRoleToDBInstanceInput struct { + _ struct{} `type:"structure"` + + // The name of the DB instance to associate the IAM role with. + // + // DBInstanceIdentifier is a required field + DBInstanceIdentifier *string `type:"string" required:"true"` + + // The name of the feature for the DB instance that the IAM role is to be associated + // with. For the list of supported feature names, see DBEngineVersion. + // + // FeatureName is a required field + FeatureName *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the IAM role to associate with the DB instance, + // for example arn:aws:iam::123456789012:role/AccessRole. + // + // RoleArn is a required field + RoleArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AddRoleToDBInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddRoleToDBInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddRoleToDBInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBInstanceInput"} + if s.DBInstanceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier")) + } + if s.FeatureName == nil { + invalidParams.Add(request.NewErrParamRequired("FeatureName")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *AddRoleToDBInstanceInput) SetDBInstanceIdentifier(v string) *AddRoleToDBInstanceInput { + s.DBInstanceIdentifier = &v + return s +} + +// SetFeatureName sets the FeatureName field's value. +func (s *AddRoleToDBInstanceInput) SetFeatureName(v string) *AddRoleToDBInstanceInput { + s.FeatureName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *AddRoleToDBInstanceInput) SetRoleArn(v string) *AddRoleToDBInstanceInput { + s.RoleArn = &v + return s +} + +type AddRoleToDBInstanceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AddRoleToDBInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddRoleToDBInstanceOutput) GoString() string { + return s.String() +} + type AddSourceIdentifierToSubscriptionInput struct { _ struct{} `type:"structure"` @@ -17399,6 +17665,12 @@ type DBEngineVersion struct { // A list of the supported DB engine modes. SupportedEngineModes []*string `type:"list"` + // A list of features supported by the DB engine. Supported feature names include + // the following. + // + // * s3Import + SupportedFeatureNames []*string `type:"list"` + // A list of the time zones supported by this engine for the Timezone parameter // of the CreateDBInstance action. SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"` @@ -17479,6 +17751,12 @@ func (s *DBEngineVersion) SetSupportedEngineModes(v []*string) *DBEngineVersion return s } +// SetSupportedFeatureNames sets the SupportedFeatureNames field's value. +func (s *DBEngineVersion) SetSupportedFeatureNames(v []*string) *DBEngineVersion { + s.SupportedFeatureNames = v + return s +} + // SetSupportedTimezones sets the SupportedTimezones field's value. func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion { s.SupportedTimezones = v @@ -17512,6 +17790,10 @@ type DBInstance struct { // Specifies the allocated storage size specified in gibibytes. AllocatedStorage *int64 `type:"integer"` + // The AWS Identity and Access Management (IAM) roles associated with the DB + // instance. + AssociatedRoles []*DBInstanceRole `locationNameList:"DBInstanceRole" type:"list"` + // Indicates that minor version patches are applied automatically. AutoMinorVersionUpgrade *bool `type:"boolean"` @@ -17769,6 +18051,12 @@ func (s *DBInstance) SetAllocatedStorage(v int64) *DBInstance { return s } +// SetAssociatedRoles sets the AssociatedRoles field's value. +func (s *DBInstance) SetAssociatedRoles(v []*DBInstanceRole) *DBInstance { + s.AssociatedRoles = v + return s +} + // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance { s.AutoMinorVersionUpgrade = &v @@ -18345,6 +18633,61 @@ func (s *DBInstanceAutomatedBackup) SetVpcId(v string) *DBInstanceAutomatedBacku return s } +// Describes an AWS Identity and Access Management (IAM) role that is associated +// with a DB instance. +type DBInstanceRole struct { + _ struct{} `type:"structure"` + + // The name of the feature associated with the AWS Identity and Access Management + // (IAM) role. For the list of supported feature names, see DBEngineVersion. + FeatureName *string `type:"string"` + + // The Amazon Resource Name (ARN) of the IAM role that is associated with the + // DB instance. + RoleArn *string `type:"string"` + + // Describes the state of association between the IAM role and the DB instance. + // The Status property returns one of the following values: + // + // * ACTIVE - the IAM role ARN is associated with the DB instance and can + // be used to access other AWS services on your behalf. + // + // * PENDING - the IAM role ARN is being associated with the DB instance. + // + // * INVALID - the IAM role ARN is associated with the DB instance, but the + // DB instance is unable to assume the IAM role in order to access other + // AWS services on your behalf. + Status *string `type:"string"` +} + +// String returns the string representation +func (s DBInstanceRole) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBInstanceRole) GoString() string { + return s.String() +} + +// SetFeatureName sets the FeatureName field's value. +func (s *DBInstanceRole) SetFeatureName(v string) *DBInstanceRole { + s.FeatureName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DBInstanceRole) SetRoleArn(v string) *DBInstanceRole { + s.RoleArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DBInstanceRole) SetStatus(v string) *DBInstanceRole { + s.Status = &v + return s +} + // Provides a list of status information for a DB instance. type DBInstanceStatusInfo struct { _ struct{} `type:"structure"` @@ -26354,6 +26697,10 @@ type ModifyDBInstanceInput struct { // The configuration setting for the log types to be enabled for export to CloudWatch // Logs for a specific DB instance. + // + // A change to the CloudwatchLogsExportConfiguration parameter is always applied + // to the DB instance immediately. Therefore, the ApplyImmediately parameter + // has no effect. CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"` // True to copy all tags from the DB instance to snapshots of the DB instance, @@ -29669,6 +30016,88 @@ func (s RemoveRoleFromDBClusterOutput) GoString() string { return s.String() } +type RemoveRoleFromDBInstanceInput struct { + _ struct{} `type:"structure"` + + // The name of the DB instance to disassociate the IAM role from. + // + // DBInstanceIdentifier is a required field + DBInstanceIdentifier *string `type:"string" required:"true"` + + // The name of the feature for the DB instance that the IAM role is to be disassociated + // from. For the list of supported feature names, see DBEngineVersion. + // + // FeatureName is a required field + FeatureName *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB + // instance, for example arn:aws:iam::123456789012:role/AccessRole. + // + // RoleArn is a required field + RoleArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RemoveRoleFromDBInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveRoleFromDBInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemoveRoleFromDBInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBInstanceInput"} + if s.DBInstanceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier")) + } + if s.FeatureName == nil { + invalidParams.Add(request.NewErrParamRequired("FeatureName")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *RemoveRoleFromDBInstanceInput) SetDBInstanceIdentifier(v string) *RemoveRoleFromDBInstanceInput { + s.DBInstanceIdentifier = &v + return s +} + +// SetFeatureName sets the FeatureName field's value. +func (s *RemoveRoleFromDBInstanceInput) SetFeatureName(v string) *RemoveRoleFromDBInstanceInput { + s.FeatureName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *RemoveRoleFromDBInstanceInput) SetRoleArn(v string) *RemoveRoleFromDBInstanceInput { + s.RoleArn = &v + return s +} + +type RemoveRoleFromDBInstanceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RemoveRoleFromDBInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveRoleFromDBInstanceOutput) GoString() string { + return s.String() +} + type RemoveSourceIdentifierFromSubscriptionInput struct { _ struct{} `type:"structure"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/rds/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/rds/errors.go index 2bfd712936d..f4561e797cf 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/rds/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/rds/errors.go @@ -29,6 +29,8 @@ const ( // ErrCodeBackupPolicyNotFoundFault for service response error code // "BackupPolicyNotFoundFault". + // + // The backup policy was not found. ErrCodeBackupPolicyNotFoundFault = "BackupPolicyNotFoundFault" // ErrCodeCertificateNotFoundFault for service response error code @@ -146,6 +148,27 @@ const ( // DBInstanceIdentifier doesn't refer to an existing DB instance. ErrCodeDBInstanceNotFoundFault = "DBInstanceNotFound" + // ErrCodeDBInstanceRoleAlreadyExistsFault for service response error code + // "DBInstanceRoleAlreadyExists". + // + // The specified RoleArn or FeatureName value is already associated with the + // DB instance. + ErrCodeDBInstanceRoleAlreadyExistsFault = "DBInstanceRoleAlreadyExists" + + // ErrCodeDBInstanceRoleNotFoundFault for service response error code + // "DBInstanceRoleNotFound". + // + // The specified RoleArn value doesn't match the specifed feature for the DB + // instance. + ErrCodeDBInstanceRoleNotFoundFault = "DBInstanceRoleNotFound" + + // ErrCodeDBInstanceRoleQuotaExceededFault for service response error code + // "DBInstanceRoleQuotaExceeded". + // + // You can't associate any more AWS Identity and Access Management (IAM) roles + // with the DB instance because the quota has been reached. + ErrCodeDBInstanceRoleQuotaExceededFault = "DBInstanceRoleQuotaExceeded" + // ErrCodeDBLogFileNotFoundFault for service response error code // "DBLogFileNotFoundFault". // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go index bc44e7273d8..8e4ad1925da 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go @@ -9806,6 +9806,36 @@ func (s *Cluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *Cluster return s } +type ClusterAssociatedToSchedule struct { + _ struct{} `type:"structure"` + + ClusterIdentifier *string `type:"string"` + + ScheduleAssociationState *string `type:"string" enum:"ScheduleState"` +} + +// String returns the string representation +func (s ClusterAssociatedToSchedule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClusterAssociatedToSchedule) GoString() string { + return s.String() +} + +// SetClusterIdentifier sets the ClusterIdentifier field's value. +func (s *ClusterAssociatedToSchedule) SetClusterIdentifier(v string) *ClusterAssociatedToSchedule { + s.ClusterIdentifier = &v + return s +} + +// SetScheduleAssociationState sets the ScheduleAssociationState field's value. +func (s *ClusterAssociatedToSchedule) SetScheduleAssociationState(v string) *ClusterAssociatedToSchedule { + s.ScheduleAssociationState = &v + return s +} + // Describes a ClusterDbRevision. type ClusterDbRevision struct { _ struct{} `type:"structure"` @@ -12036,6 +12066,10 @@ func (s *CreateSnapshotScheduleInput) SetTags(v []*Tag) *CreateSnapshotScheduleI type CreateSnapshotScheduleOutput struct { _ struct{} `type:"structure"` + AssociatedClusterCount *int64 `type:"integer"` + + AssociatedClusters []*ClusterAssociatedToSchedule `locationNameList:"ClusterAssociatedToSchedule" type:"list"` + NextInvocations []*time.Time `locationNameList:"SnapshotTime" type:"list"` // A list of ScheduleDefinitions @@ -12061,6 +12095,18 @@ func (s CreateSnapshotScheduleOutput) GoString() string { return s.String() } +// SetAssociatedClusterCount sets the AssociatedClusterCount field's value. +func (s *CreateSnapshotScheduleOutput) SetAssociatedClusterCount(v int64) *CreateSnapshotScheduleOutput { + s.AssociatedClusterCount = &v + return s +} + +// SetAssociatedClusters sets the AssociatedClusters field's value. +func (s *CreateSnapshotScheduleOutput) SetAssociatedClusters(v []*ClusterAssociatedToSchedule) *CreateSnapshotScheduleOutput { + s.AssociatedClusters = v + return s +} + // SetNextInvocations sets the NextInvocations field's value. func (s *CreateSnapshotScheduleOutput) SetNextInvocations(v []*time.Time) *CreateSnapshotScheduleOutput { s.NextInvocations = v @@ -13575,19 +13621,8 @@ type DescribeClusterSnapshotsInput struct { // A value that indicates whether to return snapshots only for an existing cluster. // Table-level restore can be performed only using a snapshot of an existing - // cluster, that is, a cluster that has not been deleted. - // - // * If ClusterExists is set to true, ClusterIdentifier is required. - // - // * If ClusterExists is set to false and ClusterIdentifier is not specified, - // all snapshots associated with deleted clusters (orphaned snapshots) are - // returned. - // - // * If ClusterExists is set to false and ClusterIdentifier is specified - // for a deleted cluster, snapshots associated with that cluster are returned. - // - // * If ClusterExists is set to false and ClusterIdentifier is specified - // for an existing cluster, no snapshots are returned. + // cluster, that is, a cluster that has not been deleted. If ClusterExists is + // set to true, ClusterIdentifier is required. ClusterExists *bool `type:"boolean"` // The identifier of the cluster for which information about snapshots is requested. @@ -18574,6 +18609,10 @@ func (s *ModifySnapshotScheduleInput) SetScheduleIdentifier(v string) *ModifySna type ModifySnapshotScheduleOutput struct { _ struct{} `type:"structure"` + AssociatedClusterCount *int64 `type:"integer"` + + AssociatedClusters []*ClusterAssociatedToSchedule `locationNameList:"ClusterAssociatedToSchedule" type:"list"` + NextInvocations []*time.Time `locationNameList:"SnapshotTime" type:"list"` // A list of ScheduleDefinitions @@ -18599,6 +18638,18 @@ func (s ModifySnapshotScheduleOutput) GoString() string { return s.String() } +// SetAssociatedClusterCount sets the AssociatedClusterCount field's value. +func (s *ModifySnapshotScheduleOutput) SetAssociatedClusterCount(v int64) *ModifySnapshotScheduleOutput { + s.AssociatedClusterCount = &v + return s +} + +// SetAssociatedClusters sets the AssociatedClusters field's value. +func (s *ModifySnapshotScheduleOutput) SetAssociatedClusters(v []*ClusterAssociatedToSchedule) *ModifySnapshotScheduleOutput { + s.AssociatedClusters = v + return s +} + // SetNextInvocations sets the NextInvocations field's value. func (s *ModifySnapshotScheduleOutput) SetNextInvocations(v []*time.Time) *ModifySnapshotScheduleOutput { s.NextInvocations = v @@ -20874,6 +20925,10 @@ func (s *SnapshotErrorMessage) SetSnapshotIdentifier(v string) *SnapshotErrorMes type SnapshotSchedule struct { _ struct{} `type:"structure"` + AssociatedClusterCount *int64 `type:"integer"` + + AssociatedClusters []*ClusterAssociatedToSchedule `locationNameList:"ClusterAssociatedToSchedule" type:"list"` + NextInvocations []*time.Time `locationNameList:"SnapshotTime" type:"list"` // A list of ScheduleDefinitions @@ -20899,6 +20954,18 @@ func (s SnapshotSchedule) GoString() string { return s.String() } +// SetAssociatedClusterCount sets the AssociatedClusterCount field's value. +func (s *SnapshotSchedule) SetAssociatedClusterCount(v int64) *SnapshotSchedule { + s.AssociatedClusterCount = &v + return s +} + +// SetAssociatedClusters sets the AssociatedClusters field's value. +func (s *SnapshotSchedule) SetAssociatedClusters(v []*ClusterAssociatedToSchedule) *SnapshotSchedule { + s.AssociatedClusters = v + return s +} + // SetNextInvocations sets the NextInvocations field's value. func (s *SnapshotSchedule) SetNextInvocations(v []*time.Time) *SnapshotSchedule { s.NextInvocations = v diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/api.go new file mode 100644 index 00000000000..13bdc4c42e7 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/api.go @@ -0,0 +1,2839 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package resourcegroups + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" +) + +const opCreateGroup = "CreateGroup" + +// CreateGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateGroup 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 CreateGroup for more information on using the CreateGroup +// 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 CreateGroupRequest method. +// req, resp := client.CreateGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/CreateGroup +func (c *ResourceGroups) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) { + op := &request.Operation{ + Name: opCreateGroup, + HTTPMethod: "POST", + HTTPPath: "/groups", + } + + if input == nil { + input = &CreateGroupInput{} + } + + output = &CreateGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateGroup API operation for AWS Resource Groups. +// +// Creates a group with a specified name, description, and resource query. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Groups's +// API operation CreateGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request does not comply with validation rules that are defined for the +// request parameters. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The caller is not authorized to make the request. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// The request uses an HTTP method which is not allowed for the specified resource. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The caller has exceeded throttling limits. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// An internal error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/CreateGroup +func (c *ResourceGroups) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) { + req, out := c.CreateGroupRequest(input) + return out, req.Send() +} + +// CreateGroupWithContext is the same as CreateGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateGroup 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 *ResourceGroups) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInput, opts ...request.Option) (*CreateGroupOutput, error) { + req, out := c.CreateGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteGroup = "DeleteGroup" + +// DeleteGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteGroup 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 DeleteGroup for more information on using the DeleteGroup +// 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 DeleteGroupRequest method. +// req, resp := client.DeleteGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/DeleteGroup +func (c *ResourceGroups) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) { + op := &request.Operation{ + Name: opDeleteGroup, + HTTPMethod: "DELETE", + HTTPPath: "/groups/{GroupName}", + } + + if input == nil { + input = &DeleteGroupInput{} + } + + output = &DeleteGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteGroup API operation for AWS Resource Groups. +// +// Deletes a specified resource group. Deleting a resource group does not delete +// resources that are members of the group; it only deletes the group structure. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Groups's +// API operation DeleteGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request does not comply with validation rules that are defined for the +// request parameters. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The caller is not authorized to make the request. +// +// * ErrCodeNotFoundException "NotFoundException" +// One or more resources specified in the request do not exist. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// The request uses an HTTP method which is not allowed for the specified resource. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The caller has exceeded throttling limits. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// An internal error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/DeleteGroup +func (c *ResourceGroups) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) { + req, out := c.DeleteGroupRequest(input) + return out, req.Send() +} + +// DeleteGroupWithContext is the same as DeleteGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteGroup 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 *ResourceGroups) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) { + req, out := c.DeleteGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetGroup = "GetGroup" + +// GetGroupRequest generates a "aws/request.Request" representing the +// client's request for the GetGroup 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 GetGroup for more information on using the GetGroup +// 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 GetGroupRequest method. +// req, resp := client.GetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroup +func (c *ResourceGroups) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) { + op := &request.Operation{ + Name: opGetGroup, + HTTPMethod: "GET", + HTTPPath: "/groups/{GroupName}", + } + + if input == nil { + input = &GetGroupInput{} + } + + output = &GetGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetGroup API operation for AWS Resource Groups. +// +// Returns information about a specified resource 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 AWS Resource Groups's +// API operation GetGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request does not comply with validation rules that are defined for the +// request parameters. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The caller is not authorized to make the request. +// +// * ErrCodeNotFoundException "NotFoundException" +// One or more resources specified in the request do not exist. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// The request uses an HTTP method which is not allowed for the specified resource. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The caller has exceeded throttling limits. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// An internal error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroup +func (c *ResourceGroups) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) { + req, out := c.GetGroupRequest(input) + return out, req.Send() +} + +// GetGroupWithContext is the same as GetGroup with the addition of +// the ability to pass a context and additional request options. +// +// See GetGroup 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 *ResourceGroups) GetGroupWithContext(ctx aws.Context, input *GetGroupInput, opts ...request.Option) (*GetGroupOutput, error) { + req, out := c.GetGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetGroupQuery = "GetGroupQuery" + +// GetGroupQueryRequest generates a "aws/request.Request" representing the +// client's request for the GetGroupQuery 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 GetGroupQuery for more information on using the GetGroupQuery +// 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 GetGroupQueryRequest method. +// req, resp := client.GetGroupQueryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupQuery +func (c *ResourceGroups) GetGroupQueryRequest(input *GetGroupQueryInput) (req *request.Request, output *GetGroupQueryOutput) { + op := &request.Operation{ + Name: opGetGroupQuery, + HTTPMethod: "GET", + HTTPPath: "/groups/{GroupName}/query", + } + + if input == nil { + input = &GetGroupQueryInput{} + } + + output = &GetGroupQueryOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetGroupQuery API operation for AWS Resource Groups. +// +// Returns the resource query associated with the specified resource 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 AWS Resource Groups's +// API operation GetGroupQuery for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request does not comply with validation rules that are defined for the +// request parameters. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The caller is not authorized to make the request. +// +// * ErrCodeNotFoundException "NotFoundException" +// One or more resources specified in the request do not exist. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// The request uses an HTTP method which is not allowed for the specified resource. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The caller has exceeded throttling limits. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// An internal error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupQuery +func (c *ResourceGroups) GetGroupQuery(input *GetGroupQueryInput) (*GetGroupQueryOutput, error) { + req, out := c.GetGroupQueryRequest(input) + return out, req.Send() +} + +// GetGroupQueryWithContext is the same as GetGroupQuery with the addition of +// the ability to pass a context and additional request options. +// +// See GetGroupQuery 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 *ResourceGroups) GetGroupQueryWithContext(ctx aws.Context, input *GetGroupQueryInput, opts ...request.Option) (*GetGroupQueryOutput, error) { + req, out := c.GetGroupQueryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTags = "GetTags" + +// GetTagsRequest generates a "aws/request.Request" representing the +// client's request for the GetTags 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 GetTags for more information on using the GetTags +// 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 GetTagsRequest method. +// req, resp := client.GetTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetTags +func (c *ResourceGroups) GetTagsRequest(input *GetTagsInput) (req *request.Request, output *GetTagsOutput) { + op := &request.Operation{ + Name: opGetTags, + HTTPMethod: "GET", + HTTPPath: "/resources/{Arn}/tags", + } + + if input == nil { + input = &GetTagsInput{} + } + + output = &GetTagsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTags API operation for AWS Resource Groups. +// +// Returns a list of tags that are associated with a resource, specified by +// an ARN. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Groups's +// API operation GetTags for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request does not comply with validation rules that are defined for the +// request parameters. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The caller is not authorized to make the request. +// +// * ErrCodeNotFoundException "NotFoundException" +// One or more resources specified in the request do not exist. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// The request uses an HTTP method which is not allowed for the specified resource. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The caller has exceeded throttling limits. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// An internal error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetTags +func (c *ResourceGroups) GetTags(input *GetTagsInput) (*GetTagsOutput, error) { + req, out := c.GetTagsRequest(input) + return out, req.Send() +} + +// GetTagsWithContext is the same as GetTags with the addition of +// the ability to pass a context and additional request options. +// +// See GetTags 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 *ResourceGroups) GetTagsWithContext(ctx aws.Context, input *GetTagsInput, opts ...request.Option) (*GetTagsOutput, error) { + req, out := c.GetTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListGroupResources = "ListGroupResources" + +// ListGroupResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListGroupResources 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 ListGroupResources for more information on using the ListGroupResources +// 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 ListGroupResourcesRequest method. +// req, resp := client.ListGroupResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroupResources +func (c *ResourceGroups) ListGroupResourcesRequest(input *ListGroupResourcesInput) (req *request.Request, output *ListGroupResourcesOutput) { + op := &request.Operation{ + Name: opListGroupResources, + HTTPMethod: "POST", + HTTPPath: "/groups/{GroupName}/resource-identifiers-list", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListGroupResourcesInput{} + } + + output = &ListGroupResourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListGroupResources API operation for AWS Resource Groups. +// +// Returns a list of ARNs of resources that are members of a specified resource +// 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 AWS Resource Groups's +// API operation ListGroupResources for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The request has not been applied because it lacks valid authentication credentials +// for the target resource. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request does not comply with validation rules that are defined for the +// request parameters. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The caller is not authorized to make the request. +// +// * ErrCodeNotFoundException "NotFoundException" +// One or more resources specified in the request do not exist. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// The request uses an HTTP method which is not allowed for the specified resource. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The caller has exceeded throttling limits. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// An internal error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroupResources +func (c *ResourceGroups) ListGroupResources(input *ListGroupResourcesInput) (*ListGroupResourcesOutput, error) { + req, out := c.ListGroupResourcesRequest(input) + return out, req.Send() +} + +// ListGroupResourcesWithContext is the same as ListGroupResources with the addition of +// the ability to pass a context and additional request options. +// +// See ListGroupResources 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 *ResourceGroups) ListGroupResourcesWithContext(ctx aws.Context, input *ListGroupResourcesInput, opts ...request.Option) (*ListGroupResourcesOutput, error) { + req, out := c.ListGroupResourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListGroupResourcesPages iterates over the pages of a ListGroupResources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListGroupResources 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 ListGroupResources operation. +// pageNum := 0 +// err := client.ListGroupResourcesPages(params, +// func(page *ListGroupResourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ResourceGroups) ListGroupResourcesPages(input *ListGroupResourcesInput, fn func(*ListGroupResourcesOutput, bool) bool) error { + return c.ListGroupResourcesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListGroupResourcesPagesWithContext same as ListGroupResourcesPages 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 *ResourceGroups) ListGroupResourcesPagesWithContext(ctx aws.Context, input *ListGroupResourcesInput, fn func(*ListGroupResourcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListGroupResourcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListGroupResourcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListGroupResourcesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListGroups = "ListGroups" + +// ListGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListGroups 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 ListGroups for more information on using the ListGroups +// 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 ListGroupsRequest method. +// req, resp := client.ListGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroups +func (c *ResourceGroups) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) { + op := &request.Operation{ + Name: opListGroups, + HTTPMethod: "POST", + HTTPPath: "/groups-list", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListGroupsInput{} + } + + output = &ListGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListGroups API operation for AWS Resource Groups. +// +// Returns a list of existing resource groups in your 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 AWS Resource Groups's +// API operation ListGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request does not comply with validation rules that are defined for the +// request parameters. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The caller is not authorized to make the request. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// The request uses an HTTP method which is not allowed for the specified resource. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The caller has exceeded throttling limits. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// An internal error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroups +func (c *ResourceGroups) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) { + req, out := c.ListGroupsRequest(input) + return out, req.Send() +} + +// ListGroupsWithContext is the same as ListGroups with the addition of +// the ability to pass a context and additional request options. +// +// See ListGroups 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 *ResourceGroups) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) { + req, out := c.ListGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListGroupsPages iterates over the pages of a ListGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListGroups 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 ListGroups operation. +// pageNum := 0 +// err := client.ListGroupsPages(params, +// func(page *ListGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ResourceGroups) ListGroupsPages(input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool) error { + return c.ListGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListGroupsPagesWithContext same as ListGroupsPages 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 *ResourceGroups) ListGroupsPagesWithContext(ctx aws.Context, input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListGroupsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opSearchResources = "SearchResources" + +// SearchResourcesRequest generates a "aws/request.Request" representing the +// client's request for the SearchResources 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 SearchResources for more information on using the SearchResources +// 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 SearchResourcesRequest method. +// req, resp := client.SearchResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/SearchResources +func (c *ResourceGroups) SearchResourcesRequest(input *SearchResourcesInput) (req *request.Request, output *SearchResourcesOutput) { + op := &request.Operation{ + Name: opSearchResources, + HTTPMethod: "POST", + HTTPPath: "/resources/search", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchResourcesInput{} + } + + output = &SearchResourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchResources API operation for AWS Resource Groups. +// +// Returns a list of AWS resource identifiers that matches a specified query. +// The query uses the same format as a resource query in a CreateGroup or UpdateGroupQuery +// 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 AWS Resource Groups's +// API operation SearchResources for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The request has not been applied because it lacks valid authentication credentials +// for the target resource. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request does not comply with validation rules that are defined for the +// request parameters. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The caller is not authorized to make the request. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// The request uses an HTTP method which is not allowed for the specified resource. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The caller has exceeded throttling limits. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// An internal error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/SearchResources +func (c *ResourceGroups) SearchResources(input *SearchResourcesInput) (*SearchResourcesOutput, error) { + req, out := c.SearchResourcesRequest(input) + return out, req.Send() +} + +// SearchResourcesWithContext is the same as SearchResources with the addition of +// the ability to pass a context and additional request options. +// +// See SearchResources 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 *ResourceGroups) SearchResourcesWithContext(ctx aws.Context, input *SearchResourcesInput, opts ...request.Option) (*SearchResourcesOutput, error) { + req, out := c.SearchResourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchResourcesPages iterates over the pages of a SearchResources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchResources 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 SearchResources operation. +// pageNum := 0 +// err := client.SearchResourcesPages(params, +// func(page *SearchResourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ResourceGroups) SearchResourcesPages(input *SearchResourcesInput, fn func(*SearchResourcesOutput, bool) bool) error { + return c.SearchResourcesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchResourcesPagesWithContext same as SearchResourcesPages 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 *ResourceGroups) SearchResourcesPagesWithContext(ctx aws.Context, input *SearchResourcesInput, fn func(*SearchResourcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchResourcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchResourcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*SearchResourcesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opTag = "Tag" + +// TagRequest generates a "aws/request.Request" representing the +// client's request for the Tag 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 Tag for more information on using the Tag +// 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 TagRequest method. +// req, resp := client.TagRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Tag +func (c *ResourceGroups) TagRequest(input *TagInput) (req *request.Request, output *TagOutput) { + op := &request.Operation{ + Name: opTag, + HTTPMethod: "PUT", + HTTPPath: "/resources/{Arn}/tags", + } + + if input == nil { + input = &TagInput{} + } + + output = &TagOutput{} + req = c.newRequest(op, input, output) + return +} + +// Tag API operation for AWS Resource Groups. +// +// Adds tags to a resource group with the specified ARN. Existing tags on a +// resource group are not changed if they are not specified in the request parameters. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Resource Groups's +// API operation Tag for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request does not comply with validation rules that are defined for the +// request parameters. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The caller is not authorized to make the request. +// +// * ErrCodeNotFoundException "NotFoundException" +// One or more resources specified in the request do not exist. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// The request uses an HTTP method which is not allowed for the specified resource. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The caller has exceeded throttling limits. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// An internal error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Tag +func (c *ResourceGroups) Tag(input *TagInput) (*TagOutput, error) { + req, out := c.TagRequest(input) + return out, req.Send() +} + +// TagWithContext is the same as Tag with the addition of +// the ability to pass a context and additional request options. +// +// See Tag 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 *ResourceGroups) TagWithContext(ctx aws.Context, input *TagInput, opts ...request.Option) (*TagOutput, error) { + req, out := c.TagRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntag = "Untag" + +// UntagRequest generates a "aws/request.Request" representing the +// client's request for the Untag 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 Untag for more information on using the Untag +// 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 UntagRequest method. +// req, resp := client.UntagRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Untag +func (c *ResourceGroups) UntagRequest(input *UntagInput) (req *request.Request, output *UntagOutput) { + op := &request.Operation{ + Name: opUntag, + HTTPMethod: "PATCH", + HTTPPath: "/resources/{Arn}/tags", + } + + if input == nil { + input = &UntagInput{} + } + + output = &UntagOutput{} + req = c.newRequest(op, input, output) + return +} + +// Untag API operation for AWS Resource Groups. +// +// Deletes specified tags from a 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 AWS Resource Groups's +// API operation Untag for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request does not comply with validation rules that are defined for the +// request parameters. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The caller is not authorized to make the request. +// +// * ErrCodeNotFoundException "NotFoundException" +// One or more resources specified in the request do not exist. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// The request uses an HTTP method which is not allowed for the specified resource. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The caller has exceeded throttling limits. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// An internal error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Untag +func (c *ResourceGroups) Untag(input *UntagInput) (*UntagOutput, error) { + req, out := c.UntagRequest(input) + return out, req.Send() +} + +// UntagWithContext is the same as Untag with the addition of +// the ability to pass a context and additional request options. +// +// See Untag 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 *ResourceGroups) UntagWithContext(ctx aws.Context, input *UntagInput, opts ...request.Option) (*UntagOutput, error) { + req, out := c.UntagRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateGroup = "UpdateGroup" + +// UpdateGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGroup 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 UpdateGroup for more information on using the UpdateGroup +// 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 UpdateGroupRequest method. +// req, resp := client.UpdateGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroup +func (c *ResourceGroups) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) { + op := &request.Operation{ + Name: opUpdateGroup, + HTTPMethod: "PUT", + HTTPPath: "/groups/{GroupName}", + } + + if input == nil { + input = &UpdateGroupInput{} + } + + output = &UpdateGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateGroup API operation for AWS Resource Groups. +// +// Updates an existing group with a new or changed description. You cannot update +// the name of a resource 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 AWS Resource Groups's +// API operation UpdateGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request does not comply with validation rules that are defined for the +// request parameters. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The caller is not authorized to make the request. +// +// * ErrCodeNotFoundException "NotFoundException" +// One or more resources specified in the request do not exist. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// The request uses an HTTP method which is not allowed for the specified resource. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The caller has exceeded throttling limits. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// An internal error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroup +func (c *ResourceGroups) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) { + req, out := c.UpdateGroupRequest(input) + return out, req.Send() +} + +// UpdateGroupWithContext is the same as UpdateGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGroup 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 *ResourceGroups) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) { + req, out := c.UpdateGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateGroupQuery = "UpdateGroupQuery" + +// UpdateGroupQueryRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGroupQuery 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 UpdateGroupQuery for more information on using the UpdateGroupQuery +// 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 UpdateGroupQueryRequest method. +// req, resp := client.UpdateGroupQueryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroupQuery +func (c *ResourceGroups) UpdateGroupQueryRequest(input *UpdateGroupQueryInput) (req *request.Request, output *UpdateGroupQueryOutput) { + op := &request.Operation{ + Name: opUpdateGroupQuery, + HTTPMethod: "PUT", + HTTPPath: "/groups/{GroupName}/query", + } + + if input == nil { + input = &UpdateGroupQueryInput{} + } + + output = &UpdateGroupQueryOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateGroupQuery API operation for AWS Resource Groups. +// +// Updates the resource query of a 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 AWS Resource Groups's +// API operation UpdateGroupQuery for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request does not comply with validation rules that are defined for the +// request parameters. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The caller is not authorized to make the request. +// +// * ErrCodeNotFoundException "NotFoundException" +// One or more resources specified in the request do not exist. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// The request uses an HTTP method which is not allowed for the specified resource. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The caller has exceeded throttling limits. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// An internal error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroupQuery +func (c *ResourceGroups) UpdateGroupQuery(input *UpdateGroupQueryInput) (*UpdateGroupQueryOutput, error) { + req, out := c.UpdateGroupQueryRequest(input) + return out, req.Send() +} + +// UpdateGroupQueryWithContext is the same as UpdateGroupQuery with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGroupQuery 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 *ResourceGroups) UpdateGroupQueryWithContext(ctx aws.Context, input *UpdateGroupQueryInput, opts ...request.Option) (*UpdateGroupQueryOutput, error) { + req, out := c.UpdateGroupQueryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type CreateGroupInput struct { + _ struct{} `type:"structure"` + + // The description of the resource group. Descriptions can have a maximum of + // 511 characters, including letters, numbers, hyphens, underscores, punctuation, + // and spaces. + Description *string `type:"string"` + + // The name of the group, which is the identifier of the group in other operations. + // A resource group name cannot be updated after it is created. A resource group + // name can have a maximum of 128 characters, including letters, numbers, hyphens, + // dots, and underscores. The name cannot start with AWS or aws; these are reserved. + // A resource group name must be unique within your account. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The resource query that determines which AWS resources are members of this + // group. + // + // ResourceQuery is a required field + ResourceQuery *ResourceQuery `type:"structure" required:"true"` + + // The tags to add to the group. A tag is a string-to-string map of key-value + // pairs. Tag keys can have a maximum character length of 128 characters, and + // tag values can have a maximum length of 256 characters. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation +func (s CreateGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"} + 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.ResourceQuery == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceQuery")) + } + if s.ResourceQuery != nil { + if err := s.ResourceQuery.Validate(); err != nil { + invalidParams.AddNested("ResourceQuery", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateGroupInput) SetDescription(v string) *CreateGroupInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateGroupInput) SetName(v string) *CreateGroupInput { + s.Name = &v + return s +} + +// SetResourceQuery sets the ResourceQuery field's value. +func (s *CreateGroupInput) SetResourceQuery(v *ResourceQuery) *CreateGroupInput { + s.ResourceQuery = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateGroupInput) SetTags(v map[string]*string) *CreateGroupInput { + s.Tags = v + return s +} + +type CreateGroupOutput struct { + _ struct{} `type:"structure"` + + // A full description of the resource group after it is created. + Group *Group `type:"structure"` + + // The resource query associated with the group. + ResourceQuery *ResourceQuery `type:"structure"` + + // The tags associated with the group. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation +func (s CreateGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGroupOutput) GoString() string { + return s.String() +} + +// SetGroup sets the Group field's value. +func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput { + s.Group = v + return s +} + +// SetResourceQuery sets the ResourceQuery field's value. +func (s *CreateGroupOutput) SetResourceQuery(v *ResourceQuery) *CreateGroupOutput { + s.ResourceQuery = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateGroupOutput) SetTags(v map[string]*string) *CreateGroupOutput { + s.Tags = v + return s +} + +type DeleteGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the resource group to delete. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"} + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroupName sets the GroupName field's value. +func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput { + s.GroupName = &v + return s +} + +type DeleteGroupOutput struct { + _ struct{} `type:"structure"` + + // A full description of the deleted resource group. + Group *Group `type:"structure"` +} + +// String returns the string representation +func (s DeleteGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteGroupOutput) GoString() string { + return s.String() +} + +// SetGroup sets the Group field's value. +func (s *DeleteGroupOutput) SetGroup(v *Group) *DeleteGroupOutput { + s.Group = v + return s +} + +type GetGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the resource group. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetGroupInput"} + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroupName sets the GroupName field's value. +func (s *GetGroupInput) SetGroupName(v string) *GetGroupInput { + s.GroupName = &v + return s +} + +type GetGroupOutput struct { + _ struct{} `type:"structure"` + + // A full description of the resource group. + Group *Group `type:"structure"` +} + +// String returns the string representation +func (s GetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGroupOutput) GoString() string { + return s.String() +} + +// SetGroup sets the Group field's value. +func (s *GetGroupOutput) SetGroup(v *Group) *GetGroupOutput { + s.Group = v + return s +} + +type GetGroupQueryInput struct { + _ struct{} `type:"structure"` + + // The name of the resource group. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetGroupQueryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGroupQueryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetGroupQueryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetGroupQueryInput"} + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroupName sets the GroupName field's value. +func (s *GetGroupQueryInput) SetGroupName(v string) *GetGroupQueryInput { + s.GroupName = &v + return s +} + +type GetGroupQueryOutput struct { + _ struct{} `type:"structure"` + + // The resource query associated with the specified group. + GroupQuery *GroupQuery `type:"structure"` +} + +// String returns the string representation +func (s GetGroupQueryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGroupQueryOutput) GoString() string { + return s.String() +} + +// SetGroupQuery sets the GroupQuery field's value. +func (s *GetGroupQueryOutput) SetGroupQuery(v *GroupQuery) *GetGroupQueryOutput { + s.GroupQuery = v + return s +} + +type GetTagsInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource for which you want a list of tags. The resource must + // exist within the account you are using. + // + // Arn is a required field + Arn *string `location:"uri" locationName:"Arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTagsInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *GetTagsInput) SetArn(v string) *GetTagsInput { + s.Arn = &v + return s +} + +type GetTagsOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the tagged resource. + Arn *string `type:"string"` + + // The tags associated with the specified resource. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation +func (s GetTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTagsOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GetTagsOutput) SetArn(v string) *GetTagsOutput { + s.Arn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetTagsOutput) SetTags(v map[string]*string) *GetTagsOutput { + s.Tags = v + return s +} + +// A resource group. +type Group struct { + _ struct{} `type:"structure"` + + // The description of the resource group. + Description *string `type:"string"` + + // The ARN of a resource group. + // + // GroupArn is a required field + GroupArn *string `type:"string" required:"true"` + + // The name of a resource group. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s Group) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Group) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *Group) SetDescription(v string) *Group { + s.Description = &v + return s +} + +// SetGroupArn sets the GroupArn field's value. +func (s *Group) SetGroupArn(v string) *Group { + s.GroupArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *Group) SetName(v string) *Group { + s.Name = &v + return s +} + +// A filter name and value pair that is used to obtain more specific results +// from a list of groups. +type GroupFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter. Filter names are case-sensitive. + // + // Name is a required field + Name *string `type:"string" required:"true" enum:"GroupFilterName"` + + // One or more filter values. Allowed filter values vary by group filter name, + // and are case-sensitive. + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s GroupFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GroupFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GroupFilter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + 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 +} + +// SetName sets the Name field's value. +func (s *GroupFilter) SetName(v string) *GroupFilter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *GroupFilter) SetValues(v []*string) *GroupFilter { + s.Values = v + return s +} + +// The ARN and group name of a group. +type GroupIdentifier struct { + _ struct{} `type:"structure"` + + // The ARN of a resource group. + GroupArn *string `type:"string"` + + // The name of a resource group. + GroupName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GroupIdentifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupIdentifier) GoString() string { + return s.String() +} + +// SetGroupArn sets the GroupArn field's value. +func (s *GroupIdentifier) SetGroupArn(v string) *GroupIdentifier { + s.GroupArn = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier { + s.GroupName = &v + return s +} + +// The underlying resource query of a resource group. Resources that match query +// results are part of the group. +type GroupQuery struct { + _ struct{} `type:"structure"` + + // The name of a resource group that is associated with a specific resource + // query. + // + // GroupName is a required field + GroupName *string `min:"1" type:"string" required:"true"` + + // The resource query which determines which AWS resources are members of the + // associated resource group. + // + // ResourceQuery is a required field + ResourceQuery *ResourceQuery `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GroupQuery) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupQuery) GoString() string { + return s.String() +} + +// SetGroupName sets the GroupName field's value. +func (s *GroupQuery) SetGroupName(v string) *GroupQuery { + s.GroupName = &v + return s +} + +// SetResourceQuery sets the ResourceQuery field's value. +func (s *GroupQuery) SetResourceQuery(v *ResourceQuery) *GroupQuery { + s.ResourceQuery = v + return s +} + +type ListGroupResourcesInput struct { + _ struct{} `type:"structure"` + + // Filters, formatted as ResourceFilter objects, that you want to apply to a + // ListGroupResources operation. + // + // * resource-type - Filter resources by their type. Specify up to five resource + // types in the format AWS::ServiceCode::ResourceType. For example, AWS::EC2::Instance, + // or AWS::S3::Bucket. + Filters []*ResourceFilter `type:"list"` + + // The name of the resource group. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + + // The maximum number of group member ARNs that are returned in a single call + // by ListGroupResources, in paginated output. By default, this number is 50. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The NextToken value that is returned in a paginated ListGroupResources request. + // To get the next page of results, run the call again, add the NextToken parameter, + // and specify the NextToken value. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListGroupResourcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListGroupResourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListGroupResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListGroupResourcesInput"} + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 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 *ListGroupResourcesInput) SetFilters(v []*ResourceFilter) *ListGroupResourcesInput { + s.Filters = v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *ListGroupResourcesInput) SetGroupName(v string) *ListGroupResourcesInput { + s.GroupName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListGroupResourcesInput) SetMaxResults(v int64) *ListGroupResourcesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGroupResourcesInput) SetNextToken(v string) *ListGroupResourcesInput { + s.NextToken = &v + return s +} + +type ListGroupResourcesOutput struct { + _ struct{} `type:"structure"` + + // The NextToken value to include in a subsequent ListGroupResources request, + // to get more results. + NextToken *string `type:"string"` + + // A list of QueryError objects. Each error is an object that contains ErrorCode + // and Message structures. Possible values for ErrorCode are CLOUDFORMATION_STACK_INACTIVE + // and CLOUDFORMATION_STACK_NOT_EXISTING. + QueryErrors []*QueryError `type:"list"` + + // The ARNs and resource types of resources that are members of the group that + // you specified. + ResourceIdentifiers []*ResourceIdentifier `type:"list"` +} + +// String returns the string representation +func (s ListGroupResourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListGroupResourcesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGroupResourcesOutput) SetNextToken(v string) *ListGroupResourcesOutput { + s.NextToken = &v + return s +} + +// SetQueryErrors sets the QueryErrors field's value. +func (s *ListGroupResourcesOutput) SetQueryErrors(v []*QueryError) *ListGroupResourcesOutput { + s.QueryErrors = v + return s +} + +// SetResourceIdentifiers sets the ResourceIdentifiers field's value. +func (s *ListGroupResourcesOutput) SetResourceIdentifiers(v []*ResourceIdentifier) *ListGroupResourcesOutput { + s.ResourceIdentifiers = v + return s +} + +type ListGroupsInput struct { + _ struct{} `type:"structure"` + + // Filters, formatted as GroupFilter objects, that you want to apply to a ListGroups + // operation. + // + // * resource-type - Filter groups by resource type. Specify up to five resource + // types in the format AWS::ServiceCode::ResourceType. For example, AWS::EC2::Instance, + // or AWS::S3::Bucket. + Filters []*GroupFilter `type:"list"` + + // The maximum number of resource group results that are returned by ListGroups + // in paginated output. By default, this number is 50. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The NextToken value that is returned in a paginated ListGroups request. To + // get the next page of results, run the call again, add the NextToken parameter, + // and specify the NextToken value. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListGroupsInput"} + 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 *ListGroupsInput) SetFilters(v []*GroupFilter) *ListGroupsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListGroupsInput) SetMaxResults(v int64) *ListGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput { + s.NextToken = &v + return s +} + +type ListGroupsOutput struct { + _ struct{} `type:"structure"` + + // A list of GroupIdentifier objects. Each identifier is an object that contains + // both the GroupName and the GroupArn. + GroupIdentifiers []*GroupIdentifier `type:"list"` + + // A list of resource groups. + // + // Deprecated: This field is deprecated, use GroupIdentifiers instead. + Groups []*Group `deprecated:"true" type:"list"` + + // The NextToken value to include in a subsequent ListGroups request, to get + // more results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListGroupsOutput) GoString() string { + return s.String() +} + +// SetGroupIdentifiers sets the GroupIdentifiers field's value. +func (s *ListGroupsOutput) SetGroupIdentifiers(v []*GroupIdentifier) *ListGroupsOutput { + s.GroupIdentifiers = v + return s +} + +// SetGroups sets the Groups field's value. +func (s *ListGroupsOutput) SetGroups(v []*Group) *ListGroupsOutput { + s.Groups = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput { + s.NextToken = &v + return s +} + +// A two-part error structure that can occur in ListGroupResources or SearchResources +// operations on CloudFormation stack-based queries. The error occurs if the +// CloudFormation stack on which the query is based either does not exist, or +// has a status that renders the stack inactive. A QueryError occurrence does +// not necessarily mean that AWS Resource Groups could not complete the operation, +// but the resulting group might have no member resources. +type QueryError struct { + _ struct{} `type:"structure"` + + // Possible values are CLOUDFORMATION_STACK_INACTIVE and CLOUDFORMATION_STACK_NOT_EXISTING. + ErrorCode *string `type:"string" enum:"QueryErrorCode"` + + // A message that explains the ErrorCode value. Messages might state that the + // specified CloudFormation stack does not exist (or no longer exists). For + // CLOUDFORMATION_STACK_INACTIVE, the message typically states that the CloudFormation + // stack has a status that is not (or no longer) active, such as CREATE_FAILED. + Message *string `type:"string"` +} + +// String returns the string representation +func (s QueryError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueryError) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *QueryError) SetErrorCode(v string) *QueryError { + s.ErrorCode = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *QueryError) SetMessage(v string) *QueryError { + s.Message = &v + return s +} + +// A filter name and value pair that is used to obtain more specific results +// from a list of resources. +type ResourceFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter. Filter names are case-sensitive. + // + // Name is a required field + Name *string `type:"string" required:"true" enum:"ResourceFilterName"` + + // One or more filter values. Allowed filter values vary by resource filter + // name, and are case-sensitive. + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s ResourceFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceFilter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + 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 +} + +// SetName sets the Name field's value. +func (s *ResourceFilter) SetName(v string) *ResourceFilter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *ResourceFilter) SetValues(v []*string) *ResourceFilter { + s.Values = v + return s +} + +// The ARN of a resource, and its resource type. +type ResourceIdentifier struct { + _ struct{} `type:"structure"` + + // The ARN of a resource. + ResourceArn *string `type:"string"` + + // The resource type of a resource, such as AWS::EC2::Instance. + ResourceType *string `type:"string"` +} + +// String returns the string representation +func (s ResourceIdentifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceIdentifier) GoString() string { + return s.String() +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ResourceIdentifier) SetResourceArn(v string) *ResourceIdentifier { + s.ResourceArn = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResourceIdentifier) SetResourceType(v string) *ResourceIdentifier { + s.ResourceType = &v + return s +} + +// The query that is used to define a resource group or a search for resources. +type ResourceQuery struct { + _ struct{} `type:"structure"` + + // The query that defines a group or a search. + // + // Query is a required field + Query *string `type:"string" required:"true"` + + // The type of the query. The valid values in this release are TAG_FILTERS_1_0 + // and CLOUDFORMATION_STACK_1_0. + // + // TAG_FILTERS_1_0: A JSON syntax that lets you specify a collection of simple + // tag filters for resource types and tags, as supported by the AWS Tagging + // API GetResources (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html) + // operation. If you specify more than one tag key, only resources that match + // all tag keys, and at least one value of each specified tag key, are returned + // in your query. If you specify more than one value for a tag key, a resource + // matches the filter if it has a tag key value that matches any of the specified + // values. + // + // For example, consider the following sample query for resources that have + // two tags, Stage and Version, with two values each. ([{"Key":"Stage","Values":["Test","Deploy"]},{"Key":"Version","Values":["1","2"]}]) + // The results of this query might include the following. + // + // * An EC2 instance that has the following two tags: {"Key":"Stage","Values":["Deploy"]}, + // and {"Key":"Version","Values":["2"]} + // + // * An S3 bucket that has the following two tags: {"Key":"Stage","Values":["Test","Deploy"]}, + // and {"Key":"Version","Values":["1"]} + // + // The query would not return the following results, however. The following + // EC2 instance does not have all tag keys specified in the filter, so it is + // rejected. The RDS database has all of the tag keys, but no values that match + // at least one of the specified tag key values in the filter. + // + // * An EC2 instance that has only the following tag: {"Key":"Stage","Values":["Deploy"]}. + // + // * An RDS database that has the following two tags: {"Key":"Stage","Values":["Archived"]}, + // and {"Key":"Version","Values":["4"]} + // + // CLOUDFORMATION_STACK_1_0: A JSON syntax that lets you specify a CloudFormation + // stack ARN. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"QueryType"` +} + +// String returns the string representation +func (s ResourceQuery) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceQuery) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceQuery) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceQuery"} + if s.Query == nil { + invalidParams.Add(request.NewErrParamRequired("Query")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetQuery sets the Query field's value. +func (s *ResourceQuery) SetQuery(v string) *ResourceQuery { + s.Query = &v + return s +} + +// SetType sets the Type field's value. +func (s *ResourceQuery) SetType(v string) *ResourceQuery { + s.Type = &v + return s +} + +type SearchResourcesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of group member ARNs returned by SearchResources in paginated + // output. By default, this number is 50. + MaxResults *int64 `min:"1" type:"integer"` + + // The NextToken value that is returned in a paginated SearchResources request. + // To get the next page of results, run the call again, add the NextToken parameter, + // and specify the NextToken value. + NextToken *string `type:"string"` + + // The search query, using the same formats that are supported for resource + // group definition. + // + // ResourceQuery is a required field + ResourceQuery *ResourceQuery `type:"structure" required:"true"` +} + +// String returns the string representation +func (s SearchResourcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchResourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchResourcesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceQuery == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceQuery")) + } + if s.ResourceQuery != nil { + if err := s.ResourceQuery.Validate(); err != nil { + invalidParams.AddNested("ResourceQuery", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *SearchResourcesInput) SetMaxResults(v int64) *SearchResourcesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchResourcesInput) SetNextToken(v string) *SearchResourcesInput { + s.NextToken = &v + return s +} + +// SetResourceQuery sets the ResourceQuery field's value. +func (s *SearchResourcesInput) SetResourceQuery(v *ResourceQuery) *SearchResourcesInput { + s.ResourceQuery = v + return s +} + +type SearchResourcesOutput struct { + _ struct{} `type:"structure"` + + // The NextToken value to include in a subsequent SearchResources request, to + // get more results. + NextToken *string `type:"string"` + + // A list of QueryError objects. Each error is an object that contains ErrorCode + // and Message structures. Possible values for ErrorCode are CLOUDFORMATION_STACK_INACTIVE + // and CLOUDFORMATION_STACK_NOT_EXISTING. + QueryErrors []*QueryError `type:"list"` + + // The ARNs and resource types of resources that are members of the group that + // you specified. + ResourceIdentifiers []*ResourceIdentifier `type:"list"` +} + +// String returns the string representation +func (s SearchResourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchResourcesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchResourcesOutput) SetNextToken(v string) *SearchResourcesOutput { + s.NextToken = &v + return s +} + +// SetQueryErrors sets the QueryErrors field's value. +func (s *SearchResourcesOutput) SetQueryErrors(v []*QueryError) *SearchResourcesOutput { + s.QueryErrors = v + return s +} + +// SetResourceIdentifiers sets the ResourceIdentifiers field's value. +func (s *SearchResourcesOutput) SetResourceIdentifiers(v []*ResourceIdentifier) *SearchResourcesOutput { + s.ResourceIdentifiers = v + return s +} + +type TagInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource to which to add tags. + // + // Arn is a required field + Arn *string `location:"uri" locationName:"Arn" type:"string" required:"true"` + + // The tags to add to the specified resource. A tag is a string-to-string map + // of key-value pairs. Tag keys can have a maximum character length of 128 characters, + // and tag values can have a maximum length of 256 characters. + // + // Tags is a required field + Tags map[string]*string `type:"map" required:"true"` +} + +// String returns the string representation +func (s TagInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *TagInput) SetArn(v string) *TagInput { + s.Arn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagInput) SetTags(v map[string]*string) *TagInput { + s.Tags = v + return s +} + +type TagOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the tagged resource. + Arn *string `type:"string"` + + // The tags that have been added to the specified resource. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation +func (s TagOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *TagOutput) SetArn(v string) *TagOutput { + s.Arn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagOutput) SetTags(v map[string]*string) *TagOutput { + s.Tags = v + return s +} + +type UntagInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource from which to remove tags. + // + // Arn is a required field + Arn *string `location:"uri" locationName:"Arn" type:"string" required:"true"` + + // The keys of the tags to be removed. + // + // Keys is a required field + Keys []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.Keys == nil { + invalidParams.Add(request.NewErrParamRequired("Keys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *UntagInput) SetArn(v string) *UntagInput { + s.Arn = &v + return s +} + +// SetKeys sets the Keys field's value. +func (s *UntagInput) SetKeys(v []*string) *UntagInput { + s.Keys = v + return s +} + +type UntagOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource from which tags have been removed. + Arn *string `type:"string"` + + // The keys of tags that have been removed. + Keys []*string `type:"list"` +} + +// String returns the string representation +func (s UntagOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *UntagOutput) SetArn(v string) *UntagOutput { + s.Arn = &v + return s +} + +// SetKeys sets the Keys field's value. +func (s *UntagOutput) SetKeys(v []*string) *UntagOutput { + s.Keys = v + return s +} + +type UpdateGroupInput struct { + _ struct{} `type:"structure"` + + // The description of the resource group. Descriptions can have a maximum of + // 511 characters, including letters, numbers, hyphens, underscores, punctuation, + // and spaces. + Description *string `type:"string"` + + // The name of the resource group for which you want to update its description. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"} + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateGroupInput) SetDescription(v string) *UpdateGroupInput { + s.Description = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { + s.GroupName = &v + return s +} + +type UpdateGroupOutput struct { + _ struct{} `type:"structure"` + + // The full description of the resource group after it has been updated. + Group *Group `type:"structure"` +} + +// String returns the string representation +func (s UpdateGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateGroupOutput) GoString() string { + return s.String() +} + +// SetGroup sets the Group field's value. +func (s *UpdateGroupOutput) SetGroup(v *Group) *UpdateGroupOutput { + s.Group = v + return s +} + +type UpdateGroupQueryInput struct { + _ struct{} `type:"structure"` + + // The name of the resource group for which you want to edit the query. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + + // The resource query that determines which AWS resources are members of the + // resource group. + // + // ResourceQuery is a required field + ResourceQuery *ResourceQuery `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateGroupQueryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateGroupQueryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateGroupQueryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateGroupQueryInput"} + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + if s.ResourceQuery == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceQuery")) + } + if s.ResourceQuery != nil { + if err := s.ResourceQuery.Validate(); err != nil { + invalidParams.AddNested("ResourceQuery", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroupName sets the GroupName field's value. +func (s *UpdateGroupQueryInput) SetGroupName(v string) *UpdateGroupQueryInput { + s.GroupName = &v + return s +} + +// SetResourceQuery sets the ResourceQuery field's value. +func (s *UpdateGroupQueryInput) SetResourceQuery(v *ResourceQuery) *UpdateGroupQueryInput { + s.ResourceQuery = v + return s +} + +type UpdateGroupQueryOutput struct { + _ struct{} `type:"structure"` + + // The resource query associated with the resource group after the update. + GroupQuery *GroupQuery `type:"structure"` +} + +// String returns the string representation +func (s UpdateGroupQueryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateGroupQueryOutput) GoString() string { + return s.String() +} + +// SetGroupQuery sets the GroupQuery field's value. +func (s *UpdateGroupQueryOutput) SetGroupQuery(v *GroupQuery) *UpdateGroupQueryOutput { + s.GroupQuery = v + return s +} + +const ( + // GroupFilterNameResourceType is a GroupFilterName enum value + GroupFilterNameResourceType = "resource-type" +) + +const ( + // QueryErrorCodeCloudformationStackInactive is a QueryErrorCode enum value + QueryErrorCodeCloudformationStackInactive = "CLOUDFORMATION_STACK_INACTIVE" + + // QueryErrorCodeCloudformationStackNotExisting is a QueryErrorCode enum value + QueryErrorCodeCloudformationStackNotExisting = "CLOUDFORMATION_STACK_NOT_EXISTING" +) + +const ( + // QueryTypeTagFilters10 is a QueryType enum value + QueryTypeTagFilters10 = "TAG_FILTERS_1_0" + + // QueryTypeCloudformationStack10 is a QueryType enum value + QueryTypeCloudformationStack10 = "CLOUDFORMATION_STACK_1_0" +) + +const ( + // ResourceFilterNameResourceType is a ResourceFilterName enum value + ResourceFilterNameResourceType = "resource-type" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/doc.go new file mode 100644 index 00000000000..5d182652de0 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/doc.go @@ -0,0 +1,60 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package resourcegroups provides the client and types for making API +// requests to AWS Resource Groups. +// +// AWS Resource Groups lets you organize AWS resources such as Amazon EC2 instances, +// Amazon Relational Database Service databases, and Amazon S3 buckets into +// groups using criteria that you define as tags. A resource group is a collection +// of resources that match the resource types specified in a query, and share +// one or more tags or portions of tags. You can create a group of resources +// based on their roles in your cloud infrastructure, lifecycle stages, regions, +// application layers, or virtually any criteria. Resource groups enable you +// to automate management tasks, such as those in AWS Systems Manager Automation +// documents, on tag-related resources in AWS Systems Manager. Groups of tagged +// resources also let you quickly view a custom console in AWS Systems Manager +// that shows AWS Config compliance and other monitoring data about member resources. +// +// To create a resource group, build a resource query, and specify tags that +// identify the criteria that members of the group have in common. Tags are +// key-value pairs. +// +// For more information about Resource Groups, see the AWS Resource Groups User +// Guide (https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html). +// +// AWS Resource Groups uses a REST-compliant API that you can use to perform +// the following types of operations. +// +// * Create, Read, Update, and Delete (CRUD) operations on resource groups +// and resource query entities +// +// * Applying, editing, and removing tags from resource groups +// +// * Resolving resource group member ARNs so they can be returned as search +// results +// +// * Getting data about resources that are members of a group +// +// * Searching AWS resources based on a resource query +// +// See https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27 for more information on this service. +// +// See resourcegroups package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/resourcegroups/ +// +// Using the Client +// +// To contact AWS Resource Groups 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 Resource Groups client ResourceGroups for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/resourcegroups/#New +package resourcegroups diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/errors.go new file mode 100644 index 00000000000..02234d49436 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/errors.go @@ -0,0 +1,50 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package resourcegroups + +const ( + + // ErrCodeBadRequestException for service response error code + // "BadRequestException". + // + // The request does not comply with validation rules that are defined for the + // request parameters. + ErrCodeBadRequestException = "BadRequestException" + + // ErrCodeForbiddenException for service response error code + // "ForbiddenException". + // + // The caller is not authorized to make the request. + ErrCodeForbiddenException = "ForbiddenException" + + // ErrCodeInternalServerErrorException for service response error code + // "InternalServerErrorException". + // + // An internal error occurred while processing the request. + ErrCodeInternalServerErrorException = "InternalServerErrorException" + + // ErrCodeMethodNotAllowedException for service response error code + // "MethodNotAllowedException". + // + // The request uses an HTTP method which is not allowed for the specified resource. + ErrCodeMethodNotAllowedException = "MethodNotAllowedException" + + // ErrCodeNotFoundException for service response error code + // "NotFoundException". + // + // One or more resources specified in the request do not exist. + ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + // + // The caller has exceeded throttling limits. + ErrCodeTooManyRequestsException = "TooManyRequestsException" + + // ErrCodeUnauthorizedException for service response error code + // "UnauthorizedException". + // + // The request has not been applied because it lacks valid authentication credentials + // for the target resource. + ErrCodeUnauthorizedException = "UnauthorizedException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/service.go new file mode 100644 index 00000000000..46a19ff2316 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/service.go @@ -0,0 +1,98 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package resourcegroups + +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/restjson" +) + +// ResourceGroups provides the API operation methods for making requests to +// AWS Resource Groups. See this package's package overview docs +// for details on the service. +// +// ResourceGroups methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type ResourceGroups 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 = "resource-groups" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "Resource Groups" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the ResourceGroups 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 ResourceGroups client from just a session. +// svc := resourcegroups.New(mySession) +// +// // Create a ResourceGroups client with additional configuration +// svc := resourcegroups.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *ResourceGroups { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "resource-groups" + } + 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) *ResourceGroups { + svc := &ResourceGroups{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2017-11-27", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a ResourceGroups operation and runs any +// custom request initialization. +func (c *ResourceGroups) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/route53resolver/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/route53resolver/api.go new file mode 100644 index 00000000000..6bdbd18bf0e --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/route53resolver/api.go @@ -0,0 +1,5202 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package route53resolver + +import ( + "fmt" + + "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 opAssociateResolverEndpointIpAddress = "AssociateResolverEndpointIpAddress" + +// AssociateResolverEndpointIpAddressRequest generates a "aws/request.Request" representing the +// client's request for the AssociateResolverEndpointIpAddress 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 AssociateResolverEndpointIpAddress for more information on using the AssociateResolverEndpointIpAddress +// 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 AssociateResolverEndpointIpAddressRequest method. +// req, resp := client.AssociateResolverEndpointIpAddressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateResolverEndpointIpAddress +func (c *Route53Resolver) AssociateResolverEndpointIpAddressRequest(input *AssociateResolverEndpointIpAddressInput) (req *request.Request, output *AssociateResolverEndpointIpAddressOutput) { + op := &request.Operation{ + Name: opAssociateResolverEndpointIpAddress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateResolverEndpointIpAddressInput{} + } + + output = &AssociateResolverEndpointIpAddressOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateResolverEndpointIpAddress API operation for Amazon Route 53 Resolver. +// +// Adds IP addresses to an inbound or an outbound resolver endpoint. If you +// want to adding more than one IP address, submit one AssociateResolverEndpointIpAddress +// request for each IP address. +// +// To remove an IP address from an endpoint, see DisassociateResolverEndpointIpAddress. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation AssociateResolverEndpointIpAddress for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource that you tried to create already exists. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The request caused one or more limits to be exceeded. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateResolverEndpointIpAddress +func (c *Route53Resolver) AssociateResolverEndpointIpAddress(input *AssociateResolverEndpointIpAddressInput) (*AssociateResolverEndpointIpAddressOutput, error) { + req, out := c.AssociateResolverEndpointIpAddressRequest(input) + return out, req.Send() +} + +// AssociateResolverEndpointIpAddressWithContext is the same as AssociateResolverEndpointIpAddress with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateResolverEndpointIpAddress for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) AssociateResolverEndpointIpAddressWithContext(ctx aws.Context, input *AssociateResolverEndpointIpAddressInput, opts ...request.Option) (*AssociateResolverEndpointIpAddressOutput, error) { + req, out := c.AssociateResolverEndpointIpAddressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssociateResolverRule = "AssociateResolverRule" + +// AssociateResolverRuleRequest generates a "aws/request.Request" representing the +// client's request for the AssociateResolverRule 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 AssociateResolverRule for more information on using the AssociateResolverRule +// 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 AssociateResolverRuleRequest method. +// req, resp := client.AssociateResolverRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateResolverRule +func (c *Route53Resolver) AssociateResolverRuleRequest(input *AssociateResolverRuleInput) (req *request.Request, output *AssociateResolverRuleOutput) { + op := &request.Operation{ + Name: opAssociateResolverRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateResolverRuleInput{} + } + + output = &AssociateResolverRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateResolverRule API operation for Amazon Route 53 Resolver. +// +// Associates a resolver rule with a VPC. When you associate a rule with a VPC, +// Resolver forwards all DNS queries for the domain name that is specified in +// the rule and that originate in the VPC. The queries are forwarded to the +// IP addresses for the DNS resolvers that are specified in the rule. For more +// information about rules, see CreateResolverRule. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation AssociateResolverRule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// The specified resource isn't available. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource that you tried to create already exists. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateResolverRule +func (c *Route53Resolver) AssociateResolverRule(input *AssociateResolverRuleInput) (*AssociateResolverRuleOutput, error) { + req, out := c.AssociateResolverRuleRequest(input) + return out, req.Send() +} + +// AssociateResolverRuleWithContext is the same as AssociateResolverRule with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateResolverRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) AssociateResolverRuleWithContext(ctx aws.Context, input *AssociateResolverRuleInput, opts ...request.Option) (*AssociateResolverRuleOutput, error) { + req, out := c.AssociateResolverRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateResolverEndpoint = "CreateResolverEndpoint" + +// CreateResolverEndpointRequest generates a "aws/request.Request" representing the +// client's request for the CreateResolverEndpoint 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 CreateResolverEndpoint for more information on using the CreateResolverEndpoint +// 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 CreateResolverEndpointRequest method. +// req, resp := client.CreateResolverEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverEndpoint +func (c *Route53Resolver) CreateResolverEndpointRequest(input *CreateResolverEndpointInput) (req *request.Request, output *CreateResolverEndpointOutput) { + op := &request.Operation{ + Name: opCreateResolverEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateResolverEndpointInput{} + } + + output = &CreateResolverEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateResolverEndpoint API operation for Amazon Route 53 Resolver. +// +// Creates a resolver endpoint. There are two types of resolver endpoints, inbound +// and outbound: +// +// * An inbound resolver endpoint forwards DNS queries to the DNS service +// for a VPC from your network or another VPC. +// +// * An outbound resolver endpoint forwards DNS queries from the DNS service +// for a VPC to your network or another VPC. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation CreateResolverEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource that you tried to create already exists. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The request caused one or more limits to be exceeded. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverEndpoint +func (c *Route53Resolver) CreateResolverEndpoint(input *CreateResolverEndpointInput) (*CreateResolverEndpointOutput, error) { + req, out := c.CreateResolverEndpointRequest(input) + return out, req.Send() +} + +// CreateResolverEndpointWithContext is the same as CreateResolverEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See CreateResolverEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) CreateResolverEndpointWithContext(ctx aws.Context, input *CreateResolverEndpointInput, opts ...request.Option) (*CreateResolverEndpointOutput, error) { + req, out := c.CreateResolverEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateResolverRule = "CreateResolverRule" + +// CreateResolverRuleRequest generates a "aws/request.Request" representing the +// client's request for the CreateResolverRule 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 CreateResolverRule for more information on using the CreateResolverRule +// 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 CreateResolverRuleRequest method. +// req, resp := client.CreateResolverRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverRule +func (c *Route53Resolver) CreateResolverRuleRequest(input *CreateResolverRuleInput) (req *request.Request, output *CreateResolverRuleOutput) { + op := &request.Operation{ + Name: opCreateResolverRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateResolverRuleInput{} + } + + output = &CreateResolverRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateResolverRule API operation for Amazon Route 53 Resolver. +// +// For DNS queries that originate in your VPCs, specifies which resolver endpoint +// the queries pass through, one domain name that you want to forward to your +// network, and the IP addresses of the DNS resolvers in your network. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation CreateResolverRule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The request caused one or more limits to be exceeded. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource that you tried to create already exists. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// The specified resource isn't available. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverRule +func (c *Route53Resolver) CreateResolverRule(input *CreateResolverRuleInput) (*CreateResolverRuleOutput, error) { + req, out := c.CreateResolverRuleRequest(input) + return out, req.Send() +} + +// CreateResolverRuleWithContext is the same as CreateResolverRule with the addition of +// the ability to pass a context and additional request options. +// +// See CreateResolverRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) CreateResolverRuleWithContext(ctx aws.Context, input *CreateResolverRuleInput, opts ...request.Option) (*CreateResolverRuleOutput, error) { + req, out := c.CreateResolverRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteResolverEndpoint = "DeleteResolverEndpoint" + +// DeleteResolverEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResolverEndpoint 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 DeleteResolverEndpoint for more information on using the DeleteResolverEndpoint +// 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 DeleteResolverEndpointRequest method. +// req, resp := client.DeleteResolverEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverEndpoint +func (c *Route53Resolver) DeleteResolverEndpointRequest(input *DeleteResolverEndpointInput) (req *request.Request, output *DeleteResolverEndpointOutput) { + op := &request.Operation{ + Name: opDeleteResolverEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteResolverEndpointInput{} + } + + output = &DeleteResolverEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteResolverEndpoint API operation for Amazon Route 53 Resolver. +// +// Deletes a resolver endpoint. The effect of deleting a resolver endpoint depends +// on whether it's an inbound or an outbound resolver endpoint: +// +// * Inbound: DNS queries from your network or another VPC are no longer +// routed to the DNS service for the specified VPC. +// +// * Outbound: DNS queries from a VPC are no longer routed to your network +// or to another VPC. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation DeleteResolverEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverEndpoint +func (c *Route53Resolver) DeleteResolverEndpoint(input *DeleteResolverEndpointInput) (*DeleteResolverEndpointOutput, error) { + req, out := c.DeleteResolverEndpointRequest(input) + return out, req.Send() +} + +// DeleteResolverEndpointWithContext is the same as DeleteResolverEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteResolverEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) DeleteResolverEndpointWithContext(ctx aws.Context, input *DeleteResolverEndpointInput, opts ...request.Option) (*DeleteResolverEndpointOutput, error) { + req, out := c.DeleteResolverEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteResolverRule = "DeleteResolverRule" + +// DeleteResolverRuleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResolverRule 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 DeleteResolverRule for more information on using the DeleteResolverRule +// 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 DeleteResolverRuleRequest method. +// req, resp := client.DeleteResolverRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverRule +func (c *Route53Resolver) DeleteResolverRuleRequest(input *DeleteResolverRuleInput) (req *request.Request, output *DeleteResolverRuleOutput) { + op := &request.Operation{ + Name: opDeleteResolverRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteResolverRuleInput{} + } + + output = &DeleteResolverRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteResolverRule API operation for Amazon Route 53 Resolver. +// +// Deletes a resolver rule. Before you can delete a resolver rule, you must +// disassociate it from all the VPCs that you associated the resolver rule with. +// For more infomation, see DisassociateResolverRule. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation DeleteResolverRule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The resource that you tried to update or delete is currently in use. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverRule +func (c *Route53Resolver) DeleteResolverRule(input *DeleteResolverRuleInput) (*DeleteResolverRuleOutput, error) { + req, out := c.DeleteResolverRuleRequest(input) + return out, req.Send() +} + +// DeleteResolverRuleWithContext is the same as DeleteResolverRule with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteResolverRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) DeleteResolverRuleWithContext(ctx aws.Context, input *DeleteResolverRuleInput, opts ...request.Option) (*DeleteResolverRuleOutput, error) { + req, out := c.DeleteResolverRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateResolverEndpointIpAddress = "DisassociateResolverEndpointIpAddress" + +// DisassociateResolverEndpointIpAddressRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateResolverEndpointIpAddress 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 DisassociateResolverEndpointIpAddress for more information on using the DisassociateResolverEndpointIpAddress +// 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 DisassociateResolverEndpointIpAddressRequest method. +// req, resp := client.DisassociateResolverEndpointIpAddressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverEndpointIpAddress +func (c *Route53Resolver) DisassociateResolverEndpointIpAddressRequest(input *DisassociateResolverEndpointIpAddressInput) (req *request.Request, output *DisassociateResolverEndpointIpAddressOutput) { + op := &request.Operation{ + Name: opDisassociateResolverEndpointIpAddress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateResolverEndpointIpAddressInput{} + } + + output = &DisassociateResolverEndpointIpAddressOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateResolverEndpointIpAddress API operation for Amazon Route 53 Resolver. +// +// Removes IP addresses from an inbound or an outbound resolver endpoint. If +// you want to remove more than one IP address, submit one DisassociateResolverEndpointIpAddress +// request for each IP address. +// +// To add an IP address to an endpoint, see AssociateResolverEndpointIpAddress. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation DisassociateResolverEndpointIpAddress for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource that you tried to create already exists. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverEndpointIpAddress +func (c *Route53Resolver) DisassociateResolverEndpointIpAddress(input *DisassociateResolverEndpointIpAddressInput) (*DisassociateResolverEndpointIpAddressOutput, error) { + req, out := c.DisassociateResolverEndpointIpAddressRequest(input) + return out, req.Send() +} + +// DisassociateResolverEndpointIpAddressWithContext is the same as DisassociateResolverEndpointIpAddress with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateResolverEndpointIpAddress for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) DisassociateResolverEndpointIpAddressWithContext(ctx aws.Context, input *DisassociateResolverEndpointIpAddressInput, opts ...request.Option) (*DisassociateResolverEndpointIpAddressOutput, error) { + req, out := c.DisassociateResolverEndpointIpAddressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateResolverRule = "DisassociateResolverRule" + +// DisassociateResolverRuleRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateResolverRule operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateResolverRule for more information on using the DisassociateResolverRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DisassociateResolverRuleRequest method. +// req, resp := client.DisassociateResolverRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverRule +func (c *Route53Resolver) DisassociateResolverRuleRequest(input *DisassociateResolverRuleInput) (req *request.Request, output *DisassociateResolverRuleOutput) { + op := &request.Operation{ + Name: opDisassociateResolverRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateResolverRuleInput{} + } + + output = &DisassociateResolverRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateResolverRule API operation for Amazon Route 53 Resolver. +// +// Removes the association between a specified resolver rule and a specified +// VPC. +// +// If you disassociate a resolver rule from a VPC, Resolver stops forwarding +// DNS queries for the domain name that you specified in the resolver rule. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation DisassociateResolverRule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverRule +func (c *Route53Resolver) DisassociateResolverRule(input *DisassociateResolverRuleInput) (*DisassociateResolverRuleOutput, error) { + req, out := c.DisassociateResolverRuleRequest(input) + return out, req.Send() +} + +// DisassociateResolverRuleWithContext is the same as DisassociateResolverRule with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateResolverRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) DisassociateResolverRuleWithContext(ctx aws.Context, input *DisassociateResolverRuleInput, opts ...request.Option) (*DisassociateResolverRuleOutput, error) { + req, out := c.DisassociateResolverRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetResolverEndpoint = "GetResolverEndpoint" + +// GetResolverEndpointRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverEndpoint 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 GetResolverEndpoint for more information on using the GetResolverEndpoint +// 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 GetResolverEndpointRequest method. +// req, resp := client.GetResolverEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpoint +func (c *Route53Resolver) GetResolverEndpointRequest(input *GetResolverEndpointInput) (req *request.Request, output *GetResolverEndpointOutput) { + op := &request.Operation{ + Name: opGetResolverEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetResolverEndpointInput{} + } + + output = &GetResolverEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResolverEndpoint API operation for Amazon Route 53 Resolver. +// +// Gets information about a specified resolver endpoint, such as whether it's +// an inbound or an outbound resolver endpoint, and the current status of the +// endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation GetResolverEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpoint +func (c *Route53Resolver) GetResolverEndpoint(input *GetResolverEndpointInput) (*GetResolverEndpointOutput, error) { + req, out := c.GetResolverEndpointRequest(input) + return out, req.Send() +} + +// GetResolverEndpointWithContext is the same as GetResolverEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See GetResolverEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) GetResolverEndpointWithContext(ctx aws.Context, input *GetResolverEndpointInput, opts ...request.Option) (*GetResolverEndpointOutput, error) { + req, out := c.GetResolverEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetResolverRule = "GetResolverRule" + +// GetResolverRuleRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverRule operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetResolverRule for more information on using the GetResolverRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetResolverRuleRequest method. +// req, resp := client.GetResolverRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule +func (c *Route53Resolver) GetResolverRuleRequest(input *GetResolverRuleInput) (req *request.Request, output *GetResolverRuleOutput) { + op := &request.Operation{ + Name: opGetResolverRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetResolverRuleInput{} + } + + output = &GetResolverRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResolverRule API operation for Amazon Route 53 Resolver. +// +// Gets information about a specified resolver rule, such as the domain name +// that the rule forwards DNS queries for and the ID of the outbound resolver +// endpoint that the rule is associated with. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation GetResolverRule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule +func (c *Route53Resolver) GetResolverRule(input *GetResolverRuleInput) (*GetResolverRuleOutput, error) { + req, out := c.GetResolverRuleRequest(input) + return out, req.Send() +} + +// GetResolverRuleWithContext is the same as GetResolverRule with the addition of +// the ability to pass a context and additional request options. +// +// See GetResolverRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) GetResolverRuleWithContext(ctx aws.Context, input *GetResolverRuleInput, opts ...request.Option) (*GetResolverRuleOutput, error) { + req, out := c.GetResolverRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetResolverRuleAssociation = "GetResolverRuleAssociation" + +// GetResolverRuleAssociationRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverRuleAssociation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetResolverRuleAssociation for more information on using the GetResolverRuleAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetResolverRuleAssociationRequest method. +// req, resp := client.GetResolverRuleAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation +func (c *Route53Resolver) GetResolverRuleAssociationRequest(input *GetResolverRuleAssociationInput) (req *request.Request, output *GetResolverRuleAssociationOutput) { + op := &request.Operation{ + Name: opGetResolverRuleAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetResolverRuleAssociationInput{} + } + + output = &GetResolverRuleAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResolverRuleAssociation API operation for Amazon Route 53 Resolver. +// +// Gets information about an association between a specified resolver rule and +// a VPC. You associate a resolver rule and a VPC using AssociateResolverRule. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation GetResolverRuleAssociation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation +func (c *Route53Resolver) GetResolverRuleAssociation(input *GetResolverRuleAssociationInput) (*GetResolverRuleAssociationOutput, error) { + req, out := c.GetResolverRuleAssociationRequest(input) + return out, req.Send() +} + +// GetResolverRuleAssociationWithContext is the same as GetResolverRuleAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See GetResolverRuleAssociation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) GetResolverRuleAssociationWithContext(ctx aws.Context, input *GetResolverRuleAssociationInput, opts ...request.Option) (*GetResolverRuleAssociationOutput, error) { + req, out := c.GetResolverRuleAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetResolverRulePolicy = "GetResolverRulePolicy" + +// GetResolverRulePolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverRulePolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetResolverRulePolicy for more information on using the GetResolverRulePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetResolverRulePolicyRequest method. +// req, resp := client.GetResolverRulePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy +func (c *Route53Resolver) GetResolverRulePolicyRequest(input *GetResolverRulePolicyInput) (req *request.Request, output *GetResolverRulePolicyOutput) { + op := &request.Operation{ + Name: opGetResolverRulePolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetResolverRulePolicyInput{} + } + + output = &GetResolverRulePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResolverRulePolicy API operation for Amazon Route 53 Resolver. +// +// Gets information about a resolver rule policy. A resolver rule policy specifies +// the Resolver operations and resources that you want to allow another AWS +// account to be able to use. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation GetResolverRulePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// The specified resource doesn't exist. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy +func (c *Route53Resolver) GetResolverRulePolicy(input *GetResolverRulePolicyInput) (*GetResolverRulePolicyOutput, error) { + req, out := c.GetResolverRulePolicyRequest(input) + return out, req.Send() +} + +// GetResolverRulePolicyWithContext is the same as GetResolverRulePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetResolverRulePolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) GetResolverRulePolicyWithContext(ctx aws.Context, input *GetResolverRulePolicyInput, opts ...request.Option) (*GetResolverRulePolicyOutput, error) { + req, out := c.GetResolverRulePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListResolverEndpointIpAddresses = "ListResolverEndpointIpAddresses" + +// ListResolverEndpointIpAddressesRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverEndpointIpAddresses operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListResolverEndpointIpAddresses for more information on using the ListResolverEndpointIpAddresses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListResolverEndpointIpAddressesRequest method. +// req, resp := client.ListResolverEndpointIpAddressesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpointIpAddresses +func (c *Route53Resolver) ListResolverEndpointIpAddressesRequest(input *ListResolverEndpointIpAddressesInput) (req *request.Request, output *ListResolverEndpointIpAddressesOutput) { + op := &request.Operation{ + Name: opListResolverEndpointIpAddresses, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverEndpointIpAddressesInput{} + } + + output = &ListResolverEndpointIpAddressesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverEndpointIpAddresses API operation for Amazon Route 53 Resolver. +// +// Gets the IP addresses for a specified resolver endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListResolverEndpointIpAddresses for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The value that you specified for NextToken in a List request isn't valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpointIpAddresses +func (c *Route53Resolver) ListResolverEndpointIpAddresses(input *ListResolverEndpointIpAddressesInput) (*ListResolverEndpointIpAddressesOutput, error) { + req, out := c.ListResolverEndpointIpAddressesRequest(input) + return out, req.Send() +} + +// ListResolverEndpointIpAddressesWithContext is the same as ListResolverEndpointIpAddresses with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverEndpointIpAddresses for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverEndpointIpAddressesWithContext(ctx aws.Context, input *ListResolverEndpointIpAddressesInput, opts ...request.Option) (*ListResolverEndpointIpAddressesOutput, error) { + req, out := c.ListResolverEndpointIpAddressesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverEndpointIpAddressesPages iterates over the pages of a ListResolverEndpointIpAddresses operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverEndpointIpAddresses method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListResolverEndpointIpAddresses operation. +// pageNum := 0 +// err := client.ListResolverEndpointIpAddressesPages(params, +// func(page *ListResolverEndpointIpAddressesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverEndpointIpAddressesPages(input *ListResolverEndpointIpAddressesInput, fn func(*ListResolverEndpointIpAddressesOutput, bool) bool) error { + return c.ListResolverEndpointIpAddressesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverEndpointIpAddressesPagesWithContext same as ListResolverEndpointIpAddressesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverEndpointIpAddressesPagesWithContext(ctx aws.Context, input *ListResolverEndpointIpAddressesInput, fn func(*ListResolverEndpointIpAddressesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverEndpointIpAddressesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverEndpointIpAddressesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListResolverEndpointIpAddressesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListResolverEndpoints = "ListResolverEndpoints" + +// ListResolverEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverEndpoints operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListResolverEndpoints for more information on using the ListResolverEndpoints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListResolverEndpointsRequest method. +// req, resp := client.ListResolverEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpoints +func (c *Route53Resolver) ListResolverEndpointsRequest(input *ListResolverEndpointsInput) (req *request.Request, output *ListResolverEndpointsOutput) { + op := &request.Operation{ + Name: opListResolverEndpoints, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverEndpointsInput{} + } + + output = &ListResolverEndpointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverEndpoints API operation for Amazon Route 53 Resolver. +// +// Lists all the resolver endpoints that were created using the current AWS +// account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListResolverEndpoints for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The value that you specified for NextToken in a List request isn't valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpoints +func (c *Route53Resolver) ListResolverEndpoints(input *ListResolverEndpointsInput) (*ListResolverEndpointsOutput, error) { + req, out := c.ListResolverEndpointsRequest(input) + return out, req.Send() +} + +// ListResolverEndpointsWithContext is the same as ListResolverEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverEndpoints for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverEndpointsWithContext(ctx aws.Context, input *ListResolverEndpointsInput, opts ...request.Option) (*ListResolverEndpointsOutput, error) { + req, out := c.ListResolverEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverEndpointsPages iterates over the pages of a ListResolverEndpoints operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverEndpoints method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListResolverEndpoints operation. +// pageNum := 0 +// err := client.ListResolverEndpointsPages(params, +// func(page *ListResolverEndpointsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverEndpointsPages(input *ListResolverEndpointsInput, fn func(*ListResolverEndpointsOutput, bool) bool) error { + return c.ListResolverEndpointsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverEndpointsPagesWithContext same as ListResolverEndpointsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverEndpointsPagesWithContext(ctx aws.Context, input *ListResolverEndpointsInput, fn func(*ListResolverEndpointsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverEndpointsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverEndpointsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListResolverEndpointsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListResolverRuleAssociations = "ListResolverRuleAssociations" + +// ListResolverRuleAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverRuleAssociations 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 ListResolverRuleAssociations for more information on using the ListResolverRuleAssociations +// 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 ListResolverRuleAssociationsRequest method. +// req, resp := client.ListResolverRuleAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRuleAssociations +func (c *Route53Resolver) ListResolverRuleAssociationsRequest(input *ListResolverRuleAssociationsInput) (req *request.Request, output *ListResolverRuleAssociationsOutput) { + op := &request.Operation{ + Name: opListResolverRuleAssociations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverRuleAssociationsInput{} + } + + output = &ListResolverRuleAssociationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverRuleAssociations API operation for Amazon Route 53 Resolver. +// +// Lists the associations that were created between resolver rules and VPCs +// using the current AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListResolverRuleAssociations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The value that you specified for NextToken in a List request isn't valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRuleAssociations +func (c *Route53Resolver) ListResolverRuleAssociations(input *ListResolverRuleAssociationsInput) (*ListResolverRuleAssociationsOutput, error) { + req, out := c.ListResolverRuleAssociationsRequest(input) + return out, req.Send() +} + +// ListResolverRuleAssociationsWithContext is the same as ListResolverRuleAssociations with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverRuleAssociations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverRuleAssociationsWithContext(ctx aws.Context, input *ListResolverRuleAssociationsInput, opts ...request.Option) (*ListResolverRuleAssociationsOutput, error) { + req, out := c.ListResolverRuleAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverRuleAssociationsPages iterates over the pages of a ListResolverRuleAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverRuleAssociations 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 ListResolverRuleAssociations operation. +// pageNum := 0 +// err := client.ListResolverRuleAssociationsPages(params, +// func(page *ListResolverRuleAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverRuleAssociationsPages(input *ListResolverRuleAssociationsInput, fn func(*ListResolverRuleAssociationsOutput, bool) bool) error { + return c.ListResolverRuleAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverRuleAssociationsPagesWithContext same as ListResolverRuleAssociationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverRuleAssociationsPagesWithContext(ctx aws.Context, input *ListResolverRuleAssociationsInput, fn func(*ListResolverRuleAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverRuleAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverRuleAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListResolverRuleAssociationsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListResolverRules = "ListResolverRules" + +// ListResolverRulesRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverRules 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 ListResolverRules for more information on using the ListResolverRules +// 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 ListResolverRulesRequest method. +// req, resp := client.ListResolverRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRules +func (c *Route53Resolver) ListResolverRulesRequest(input *ListResolverRulesInput) (req *request.Request, output *ListResolverRulesOutput) { + op := &request.Operation{ + Name: opListResolverRules, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverRulesInput{} + } + + output = &ListResolverRulesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverRules API operation for Amazon Route 53 Resolver. +// +// Lists the resolver rules that were created using the current AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListResolverRules for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The value that you specified for NextToken in a List request isn't valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRules +func (c *Route53Resolver) ListResolverRules(input *ListResolverRulesInput) (*ListResolverRulesOutput, error) { + req, out := c.ListResolverRulesRequest(input) + return out, req.Send() +} + +// ListResolverRulesWithContext is the same as ListResolverRules with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverRules for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverRulesWithContext(ctx aws.Context, input *ListResolverRulesInput, opts ...request.Option) (*ListResolverRulesOutput, error) { + req, out := c.ListResolverRulesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverRulesPages iterates over the pages of a ListResolverRules operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverRules 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 ListResolverRules operation. +// pageNum := 0 +// err := client.ListResolverRulesPages(params, +// func(page *ListResolverRulesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverRulesPages(input *ListResolverRulesInput, fn func(*ListResolverRulesOutput, bool) bool) error { + return c.ListResolverRulesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverRulesPagesWithContext same as ListResolverRulesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverRulesPagesWithContext(ctx aws.Context, input *ListResolverRulesInput, fn func(*ListResolverRulesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverRulesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverRulesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListResolverRulesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListTagsForResource +func (c *Route53Resolver) 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 Route 53 Resolver. +// +// Lists the tags that you associated with 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 Route 53 Resolver's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The value that you specified for NextToken in a List request isn't valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListTagsForResource +func (c *Route53Resolver) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutResolverRulePolicy = "PutResolverRulePolicy" + +// PutResolverRulePolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutResolverRulePolicy 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 PutResolverRulePolicy for more information on using the PutResolverRulePolicy +// 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 PutResolverRulePolicyRequest method. +// req, resp := client.PutResolverRulePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverRulePolicy +func (c *Route53Resolver) PutResolverRulePolicyRequest(input *PutResolverRulePolicyInput) (req *request.Request, output *PutResolverRulePolicyOutput) { + op := &request.Operation{ + Name: opPutResolverRulePolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutResolverRulePolicyInput{} + } + + output = &PutResolverRulePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutResolverRulePolicy API operation for Amazon Route 53 Resolver. +// +// Specifies the Resolver operations and resources that you want to allow another +// AWS account to be able to use. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation PutResolverRulePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidPolicyDocument "InvalidPolicyDocument" +// The specified resolver rule policy is invalid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// The specified resource doesn't exist. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverRulePolicy +func (c *Route53Resolver) PutResolverRulePolicy(input *PutResolverRulePolicyInput) (*PutResolverRulePolicyOutput, error) { + req, out := c.PutResolverRulePolicyRequest(input) + return out, req.Send() +} + +// PutResolverRulePolicyWithContext is the same as PutResolverRulePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutResolverRulePolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) PutResolverRulePolicyWithContext(ctx aws.Context, input *PutResolverRulePolicyInput, opts ...request.Option) (*PutResolverRulePolicyOutput, error) { + req, out := c.PutResolverRulePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/TagResource +func (c *Route53Resolver) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon Route 53 Resolver. +// +// Adds one or more tags to a 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 Route 53 Resolver's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeLimitExceededException "LimitExceededException" +// The request caused one or more limits to be exceeded. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInvalidTagException "InvalidTagException" +// The specified tag is invalid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/TagResource +func (c *Route53Resolver) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UntagResource +func (c *Route53Resolver) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon Route 53 Resolver. +// +// Removes one or more tags from a 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 Route 53 Resolver's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UntagResource +func (c *Route53Resolver) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateResolverEndpoint = "UpdateResolverEndpoint" + +// UpdateResolverEndpointRequest generates a "aws/request.Request" representing the +// client's request for the UpdateResolverEndpoint 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 UpdateResolverEndpoint for more information on using the UpdateResolverEndpoint +// 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 UpdateResolverEndpointRequest method. +// req, resp := client.UpdateResolverEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverEndpoint +func (c *Route53Resolver) UpdateResolverEndpointRequest(input *UpdateResolverEndpointInput) (req *request.Request, output *UpdateResolverEndpointOutput) { + op := &request.Operation{ + Name: opUpdateResolverEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateResolverEndpointInput{} + } + + output = &UpdateResolverEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateResolverEndpoint API operation for Amazon Route 53 Resolver. +// +// Updates the name of an inbound or an outbound resolver endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation UpdateResolverEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverEndpoint +func (c *Route53Resolver) UpdateResolverEndpoint(input *UpdateResolverEndpointInput) (*UpdateResolverEndpointOutput, error) { + req, out := c.UpdateResolverEndpointRequest(input) + return out, req.Send() +} + +// UpdateResolverEndpointWithContext is the same as UpdateResolverEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateResolverEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) UpdateResolverEndpointWithContext(ctx aws.Context, input *UpdateResolverEndpointInput, opts ...request.Option) (*UpdateResolverEndpointOutput, error) { + req, out := c.UpdateResolverEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateResolverRule = "UpdateResolverRule" + +// UpdateResolverRuleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateResolverRule 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 UpdateResolverRule for more information on using the UpdateResolverRule +// 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 UpdateResolverRuleRequest method. +// req, resp := client.UpdateResolverRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverRule +func (c *Route53Resolver) UpdateResolverRuleRequest(input *UpdateResolverRuleInput) (req *request.Request, output *UpdateResolverRuleOutput) { + op := &request.Operation{ + Name: opUpdateResolverRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateResolverRuleInput{} + } + + output = &UpdateResolverRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateResolverRule API operation for Amazon Route 53 Resolver. +// +// Updates settings for a specified resolver rule. ResolverRuleId is required, +// and all other parameters are optional. If you don't specify a parameter, +// it retains its current value. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation UpdateResolverRule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// One or more parameters in this request are not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource doesn't exist. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// The specified resource isn't available. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The request caused one or more limits to be exceeded. +// +// * ErrCodeInternalServiceErrorException "InternalServiceErrorException" +// We encountered an unknown error. Try again in a few minutes. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverRule +func (c *Route53Resolver) UpdateResolverRule(input *UpdateResolverRuleInput) (*UpdateResolverRuleOutput, error) { + req, out := c.UpdateResolverRuleRequest(input) + return out, req.Send() +} + +// UpdateResolverRuleWithContext is the same as UpdateResolverRule with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateResolverRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) UpdateResolverRuleWithContext(ctx aws.Context, input *UpdateResolverRuleInput, opts ...request.Option) (*UpdateResolverRuleOutput, error) { + req, out := c.UpdateResolverRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type AssociateResolverEndpointIpAddressInput struct { + _ struct{} `type:"structure"` + + // Either the IPv4 address that you want to add to a resolver endpoint or a + // subnet ID. If you specify a subnet ID, Resolver chooses an IP address for + // you from the available IPs in the specified subnet. + // + // IpAddress is a required field + IpAddress *IpAddressUpdate `type:"structure" required:"true"` + + // The ID of the resolver endpoint that you want to associate IP addresses with. + // + // ResolverEndpointId is a required field + ResolverEndpointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateResolverEndpointIpAddressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResolverEndpointIpAddressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateResolverEndpointIpAddressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateResolverEndpointIpAddressInput"} + if s.IpAddress == nil { + invalidParams.Add(request.NewErrParamRequired("IpAddress")) + } + if s.ResolverEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + } + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + if s.IpAddress != nil { + if err := s.IpAddress.Validate(); err != nil { + invalidParams.AddNested("IpAddress", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIpAddress sets the IpAddress field's value. +func (s *AssociateResolverEndpointIpAddressInput) SetIpAddress(v *IpAddressUpdate) *AssociateResolverEndpointIpAddressInput { + s.IpAddress = v + return s +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *AssociateResolverEndpointIpAddressInput) SetResolverEndpointId(v string) *AssociateResolverEndpointIpAddressInput { + s.ResolverEndpointId = &v + return s +} + +type AssociateResolverEndpointIpAddressOutput struct { + _ struct{} `type:"structure"` + + // The response to an AssociateResolverEndpointIpAddress request. + ResolverEndpoint *ResolverEndpoint `type:"structure"` +} + +// String returns the string representation +func (s AssociateResolverEndpointIpAddressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResolverEndpointIpAddressOutput) GoString() string { + return s.String() +} + +// SetResolverEndpoint sets the ResolverEndpoint field's value. +func (s *AssociateResolverEndpointIpAddressOutput) SetResolverEndpoint(v *ResolverEndpoint) *AssociateResolverEndpointIpAddressOutput { + s.ResolverEndpoint = v + return s +} + +type AssociateResolverRuleInput struct { + _ struct{} `type:"structure"` + + // A name for the association that you're creating between a resolver rule and + // a VPC. + Name *string `type:"string"` + + // The ID of the resolver rule that you want to associate with the VPC. To list + // the existing resolver rules, use ListResolverRules. + // + // ResolverRuleId is a required field + ResolverRuleId *string `min:"1" type:"string" required:"true"` + + // The ID of the VPC that you want to associate the resolver rule with. + // + // VPCId is a required field + VPCId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateResolverRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResolverRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateResolverRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateResolverRuleInput"} + if s.ResolverRuleId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverRuleId")) + } + if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1)) + } + if s.VPCId == nil { + invalidParams.Add(request.NewErrParamRequired("VPCId")) + } + if s.VPCId != nil && len(*s.VPCId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VPCId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *AssociateResolverRuleInput) SetName(v string) *AssociateResolverRuleInput { + s.Name = &v + return s +} + +// SetResolverRuleId sets the ResolverRuleId field's value. +func (s *AssociateResolverRuleInput) SetResolverRuleId(v string) *AssociateResolverRuleInput { + s.ResolverRuleId = &v + return s +} + +// SetVPCId sets the VPCId field's value. +func (s *AssociateResolverRuleInput) SetVPCId(v string) *AssociateResolverRuleInput { + s.VPCId = &v + return s +} + +type AssociateResolverRuleOutput struct { + _ struct{} `type:"structure"` + + // Information about the AssociateResolverRule request, including the status + // of the request. + ResolverRuleAssociation *ResolverRuleAssociation `type:"structure"` +} + +// String returns the string representation +func (s AssociateResolverRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResolverRuleOutput) GoString() string { + return s.String() +} + +// SetResolverRuleAssociation sets the ResolverRuleAssociation field's value. +func (s *AssociateResolverRuleOutput) SetResolverRuleAssociation(v *ResolverRuleAssociation) *AssociateResolverRuleOutput { + s.ResolverRuleAssociation = v + return s +} + +type CreateResolverEndpointInput struct { + _ struct{} `type:"structure"` + + // A unique string that identifies the request and that allows failed requests + // to be retried without the risk of executing the operation twice. CreatorRequestId + // can be any unique string, for example, a date/time stamp. + // + // CreatorRequestId is a required field + CreatorRequestId *string `min:"1" type:"string" required:"true"` + + // Specify the applicable value: + // + // * INBOUND: Resolver forwards DNS queries to the DNS service for a VPC + // from your network or another VPC + // + // * OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC + // to your network or another VPC + // + // Direction is a required field + Direction *string `type:"string" required:"true" enum:"ResolverEndpointDirection"` + + // The subnets and IP addresses in your VPC that you want DNS queries to pass + // through on the way from your VPCs to your network (for outbound endpoints) + // or on the way from your network to your VPCs (for inbound resolver endpoints). + // + // IpAddresses is a required field + IpAddresses []*IpAddressRequest `min:"1" type:"list" required:"true"` + + // A friendly name that lets you easily find a configuration in the Resolver + // dashboard in the Route 53 console. + Name *string `type:"string"` + + // The ID of one or more security groups that you want to use to control access + // to this VPC. The security group that you specify must include one or more + // inbound rules (for inbound resolver endpoints) or outbound rules (for outbound + // resolver endpoints). + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `type:"list" required:"true"` + + // A list of the tag keys and values that you want to associate with the endpoint. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateResolverEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResolverEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateResolverEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateResolverEndpointInput"} + if s.CreatorRequestId == nil { + invalidParams.Add(request.NewErrParamRequired("CreatorRequestId")) + } + if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1)) + } + if s.Direction == nil { + invalidParams.Add(request.NewErrParamRequired("Direction")) + } + if s.IpAddresses == nil { + invalidParams.Add(request.NewErrParamRequired("IpAddresses")) + } + if s.IpAddresses != nil && len(s.IpAddresses) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IpAddresses", 1)) + } + if s.SecurityGroupIds == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) + } + if s.IpAddresses != nil { + for i, v := range s.IpAddresses { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IpAddresses", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *CreateResolverEndpointInput) SetCreatorRequestId(v string) *CreateResolverEndpointInput { + s.CreatorRequestId = &v + return s +} + +// SetDirection sets the Direction field's value. +func (s *CreateResolverEndpointInput) SetDirection(v string) *CreateResolverEndpointInput { + s.Direction = &v + return s +} + +// SetIpAddresses sets the IpAddresses field's value. +func (s *CreateResolverEndpointInput) SetIpAddresses(v []*IpAddressRequest) *CreateResolverEndpointInput { + s.IpAddresses = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateResolverEndpointInput) SetName(v string) *CreateResolverEndpointInput { + s.Name = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateResolverEndpointInput) SetSecurityGroupIds(v []*string) *CreateResolverEndpointInput { + s.SecurityGroupIds = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateResolverEndpointInput) SetTags(v []*Tag) *CreateResolverEndpointInput { + s.Tags = v + return s +} + +type CreateResolverEndpointOutput struct { + _ struct{} `type:"structure"` + + // Information about the CreateResolverEndpoint request, including the status + // of the request. + ResolverEndpoint *ResolverEndpoint `type:"structure"` +} + +// String returns the string representation +func (s CreateResolverEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResolverEndpointOutput) GoString() string { + return s.String() +} + +// SetResolverEndpoint sets the ResolverEndpoint field's value. +func (s *CreateResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *CreateResolverEndpointOutput { + s.ResolverEndpoint = v + return s +} + +type CreateResolverRuleInput struct { + _ struct{} `type:"structure"` + + // A unique string that identifies the request and that allows failed requests + // to be retried without the risk of executing the operation twice. CreatorRequestId + // can be any unique string, for example, a date/time stamp. + // + // CreatorRequestId is a required field + CreatorRequestId *string `min:"1" type:"string" required:"true"` + + // DNS queries for this domain name are forwarded to the IP addresses that you + // specify in TargetIps. If a query matches multiple resolver rules (example.com + // and www.example.com), outbound DNS queries are routed using the resolver + // rule that contains the most specific domain name (www.example.com). + // + // DomainName is a required field + DomainName *string `min:"1" type:"string" required:"true"` + + // A friendly name that lets you easily find a rule in the Resolver dashboard + // in the Route 53 console. + Name *string `type:"string"` + + // The ID of the outbound resolver endpoint that you want to use to route DNS + // queries to the IP addresses that you specify in TargetIps. + ResolverEndpointId *string `min:"1" type:"string"` + + // Specify FORWARD. Other resolver rule types aren't supported. + // + // RuleType is a required field + RuleType *string `type:"string" required:"true" enum:"RuleTypeOption"` + + // A list of the tag keys and values that you want to associate with the endpoint. + Tags []*Tag `type:"list"` + + // The IPs that you want Resolver to forward DNS queries to. You can specify + // only IPv4 addresses. Separate IP addresses with a comma. + TargetIps []*TargetAddress `min:"1" type:"list"` +} + +// String returns the string representation +func (s CreateResolverRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResolverRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateResolverRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateResolverRuleInput"} + if s.CreatorRequestId == nil { + invalidParams.Add(request.NewErrParamRequired("CreatorRequestId")) + } + if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1)) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + if s.RuleType == nil { + invalidParams.Add(request.NewErrParamRequired("RuleType")) + } + if s.TargetIps != nil && len(s.TargetIps) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetIps", 1)) + } + if s.TargetIps != nil { + for i, v := range s.TargetIps { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetIps", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *CreateResolverRuleInput) SetCreatorRequestId(v string) *CreateResolverRuleInput { + s.CreatorRequestId = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *CreateResolverRuleInput) SetDomainName(v string) *CreateResolverRuleInput { + s.DomainName = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateResolverRuleInput) SetName(v string) *CreateResolverRuleInput { + s.Name = &v + return s +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *CreateResolverRuleInput) SetResolverEndpointId(v string) *CreateResolverRuleInput { + s.ResolverEndpointId = &v + return s +} + +// SetRuleType sets the RuleType field's value. +func (s *CreateResolverRuleInput) SetRuleType(v string) *CreateResolverRuleInput { + s.RuleType = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateResolverRuleInput) SetTags(v []*Tag) *CreateResolverRuleInput { + s.Tags = v + return s +} + +// SetTargetIps sets the TargetIps field's value. +func (s *CreateResolverRuleInput) SetTargetIps(v []*TargetAddress) *CreateResolverRuleInput { + s.TargetIps = v + return s +} + +type CreateResolverRuleOutput struct { + _ struct{} `type:"structure"` + + // Information about the CreateResolverRule request, including the status of + // the request. + ResolverRule *ResolverRule `type:"structure"` +} + +// String returns the string representation +func (s CreateResolverRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResolverRuleOutput) GoString() string { + return s.String() +} + +// SetResolverRule sets the ResolverRule field's value. +func (s *CreateResolverRuleOutput) SetResolverRule(v *ResolverRule) *CreateResolverRuleOutput { + s.ResolverRule = v + return s +} + +type DeleteResolverEndpointInput struct { + _ struct{} `type:"structure"` + + // The ID of the resolver endpoint that you want to delete. + // + // ResolverEndpointId is a required field + ResolverEndpointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteResolverEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResolverEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResolverEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResolverEndpointInput"} + if s.ResolverEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + } + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *DeleteResolverEndpointInput) SetResolverEndpointId(v string) *DeleteResolverEndpointInput { + s.ResolverEndpointId = &v + return s +} + +type DeleteResolverEndpointOutput struct { + _ struct{} `type:"structure"` + + // Information about the DeleteResolverEndpoint request, including the status + // of the request. + ResolverEndpoint *ResolverEndpoint `type:"structure"` +} + +// String returns the string representation +func (s DeleteResolverEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResolverEndpointOutput) GoString() string { + return s.String() +} + +// SetResolverEndpoint sets the ResolverEndpoint field's value. +func (s *DeleteResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *DeleteResolverEndpointOutput { + s.ResolverEndpoint = v + return s +} + +type DeleteResolverRuleInput struct { + _ struct{} `type:"structure"` + + // The ID of the resolver rule that you want to delete. + // + // ResolverRuleId is a required field + ResolverRuleId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteResolverRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResolverRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResolverRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResolverRuleInput"} + if s.ResolverRuleId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverRuleId")) + } + if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverRuleId sets the ResolverRuleId field's value. +func (s *DeleteResolverRuleInput) SetResolverRuleId(v string) *DeleteResolverRuleInput { + s.ResolverRuleId = &v + return s +} + +type DeleteResolverRuleOutput struct { + _ struct{} `type:"structure"` + + // Information about the DeleteResolverRule request, including the status of + // the request. + ResolverRule *ResolverRule `type:"structure"` +} + +// String returns the string representation +func (s DeleteResolverRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResolverRuleOutput) GoString() string { + return s.String() +} + +// SetResolverRule sets the ResolverRule field's value. +func (s *DeleteResolverRuleOutput) SetResolverRule(v *ResolverRule) *DeleteResolverRuleOutput { + s.ResolverRule = v + return s +} + +type DisassociateResolverEndpointIpAddressInput struct { + _ struct{} `type:"structure"` + + // The IPv4 address that you want to remove from a resolver endpoint. + // + // IpAddress is a required field + IpAddress *IpAddressUpdate `type:"structure" required:"true"` + + // The ID of the resolver endpoint that you want to disassociate an IP address + // from. + // + // ResolverEndpointId is a required field + ResolverEndpointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateResolverEndpointIpAddressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResolverEndpointIpAddressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateResolverEndpointIpAddressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateResolverEndpointIpAddressInput"} + if s.IpAddress == nil { + invalidParams.Add(request.NewErrParamRequired("IpAddress")) + } + if s.ResolverEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + } + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + if s.IpAddress != nil { + if err := s.IpAddress.Validate(); err != nil { + invalidParams.AddNested("IpAddress", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIpAddress sets the IpAddress field's value. +func (s *DisassociateResolverEndpointIpAddressInput) SetIpAddress(v *IpAddressUpdate) *DisassociateResolverEndpointIpAddressInput { + s.IpAddress = v + return s +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *DisassociateResolverEndpointIpAddressInput) SetResolverEndpointId(v string) *DisassociateResolverEndpointIpAddressInput { + s.ResolverEndpointId = &v + return s +} + +type DisassociateResolverEndpointIpAddressOutput struct { + _ struct{} `type:"structure"` + + // The response to an DisassociateResolverEndpointIpAddress request. + ResolverEndpoint *ResolverEndpoint `type:"structure"` +} + +// String returns the string representation +func (s DisassociateResolverEndpointIpAddressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResolverEndpointIpAddressOutput) GoString() string { + return s.String() +} + +// SetResolverEndpoint sets the ResolverEndpoint field's value. +func (s *DisassociateResolverEndpointIpAddressOutput) SetResolverEndpoint(v *ResolverEndpoint) *DisassociateResolverEndpointIpAddressOutput { + s.ResolverEndpoint = v + return s +} + +type DisassociateResolverRuleInput struct { + _ struct{} `type:"structure"` + + // The ID of the resolver rule that you want to disassociate from the specified + // VPC. + // + // ResolverRuleId is a required field + ResolverRuleId *string `min:"1" type:"string" required:"true"` + + // The ID of the VPC that you want to disassociate the resolver rule from. + // + // VPCId is a required field + VPCId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateResolverRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResolverRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateResolverRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateResolverRuleInput"} + if s.ResolverRuleId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverRuleId")) + } + if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1)) + } + if s.VPCId == nil { + invalidParams.Add(request.NewErrParamRequired("VPCId")) + } + if s.VPCId != nil && len(*s.VPCId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VPCId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverRuleId sets the ResolverRuleId field's value. +func (s *DisassociateResolverRuleInput) SetResolverRuleId(v string) *DisassociateResolverRuleInput { + s.ResolverRuleId = &v + return s +} + +// SetVPCId sets the VPCId field's value. +func (s *DisassociateResolverRuleInput) SetVPCId(v string) *DisassociateResolverRuleInput { + s.VPCId = &v + return s +} + +type DisassociateResolverRuleOutput struct { + _ struct{} `type:"structure"` + + // Information about the DisassociateResolverRule request, including the status + // of the request. + ResolverRuleAssociation *ResolverRuleAssociation `type:"structure"` +} + +// String returns the string representation +func (s DisassociateResolverRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResolverRuleOutput) GoString() string { + return s.String() +} + +// SetResolverRuleAssociation sets the ResolverRuleAssociation field's value. +func (s *DisassociateResolverRuleOutput) SetResolverRuleAssociation(v *ResolverRuleAssociation) *DisassociateResolverRuleOutput { + s.ResolverRuleAssociation = v + return s +} + +// For List operations, an optional specification to return a subset of objects, +// such as resolver endpoints or resolver rules. +type Filter struct { + _ struct{} `type:"structure"` + + // When you're using a List operation and you want the operation to return a + // subset of objects, such as resolver endpoints or resolver rules, the name + // of the parameter that you want to use to filter objects. For example, to + // list only inbound resolver endpoints, specify Direction for the value of + // Name. + Name *string `min:"1" type:"string"` + + // When you're using a List operation and you want the operation to return a + // subset of objects, such as resolver endpoints or resolver rules, the value + // of the parameter that you want to use to filter objects. For example, to + // list only inbound resolver endpoints, specify INBOUND for the value of Values. + Values []*string `type:"list"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + 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 *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v + return s +} + +type GetResolverEndpointInput struct { + _ struct{} `type:"structure"` + + // The ID of the resolver endpoint that you want to get information about. + // + // ResolverEndpointId is a required field + ResolverEndpointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetResolverEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResolverEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverEndpointInput"} + if s.ResolverEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + } + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *GetResolverEndpointInput) SetResolverEndpointId(v string) *GetResolverEndpointInput { + s.ResolverEndpointId = &v + return s +} + +type GetResolverEndpointOutput struct { + _ struct{} `type:"structure"` + + // Information about the resolver endpoint that you specified in a GetResolverEndpoint + // request. + ResolverEndpoint *ResolverEndpoint `type:"structure"` +} + +// String returns the string representation +func (s GetResolverEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverEndpointOutput) GoString() string { + return s.String() +} + +// SetResolverEndpoint sets the ResolverEndpoint field's value. +func (s *GetResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *GetResolverEndpointOutput { + s.ResolverEndpoint = v + return s +} + +type GetResolverRuleAssociationInput struct { + _ struct{} `type:"structure"` + + // The ID of the resolver rule association that you want to get information + // about. + // + // ResolverRuleAssociationId is a required field + ResolverRuleAssociationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetResolverRuleAssociationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverRuleAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResolverRuleAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverRuleAssociationInput"} + if s.ResolverRuleAssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverRuleAssociationId")) + } + if s.ResolverRuleAssociationId != nil && len(*s.ResolverRuleAssociationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverRuleAssociationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverRuleAssociationId sets the ResolverRuleAssociationId field's value. +func (s *GetResolverRuleAssociationInput) SetResolverRuleAssociationId(v string) *GetResolverRuleAssociationInput { + s.ResolverRuleAssociationId = &v + return s +} + +type GetResolverRuleAssociationOutput struct { + _ struct{} `type:"structure"` + + // Information about the resolver rule association that you specified in a GetResolverRuleAssociation + // request. + ResolverRuleAssociation *ResolverRuleAssociation `type:"structure"` +} + +// String returns the string representation +func (s GetResolverRuleAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverRuleAssociationOutput) GoString() string { + return s.String() +} + +// SetResolverRuleAssociation sets the ResolverRuleAssociation field's value. +func (s *GetResolverRuleAssociationOutput) SetResolverRuleAssociation(v *ResolverRuleAssociation) *GetResolverRuleAssociationOutput { + s.ResolverRuleAssociation = v + return s +} + +type GetResolverRuleInput struct { + _ struct{} `type:"structure"` + + // The ID of the resolver rule that you want to get information about. + // + // ResolverRuleId is a required field + ResolverRuleId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetResolverRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResolverRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverRuleInput"} + if s.ResolverRuleId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverRuleId")) + } + if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverRuleId sets the ResolverRuleId field's value. +func (s *GetResolverRuleInput) SetResolverRuleId(v string) *GetResolverRuleInput { + s.ResolverRuleId = &v + return s +} + +type GetResolverRuleOutput struct { + _ struct{} `type:"structure"` + + // Information about the resolver rule that you specified in a GetResolverRule + // request. + ResolverRule *ResolverRule `type:"structure"` +} + +// String returns the string representation +func (s GetResolverRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverRuleOutput) GoString() string { + return s.String() +} + +// SetResolverRule sets the ResolverRule field's value. +func (s *GetResolverRuleOutput) SetResolverRule(v *ResolverRule) *GetResolverRuleOutput { + s.ResolverRule = v + return s +} + +type GetResolverRulePolicyInput struct { + _ struct{} `type:"structure"` + + // The ID of the resolver rule policy that you want to get information about. + // + // Arn is a required field + Arn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetResolverRulePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverRulePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResolverRulePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverRulePolicyInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *GetResolverRulePolicyInput) SetArn(v string) *GetResolverRulePolicyInput { + s.Arn = &v + return s +} + +type GetResolverRulePolicyOutput struct { + _ struct{} `type:"structure"` + + // Information about the resolver rule policy that you specified in a GetResolverRulePolicy + // request. + ResolverRulePolicy *string `type:"string"` +} + +// String returns the string representation +func (s GetResolverRulePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverRulePolicyOutput) GoString() string { + return s.String() +} + +// SetResolverRulePolicy sets the ResolverRulePolicy field's value. +func (s *GetResolverRulePolicyOutput) SetResolverRulePolicy(v string) *GetResolverRulePolicyOutput { + s.ResolverRulePolicy = &v + return s +} + +// In an CreateResolverEndpoint request, a subnet and IP address that you want +// to use for DNS queries. +type IpAddressRequest struct { + _ struct{} `type:"structure"` + + // The IP address that you want to use for DNS queries. + Ip *string `min:"7" type:"string"` + + // The subnet that contains the IP address. + // + // SubnetId is a required field + SubnetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s IpAddressRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IpAddressRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IpAddressRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IpAddressRequest"} + if s.Ip != nil && len(*s.Ip) < 7 { + invalidParams.Add(request.NewErrParamMinLen("Ip", 7)) + } + if s.SubnetId == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetId")) + } + if s.SubnetId != nil && len(*s.SubnetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIp sets the Ip field's value. +func (s *IpAddressRequest) SetIp(v string) *IpAddressRequest { + s.Ip = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *IpAddressRequest) SetSubnetId(v string) *IpAddressRequest { + s.SubnetId = &v + return s +} + +// In the response to a GetResolverEndpoint request, information about the IP +// addresses that the resolver endpoint uses for DNS queries. +type IpAddressResponse struct { + _ struct{} `type:"structure"` + + // The date and time that the IP address was created, in Unix time format and + // Coordinated Universal Time (UTC). + CreationTime *string `min:"20" type:"string"` + + // One IP address that the resolver endpoint uses for DNS queries. + Ip *string `min:"7" type:"string"` + + // The ID of one IP address. + IpId *string `min:"1" type:"string"` + + // The date and time that the IP address was last modified, in Unix time format + // and Coordinated Universal Time (UTC). + ModificationTime *string `min:"20" type:"string"` + + // A status code that gives the current status of the request. + Status *string `type:"string" enum:"IpAddressStatus"` + + // A message that provides additional information about the status of the request. + StatusMessage *string `type:"string"` + + // The ID of one subnet. + SubnetId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s IpAddressResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IpAddressResponse) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *IpAddressResponse) SetCreationTime(v string) *IpAddressResponse { + s.CreationTime = &v + return s +} + +// SetIp sets the Ip field's value. +func (s *IpAddressResponse) SetIp(v string) *IpAddressResponse { + s.Ip = &v + return s +} + +// SetIpId sets the IpId field's value. +func (s *IpAddressResponse) SetIpId(v string) *IpAddressResponse { + s.IpId = &v + return s +} + +// SetModificationTime sets the ModificationTime field's value. +func (s *IpAddressResponse) SetModificationTime(v string) *IpAddressResponse { + s.ModificationTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *IpAddressResponse) SetStatus(v string) *IpAddressResponse { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *IpAddressResponse) SetStatusMessage(v string) *IpAddressResponse { + s.StatusMessage = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *IpAddressResponse) SetSubnetId(v string) *IpAddressResponse { + s.SubnetId = &v + return s +} + +// In an UpdateResolverEndpoint request, information about an IP address to +// update. +type IpAddressUpdate struct { + _ struct{} `type:"structure"` + + // The new IP address. + Ip *string `min:"7" type:"string"` + + // Only when removing an IP address from a resolver endpoint: The ID of the + // IP address that you want to remove. To get this ID, use GetResolverEndpoint. + IpId *string `min:"1" type:"string"` + + // The ID of the subnet that includes the IP address that you want to update. + // To get this ID, use GetResolverEndpoint. + SubnetId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s IpAddressUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IpAddressUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IpAddressUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IpAddressUpdate"} + if s.Ip != nil && len(*s.Ip) < 7 { + invalidParams.Add(request.NewErrParamMinLen("Ip", 7)) + } + if s.IpId != nil && len(*s.IpId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IpId", 1)) + } + if s.SubnetId != nil && len(*s.SubnetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIp sets the Ip field's value. +func (s *IpAddressUpdate) SetIp(v string) *IpAddressUpdate { + s.Ip = &v + return s +} + +// SetIpId sets the IpId field's value. +func (s *IpAddressUpdate) SetIpId(v string) *IpAddressUpdate { + s.IpId = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *IpAddressUpdate) SetSubnetId(v string) *IpAddressUpdate { + s.SubnetId = &v + return s +} + +type ListResolverEndpointIpAddressesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of IP addresses that you want to return in the response + // to a ListResolverEndpointIpAddresses request. If you don't specify a value + // for MaxResults, Resolver returns up to 100 IP addresses. + MaxResults *int64 `min:"1" type:"integer"` + + // For the first ListResolverEndpointIpAddresses request, omit this value. + // + // If the specified resolver endpoint has more than MaxResults IP addresses, + // you can submit another ListResolverEndpointIpAddresses request to get the + // next group of IP addresses. In the next request, specify the value of NextToken + // from the previous response. + NextToken *string `type:"string"` + + // The ID of the resolver endpoint that you want to get IP addresses for. + // + // ResolverEndpointId is a required field + ResolverEndpointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListResolverEndpointIpAddressesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResolverEndpointIpAddressesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListResolverEndpointIpAddressesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverEndpointIpAddressesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResolverEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + } + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverEndpointIpAddressesInput) SetMaxResults(v int64) *ListResolverEndpointIpAddressesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResolverEndpointIpAddressesInput) SetNextToken(v string) *ListResolverEndpointIpAddressesInput { + s.NextToken = &v + return s +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *ListResolverEndpointIpAddressesInput) SetResolverEndpointId(v string) *ListResolverEndpointIpAddressesInput { + s.ResolverEndpointId = &v + return s +} + +type ListResolverEndpointIpAddressesOutput struct { + _ struct{} `type:"structure"` + + // The IP addresses that DNS queries pass through on their way to your network + // (outbound endpoint) or on the way to Resolver (inbound endpoint). + IpAddresses []*IpAddressResponse `type:"list"` + + // The value that you specified for MaxResults in the request. + MaxResults *int64 `min:"1" type:"integer"` + + // If the specified endpoint has more than MaxResults IP addresses, you can + // submit another ListResolverEndpointIpAddresses request to get the next group + // of IP addresses. In the next request, specify the value of NextToken from + // the previous response. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListResolverEndpointIpAddressesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResolverEndpointIpAddressesOutput) GoString() string { + return s.String() +} + +// SetIpAddresses sets the IpAddresses field's value. +func (s *ListResolverEndpointIpAddressesOutput) SetIpAddresses(v []*IpAddressResponse) *ListResolverEndpointIpAddressesOutput { + s.IpAddresses = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverEndpointIpAddressesOutput) SetMaxResults(v int64) *ListResolverEndpointIpAddressesOutput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResolverEndpointIpAddressesOutput) SetNextToken(v string) *ListResolverEndpointIpAddressesOutput { + s.NextToken = &v + return s +} + +type ListResolverEndpointsInput struct { + _ struct{} `type:"structure"` + + // An optional specification to return a subset of resolver endpoints, such + // as all inbound resolver endpoints. + // + // If you submit a second or subsequent ListResolverEndpoints request and specify + // the NextToken parameter, you must use the same values for Filters, if any, + // as in the previous request. + Filters []*Filter `type:"list"` + + // The maximum number of resolver endpoints that you want to return in the response + // to a ListResolverEndpoints request. If you don't specify a value for MaxResults, + // Resolver returns up to 100 resolver endpoints. + MaxResults *int64 `min:"1" type:"integer"` + + // For the first ListResolverEndpoints request, omit this value. + // + // If you have more than MaxResults resolver endpoints, you can submit another + // ListResolverEndpoints request to get the next group of resolver endpoints. + // In the next request, specify the value of NextToken from the previous response. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListResolverEndpointsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResolverEndpointsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListResolverEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverEndpointsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *ListResolverEndpointsInput) SetFilters(v []*Filter) *ListResolverEndpointsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverEndpointsInput) SetMaxResults(v int64) *ListResolverEndpointsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResolverEndpointsInput) SetNextToken(v string) *ListResolverEndpointsInput { + s.NextToken = &v + return s +} + +type ListResolverEndpointsOutput struct { + _ struct{} `type:"structure"` + + // The value that you specified for MaxResults in the request. + MaxResults *int64 `min:"1" type:"integer"` + + // If more than MaxResults IP addresses match the specified criteria, you can + // submit another ListResolverEndpoint request to get the next group of results. + // In the next request, specify the value of NextToken from the previous response. + NextToken *string `type:"string"` + + // The resolver endpoints that were created by using the current AWS account, + // and that match the specified filters, if any. + ResolverEndpoints []*ResolverEndpoint `type:"list"` +} + +// String returns the string representation +func (s ListResolverEndpointsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResolverEndpointsOutput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverEndpointsOutput) SetMaxResults(v int64) *ListResolverEndpointsOutput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResolverEndpointsOutput) SetNextToken(v string) *ListResolverEndpointsOutput { + s.NextToken = &v + return s +} + +// SetResolverEndpoints sets the ResolverEndpoints field's value. +func (s *ListResolverEndpointsOutput) SetResolverEndpoints(v []*ResolverEndpoint) *ListResolverEndpointsOutput { + s.ResolverEndpoints = v + return s +} + +type ListResolverRuleAssociationsInput struct { + _ struct{} `type:"structure"` + + // An optional specification to return a subset of resolver rules, such as resolver + // rules that are associated with the same VPC ID. + // + // If you submit a second or subsequent ListResolverRuleAssociations request + // and specify the NextToken parameter, you must use the same values for Filters, + // if any, as in the previous request. + Filters []*Filter `type:"list"` + + // The maximum number of rule associations that you want to return in the response + // to a ListResolverRuleAssociations request. If you don't specify a value for + // MaxResults, Resolver returns up to 100 rule associations. + MaxResults *int64 `min:"1" type:"integer"` + + // For the first ListResolverRuleAssociation request, omit this value. + // + // If you have more than MaxResults rule associations, you can submit another + // ListResolverRuleAssociation request to get the next group of rule associations. + // In the next request, specify the value of NextToken from the previous response. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListResolverRuleAssociationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResolverRuleAssociationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListResolverRuleAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverRuleAssociationsInput"} + 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 *ListResolverRuleAssociationsInput) SetFilters(v []*Filter) *ListResolverRuleAssociationsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverRuleAssociationsInput) SetMaxResults(v int64) *ListResolverRuleAssociationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResolverRuleAssociationsInput) SetNextToken(v string) *ListResolverRuleAssociationsInput { + s.NextToken = &v + return s +} + +type ListResolverRuleAssociationsOutput struct { + _ struct{} `type:"structure"` + + // The value that you specified for MaxResults in the request. + MaxResults *int64 `min:"1" type:"integer"` + + // If more than MaxResults rule associations match the specified criteria, you + // can submit another ListResolverRuleAssociation request to get the next group + // of results. In the next request, specify the value of NextToken from the + // previous response. + NextToken *string `type:"string"` + + // The associations that were created between resolver rules and VPCs using + // the current AWS account, and that match the specified filters, if any. + ResolverRuleAssociations []*ResolverRuleAssociation `type:"list"` +} + +// String returns the string representation +func (s ListResolverRuleAssociationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResolverRuleAssociationsOutput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverRuleAssociationsOutput) SetMaxResults(v int64) *ListResolverRuleAssociationsOutput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResolverRuleAssociationsOutput) SetNextToken(v string) *ListResolverRuleAssociationsOutput { + s.NextToken = &v + return s +} + +// SetResolverRuleAssociations sets the ResolverRuleAssociations field's value. +func (s *ListResolverRuleAssociationsOutput) SetResolverRuleAssociations(v []*ResolverRuleAssociation) *ListResolverRuleAssociationsOutput { + s.ResolverRuleAssociations = v + return s +} + +type ListResolverRulesInput struct { + _ struct{} `type:"structure"` + + // An optional specification to return a subset of resolver rules, such as all + // resolver rules that are associated with the same resolver endpoint. + // + // If you submit a second or subsequent ListResolverRules request and specify + // the NextToken parameter, you must use the same values for Filters, if any, + // as in the previous request. + Filters []*Filter `type:"list"` + + // The maximum number of resolver rules that you want to return in the response + // to a ListResolverRules request. If you don't specify a value for MaxResults, + // Resolver returns up to 100 resolver rules. + MaxResults *int64 `min:"1" type:"integer"` + + // For the first ListResolverRules request, omit this value. + // + // If you have more than MaxResults resolver rules, you can submit another ListResolverRules + // request to get the next group of resolver rules. In the next request, specify + // the value of NextToken from the previous response. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListResolverRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResolverRulesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListResolverRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverRulesInput"} + 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 *ListResolverRulesInput) SetFilters(v []*Filter) *ListResolverRulesInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverRulesInput) SetMaxResults(v int64) *ListResolverRulesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResolverRulesInput) SetNextToken(v string) *ListResolverRulesInput { + s.NextToken = &v + return s +} + +type ListResolverRulesOutput struct { + _ struct{} `type:"structure"` + + // The value that you specified for MaxResults in the request. + MaxResults *int64 `min:"1" type:"integer"` + + // If more than MaxResults resolver rules match the specified criteria, you + // can submit another ListResolverRules request to get the next group of results. + // In the next request, specify the value of NextToken from the previous response. + NextToken *string `type:"string"` + + // The resolver rules that were created using the current AWS account and that + // match the specified filters, if any. + ResolverRules []*ResolverRule `type:"list"` +} + +// String returns the string representation +func (s ListResolverRulesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResolverRulesOutput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverRulesOutput) SetMaxResults(v int64) *ListResolverRulesOutput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResolverRulesOutput) SetNextToken(v string) *ListResolverRulesOutput { + s.NextToken = &v + return s +} + +// SetResolverRules sets the ResolverRules field's value. +func (s *ListResolverRulesOutput) SetResolverRules(v []*ResolverRule) *ListResolverRulesOutput { + s.ResolverRules = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The maximum number of tags that you want to return in the response to a ListTagsForResource + // request. If you don't specify a value for MaxResults, Resolver returns up + // to 100 tags. + MaxResults *int64 `min:"1" type:"integer"` + + // For the first ListTagsForResource request, omit this value. + // + // If you have more than MaxResults tags, you can submit another ListTagsForResource + // request to get the next group of tags for the resource. In the next request, + // specify the value of NextToken from the previous response. + NextToken *string `type:"string"` + + // The Amazon Resource Name (ARN) for the resource that you want to list tags + // for. + // + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` +} + +// 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.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { + s.NextToken = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // If more than MaxResults tags match the specified criteria, you can submit + // another ListTagsForResource request to get the next group of results. In + // the next request, specify the value of NextToken from the previous response. + NextToken *string `type:"string"` + + // The tags that are associated with the resource that you specified in the + // ListTagsForResource request. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { + s.NextToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type PutResolverRulePolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the account that you want to grant permissions + // to. + // + // Arn is a required field + Arn *string `min:"1" type:"string" required:"true"` + + // An AWS Identity and Access Management policy statement that lists the permissions + // that you want to grant to another AWS account. + // + // ResolverRulePolicy is a required field + ResolverRulePolicy *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s PutResolverRulePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResolverRulePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutResolverRulePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutResolverRulePolicyInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.ResolverRulePolicy == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverRulePolicy")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *PutResolverRulePolicyInput) SetArn(v string) *PutResolverRulePolicyInput { + s.Arn = &v + return s +} + +// SetResolverRulePolicy sets the ResolverRulePolicy field's value. +func (s *PutResolverRulePolicyInput) SetResolverRulePolicy(v string) *PutResolverRulePolicyInput { + s.ResolverRulePolicy = &v + return s +} + +// The response to a PutResolverRulePolicy request. +type PutResolverRulePolicyOutput struct { + _ struct{} `type:"structure"` + + // Whether the PutResolverRulePolicy request was successful. + ReturnValue *bool `type:"boolean"` +} + +// String returns the string representation +func (s PutResolverRulePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResolverRulePolicyOutput) GoString() string { + return s.String() +} + +// SetReturnValue sets the ReturnValue field's value. +func (s *PutResolverRulePolicyOutput) SetReturnValue(v bool) *PutResolverRulePolicyOutput { + s.ReturnValue = &v + return s +} + +// In the response to a CreateResolverEndpoint, DeleteResolverEndpoint, GetResolverEndpoint, +// ListResolverEndpoints, or UpdateResolverEndpoint request, a complex type +// that contains settings for an existing inbound or outbound resolver endpoint. +type ResolverEndpoint struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon Resource Name) for the resolver endpoint. + Arn *string `min:"1" type:"string"` + + // The date and time that the endpoint was created, in Unix time format and + // Coordinated Universal Time (UTC). + CreationTime *string `min:"20" type:"string"` + + // A unique string that identifies the request that created the resolver endpoint. + // The CreatorRequestId allows failed requests to be retried without the risk + // of executing the operation twice. + CreatorRequestId *string `min:"1" type:"string"` + + // Indicates whether the resolver endpoint allows inbound or outbound DNS queries: + // + // * INBOUND: allows DNS queries to your VPC from your network or another + // VPC + // + // * OUTBOUND: allows DNS queries from your VPC to your network or another + // VPC + Direction *string `type:"string" enum:"ResolverEndpointDirection"` + + // The ID of the VPC that you want to create the resolver endpoint in. + HostVPCId *string `min:"1" type:"string"` + + // The ID of the resolver endpoint. + Id *string `min:"1" type:"string"` + + // The number of IP addresses that the resolver endpoint can use for DNS queries. + IpAddressCount *int64 `type:"integer"` + + // The date and time that the endpoint was last modified, in Unix time format + // and Coordinated Universal Time (UTC). + ModificationTime *string `min:"20" type:"string"` + + // The name that you assigned to the resolver endpoint when you submitted a + // CreateResolverEndpoint request. + Name *string `type:"string"` + + // The ID of one or more security groups that control access to this VPC. The + // security group must include one or more inbound resolver rules. + SecurityGroupIds []*string `type:"list"` + + // A code that specifies the current status of the resolver endpoint. + Status *string `type:"string" enum:"ResolverEndpointStatus"` + + // A detailed description of the status of the resolver endpoint. + StatusMessage *string `type:"string"` +} + +// String returns the string representation +func (s ResolverEndpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResolverEndpoint) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ResolverEndpoint) SetArn(v string) *ResolverEndpoint { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ResolverEndpoint) SetCreationTime(v string) *ResolverEndpoint { + s.CreationTime = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *ResolverEndpoint) SetCreatorRequestId(v string) *ResolverEndpoint { + s.CreatorRequestId = &v + return s +} + +// SetDirection sets the Direction field's value. +func (s *ResolverEndpoint) SetDirection(v string) *ResolverEndpoint { + s.Direction = &v + return s +} + +// SetHostVPCId sets the HostVPCId field's value. +func (s *ResolverEndpoint) SetHostVPCId(v string) *ResolverEndpoint { + s.HostVPCId = &v + return s +} + +// SetId sets the Id field's value. +func (s *ResolverEndpoint) SetId(v string) *ResolverEndpoint { + s.Id = &v + return s +} + +// SetIpAddressCount sets the IpAddressCount field's value. +func (s *ResolverEndpoint) SetIpAddressCount(v int64) *ResolverEndpoint { + s.IpAddressCount = &v + return s +} + +// SetModificationTime sets the ModificationTime field's value. +func (s *ResolverEndpoint) SetModificationTime(v string) *ResolverEndpoint { + s.ModificationTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *ResolverEndpoint) SetName(v string) *ResolverEndpoint { + s.Name = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *ResolverEndpoint) SetSecurityGroupIds(v []*string) *ResolverEndpoint { + s.SecurityGroupIds = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResolverEndpoint) SetStatus(v string) *ResolverEndpoint { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *ResolverEndpoint) SetStatusMessage(v string) *ResolverEndpoint { + s.StatusMessage = &v + return s +} + +// For queries that originate in your VPC, detailed information about a resolver +// rule, which specifies how to route DNS queries out of the VPC. The ResolverRule +// parameter appears in the response to a CreateResolverRule, DeleteResolverRule, +// GetResolverRule, ListResolverRules, or UpdateResolverRule request. +type ResolverRule struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon Resource Name) for the resolver rule specified by Id. + Arn *string `min:"1" type:"string"` + + // A unique string that you specified when you created the resolver rule. CreatorRequestIdidentifies + // the request and allows failed requests to be retried without the risk of + // executing the operation twice. + CreatorRequestId *string `min:"1" type:"string"` + + // DNS queries for this domain name are forwarded to the IP addresses that are + // specified in TargetIps. If a query matches multiple resolver rules (example.com + // and www.example.com), the query is routed using the resolver rule that contains + // the most specific domain name (www.example.com). + DomainName *string `min:"1" type:"string"` + + // The ID that Resolver assigned to the resolver rule when you created it. + Id *string `min:"1" type:"string"` + + // The name for the resolver rule, which you specified when you created the + // resolver rule. + Name *string `type:"string"` + + // When a rule is shared with another AWS account, the account ID of the account + // that the rule is shared with. + OwnerId *string `min:"12" type:"string"` + + // The ID of the endpoint that the rule is associated with. + ResolverEndpointId *string `min:"1" type:"string"` + + // This value is always FORWARD. Other resolver rule types aren't supported. + RuleType *string `type:"string" enum:"RuleTypeOption"` + + // Whether the rules is shared and, if so, whether the current account is sharing + // the rule with another account, or another account is sharing the rule with + // the current account. + ShareStatus *string `type:"string" enum:"ShareStatus"` + + // A code that specifies the current status of the resolver rule. + Status *string `type:"string" enum:"ResolverRuleStatus"` + + // A detailed description of the status of a resolver rule. + StatusMessage *string `type:"string"` + + // An array that contains the IP addresses and ports that you want to forward + TargetIps []*TargetAddress `min:"1" type:"list"` +} + +// String returns the string representation +func (s ResolverRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResolverRule) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ResolverRule) SetArn(v string) *ResolverRule { + s.Arn = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *ResolverRule) SetCreatorRequestId(v string) *ResolverRule { + s.CreatorRequestId = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *ResolverRule) SetDomainName(v string) *ResolverRule { + s.DomainName = &v + return s +} + +// SetId sets the Id field's value. +func (s *ResolverRule) SetId(v string) *ResolverRule { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *ResolverRule) SetName(v string) *ResolverRule { + s.Name = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *ResolverRule) SetOwnerId(v string) *ResolverRule { + s.OwnerId = &v + return s +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *ResolverRule) SetResolverEndpointId(v string) *ResolverRule { + s.ResolverEndpointId = &v + return s +} + +// SetRuleType sets the RuleType field's value. +func (s *ResolverRule) SetRuleType(v string) *ResolverRule { + s.RuleType = &v + return s +} + +// SetShareStatus sets the ShareStatus field's value. +func (s *ResolverRule) SetShareStatus(v string) *ResolverRule { + s.ShareStatus = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResolverRule) SetStatus(v string) *ResolverRule { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *ResolverRule) SetStatusMessage(v string) *ResolverRule { + s.StatusMessage = &v + return s +} + +// SetTargetIps sets the TargetIps field's value. +func (s *ResolverRule) SetTargetIps(v []*TargetAddress) *ResolverRule { + s.TargetIps = v + return s +} + +// In the response to an AssociateResolverRule, DisassociateResolverRule, or +// ListResolverRuleAssociations request, information about an association between +// a resolver rule and a VPC. +type ResolverRuleAssociation struct { + _ struct{} `type:"structure"` + + // The ID of the association between a resolver rule and a VPC. Resolver assigns + // this value when you submit an AssociateResolverRule request. + Id *string `min:"1" type:"string"` + + // The name of an association between a resolver rule and a VPC. + Name *string `type:"string"` + + // The ID of the resolver rule that you associated with the VPC that is specified + // by VPCId. + ResolverRuleId *string `min:"1" type:"string"` + + // A code that specifies the current status of the association between a resolver + // rule and a VPC. + Status *string `type:"string" enum:"ResolverRuleAssociationStatus"` + + // A detailed description of the status of the association between a resolver + // rule and a VPC. + StatusMessage *string `type:"string"` + + // The ID of the VPC that you associated the resolver rule with. + VPCId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ResolverRuleAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResolverRuleAssociation) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *ResolverRuleAssociation) SetId(v string) *ResolverRuleAssociation { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *ResolverRuleAssociation) SetName(v string) *ResolverRuleAssociation { + s.Name = &v + return s +} + +// SetResolverRuleId sets the ResolverRuleId field's value. +func (s *ResolverRuleAssociation) SetResolverRuleId(v string) *ResolverRuleAssociation { + s.ResolverRuleId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResolverRuleAssociation) SetStatus(v string) *ResolverRuleAssociation { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *ResolverRuleAssociation) SetStatusMessage(v string) *ResolverRuleAssociation { + s.StatusMessage = &v + return s +} + +// SetVPCId sets the VPCId field's value. +func (s *ResolverRuleAssociation) SetVPCId(v string) *ResolverRuleAssociation { + s.VPCId = &v + return s +} + +// In an UpdateResolverRule request, information about the changes that you +// want to make. +type ResolverRuleConfig struct { + _ struct{} `type:"structure"` + + // The new name for the resolver rule. The name that you specify appears in + // the Resolver dashboard in the Route 53 console. + Name *string `type:"string"` + + // The ID of the new outbound resolver endpoint that you want to use to route + // DNS queries to the IP addresses that you specify in TargetIps. + ResolverEndpointId *string `min:"1" type:"string"` + + // For DNS queries that originate in your VPC, the new IP addresses that you + // want to route outbound DNS queries to. + TargetIps []*TargetAddress `min:"1" type:"list"` +} + +// String returns the string representation +func (s ResolverRuleConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResolverRuleConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResolverRuleConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResolverRuleConfig"} + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + if s.TargetIps != nil && len(s.TargetIps) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetIps", 1)) + } + if s.TargetIps != nil { + for i, v := range s.TargetIps { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetIps", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *ResolverRuleConfig) SetName(v string) *ResolverRuleConfig { + s.Name = &v + return s +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *ResolverRuleConfig) SetResolverEndpointId(v string) *ResolverRuleConfig { + s.ResolverEndpointId = &v + return s +} + +// SetTargetIps sets the TargetIps field's value. +func (s *ResolverRuleConfig) SetTargetIps(v []*TargetAddress) *ResolverRuleConfig { + s.TargetIps = v + return s +} + +// One tag that you want to add to the specified resource. A tag consists of +// a Key (a name for the tag) and a Value. +type Tag struct { + _ struct{} `type:"structure"` + + // The name for the tag. For example, if you want to associate Resolver resources + // with the account IDs of your customers for billing purposes, the value of + // Key might be account-id. + Key *string `type:"string"` + + // The value for the tag. For example, if Key is account-id, then Value might + // be the ID of the customer account that you're creating the resource for. + Value *string `type:"string"` +} + +// 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() +} + +// 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 +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the resource that you want to add tags + // to. To get the ARN for a resource, use the applicable Get or List command: + // + // * GetResolverEndpoint + // + // * GetResolverRule + // + // * GetResolverRuleAssociation + // + // * ListResolverEndpoints + // + // * ListResolverRuleAssociations + // + // * ListResolverRules + // + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` + + // The tags that you want to add to the specified resource. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// In a CreateResolverRule request, an array of the IPs that you want to forward +// DNS queries to. +type TargetAddress struct { + _ struct{} `type:"structure"` + + // One IP address that you want to forward DNS queries to. You can specify only + // IPv4 addresses. + // + // Ip is a required field + Ip *string `min:"7" type:"string" required:"true"` + + // The port at Ip that you want to forward DNS queries to. + Port *int64 `type:"integer"` +} + +// String returns the string representation +func (s TargetAddress) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetAddress) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TargetAddress) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TargetAddress"} + if s.Ip == nil { + invalidParams.Add(request.NewErrParamRequired("Ip")) + } + if s.Ip != nil && len(*s.Ip) < 7 { + invalidParams.Add(request.NewErrParamMinLen("Ip", 7)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIp sets the Ip field's value. +func (s *TargetAddress) SetIp(v string) *TargetAddress { + s.Ip = &v + return s +} + +// SetPort sets the Port field's value. +func (s *TargetAddress) SetPort(v int64) *TargetAddress { + s.Port = &v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the resource that you want to remove tags + // from. To get the ARN for a resource, use the applicable Get or List command: + // + // * GetResolverEndpoint + // + // * GetResolverRule + // + // * GetResolverRuleAssociation + // + // * ListResolverEndpoints + // + // * ListResolverRuleAssociations + // + // * ListResolverRules + // + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` + + // The tags that you want to remove to the specified resource. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateResolverEndpointInput struct { + _ struct{} `type:"structure"` + + // The name of the resolver endpoint that you want to update. + Name *string `type:"string"` + + // The ID of the resolver endpoint that you want to update. + // + // ResolverEndpointId is a required field + ResolverEndpointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateResolverEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateResolverEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateResolverEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateResolverEndpointInput"} + if s.ResolverEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + } + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *UpdateResolverEndpointInput) SetName(v string) *UpdateResolverEndpointInput { + s.Name = &v + return s +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *UpdateResolverEndpointInput) SetResolverEndpointId(v string) *UpdateResolverEndpointInput { + s.ResolverEndpointId = &v + return s +} + +type UpdateResolverEndpointOutput struct { + _ struct{} `type:"structure"` + + // The response to an UpdateResolverEndpoint request. + ResolverEndpoint *ResolverEndpoint `type:"structure"` +} + +// String returns the string representation +func (s UpdateResolverEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateResolverEndpointOutput) GoString() string { + return s.String() +} + +// SetResolverEndpoint sets the ResolverEndpoint field's value. +func (s *UpdateResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *UpdateResolverEndpointOutput { + s.ResolverEndpoint = v + return s +} + +type UpdateResolverRuleInput struct { + _ struct{} `type:"structure"` + + // The new settings for the resolver rule. + // + // Config is a required field + Config *ResolverRuleConfig `type:"structure" required:"true"` + + // The ID of the resolver rule that you want to update. + // + // ResolverRuleId is a required field + ResolverRuleId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateResolverRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateResolverRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateResolverRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateResolverRuleInput"} + if s.Config == nil { + invalidParams.Add(request.NewErrParamRequired("Config")) + } + if s.ResolverRuleId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverRuleId")) + } + if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1)) + } + if s.Config != nil { + if err := s.Config.Validate(); err != nil { + invalidParams.AddNested("Config", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfig sets the Config field's value. +func (s *UpdateResolverRuleInput) SetConfig(v *ResolverRuleConfig) *UpdateResolverRuleInput { + s.Config = v + return s +} + +// SetResolverRuleId sets the ResolverRuleId field's value. +func (s *UpdateResolverRuleInput) SetResolverRuleId(v string) *UpdateResolverRuleInput { + s.ResolverRuleId = &v + return s +} + +type UpdateResolverRuleOutput struct { + _ struct{} `type:"structure"` + + // The response to an UpdateResolverRule request. + ResolverRule *ResolverRule `type:"structure"` +} + +// String returns the string representation +func (s UpdateResolverRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateResolverRuleOutput) GoString() string { + return s.String() +} + +// SetResolverRule sets the ResolverRule field's value. +func (s *UpdateResolverRuleOutput) SetResolverRule(v *ResolverRule) *UpdateResolverRuleOutput { + s.ResolverRule = v + return s +} + +const ( + // IpAddressStatusCreating is a IpAddressStatus enum value + IpAddressStatusCreating = "CREATING" + + // IpAddressStatusFailedCreation is a IpAddressStatus enum value + IpAddressStatusFailedCreation = "FAILED_CREATION" + + // IpAddressStatusAttaching is a IpAddressStatus enum value + IpAddressStatusAttaching = "ATTACHING" + + // IpAddressStatusAttached is a IpAddressStatus enum value + IpAddressStatusAttached = "ATTACHED" + + // IpAddressStatusRemapDetaching is a IpAddressStatus enum value + IpAddressStatusRemapDetaching = "REMAP_DETACHING" + + // IpAddressStatusRemapAttaching is a IpAddressStatus enum value + IpAddressStatusRemapAttaching = "REMAP_ATTACHING" + + // IpAddressStatusDetaching is a IpAddressStatus enum value + IpAddressStatusDetaching = "DETACHING" + + // IpAddressStatusFailedResourceGone is a IpAddressStatus enum value + IpAddressStatusFailedResourceGone = "FAILED_RESOURCE_GONE" + + // IpAddressStatusDeleting is a IpAddressStatus enum value + IpAddressStatusDeleting = "DELETING" + + // IpAddressStatusDeleteFailedFasExpired is a IpAddressStatus enum value + IpAddressStatusDeleteFailedFasExpired = "DELETE_FAILED_FAS_EXPIRED" +) + +const ( + // ResolverEndpointDirectionInbound is a ResolverEndpointDirection enum value + ResolverEndpointDirectionInbound = "INBOUND" + + // ResolverEndpointDirectionOutbound is a ResolverEndpointDirection enum value + ResolverEndpointDirectionOutbound = "OUTBOUND" +) + +const ( + // ResolverEndpointStatusCreating is a ResolverEndpointStatus enum value + ResolverEndpointStatusCreating = "CREATING" + + // ResolverEndpointStatusOperational is a ResolverEndpointStatus enum value + ResolverEndpointStatusOperational = "OPERATIONAL" + + // ResolverEndpointStatusUpdating is a ResolverEndpointStatus enum value + ResolverEndpointStatusUpdating = "UPDATING" + + // ResolverEndpointStatusAutoRecovering is a ResolverEndpointStatus enum value + ResolverEndpointStatusAutoRecovering = "AUTO_RECOVERING" + + // ResolverEndpointStatusActionNeeded is a ResolverEndpointStatus enum value + ResolverEndpointStatusActionNeeded = "ACTION_NEEDED" + + // ResolverEndpointStatusDeleting is a ResolverEndpointStatus enum value + ResolverEndpointStatusDeleting = "DELETING" +) + +const ( + // ResolverRuleAssociationStatusCreating is a ResolverRuleAssociationStatus enum value + ResolverRuleAssociationStatusCreating = "CREATING" + + // ResolverRuleAssociationStatusComplete is a ResolverRuleAssociationStatus enum value + ResolverRuleAssociationStatusComplete = "COMPLETE" + + // ResolverRuleAssociationStatusDeleting is a ResolverRuleAssociationStatus enum value + ResolverRuleAssociationStatusDeleting = "DELETING" + + // ResolverRuleAssociationStatusFailed is a ResolverRuleAssociationStatus enum value + ResolverRuleAssociationStatusFailed = "FAILED" + + // ResolverRuleAssociationStatusOverridden is a ResolverRuleAssociationStatus enum value + ResolverRuleAssociationStatusOverridden = "OVERRIDDEN" +) + +const ( + // ResolverRuleStatusComplete is a ResolverRuleStatus enum value + ResolverRuleStatusComplete = "COMPLETE" + + // ResolverRuleStatusDeleting is a ResolverRuleStatus enum value + ResolverRuleStatusDeleting = "DELETING" + + // ResolverRuleStatusUpdating is a ResolverRuleStatus enum value + ResolverRuleStatusUpdating = "UPDATING" + + // ResolverRuleStatusFailed is a ResolverRuleStatus enum value + ResolverRuleStatusFailed = "FAILED" +) + +const ( + // RuleTypeOptionForward is a RuleTypeOption enum value + RuleTypeOptionForward = "FORWARD" + + // RuleTypeOptionSystem is a RuleTypeOption enum value + RuleTypeOptionSystem = "SYSTEM" + + // RuleTypeOptionRecursive is a RuleTypeOption enum value + RuleTypeOptionRecursive = "RECURSIVE" +) + +const ( + // ShareStatusNotShared is a ShareStatus enum value + ShareStatusNotShared = "NOT_SHARED" + + // ShareStatusSharedWithMe is a ShareStatus enum value + ShareStatusSharedWithMe = "SHARED_WITH_ME" + + // ShareStatusSharedByMe is a ShareStatus enum value + ShareStatusSharedByMe = "SHARED_BY_ME" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/route53resolver/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/route53resolver/doc.go new file mode 100644 index 00000000000..02d332e9d1e --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/route53resolver/doc.go @@ -0,0 +1,62 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package route53resolver provides the client and types for making API +// requests to Amazon Route 53 Resolver. +// +// Here's how you set up to query an Amazon Route 53 private hosted zone from +// your network: +// +// Connect your network to a VPC using AWS Direct Connect or a VPN. +// +// Run the following AWS CLI command to create a Resolver endpoint: +// +// create-resolver-endpoint --name [endpoint_name] --direction INBOUND --creator-request-id +// [unique_string] --security-group-ids [security_group_with_inbound_rules] +// --ip-addresses SubnetId=[subnet_id] SubnetId=[subnet_id_in_different_AZ] +// +// Note the resolver endpoint ID that appears in the response. You'll use it +// in step 3. +// +// Get the IP addresses for the Resolver endpoints: +// +// get-resolver-endpoint --resolver-endpoint-id [resolver_endpoint_id] +// +// In your network configuration, define the IP addresses that you got in step +// 3 as DNS servers. +// +// You can now query instance names in your VPCs and the names of records in +// your private hosted zone. +// +// You can also perform the following operations using the AWS CLI: +// +// * list-resolver-endpoints: List all endpoints. The syntax includes options +// for pagination and filtering. +// +// * update-resolver-endpoints: Add IP addresses to an endpoint or remove +// IP addresses from an endpoint. +// +// To delete an endpoint, use the following AWS CLI command: +// +// delete-resolver-endpoint --resolver-endpoint-id [resolver_endpoint_id] +// +// See https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01 for more information on this service. +// +// See route53resolver package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/route53resolver/ +// +// Using the Client +// +// To contact Amazon Route 53 Resolver 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 Route 53 Resolver client Route53Resolver for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/route53resolver/#New +package route53resolver diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/route53resolver/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/route53resolver/errors.go new file mode 100644 index 00000000000..0d410863ec0 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/route53resolver/errors.go @@ -0,0 +1,84 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package route53resolver + +const ( + + // ErrCodeInternalServiceErrorException for service response error code + // "InternalServiceErrorException". + // + // We encountered an unknown error. Try again in a few minutes. + ErrCodeInternalServiceErrorException = "InternalServiceErrorException" + + // ErrCodeInvalidNextTokenException for service response error code + // "InvalidNextTokenException". + // + // The value that you specified for NextToken in a List request isn't valid. + ErrCodeInvalidNextTokenException = "InvalidNextTokenException" + + // ErrCodeInvalidParameterException for service response error code + // "InvalidParameterException". + // + // One or more parameters in this request are not valid. + ErrCodeInvalidParameterException = "InvalidParameterException" + + // ErrCodeInvalidPolicyDocument for service response error code + // "InvalidPolicyDocument". + // + // The specified resolver rule policy is invalid. + ErrCodeInvalidPolicyDocument = "InvalidPolicyDocument" + + // ErrCodeInvalidRequestException for service response error code + // "InvalidRequestException". + // + // The request is invalid. + ErrCodeInvalidRequestException = "InvalidRequestException" + + // ErrCodeInvalidTagException for service response error code + // "InvalidTagException". + // + // The specified tag is invalid. + ErrCodeInvalidTagException = "InvalidTagException" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // The request caused one or more limits to be exceeded. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeResourceExistsException for service response error code + // "ResourceExistsException". + // + // The resource that you tried to create already exists. + ErrCodeResourceExistsException = "ResourceExistsException" + + // ErrCodeResourceInUseException for service response error code + // "ResourceInUseException". + // + // The resource that you tried to update or delete is currently in use. + ErrCodeResourceInUseException = "ResourceInUseException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The specified resource doesn't exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeResourceUnavailableException for service response error code + // "ResourceUnavailableException". + // + // The specified resource isn't available. + ErrCodeResourceUnavailableException = "ResourceUnavailableException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // The request was throttled. Try again in a few minutes. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeUnknownResourceException for service response error code + // "UnknownResourceException". + // + // The specified resource doesn't exist. + ErrCodeUnknownResourceException = "UnknownResourceException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/route53resolver/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/route53resolver/service.go new file mode 100644 index 00000000000..367e933ebb9 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/route53resolver/service.go @@ -0,0 +1,97 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package route53resolver + +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" +) + +// Route53Resolver provides the API operation methods for making requests to +// Amazon Route 53 Resolver. See this package's package overview docs +// for details on the service. +// +// Route53Resolver methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type Route53Resolver 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 = "Route53Resolver" // Name of service. + EndpointsID = "route53resolver" // ID to lookup a service endpoint with. + ServiceID = "Route53Resolver" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the Route53Resolver 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 Route53Resolver client from just a session. +// svc := route53resolver.New(mySession) +// +// // Create a Route53Resolver client with additional configuration +// svc := route53resolver.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *Route53Resolver { + 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) *Route53Resolver { + svc := &Route53Resolver{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-04-01", + JSONVersion: "1.1", + TargetPrefix: "Route53Resolver", + }, + 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 Route53Resolver operation and runs any +// custom request initialization. +func (c *Route53Resolver) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3/api.go index deb8e896466..3b3c2e380cb 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3/api.go @@ -22372,7 +22372,7 @@ type SelectObjectContentEventStreamReader interface { // HTTP this will also close the HTTP connection. Close() error - // Returns any error that has occured while reading from the event stream. + // Returns any error that has occurred while reading from the event stream. Err() error } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go index 12c0612c8de..1db7e133baf 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go @@ -26,11 +26,16 @@ func unmarshalError(r *request.Request) { // Bucket exists in a different region, and request needs // to be made to the correct region. if r.HTTPResponse.StatusCode == http.StatusMovedPermanently { + msg := fmt.Sprintf( + "incorrect region, the bucket is not in '%s' region at endpoint '%s'", + aws.StringValue(r.Config.Region), + aws.StringValue(r.Config.Endpoint), + ) + if v := r.HTTPResponse.Header.Get("x-amz-bucket-region"); len(v) != 0 { + msg += fmt.Sprintf(", bucket is in '%s' region", v) + } r.Error = awserr.NewRequestFailure( - awserr.New("BucketRegionError", - fmt.Sprintf("incorrect region, the bucket is not in '%s' region", - aws.StringValue(r.Config.Region)), - nil), + awserr.New("BucketRegionError", msg, nil), r.HTTPResponse.StatusCode, r.RequestID, ) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/api.go new file mode 100644 index 00000000000..328157b9c09 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/api.go @@ -0,0 +1,569 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package s3control + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restxml" +) + +const opDeletePublicAccessBlock = "DeletePublicAccessBlock" + +// DeletePublicAccessBlockRequest generates a "aws/request.Request" representing the +// client's request for the DeletePublicAccessBlock 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 DeletePublicAccessBlock for more information on using the DeletePublicAccessBlock +// 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 DeletePublicAccessBlockRequest method. +// req, resp := client.DeletePublicAccessBlockRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlock +func (c *S3Control) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput) (req *request.Request, output *DeletePublicAccessBlockOutput) { + op := &request.Operation{ + Name: opDeletePublicAccessBlock, + HTTPMethod: "DELETE", + HTTPPath: "/v20180820/configuration/publicAccessBlock", + } + + if input == nil { + input = &DeletePublicAccessBlockInput{} + } + + output = &DeletePublicAccessBlockOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// DeletePublicAccessBlock API operation for AWS S3 Control. +// +// Removes the Public Access Block configuration for an Amazon Web Services +// 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 AWS S3 Control's +// API operation DeletePublicAccessBlock for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlock +func (c *S3Control) DeletePublicAccessBlock(input *DeletePublicAccessBlockInput) (*DeletePublicAccessBlockOutput, error) { + req, out := c.DeletePublicAccessBlockRequest(input) + return out, req.Send() +} + +// DeletePublicAccessBlockWithContext is the same as DeletePublicAccessBlock with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePublicAccessBlock 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 *S3Control) DeletePublicAccessBlockWithContext(ctx aws.Context, input *DeletePublicAccessBlockInput, opts ...request.Option) (*DeletePublicAccessBlockOutput, error) { + req, out := c.DeletePublicAccessBlockRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPublicAccessBlock = "GetPublicAccessBlock" + +// GetPublicAccessBlockRequest generates a "aws/request.Request" representing the +// client's request for the GetPublicAccessBlock 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 GetPublicAccessBlock for more information on using the GetPublicAccessBlock +// 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 GetPublicAccessBlockRequest method. +// req, resp := client.GetPublicAccessBlockRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlock +func (c *S3Control) GetPublicAccessBlockRequest(input *GetPublicAccessBlockInput) (req *request.Request, output *GetPublicAccessBlockOutput) { + op := &request.Operation{ + Name: opGetPublicAccessBlock, + HTTPMethod: "GET", + HTTPPath: "/v20180820/configuration/publicAccessBlock", + } + + if input == nil { + input = &GetPublicAccessBlockInput{} + } + + output = &GetPublicAccessBlockOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// GetPublicAccessBlock API operation for AWS S3 Control. +// +// Retrieves the Public Access Block configuration for an Amazon Web Services +// 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 AWS S3 Control's +// API operation GetPublicAccessBlock for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNoSuchPublicAccessBlockConfiguration "NoSuchPublicAccessBlockConfiguration" +// This exception is thrown if a GetPublicAccessBlock request is made against +// an account that does not have a PublicAccessBlockConfiguration set. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlock +func (c *S3Control) GetPublicAccessBlock(input *GetPublicAccessBlockInput) (*GetPublicAccessBlockOutput, error) { + req, out := c.GetPublicAccessBlockRequest(input) + return out, req.Send() +} + +// GetPublicAccessBlockWithContext is the same as GetPublicAccessBlock with the addition of +// the ability to pass a context and additional request options. +// +// See GetPublicAccessBlock 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 *S3Control) GetPublicAccessBlockWithContext(ctx aws.Context, input *GetPublicAccessBlockInput, opts ...request.Option) (*GetPublicAccessBlockOutput, error) { + req, out := c.GetPublicAccessBlockRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutPublicAccessBlock = "PutPublicAccessBlock" + +// PutPublicAccessBlockRequest generates a "aws/request.Request" representing the +// client's request for the PutPublicAccessBlock 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 PutPublicAccessBlock for more information on using the PutPublicAccessBlock +// 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 PutPublicAccessBlockRequest method. +// req, resp := client.PutPublicAccessBlockRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlock +func (c *S3Control) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req *request.Request, output *PutPublicAccessBlockOutput) { + op := &request.Operation{ + Name: opPutPublicAccessBlock, + HTTPMethod: "PUT", + HTTPPath: "/v20180820/configuration/publicAccessBlock", + } + + if input == nil { + input = &PutPublicAccessBlockInput{} + } + + output = &PutPublicAccessBlockOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// PutPublicAccessBlock API operation for AWS S3 Control. +// +// Creates or modifies the Public Access Block configuration for an Amazon Web +// Services 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 AWS S3 Control's +// API operation PutPublicAccessBlock for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlock +func (c *S3Control) PutPublicAccessBlock(input *PutPublicAccessBlockInput) (*PutPublicAccessBlockOutput, error) { + req, out := c.PutPublicAccessBlockRequest(input) + return out, req.Send() +} + +// PutPublicAccessBlockWithContext is the same as PutPublicAccessBlock with the addition of +// the ability to pass a context and additional request options. +// +// See PutPublicAccessBlock 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 *S3Control) PutPublicAccessBlockWithContext(ctx aws.Context, input *PutPublicAccessBlockInput, opts ...request.Option) (*PutPublicAccessBlockOutput, error) { + req, out := c.PutPublicAccessBlockRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type DeletePublicAccessBlockInput struct { + _ struct{} `type:"structure"` + + // The Account ID for the Amazon Web Services account whose Public Access Block + // configuration you want to remove. + // + // AccountId is a required field + AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePublicAccessBlockInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePublicAccessBlockInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePublicAccessBlockInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePublicAccessBlockInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *DeletePublicAccessBlockInput) SetAccountId(v string) *DeletePublicAccessBlockInput { + s.AccountId = &v + return s +} + +func (s *DeletePublicAccessBlockInput) hostLabels() map[string]string { + return map[string]string{ + "AccountId": aws.StringValue(s.AccountId), + } +} + +type DeletePublicAccessBlockOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeletePublicAccessBlockOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePublicAccessBlockOutput) GoString() string { + return s.String() +} + +type GetPublicAccessBlockInput struct { + _ struct{} `type:"structure"` + + // The Account ID for the Amazon Web Services account whose Public Access Block + // configuration you want to retrieve. + // + // AccountId is a required field + AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetPublicAccessBlockInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPublicAccessBlockInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPublicAccessBlockInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPublicAccessBlockInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *GetPublicAccessBlockInput) SetAccountId(v string) *GetPublicAccessBlockInput { + s.AccountId = &v + return s +} + +func (s *GetPublicAccessBlockInput) hostLabels() map[string]string { + return map[string]string{ + "AccountId": aws.StringValue(s.AccountId), + } +} + +type GetPublicAccessBlockOutput struct { + _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"` + + // The Public Access Block configuration currently in effect for this Amazon + // Web Services account. + PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` +} + +// String returns the string representation +func (s GetPublicAccessBlockOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPublicAccessBlockOutput) GoString() string { + return s.String() +} + +// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. +func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetPublicAccessBlockOutput { + s.PublicAccessBlockConfiguration = v + return s +} + +// The container element for all Public Access Block configuration options. +// You can enable the configuration options in any combination. +// +// Amazon S3 considers a bucket policy public unless at least one of the following +// conditions is true: +// +// The policy limits access to a set of CIDRs using aws:SourceIp. For more information +// on CIDR, see http://www.rfc-editor.org/rfc/rfc4632.txt (http://www.rfc-editor.org/rfc/rfc4632.txt) +// +// The policy grants permissions, not including any "bad actions," to one of +// the following: +// +// A fixed AWS principal, user, role, or service principal +// +// A fixed aws:SourceArn +// +// A fixed aws:SourceVpc +// +// A fixed aws:SourceVpce +// +// A fixed aws:SourceOwner +// +// A fixed aws:SourceAccount +// +// A fixed value of s3:x-amz-server-side-encryption-aws-kms-key-id +// +// A fixed value of aws:userid outside the pattern "AROLEID:*" +// +// "Bad actions" are those that could expose the data inside a bucket to reads +// or writes by the public. These actions are s3:Get*, s3:List*, s3:AbortMultipartUpload, +// s3:Delete*, s3:Put*, and s3:RestoreObject. +// +// The star notation for bad actions indicates that all matching operations +// are considered bad actions. For example, because s3:Get* is a bad action, +// s3:GetObject, s3:GetObjectVersion, and s3:GetObjectAcl are all bad actions. +type PublicAccessBlockConfiguration struct { + _ struct{} `type:"structure"` + + // Specifies whether Amazon S3 should block public ACLs for buckets in this + // account. Setting this element to TRUE causes the following behavior: + // + // * PUT Bucket acl and PUT Object acl calls will fail if the specified ACL + // allows public access. + // + // * PUT Object calls will fail if the request includes an object ACL. + // + // Note that enabling this setting doesn't affect existing policies or ACLs. + BlockPublicAcls *bool `locationName:"BlockPublicAcls" type:"boolean"` + + // Specifies whether Amazon S3 should block public bucket policies for buckets + // in this account. Setting this element to TRUE causes Amazon S3 to reject + // calls to PUT Bucket policy if the specified bucket policy allows public access. + // + // Note that enabling this setting doesn't affect existing bucket policies. + BlockPublicPolicy *bool `locationName:"BlockPublicPolicy" type:"boolean"` + + // Specifies whether Amazon S3 should ignore public ACLs for buckets in this + // account. Setting this element to TRUE causes Amazon S3 to ignore all public + // ACLs on buckets in this account and any objects that they contain. + // + // Note that enabling this setting doesn't affect the persistence of any existing + // ACLs and doesn't prevent new public ACLs from being set. + IgnorePublicAcls *bool `locationName:"IgnorePublicAcls" type:"boolean"` + + // Specifies whether Amazon S3 should restrict public bucket policies for buckets + // in this account. If this element is set to TRUE, then only the bucket owner + // and AWS Services can access buckets with public policies. + // + // Note that enabling this setting doesn't affect previously stored bucket policies, + // except that public and cross-account access within any public bucket policy, + // including non-public delegation to specific accounts, is blocked. + RestrictPublicBuckets *bool `locationName:"RestrictPublicBuckets" type:"boolean"` +} + +// String returns the string representation +func (s PublicAccessBlockConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PublicAccessBlockConfiguration) GoString() string { + return s.String() +} + +// SetBlockPublicAcls sets the BlockPublicAcls field's value. +func (s *PublicAccessBlockConfiguration) SetBlockPublicAcls(v bool) *PublicAccessBlockConfiguration { + s.BlockPublicAcls = &v + return s +} + +// SetBlockPublicPolicy sets the BlockPublicPolicy field's value. +func (s *PublicAccessBlockConfiguration) SetBlockPublicPolicy(v bool) *PublicAccessBlockConfiguration { + s.BlockPublicPolicy = &v + return s +} + +// SetIgnorePublicAcls sets the IgnorePublicAcls field's value. +func (s *PublicAccessBlockConfiguration) SetIgnorePublicAcls(v bool) *PublicAccessBlockConfiguration { + s.IgnorePublicAcls = &v + return s +} + +// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value. +func (s *PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *PublicAccessBlockConfiguration { + s.RestrictPublicBuckets = &v + return s +} + +type PutPublicAccessBlockInput struct { + _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"` + + // The Account ID for the Amazon Web Services account whose Public Access Block + // configuration you want to set. + // + // AccountId is a required field + AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` + + // The Public Access Block configuration that you want to apply to this Amazon + // Web Services account. + // + // PublicAccessBlockConfiguration is a required field + PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `locationName:"PublicAccessBlockConfiguration" type:"structure" required:"true" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` +} + +// String returns the string representation +func (s PutPublicAccessBlockInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutPublicAccessBlockInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutPublicAccessBlockInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutPublicAccessBlockInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) + } + if s.PublicAccessBlockConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("PublicAccessBlockConfiguration")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *PutPublicAccessBlockInput) SetAccountId(v string) *PutPublicAccessBlockInput { + s.AccountId = &v + return s +} + +// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. +func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *PutPublicAccessBlockInput { + s.PublicAccessBlockConfiguration = v + return s +} + +func (s *PutPublicAccessBlockInput) hostLabels() map[string]string { + return map[string]string{ + "AccountId": aws.StringValue(s.AccountId), + } +} + +type PutPublicAccessBlockOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutPublicAccessBlockOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutPublicAccessBlockOutput) GoString() string { + return s.String() +} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/customizations.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/customizations.go new file mode 100644 index 00000000000..6ea102095ca --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/customizations.go @@ -0,0 +1,14 @@ +package s3control + +import ( + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/internal/s3err" +) + +func init() { + initClient = defaultInitClientFn +} + +func defaultInitClientFn(c *client.Client) { + c.Handlers.UnmarshalError.PushBackNamed(s3err.RequestFailureWrapperHandler()) +} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/doc.go new file mode 100644 index 00000000000..88e2654ab27 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package s3control provides the client and types for making API +// requests to AWS S3 Control. +// +// AWS S3 Control provides access to Amazon S3 control plane operations. +// +// See https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20 for more information on this service. +// +// See s3control package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/s3control/ +// +// Using the Client +// +// To contact AWS S3 Control 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 S3 Control client S3Control for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/s3control/#New +package s3control diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/errors.go new file mode 100644 index 00000000000..573dadc6396 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/errors.go @@ -0,0 +1,13 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package s3control + +const ( + + // ErrCodeNoSuchPublicAccessBlockConfiguration for service response error code + // "NoSuchPublicAccessBlockConfiguration". + // + // This exception is thrown if a GetPublicAccessBlock request is made against + // an account that does not have a PublicAccessBlockConfiguration set. + ErrCodeNoSuchPublicAccessBlockConfiguration = "NoSuchPublicAccessBlockConfiguration" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/service.go new file mode 100644 index 00000000000..377c9d55d55 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/s3control/service.go @@ -0,0 +1,100 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package s3control + +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/restxml" +) + +// S3Control provides the API operation methods for making requests to +// AWS S3 Control. See this package's package overview docs +// for details on the service. +// +// S3Control methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type S3Control 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 = "S3 Control" // Name of service. + EndpointsID = "s3-control" // ID to lookup a service endpoint with. + ServiceID = "S3 Control" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the S3Control 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 S3Control client from just a session. +// svc := s3control.New(mySession) +// +// // Create a S3Control client with additional configuration +// svc := s3control.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *S3Control { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "s3" + } + 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) *S3Control { + svc := &S3Control{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-08-20", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.BuildNamedHandler(v4.SignRequestHandler.Name, func(s *v4.Signer) { + s.DisableURIPathEscaping = true + })) + svc.Handlers.Build.PushBackNamed(restxml.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restxml.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restxml.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restxml.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a S3Control operation and runs any +// custom request initialization. +func (c *S3Control) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go new file mode 100644 index 00000000000..8e5a503d930 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go @@ -0,0 +1,26320 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package sagemaker + +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 opAddTags = "AddTags" + +// AddTagsRequest generates a "aws/request.Request" representing the +// client's request for the AddTags 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 AddTags for more information on using the AddTags +// 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 AddTagsRequest method. +// req, resp := client.AddTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/AddTags +func (c *SageMaker) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) { + op := &request.Operation{ + Name: opAddTags, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddTagsInput{} + } + + output = &AddTagsOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddTags API operation for Amazon SageMaker Service. +// +// Adds or overwrites one or more tags for the specified Amazon SageMaker resource. +// You can add tags to notebook instances, training jobs, hyperparameter tuning +// jobs, models, endpoint configurations, and endpoints. +// +// Each tag consists of a key and an optional value. Tag keys must be unique +// per resource. For more information about tags, see For more information, +// see AWS Tagging Strategies (https://aws.amazon.com/answers/account-management/aws-tagging-strategies/). +// +// Tags that you add to a hyperparameter tuning job by calling this API are +// also added to any training jobs that the hyperparameter tuning job launches +// after you call this API, but not to training jobs that the hyperparameter +// tuning job launched before you called this API. To make sure that the tags +// associated with a hyperparameter tuning job are also added to all training +// jobs that the hyperparameter tuning job launches, add the tags when you first +// create the tuning job by specifying them in the Tags parameter of CreateHyperParameterTuningJob +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation AddTags for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/AddTags +func (c *SageMaker) AddTags(input *AddTagsInput) (*AddTagsOutput, error) { + req, out := c.AddTagsRequest(input) + return out, req.Send() +} + +// AddTagsWithContext is the same as AddTags with the addition of +// the ability to pass a context and additional request options. +// +// See AddTags 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 *SageMaker) AddTagsWithContext(ctx aws.Context, input *AddTagsInput, opts ...request.Option) (*AddTagsOutput, error) { + req, out := c.AddTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateAlgorithm = "CreateAlgorithm" + +// CreateAlgorithmRequest generates a "aws/request.Request" representing the +// client's request for the CreateAlgorithm 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 CreateAlgorithm for more information on using the CreateAlgorithm +// 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 CreateAlgorithmRequest method. +// req, resp := client.CreateAlgorithmRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateAlgorithm +func (c *SageMaker) CreateAlgorithmRequest(input *CreateAlgorithmInput) (req *request.Request, output *CreateAlgorithmOutput) { + op := &request.Operation{ + Name: opCreateAlgorithm, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateAlgorithmInput{} + } + + output = &CreateAlgorithmOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateAlgorithm API operation for Amazon SageMaker Service. +// +// Create a machine learning algorithm that you can use in Amazon SageMaker +// and list in the AWS Marketplace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation CreateAlgorithm for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateAlgorithm +func (c *SageMaker) CreateAlgorithm(input *CreateAlgorithmInput) (*CreateAlgorithmOutput, error) { + req, out := c.CreateAlgorithmRequest(input) + return out, req.Send() +} + +// CreateAlgorithmWithContext is the same as CreateAlgorithm with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAlgorithm 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 *SageMaker) CreateAlgorithmWithContext(ctx aws.Context, input *CreateAlgorithmInput, opts ...request.Option) (*CreateAlgorithmOutput, error) { + req, out := c.CreateAlgorithmRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateCodeRepository = "CreateCodeRepository" + +// CreateCodeRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the CreateCodeRepository 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 CreateCodeRepository for more information on using the CreateCodeRepository +// 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 CreateCodeRepositoryRequest method. +// req, resp := client.CreateCodeRepositoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateCodeRepository +func (c *SageMaker) CreateCodeRepositoryRequest(input *CreateCodeRepositoryInput) (req *request.Request, output *CreateCodeRepositoryOutput) { + op := &request.Operation{ + Name: opCreateCodeRepository, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateCodeRepositoryInput{} + } + + output = &CreateCodeRepositoryOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCodeRepository API operation for Amazon SageMaker Service. +// +// Creates a Git repository as a resource in your Amazon SageMaker account. +// You can associate the repository with notebook instances so that you can +// use Git source control for the notebooks you create. The Git repository is +// a resource in your Amazon SageMaker account, so it can be associated with +// more than one notebook instance, and it persists independently from the lifecycle +// of any notebook instances it is associated with. +// +// The repository can be hosted either in AWS CodeCommit (http://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) +// or in any other Git repository. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation CreateCodeRepository for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateCodeRepository +func (c *SageMaker) CreateCodeRepository(input *CreateCodeRepositoryInput) (*CreateCodeRepositoryOutput, error) { + req, out := c.CreateCodeRepositoryRequest(input) + return out, req.Send() +} + +// CreateCodeRepositoryWithContext is the same as CreateCodeRepository with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCodeRepository 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 *SageMaker) CreateCodeRepositoryWithContext(ctx aws.Context, input *CreateCodeRepositoryInput, opts ...request.Option) (*CreateCodeRepositoryOutput, error) { + req, out := c.CreateCodeRepositoryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateCompilationJob = "CreateCompilationJob" + +// CreateCompilationJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateCompilationJob 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 CreateCompilationJob for more information on using the CreateCompilationJob +// 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 CreateCompilationJobRequest method. +// req, resp := client.CreateCompilationJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateCompilationJob +func (c *SageMaker) CreateCompilationJobRequest(input *CreateCompilationJobInput) (req *request.Request, output *CreateCompilationJobOutput) { + op := &request.Operation{ + Name: opCreateCompilationJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateCompilationJobInput{} + } + + output = &CreateCompilationJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCompilationJob API operation for Amazon SageMaker Service. +// +// Starts a model compilation job. After the model has been compiled, Amazon +// SageMaker saves the resulting model artifacts to an Amazon Simple Storage +// Service (Amazon S3) bucket that you specify. +// +// If you choose to host your model using Amazon SageMaker hosting services, +// you can use the resulting model artifacts as part of the model. You can also +// use the artifacts with AWS IoT Greengrass. In that case, deploy them as an +// ML resource. +// +// In the request body, you provide the following: +// +// * A name for the compilation job +// +// * Information about the input model artifacts +// +// * The output location for the compiled model and the device (target) that +// the model runs on +// +// * The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker +// assumes to perform the model compilation job +// +// You can also provide a Tag to track the model compilation job's resource +// use and costs. The response body contains the CompilationJobArn for the compiled +// job. +// +// To stop a model compilation job, use StopCompilationJob. To get information +// about a particular model compilation job, use DescribeCompilationJob. To +// get information about multiple model compilation jobs, use ListCompilationJobs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation CreateCompilationJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceInUse "ResourceInUse" +// Resource being accessed is in use. +// +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateCompilationJob +func (c *SageMaker) CreateCompilationJob(input *CreateCompilationJobInput) (*CreateCompilationJobOutput, error) { + req, out := c.CreateCompilationJobRequest(input) + return out, req.Send() +} + +// CreateCompilationJobWithContext is the same as CreateCompilationJob with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCompilationJob 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 *SageMaker) CreateCompilationJobWithContext(ctx aws.Context, input *CreateCompilationJobInput, opts ...request.Option) (*CreateCompilationJobOutput, error) { + req, out := c.CreateCompilationJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateEndpoint = "CreateEndpoint" + +// CreateEndpointRequest generates a "aws/request.Request" representing the +// client's request for the CreateEndpoint 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 CreateEndpoint for more information on using the CreateEndpoint +// 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 CreateEndpointRequest method. +// req, resp := client.CreateEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateEndpoint +func (c *SageMaker) CreateEndpointRequest(input *CreateEndpointInput) (req *request.Request, output *CreateEndpointOutput) { + op := &request.Operation{ + Name: opCreateEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateEndpointInput{} + } + + output = &CreateEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateEndpoint API operation for Amazon SageMaker Service. +// +// Creates an endpoint using the endpoint configuration specified in the request. +// Amazon SageMaker uses the endpoint to provision resources and deploy models. +// You create the endpoint configuration with the CreateEndpointConfig (http://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html) +// API. +// +// Use this API only for hosting models using Amazon SageMaker hosting services. +// +// The endpoint name must be unique within an AWS Region in your AWS account. +// +// When it receives the request, Amazon SageMaker creates the endpoint, launches +// the resources (ML compute instances), and deploys the model(s) on them. +// +// When Amazon SageMaker receives the request, it sets the endpoint status to +// Creating. After it creates the endpoint, it sets the status to InService. +// Amazon SageMaker can then process incoming requests for inferences. To check +// the status of an endpoint, use the DescribeEndpoint (http://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeEndpoint.html) +// API. +// +// For an example, see Exercise 1: Using the K-Means Algorithm Provided by Amazon +// SageMaker (http://docs.aws.amazon.com/sagemaker/latest/dg/ex1.html). +// +// If any of the models hosted at this endpoint get model data from an Amazon +// S3 location, Amazon SageMaker uses AWS Security Token Service to download +// model artifacts from the S3 path you provided. AWS STS is activated in your +// IAM user account by default. If you previously deactivated AWS STS for a +// region, you need to reactivate AWS STS for that region. For more information, +// see Activating and Deactivating AWS STS i an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the AWS Identity and Access Management 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 SageMaker Service's +// API operation CreateEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateEndpoint +func (c *SageMaker) CreateEndpoint(input *CreateEndpointInput) (*CreateEndpointOutput, error) { + req, out := c.CreateEndpointRequest(input) + return out, req.Send() +} + +// CreateEndpointWithContext is the same as CreateEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See CreateEndpoint 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 *SageMaker) CreateEndpointWithContext(ctx aws.Context, input *CreateEndpointInput, opts ...request.Option) (*CreateEndpointOutput, error) { + req, out := c.CreateEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateEndpointConfig = "CreateEndpointConfig" + +// CreateEndpointConfigRequest generates a "aws/request.Request" representing the +// client's request for the CreateEndpointConfig 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 CreateEndpointConfig for more information on using the CreateEndpointConfig +// 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 CreateEndpointConfigRequest method. +// req, resp := client.CreateEndpointConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateEndpointConfig +func (c *SageMaker) CreateEndpointConfigRequest(input *CreateEndpointConfigInput) (req *request.Request, output *CreateEndpointConfigOutput) { + op := &request.Operation{ + Name: opCreateEndpointConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateEndpointConfigInput{} + } + + output = &CreateEndpointConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateEndpointConfig API operation for Amazon SageMaker Service. +// +// Creates an endpoint configuration that Amazon SageMaker hosting services +// uses to deploy models. In the configuration, you identify one or more models, +// created using the CreateModel API, to deploy and the resources that you want +// Amazon SageMaker to provision. Then you call the CreateEndpoint (http://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpoint.html) +// API. +// +// Use this API only if you want to use Amazon SageMaker hosting services to +// deploy models into production. +// +// In the request, you define one or more ProductionVariants, each of which +// identifies a model. Each ProductionVariant parameter also describes the resources +// that you want Amazon SageMaker to provision. This includes the number and +// type of ML compute instances to deploy. +// +// If you are hosting multiple models, you also assign a VariantWeight to specify +// how much traffic you want to allocate to each model. For example, suppose +// that you want to host two models, A and B, and you assign traffic weight +// 2 for model A and 1 for model B. Amazon SageMaker distributes two-thirds +// of the traffic to Model A, and one-third to model B. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation CreateEndpointConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateEndpointConfig +func (c *SageMaker) CreateEndpointConfig(input *CreateEndpointConfigInput) (*CreateEndpointConfigOutput, error) { + req, out := c.CreateEndpointConfigRequest(input) + return out, req.Send() +} + +// CreateEndpointConfigWithContext is the same as CreateEndpointConfig with the addition of +// the ability to pass a context and additional request options. +// +// See CreateEndpointConfig 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 *SageMaker) CreateEndpointConfigWithContext(ctx aws.Context, input *CreateEndpointConfigInput, opts ...request.Option) (*CreateEndpointConfigOutput, error) { + req, out := c.CreateEndpointConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateHyperParameterTuningJob = "CreateHyperParameterTuningJob" + +// CreateHyperParameterTuningJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateHyperParameterTuningJob 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 CreateHyperParameterTuningJob for more information on using the CreateHyperParameterTuningJob +// 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 CreateHyperParameterTuningJobRequest method. +// req, resp := client.CreateHyperParameterTuningJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateHyperParameterTuningJob +func (c *SageMaker) CreateHyperParameterTuningJobRequest(input *CreateHyperParameterTuningJobInput) (req *request.Request, output *CreateHyperParameterTuningJobOutput) { + op := &request.Operation{ + Name: opCreateHyperParameterTuningJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateHyperParameterTuningJobInput{} + } + + output = &CreateHyperParameterTuningJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateHyperParameterTuningJob API operation for Amazon SageMaker Service. +// +// Starts a hyperparameter tuning job. A hyperparameter tuning job finds the +// best version of a model by running many training jobs on your dataset using +// the algorithm you choose and values for hyperparameters within ranges that +// you specify. It then chooses the hyperparameter values that result in a model +// that performs the best, as measured by an objective metric that you choose. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation CreateHyperParameterTuningJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceInUse "ResourceInUse" +// Resource being accessed is in use. +// +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateHyperParameterTuningJob +func (c *SageMaker) CreateHyperParameterTuningJob(input *CreateHyperParameterTuningJobInput) (*CreateHyperParameterTuningJobOutput, error) { + req, out := c.CreateHyperParameterTuningJobRequest(input) + return out, req.Send() +} + +// CreateHyperParameterTuningJobWithContext is the same as CreateHyperParameterTuningJob with the addition of +// the ability to pass a context and additional request options. +// +// See CreateHyperParameterTuningJob 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 *SageMaker) CreateHyperParameterTuningJobWithContext(ctx aws.Context, input *CreateHyperParameterTuningJobInput, opts ...request.Option) (*CreateHyperParameterTuningJobOutput, error) { + req, out := c.CreateHyperParameterTuningJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateLabelingJob = "CreateLabelingJob" + +// CreateLabelingJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateLabelingJob 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 CreateLabelingJob for more information on using the CreateLabelingJob +// 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 CreateLabelingJobRequest method. +// req, resp := client.CreateLabelingJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateLabelingJob +func (c *SageMaker) CreateLabelingJobRequest(input *CreateLabelingJobInput) (req *request.Request, output *CreateLabelingJobOutput) { + op := &request.Operation{ + Name: opCreateLabelingJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateLabelingJobInput{} + } + + output = &CreateLabelingJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateLabelingJob API operation for Amazon SageMaker Service. +// +// Creates a job that uses workers to label the data objects in your input dataset. +// You can use the labeled data to train machine learning models. +// +// You can select your workforce from one of three providers: +// +// * A private workforce that you create. It can include employees, contractors, +// and outside experts. Use a private workforce when want the data to stay +// within your organization or when a specific set of skills is required. +// +// * One or more vendors that you select from the AWS Marketplace. Vendors +// provide expertise in specific areas. +// +// * The Amazon Mechanical Turk workforce. This is the largest workforce, +// but it should only be used for public data or data that has been stripped +// of any personally identifiable information. +// +// You can also use automated data labeling to reduce the number of data objects +// that need to be labeled by a human. Automated data labeling uses active learning +// to determine if a data object can be labeled by machine or if it needs to +// be sent to a human worker. For more information, see Using Automated Data +// Labeling (http://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html). +// +// The data objects to be labeled are contained in an Amazon S3 bucket. You +// create a manifest file that describes the location of each object. For more +// information, see Using Input and Output Data (http://docs.aws.amazon.com/sagemaker/latest/dg/sms-data.html). +// +// The output can be used as the manifest file for another labeling job or as +// training data for your machine learning models. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation CreateLabelingJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceInUse "ResourceInUse" +// Resource being accessed is in use. +// +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateLabelingJob +func (c *SageMaker) CreateLabelingJob(input *CreateLabelingJobInput) (*CreateLabelingJobOutput, error) { + req, out := c.CreateLabelingJobRequest(input) + return out, req.Send() +} + +// CreateLabelingJobWithContext is the same as CreateLabelingJob with the addition of +// the ability to pass a context and additional request options. +// +// See CreateLabelingJob 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 *SageMaker) CreateLabelingJobWithContext(ctx aws.Context, input *CreateLabelingJobInput, opts ...request.Option) (*CreateLabelingJobOutput, error) { + req, out := c.CreateLabelingJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateModel = "CreateModel" + +// CreateModelRequest generates a "aws/request.Request" representing the +// client's request for the CreateModel 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 CreateModel for more information on using the CreateModel +// 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 CreateModelRequest method. +// req, resp := client.CreateModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateModel +func (c *SageMaker) CreateModelRequest(input *CreateModelInput) (req *request.Request, output *CreateModelOutput) { + op := &request.Operation{ + Name: opCreateModel, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateModelInput{} + } + + output = &CreateModelOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateModel API operation for Amazon SageMaker Service. +// +// Creates a model in Amazon SageMaker. In the request, you name the model and +// describe a primary container. For the primary container, you specify the +// docker image containing inference code, artifacts (from prior training), +// and custom environment map that the inference code uses when you deploy the +// model for predictions. +// +// Use this API to create a model if you want to use Amazon SageMaker hosting +// services or run a batch transform job. +// +// To host your model, you create an endpoint configuration with the CreateEndpointConfig +// API, and then create an endpoint with the CreateEndpoint API. Amazon SageMaker +// then deploys all of the containers that you defined for the model in the +// hosting environment. +// +// To run a batch transform using your model, you start a job with the CreateTransformJob +// API. Amazon SageMaker uses your model and your dataset to get inferences +// which are then saved to a specified S3 location. +// +// In the CreateModel request, you must define a container with the PrimaryContainer +// parameter. +// +// In the request, you also provide an IAM role that Amazon SageMaker can assume +// to access model artifacts and docker image for deployment on ML compute hosting +// instances or for batch transform jobs. In addition, you also use the IAM +// role to manage permissions the inference code needs. For example, if the +// inference code access any other AWS resources, you grant necessary permissions +// via this role. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation CreateModel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateModel +func (c *SageMaker) CreateModel(input *CreateModelInput) (*CreateModelOutput, error) { + req, out := c.CreateModelRequest(input) + return out, req.Send() +} + +// CreateModelWithContext is the same as CreateModel with the addition of +// the ability to pass a context and additional request options. +// +// See CreateModel 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 *SageMaker) CreateModelWithContext(ctx aws.Context, input *CreateModelInput, opts ...request.Option) (*CreateModelOutput, error) { + req, out := c.CreateModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateModelPackage = "CreateModelPackage" + +// CreateModelPackageRequest generates a "aws/request.Request" representing the +// client's request for the CreateModelPackage 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 CreateModelPackage for more information on using the CreateModelPackage +// 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 CreateModelPackageRequest method. +// req, resp := client.CreateModelPackageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateModelPackage +func (c *SageMaker) CreateModelPackageRequest(input *CreateModelPackageInput) (req *request.Request, output *CreateModelPackageOutput) { + op := &request.Operation{ + Name: opCreateModelPackage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateModelPackageInput{} + } + + output = &CreateModelPackageOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateModelPackage API operation for Amazon SageMaker Service. +// +// Creates a model package that you can use to create Amazon SageMaker models +// or list on AWS Marketplace. Buyers can subscribe to model packages listed +// on AWS Marketplace to create models in Amazon SageMaker. +// +// To create a model package by specifying a Docker container that contains +// your inference code and the Amazon S3 location of your model artifacts, provide +// values for InferenceSpecification. To create a model from an algorithm resource +// that you created or subscribed to in AWS Marketplace, provide a value for +// SourceAlgorithmSpecification. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation CreateModelPackage for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateModelPackage +func (c *SageMaker) CreateModelPackage(input *CreateModelPackageInput) (*CreateModelPackageOutput, error) { + req, out := c.CreateModelPackageRequest(input) + return out, req.Send() +} + +// CreateModelPackageWithContext is the same as CreateModelPackage with the addition of +// the ability to pass a context and additional request options. +// +// See CreateModelPackage 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 *SageMaker) CreateModelPackageWithContext(ctx aws.Context, input *CreateModelPackageInput, opts ...request.Option) (*CreateModelPackageOutput, error) { + req, out := c.CreateModelPackageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateNotebookInstance = "CreateNotebookInstance" + +// CreateNotebookInstanceRequest generates a "aws/request.Request" representing the +// client's request for the CreateNotebookInstance 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 CreateNotebookInstance for more information on using the CreateNotebookInstance +// 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 CreateNotebookInstanceRequest method. +// req, resp := client.CreateNotebookInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateNotebookInstance +func (c *SageMaker) CreateNotebookInstanceRequest(input *CreateNotebookInstanceInput) (req *request.Request, output *CreateNotebookInstanceOutput) { + op := &request.Operation{ + Name: opCreateNotebookInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateNotebookInstanceInput{} + } + + output = &CreateNotebookInstanceOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateNotebookInstance API operation for Amazon SageMaker Service. +// +// Creates an Amazon SageMaker notebook instance. A notebook instance is a machine +// learning (ML) compute instance running on a Jupyter notebook. +// +// In a CreateNotebookInstance request, specify the type of ML compute instance +// that you want to run. Amazon SageMaker launches the instance, installs common +// libraries that you can use to explore datasets for model training, and attaches +// an ML storage volume to the notebook instance. +// +// Amazon SageMaker also provides a set of example notebooks. Each notebook +// demonstrates how to use Amazon SageMaker with a specific algorithm or with +// a machine learning framework. +// +// After receiving the request, Amazon SageMaker does the following: +// +// Creates a network interface in the Amazon SageMaker VPC. +// +// (Option) If you specified SubnetId, Amazon SageMaker creates a network interface +// in your own VPC, which is inferred from the subnet ID that you provide in +// the input. When creating this network interface, Amazon SageMaker attaches +// the security group that you specified in the request to the network interface +// that it creates in your VPC. +// +// Launches an EC2 instance of the type specified in the request in the Amazon +// SageMaker VPC. If you specified SubnetId of your VPC, Amazon SageMaker specifies +// both network interfaces when launching this instance. This enables inbound +// traffic from your own VPC to the notebook instance, assuming that the security +// groups allow it. +// +// After creating the notebook instance, Amazon SageMaker returns its Amazon +// Resource Name (ARN). +// +// After Amazon SageMaker creates the notebook instance, you can connect to +// the Jupyter server and work in Jupyter notebooks. For example, you can write +// code to explore a dataset that you can use for model training, train a model, +// host models by creating Amazon SageMaker endpoints, and validate hosted models. +// +// For more information, see How It Works (http://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works.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 SageMaker Service's +// API operation CreateNotebookInstance for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateNotebookInstance +func (c *SageMaker) CreateNotebookInstance(input *CreateNotebookInstanceInput) (*CreateNotebookInstanceOutput, error) { + req, out := c.CreateNotebookInstanceRequest(input) + return out, req.Send() +} + +// CreateNotebookInstanceWithContext is the same as CreateNotebookInstance with the addition of +// the ability to pass a context and additional request options. +// +// See CreateNotebookInstance 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 *SageMaker) CreateNotebookInstanceWithContext(ctx aws.Context, input *CreateNotebookInstanceInput, opts ...request.Option) (*CreateNotebookInstanceOutput, error) { + req, out := c.CreateNotebookInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateNotebookInstanceLifecycleConfig = "CreateNotebookInstanceLifecycleConfig" + +// CreateNotebookInstanceLifecycleConfigRequest generates a "aws/request.Request" representing the +// client's request for the CreateNotebookInstanceLifecycleConfig 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 CreateNotebookInstanceLifecycleConfig for more information on using the CreateNotebookInstanceLifecycleConfig +// 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 CreateNotebookInstanceLifecycleConfigRequest method. +// req, resp := client.CreateNotebookInstanceLifecycleConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateNotebookInstanceLifecycleConfig +func (c *SageMaker) CreateNotebookInstanceLifecycleConfigRequest(input *CreateNotebookInstanceLifecycleConfigInput) (req *request.Request, output *CreateNotebookInstanceLifecycleConfigOutput) { + op := &request.Operation{ + Name: opCreateNotebookInstanceLifecycleConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateNotebookInstanceLifecycleConfigInput{} + } + + output = &CreateNotebookInstanceLifecycleConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateNotebookInstanceLifecycleConfig API operation for Amazon SageMaker Service. +// +// Creates a lifecycle configuration that you can associate with a notebook +// instance. A lifecycle configuration is a collection of shell scripts that +// run when you create or start a notebook instance. +// +// Each lifecycle configuration script has a limit of 16384 characters. +// +// The value of the $PATH environment variable that is available to both scripts +// is /sbin:bin:/usr/sbin:/usr/bin. +// +// View CloudWatch Logs for notebook instance lifecycle configurations in log +// group /aws/sagemaker/NotebookInstances in log stream [notebook-instance-name]/[LifecycleConfigHook]. +// +// Lifecycle configuration scripts cannot run for longer than 5 minutes. If +// a script runs for longer than 5 minutes, it fails and the notebook instance +// is not created or started. +// +// For information about notebook instance lifestyle configurations, see Step +// 2.1: (Optional) Customize a Notebook Instance (http://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.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 SageMaker Service's +// API operation CreateNotebookInstanceLifecycleConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateNotebookInstanceLifecycleConfig +func (c *SageMaker) CreateNotebookInstanceLifecycleConfig(input *CreateNotebookInstanceLifecycleConfigInput) (*CreateNotebookInstanceLifecycleConfigOutput, error) { + req, out := c.CreateNotebookInstanceLifecycleConfigRequest(input) + return out, req.Send() +} + +// CreateNotebookInstanceLifecycleConfigWithContext is the same as CreateNotebookInstanceLifecycleConfig with the addition of +// the ability to pass a context and additional request options. +// +// See CreateNotebookInstanceLifecycleConfig 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 *SageMaker) CreateNotebookInstanceLifecycleConfigWithContext(ctx aws.Context, input *CreateNotebookInstanceLifecycleConfigInput, opts ...request.Option) (*CreateNotebookInstanceLifecycleConfigOutput, error) { + req, out := c.CreateNotebookInstanceLifecycleConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreatePresignedNotebookInstanceUrl = "CreatePresignedNotebookInstanceUrl" + +// CreatePresignedNotebookInstanceUrlRequest generates a "aws/request.Request" representing the +// client's request for the CreatePresignedNotebookInstanceUrl 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 CreatePresignedNotebookInstanceUrl for more information on using the CreatePresignedNotebookInstanceUrl +// 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 CreatePresignedNotebookInstanceUrlRequest method. +// req, resp := client.CreatePresignedNotebookInstanceUrlRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreatePresignedNotebookInstanceUrl +func (c *SageMaker) CreatePresignedNotebookInstanceUrlRequest(input *CreatePresignedNotebookInstanceUrlInput) (req *request.Request, output *CreatePresignedNotebookInstanceUrlOutput) { + op := &request.Operation{ + Name: opCreatePresignedNotebookInstanceUrl, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreatePresignedNotebookInstanceUrlInput{} + } + + output = &CreatePresignedNotebookInstanceUrlOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePresignedNotebookInstanceUrl API operation for Amazon SageMaker Service. +// +// Returns a URL that you can use to connect to the Jupyter server from a notebook +// instance. In the Amazon SageMaker console, when you choose Open next to a +// notebook instance, Amazon SageMaker opens a new tab showing the Jupyter server +// home page from the notebook instance. The console uses this API to get the +// URL and show the page. +// +// You can restrict access to this API and to the URL that it returns to a list +// of IP addresses that you specify. To restrict access, attach an IAM policy +// that denies access to this API unless the call comes from an IP address in +// the specified list to every AWS Identity and Access Management user, group, +// or role used to access the notebook instance. Use the NotIpAddress condition +// operator and the aws:SourceIP condition context key to specify the list of +// IP addresses that you want to have access to the notebook instance. For more +// information, see Limit Access to a Notebook Instance by IP Address (http://docs.aws.amazon.com/sagemaker/latest/dg/howitworks-access-ws.html#nbi-ip-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 SageMaker Service's +// API operation CreatePresignedNotebookInstanceUrl for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreatePresignedNotebookInstanceUrl +func (c *SageMaker) CreatePresignedNotebookInstanceUrl(input *CreatePresignedNotebookInstanceUrlInput) (*CreatePresignedNotebookInstanceUrlOutput, error) { + req, out := c.CreatePresignedNotebookInstanceUrlRequest(input) + return out, req.Send() +} + +// CreatePresignedNotebookInstanceUrlWithContext is the same as CreatePresignedNotebookInstanceUrl with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePresignedNotebookInstanceUrl 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 *SageMaker) CreatePresignedNotebookInstanceUrlWithContext(ctx aws.Context, input *CreatePresignedNotebookInstanceUrlInput, opts ...request.Option) (*CreatePresignedNotebookInstanceUrlOutput, error) { + req, out := c.CreatePresignedNotebookInstanceUrlRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTrainingJob = "CreateTrainingJob" + +// CreateTrainingJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrainingJob 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 CreateTrainingJob for more information on using the CreateTrainingJob +// 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 CreateTrainingJobRequest method. +// req, resp := client.CreateTrainingJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateTrainingJob +func (c *SageMaker) CreateTrainingJobRequest(input *CreateTrainingJobInput) (req *request.Request, output *CreateTrainingJobOutput) { + op := &request.Operation{ + Name: opCreateTrainingJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTrainingJobInput{} + } + + output = &CreateTrainingJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTrainingJob API operation for Amazon SageMaker Service. +// +// Starts a model training job. After training completes, Amazon SageMaker saves +// the resulting model artifacts to an Amazon S3 location that you specify. +// +// If you choose to host your model using Amazon SageMaker hosting services, +// you can use the resulting model artifacts as part of the model. You can also +// use the artifacts in a deep learning service other than Amazon SageMaker, +// provided that you know how to use them for inferences. +// +// In the request body, you provide the following: +// +// * AlgorithmSpecification - Identifies the training algorithm to use. +// +// * HyperParameters - Specify these algorithm-specific parameters to influence +// the quality of the final model. For a list of hyperparameters for each +// training algorithm provided by Amazon SageMaker, see Algorithms (http://docs.aws.amazon.com/sagemaker/latest/dg/algos.html). +// +// +// * InputDataConfig - Describes the training dataset and the Amazon S3 location +// where it is stored. +// +// * OutputDataConfig - Identifies the Amazon S3 location where you want +// Amazon SageMaker to save the results of model training. +// +// * ResourceConfig - Identifies the resources, ML compute instances, and +// ML storage volumes to deploy for model training. In distributed training, +// you specify more than one instance. +// +// * RoleARN - The Amazon Resource Number (ARN) that Amazon SageMaker assumes +// to perform tasks on your behalf during model training. You must grant +// this role the necessary permissions so that Amazon SageMaker can successfully +// complete model training. +// +// * StoppingCondition - Sets a duration for training. Use this parameter +// to cap model training costs. +// +// For more information about Amazon SageMaker, see How It Works (http://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works.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 SageMaker Service's +// API operation CreateTrainingJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceInUse "ResourceInUse" +// Resource being accessed is in use. +// +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateTrainingJob +func (c *SageMaker) CreateTrainingJob(input *CreateTrainingJobInput) (*CreateTrainingJobOutput, error) { + req, out := c.CreateTrainingJobRequest(input) + return out, req.Send() +} + +// CreateTrainingJobWithContext is the same as CreateTrainingJob with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTrainingJob 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 *SageMaker) CreateTrainingJobWithContext(ctx aws.Context, input *CreateTrainingJobInput, opts ...request.Option) (*CreateTrainingJobOutput, error) { + req, out := c.CreateTrainingJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTransformJob = "CreateTransformJob" + +// CreateTransformJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateTransformJob 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 CreateTransformJob for more information on using the CreateTransformJob +// 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 CreateTransformJobRequest method. +// req, resp := client.CreateTransformJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateTransformJob +func (c *SageMaker) CreateTransformJobRequest(input *CreateTransformJobInput) (req *request.Request, output *CreateTransformJobOutput) { + op := &request.Operation{ + Name: opCreateTransformJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTransformJobInput{} + } + + output = &CreateTransformJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTransformJob API operation for Amazon SageMaker Service. +// +// Starts a transform job. A transform job uses a trained model to get inferences +// on a dataset and saves these results to an Amazon S3 location that you specify. +// +// To perform batch transformations, you create a transform job and use the +// data that you have readily available. +// +// In the request body, you provide the following: +// +// * TransformJobName - Identifies the transform job. The name must be unique +// within an AWS Region in an AWS account. +// +// * ModelName - Identifies the model to use. ModelName must be the name +// of an existing Amazon SageMaker model in the same AWS Region and AWS account. +// For information on creating a model, see CreateModel. +// +// * TransformInput - Describes the dataset to be transformed and the Amazon +// S3 location where it is stored. +// +// * TransformOutput - Identifies the Amazon S3 location where you want Amazon +// SageMaker to save the results from the transform job. +// +// * TransformResources - Identifies the ML compute instances for the transform +// job. +// +// For more information about how batch transformation works Amazon SageMaker, +// see How It Works (http://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform.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 SageMaker Service's +// API operation CreateTransformJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceInUse "ResourceInUse" +// Resource being accessed is in use. +// +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateTransformJob +func (c *SageMaker) CreateTransformJob(input *CreateTransformJobInput) (*CreateTransformJobOutput, error) { + req, out := c.CreateTransformJobRequest(input) + return out, req.Send() +} + +// CreateTransformJobWithContext is the same as CreateTransformJob with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTransformJob 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 *SageMaker) CreateTransformJobWithContext(ctx aws.Context, input *CreateTransformJobInput, opts ...request.Option) (*CreateTransformJobOutput, error) { + req, out := c.CreateTransformJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateWorkteam = "CreateWorkteam" + +// CreateWorkteamRequest generates a "aws/request.Request" representing the +// client's request for the CreateWorkteam 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 CreateWorkteam for more information on using the CreateWorkteam +// 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 CreateWorkteamRequest method. +// req, resp := client.CreateWorkteamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateWorkteam +func (c *SageMaker) CreateWorkteamRequest(input *CreateWorkteamInput) (req *request.Request, output *CreateWorkteamOutput) { + op := &request.Operation{ + Name: opCreateWorkteam, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateWorkteamInput{} + } + + output = &CreateWorkteamOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateWorkteam API operation for Amazon SageMaker Service. +// +// Creates a new work team for labeling your data. A work team is defined by +// one or more Amazon Cognito user pools. You must first create the user pools +// before you can create a work team. +// +// You cannot create more than 25 work teams in an account and region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation CreateWorkteam for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceInUse "ResourceInUse" +// Resource being accessed is in use. +// +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateWorkteam +func (c *SageMaker) CreateWorkteam(input *CreateWorkteamInput) (*CreateWorkteamOutput, error) { + req, out := c.CreateWorkteamRequest(input) + return out, req.Send() +} + +// CreateWorkteamWithContext is the same as CreateWorkteam with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWorkteam 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 *SageMaker) CreateWorkteamWithContext(ctx aws.Context, input *CreateWorkteamInput, opts ...request.Option) (*CreateWorkteamOutput, error) { + req, out := c.CreateWorkteamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteAlgorithm = "DeleteAlgorithm" + +// DeleteAlgorithmRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAlgorithm 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 DeleteAlgorithm for more information on using the DeleteAlgorithm +// 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 DeleteAlgorithmRequest method. +// req, resp := client.DeleteAlgorithmRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteAlgorithm +func (c *SageMaker) DeleteAlgorithmRequest(input *DeleteAlgorithmInput) (req *request.Request, output *DeleteAlgorithmOutput) { + op := &request.Operation{ + Name: opDeleteAlgorithm, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteAlgorithmInput{} + } + + output = &DeleteAlgorithmOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteAlgorithm API operation for Amazon SageMaker Service. +// +// Removes the specified algorithm from your 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 SageMaker Service's +// API operation DeleteAlgorithm for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteAlgorithm +func (c *SageMaker) DeleteAlgorithm(input *DeleteAlgorithmInput) (*DeleteAlgorithmOutput, error) { + req, out := c.DeleteAlgorithmRequest(input) + return out, req.Send() +} + +// DeleteAlgorithmWithContext is the same as DeleteAlgorithm with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAlgorithm 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 *SageMaker) DeleteAlgorithmWithContext(ctx aws.Context, input *DeleteAlgorithmInput, opts ...request.Option) (*DeleteAlgorithmOutput, error) { + req, out := c.DeleteAlgorithmRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteCodeRepository = "DeleteCodeRepository" + +// DeleteCodeRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCodeRepository 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 DeleteCodeRepository for more information on using the DeleteCodeRepository +// 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 DeleteCodeRepositoryRequest method. +// req, resp := client.DeleteCodeRepositoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteCodeRepository +func (c *SageMaker) DeleteCodeRepositoryRequest(input *DeleteCodeRepositoryInput) (req *request.Request, output *DeleteCodeRepositoryOutput) { + op := &request.Operation{ + Name: opDeleteCodeRepository, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteCodeRepositoryInput{} + } + + output = &DeleteCodeRepositoryOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteCodeRepository API operation for Amazon SageMaker Service. +// +// Deletes the specified Git repository from your 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 SageMaker Service's +// API operation DeleteCodeRepository for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteCodeRepository +func (c *SageMaker) DeleteCodeRepository(input *DeleteCodeRepositoryInput) (*DeleteCodeRepositoryOutput, error) { + req, out := c.DeleteCodeRepositoryRequest(input) + return out, req.Send() +} + +// DeleteCodeRepositoryWithContext is the same as DeleteCodeRepository with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCodeRepository 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 *SageMaker) DeleteCodeRepositoryWithContext(ctx aws.Context, input *DeleteCodeRepositoryInput, opts ...request.Option) (*DeleteCodeRepositoryOutput, error) { + req, out := c.DeleteCodeRepositoryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteEndpoint = "DeleteEndpoint" + +// DeleteEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEndpoint 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 DeleteEndpoint for more information on using the DeleteEndpoint +// 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 DeleteEndpointRequest method. +// req, resp := client.DeleteEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteEndpoint +func (c *SageMaker) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) { + op := &request.Operation{ + Name: opDeleteEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteEndpointInput{} + } + + output = &DeleteEndpointOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteEndpoint API operation for Amazon SageMaker Service. +// +// Deletes an endpoint. Amazon SageMaker frees up all of the resources that +// were deployed when the endpoint was created. +// +// Amazon SageMaker retires any custom KMS key grants associated with the endpoint, +// meaning you don't need to use the RevokeGrant (http://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html) +// API 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 SageMaker Service's +// API operation DeleteEndpoint for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteEndpoint +func (c *SageMaker) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) { + req, out := c.DeleteEndpointRequest(input) + return out, req.Send() +} + +// DeleteEndpointWithContext is the same as DeleteEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEndpoint 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 *SageMaker) DeleteEndpointWithContext(ctx aws.Context, input *DeleteEndpointInput, opts ...request.Option) (*DeleteEndpointOutput, error) { + req, out := c.DeleteEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteEndpointConfig = "DeleteEndpointConfig" + +// DeleteEndpointConfigRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEndpointConfig 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 DeleteEndpointConfig for more information on using the DeleteEndpointConfig +// 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 DeleteEndpointConfigRequest method. +// req, resp := client.DeleteEndpointConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteEndpointConfig +func (c *SageMaker) DeleteEndpointConfigRequest(input *DeleteEndpointConfigInput) (req *request.Request, output *DeleteEndpointConfigOutput) { + op := &request.Operation{ + Name: opDeleteEndpointConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteEndpointConfigInput{} + } + + output = &DeleteEndpointConfigOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteEndpointConfig API operation for Amazon SageMaker Service. +// +// Deletes an endpoint configuration. The DeleteEndpointConfig API deletes only +// the specified configuration. It does not delete endpoints created using the +// configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DeleteEndpointConfig for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteEndpointConfig +func (c *SageMaker) DeleteEndpointConfig(input *DeleteEndpointConfigInput) (*DeleteEndpointConfigOutput, error) { + req, out := c.DeleteEndpointConfigRequest(input) + return out, req.Send() +} + +// DeleteEndpointConfigWithContext is the same as DeleteEndpointConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEndpointConfig 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 *SageMaker) DeleteEndpointConfigWithContext(ctx aws.Context, input *DeleteEndpointConfigInput, opts ...request.Option) (*DeleteEndpointConfigOutput, error) { + req, out := c.DeleteEndpointConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteModel = "DeleteModel" + +// DeleteModelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteModel 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 DeleteModel for more information on using the DeleteModel +// 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 DeleteModelRequest method. +// req, resp := client.DeleteModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteModel +func (c *SageMaker) DeleteModelRequest(input *DeleteModelInput) (req *request.Request, output *DeleteModelOutput) { + op := &request.Operation{ + Name: opDeleteModel, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteModelInput{} + } + + output = &DeleteModelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteModel API operation for Amazon SageMaker Service. +// +// Deletes a model. The DeleteModel API deletes only the model entry that was +// created in Amazon SageMaker when you called the CreateModel (http://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateModel.html) +// API. It does not delete model artifacts, inference code, or the IAM role +// that you specified when creating the model. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DeleteModel for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteModel +func (c *SageMaker) DeleteModel(input *DeleteModelInput) (*DeleteModelOutput, error) { + req, out := c.DeleteModelRequest(input) + return out, req.Send() +} + +// DeleteModelWithContext is the same as DeleteModel with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteModel 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 *SageMaker) DeleteModelWithContext(ctx aws.Context, input *DeleteModelInput, opts ...request.Option) (*DeleteModelOutput, error) { + req, out := c.DeleteModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteModelPackage = "DeleteModelPackage" + +// DeleteModelPackageRequest generates a "aws/request.Request" representing the +// client's request for the DeleteModelPackage 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 DeleteModelPackage for more information on using the DeleteModelPackage +// 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 DeleteModelPackageRequest method. +// req, resp := client.DeleteModelPackageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteModelPackage +func (c *SageMaker) DeleteModelPackageRequest(input *DeleteModelPackageInput) (req *request.Request, output *DeleteModelPackageOutput) { + op := &request.Operation{ + Name: opDeleteModelPackage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteModelPackageInput{} + } + + output = &DeleteModelPackageOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteModelPackage API operation for Amazon SageMaker Service. +// +// Deletes a model package. +// +// A model package is used to create Amazon SageMaker models or list on AWS +// Marketplace. Buyers can subscribe to model packages listed on AWS Marketplace +// to create models in Amazon SageMaker. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DeleteModelPackage for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteModelPackage +func (c *SageMaker) DeleteModelPackage(input *DeleteModelPackageInput) (*DeleteModelPackageOutput, error) { + req, out := c.DeleteModelPackageRequest(input) + return out, req.Send() +} + +// DeleteModelPackageWithContext is the same as DeleteModelPackage with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteModelPackage 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 *SageMaker) DeleteModelPackageWithContext(ctx aws.Context, input *DeleteModelPackageInput, opts ...request.Option) (*DeleteModelPackageOutput, error) { + req, out := c.DeleteModelPackageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteNotebookInstance = "DeleteNotebookInstance" + +// DeleteNotebookInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteNotebookInstance 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 DeleteNotebookInstance for more information on using the DeleteNotebookInstance +// 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 DeleteNotebookInstanceRequest method. +// req, resp := client.DeleteNotebookInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteNotebookInstance +func (c *SageMaker) DeleteNotebookInstanceRequest(input *DeleteNotebookInstanceInput) (req *request.Request, output *DeleteNotebookInstanceOutput) { + op := &request.Operation{ + Name: opDeleteNotebookInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteNotebookInstanceInput{} + } + + output = &DeleteNotebookInstanceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteNotebookInstance API operation for Amazon SageMaker Service. +// +// Deletes an Amazon SageMaker notebook instance. Before you can delete a notebook +// instance, you must call the StopNotebookInstance API. +// +// When you delete a notebook instance, you lose all of your data. Amazon SageMaker +// removes the ML compute instance, and deletes the ML storage volume and the +// network interface associated with the notebook 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 SageMaker Service's +// API operation DeleteNotebookInstance for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteNotebookInstance +func (c *SageMaker) DeleteNotebookInstance(input *DeleteNotebookInstanceInput) (*DeleteNotebookInstanceOutput, error) { + req, out := c.DeleteNotebookInstanceRequest(input) + return out, req.Send() +} + +// DeleteNotebookInstanceWithContext is the same as DeleteNotebookInstance with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteNotebookInstance 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 *SageMaker) DeleteNotebookInstanceWithContext(ctx aws.Context, input *DeleteNotebookInstanceInput, opts ...request.Option) (*DeleteNotebookInstanceOutput, error) { + req, out := c.DeleteNotebookInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteNotebookInstanceLifecycleConfig = "DeleteNotebookInstanceLifecycleConfig" + +// DeleteNotebookInstanceLifecycleConfigRequest generates a "aws/request.Request" representing the +// client's request for the DeleteNotebookInstanceLifecycleConfig 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 DeleteNotebookInstanceLifecycleConfig for more information on using the DeleteNotebookInstanceLifecycleConfig +// 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 DeleteNotebookInstanceLifecycleConfigRequest method. +// req, resp := client.DeleteNotebookInstanceLifecycleConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteNotebookInstanceLifecycleConfig +func (c *SageMaker) DeleteNotebookInstanceLifecycleConfigRequest(input *DeleteNotebookInstanceLifecycleConfigInput) (req *request.Request, output *DeleteNotebookInstanceLifecycleConfigOutput) { + op := &request.Operation{ + Name: opDeleteNotebookInstanceLifecycleConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteNotebookInstanceLifecycleConfigInput{} + } + + output = &DeleteNotebookInstanceLifecycleConfigOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteNotebookInstanceLifecycleConfig API operation for Amazon SageMaker Service. +// +// Deletes a notebook instance lifecycle configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DeleteNotebookInstanceLifecycleConfig for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteNotebookInstanceLifecycleConfig +func (c *SageMaker) DeleteNotebookInstanceLifecycleConfig(input *DeleteNotebookInstanceLifecycleConfigInput) (*DeleteNotebookInstanceLifecycleConfigOutput, error) { + req, out := c.DeleteNotebookInstanceLifecycleConfigRequest(input) + return out, req.Send() +} + +// DeleteNotebookInstanceLifecycleConfigWithContext is the same as DeleteNotebookInstanceLifecycleConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteNotebookInstanceLifecycleConfig 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 *SageMaker) DeleteNotebookInstanceLifecycleConfigWithContext(ctx aws.Context, input *DeleteNotebookInstanceLifecycleConfigInput, opts ...request.Option) (*DeleteNotebookInstanceLifecycleConfigOutput, error) { + req, out := c.DeleteNotebookInstanceLifecycleConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTags = "DeleteTags" + +// DeleteTagsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTags 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 DeleteTags for more information on using the DeleteTags +// 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 DeleteTagsRequest method. +// req, resp := client.DeleteTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteTags +func (c *SageMaker) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) { + op := &request.Operation{ + Name: opDeleteTags, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTagsInput{} + } + + output = &DeleteTagsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteTags API operation for Amazon SageMaker Service. +// +// Deletes the specified tags from an Amazon SageMaker resource. +// +// To list a resource's tags, use the ListTags API. +// +// When you call this API to delete tags from a hyperparameter tuning job, the +// deleted tags are not removed from training jobs that the hyperparameter tuning +// job launched before you called this 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 Amazon SageMaker Service's +// API operation DeleteTags for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteTags +func (c *SageMaker) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { + req, out := c.DeleteTagsRequest(input) + return out, req.Send() +} + +// DeleteTagsWithContext is the same as DeleteTags with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTags 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 *SageMaker) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) { + req, out := c.DeleteTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteWorkteam = "DeleteWorkteam" + +// DeleteWorkteamRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWorkteam 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 DeleteWorkteam for more information on using the DeleteWorkteam +// 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 DeleteWorkteamRequest method. +// req, resp := client.DeleteWorkteamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteWorkteam +func (c *SageMaker) DeleteWorkteamRequest(input *DeleteWorkteamInput) (req *request.Request, output *DeleteWorkteamOutput) { + op := &request.Operation{ + Name: opDeleteWorkteam, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteWorkteamInput{} + } + + output = &DeleteWorkteamOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteWorkteam API operation for Amazon SageMaker Service. +// +// Deletes an existing work team. This operation can't be undone. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DeleteWorkteam for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteWorkteam +func (c *SageMaker) DeleteWorkteam(input *DeleteWorkteamInput) (*DeleteWorkteamOutput, error) { + req, out := c.DeleteWorkteamRequest(input) + return out, req.Send() +} + +// DeleteWorkteamWithContext is the same as DeleteWorkteam with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWorkteam 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 *SageMaker) DeleteWorkteamWithContext(ctx aws.Context, input *DeleteWorkteamInput, opts ...request.Option) (*DeleteWorkteamOutput, error) { + req, out := c.DeleteWorkteamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAlgorithm = "DescribeAlgorithm" + +// DescribeAlgorithmRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAlgorithm 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 DescribeAlgorithm for more information on using the DescribeAlgorithm +// 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 DescribeAlgorithmRequest method. +// req, resp := client.DescribeAlgorithmRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeAlgorithm +func (c *SageMaker) DescribeAlgorithmRequest(input *DescribeAlgorithmInput) (req *request.Request, output *DescribeAlgorithmOutput) { + op := &request.Operation{ + Name: opDescribeAlgorithm, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeAlgorithmInput{} + } + + output = &DescribeAlgorithmOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAlgorithm API operation for Amazon SageMaker Service. +// +// Returns a description of the specified algorithm that is in your 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 SageMaker Service's +// API operation DescribeAlgorithm for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeAlgorithm +func (c *SageMaker) DescribeAlgorithm(input *DescribeAlgorithmInput) (*DescribeAlgorithmOutput, error) { + req, out := c.DescribeAlgorithmRequest(input) + return out, req.Send() +} + +// DescribeAlgorithmWithContext is the same as DescribeAlgorithm with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAlgorithm 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 *SageMaker) DescribeAlgorithmWithContext(ctx aws.Context, input *DescribeAlgorithmInput, opts ...request.Option) (*DescribeAlgorithmOutput, error) { + req, out := c.DescribeAlgorithmRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeCodeRepository = "DescribeCodeRepository" + +// DescribeCodeRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCodeRepository 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 DescribeCodeRepository for more information on using the DescribeCodeRepository +// 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 DescribeCodeRepositoryRequest method. +// req, resp := client.DescribeCodeRepositoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeCodeRepository +func (c *SageMaker) DescribeCodeRepositoryRequest(input *DescribeCodeRepositoryInput) (req *request.Request, output *DescribeCodeRepositoryOutput) { + op := &request.Operation{ + Name: opDescribeCodeRepository, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeCodeRepositoryInput{} + } + + output = &DescribeCodeRepositoryOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCodeRepository API operation for Amazon SageMaker Service. +// +// Gets details about the specified Git repository. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DescribeCodeRepository for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeCodeRepository +func (c *SageMaker) DescribeCodeRepository(input *DescribeCodeRepositoryInput) (*DescribeCodeRepositoryOutput, error) { + req, out := c.DescribeCodeRepositoryRequest(input) + return out, req.Send() +} + +// DescribeCodeRepositoryWithContext is the same as DescribeCodeRepository with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCodeRepository 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 *SageMaker) DescribeCodeRepositoryWithContext(ctx aws.Context, input *DescribeCodeRepositoryInput, opts ...request.Option) (*DescribeCodeRepositoryOutput, error) { + req, out := c.DescribeCodeRepositoryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeCompilationJob = "DescribeCompilationJob" + +// DescribeCompilationJobRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCompilationJob 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 DescribeCompilationJob for more information on using the DescribeCompilationJob +// 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 DescribeCompilationJobRequest method. +// req, resp := client.DescribeCompilationJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeCompilationJob +func (c *SageMaker) DescribeCompilationJobRequest(input *DescribeCompilationJobInput) (req *request.Request, output *DescribeCompilationJobOutput) { + op := &request.Operation{ + Name: opDescribeCompilationJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeCompilationJobInput{} + } + + output = &DescribeCompilationJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCompilationJob API operation for Amazon SageMaker Service. +// +// Returns information about a model compilation job. +// +// To create a model compilation job, use CreateCompilationJob. To get information +// about multiple model compilation jobs, use ListCompilationJobs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DescribeCompilationJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFound "ResourceNotFound" +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeCompilationJob +func (c *SageMaker) DescribeCompilationJob(input *DescribeCompilationJobInput) (*DescribeCompilationJobOutput, error) { + req, out := c.DescribeCompilationJobRequest(input) + return out, req.Send() +} + +// DescribeCompilationJobWithContext is the same as DescribeCompilationJob with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCompilationJob 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 *SageMaker) DescribeCompilationJobWithContext(ctx aws.Context, input *DescribeCompilationJobInput, opts ...request.Option) (*DescribeCompilationJobOutput, error) { + req, out := c.DescribeCompilationJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeEndpoint = "DescribeEndpoint" + +// DescribeEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEndpoint 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 DescribeEndpoint for more information on using the DescribeEndpoint +// 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 DescribeEndpointRequest method. +// req, resp := client.DescribeEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeEndpoint +func (c *SageMaker) DescribeEndpointRequest(input *DescribeEndpointInput) (req *request.Request, output *DescribeEndpointOutput) { + op := &request.Operation{ + Name: opDescribeEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEndpointInput{} + } + + output = &DescribeEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEndpoint API operation for Amazon SageMaker Service. +// +// Returns the description of an endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DescribeEndpoint for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeEndpoint +func (c *SageMaker) DescribeEndpoint(input *DescribeEndpointInput) (*DescribeEndpointOutput, error) { + req, out := c.DescribeEndpointRequest(input) + return out, req.Send() +} + +// DescribeEndpointWithContext is the same as DescribeEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEndpoint 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 *SageMaker) DescribeEndpointWithContext(ctx aws.Context, input *DescribeEndpointInput, opts ...request.Option) (*DescribeEndpointOutput, error) { + req, out := c.DescribeEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeEndpointConfig = "DescribeEndpointConfig" + +// DescribeEndpointConfigRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEndpointConfig 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 DescribeEndpointConfig for more information on using the DescribeEndpointConfig +// 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 DescribeEndpointConfigRequest method. +// req, resp := client.DescribeEndpointConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeEndpointConfig +func (c *SageMaker) DescribeEndpointConfigRequest(input *DescribeEndpointConfigInput) (req *request.Request, output *DescribeEndpointConfigOutput) { + op := &request.Operation{ + Name: opDescribeEndpointConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEndpointConfigInput{} + } + + output = &DescribeEndpointConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEndpointConfig API operation for Amazon SageMaker Service. +// +// Returns the description of an endpoint configuration created using the CreateEndpointConfig +// 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 Amazon SageMaker Service's +// API operation DescribeEndpointConfig for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeEndpointConfig +func (c *SageMaker) DescribeEndpointConfig(input *DescribeEndpointConfigInput) (*DescribeEndpointConfigOutput, error) { + req, out := c.DescribeEndpointConfigRequest(input) + return out, req.Send() +} + +// DescribeEndpointConfigWithContext is the same as DescribeEndpointConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEndpointConfig 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 *SageMaker) DescribeEndpointConfigWithContext(ctx aws.Context, input *DescribeEndpointConfigInput, opts ...request.Option) (*DescribeEndpointConfigOutput, error) { + req, out := c.DescribeEndpointConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeHyperParameterTuningJob = "DescribeHyperParameterTuningJob" + +// DescribeHyperParameterTuningJobRequest generates a "aws/request.Request" representing the +// client's request for the DescribeHyperParameterTuningJob 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 DescribeHyperParameterTuningJob for more information on using the DescribeHyperParameterTuningJob +// 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 DescribeHyperParameterTuningJobRequest method. +// req, resp := client.DescribeHyperParameterTuningJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeHyperParameterTuningJob +func (c *SageMaker) DescribeHyperParameterTuningJobRequest(input *DescribeHyperParameterTuningJobInput) (req *request.Request, output *DescribeHyperParameterTuningJobOutput) { + op := &request.Operation{ + Name: opDescribeHyperParameterTuningJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeHyperParameterTuningJobInput{} + } + + output = &DescribeHyperParameterTuningJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeHyperParameterTuningJob API operation for Amazon SageMaker Service. +// +// Gets a description of a hyperparameter tuning job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DescribeHyperParameterTuningJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFound "ResourceNotFound" +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeHyperParameterTuningJob +func (c *SageMaker) DescribeHyperParameterTuningJob(input *DescribeHyperParameterTuningJobInput) (*DescribeHyperParameterTuningJobOutput, error) { + req, out := c.DescribeHyperParameterTuningJobRequest(input) + return out, req.Send() +} + +// DescribeHyperParameterTuningJobWithContext is the same as DescribeHyperParameterTuningJob with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeHyperParameterTuningJob 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 *SageMaker) DescribeHyperParameterTuningJobWithContext(ctx aws.Context, input *DescribeHyperParameterTuningJobInput, opts ...request.Option) (*DescribeHyperParameterTuningJobOutput, error) { + req, out := c.DescribeHyperParameterTuningJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeLabelingJob = "DescribeLabelingJob" + +// DescribeLabelingJobRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLabelingJob 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 DescribeLabelingJob for more information on using the DescribeLabelingJob +// 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 DescribeLabelingJobRequest method. +// req, resp := client.DescribeLabelingJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeLabelingJob +func (c *SageMaker) DescribeLabelingJobRequest(input *DescribeLabelingJobInput) (req *request.Request, output *DescribeLabelingJobOutput) { + op := &request.Operation{ + Name: opDescribeLabelingJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeLabelingJobInput{} + } + + output = &DescribeLabelingJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeLabelingJob API operation for Amazon SageMaker Service. +// +// Gets information about a labeling job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DescribeLabelingJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFound "ResourceNotFound" +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeLabelingJob +func (c *SageMaker) DescribeLabelingJob(input *DescribeLabelingJobInput) (*DescribeLabelingJobOutput, error) { + req, out := c.DescribeLabelingJobRequest(input) + return out, req.Send() +} + +// DescribeLabelingJobWithContext is the same as DescribeLabelingJob with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeLabelingJob 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 *SageMaker) DescribeLabelingJobWithContext(ctx aws.Context, input *DescribeLabelingJobInput, opts ...request.Option) (*DescribeLabelingJobOutput, error) { + req, out := c.DescribeLabelingJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeModel = "DescribeModel" + +// DescribeModelRequest generates a "aws/request.Request" representing the +// client's request for the DescribeModel 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 DescribeModel for more information on using the DescribeModel +// 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 DescribeModelRequest method. +// req, resp := client.DescribeModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeModel +func (c *SageMaker) DescribeModelRequest(input *DescribeModelInput) (req *request.Request, output *DescribeModelOutput) { + op := &request.Operation{ + Name: opDescribeModel, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeModelInput{} + } + + output = &DescribeModelOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeModel API operation for Amazon SageMaker Service. +// +// Describes a model that you created using the CreateModel 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 Amazon SageMaker Service's +// API operation DescribeModel for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeModel +func (c *SageMaker) DescribeModel(input *DescribeModelInput) (*DescribeModelOutput, error) { + req, out := c.DescribeModelRequest(input) + return out, req.Send() +} + +// DescribeModelWithContext is the same as DescribeModel with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeModel 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 *SageMaker) DescribeModelWithContext(ctx aws.Context, input *DescribeModelInput, opts ...request.Option) (*DescribeModelOutput, error) { + req, out := c.DescribeModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeModelPackage = "DescribeModelPackage" + +// DescribeModelPackageRequest generates a "aws/request.Request" representing the +// client's request for the DescribeModelPackage 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 DescribeModelPackage for more information on using the DescribeModelPackage +// 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 DescribeModelPackageRequest method. +// req, resp := client.DescribeModelPackageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeModelPackage +func (c *SageMaker) DescribeModelPackageRequest(input *DescribeModelPackageInput) (req *request.Request, output *DescribeModelPackageOutput) { + op := &request.Operation{ + Name: opDescribeModelPackage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeModelPackageInput{} + } + + output = &DescribeModelPackageOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeModelPackage API operation for Amazon SageMaker Service. +// +// Returns a description of the specified model package, which is used to create +// Amazon SageMaker models or list them on AWS Marketplace. +// +// To create models in Amazon SageMaker, buyers can subscribe to model packages +// listed on AWS Marketplace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DescribeModelPackage for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeModelPackage +func (c *SageMaker) DescribeModelPackage(input *DescribeModelPackageInput) (*DescribeModelPackageOutput, error) { + req, out := c.DescribeModelPackageRequest(input) + return out, req.Send() +} + +// DescribeModelPackageWithContext is the same as DescribeModelPackage with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeModelPackage 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 *SageMaker) DescribeModelPackageWithContext(ctx aws.Context, input *DescribeModelPackageInput, opts ...request.Option) (*DescribeModelPackageOutput, error) { + req, out := c.DescribeModelPackageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeNotebookInstance = "DescribeNotebookInstance" + +// DescribeNotebookInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNotebookInstance 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 DescribeNotebookInstance for more information on using the DescribeNotebookInstance +// 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 DescribeNotebookInstanceRequest method. +// req, resp := client.DescribeNotebookInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeNotebookInstance +func (c *SageMaker) DescribeNotebookInstanceRequest(input *DescribeNotebookInstanceInput) (req *request.Request, output *DescribeNotebookInstanceOutput) { + op := &request.Operation{ + Name: opDescribeNotebookInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeNotebookInstanceInput{} + } + + output = &DescribeNotebookInstanceOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeNotebookInstance API operation for Amazon SageMaker Service. +// +// Returns information about a notebook 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 SageMaker Service's +// API operation DescribeNotebookInstance for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeNotebookInstance +func (c *SageMaker) DescribeNotebookInstance(input *DescribeNotebookInstanceInput) (*DescribeNotebookInstanceOutput, error) { + req, out := c.DescribeNotebookInstanceRequest(input) + return out, req.Send() +} + +// DescribeNotebookInstanceWithContext is the same as DescribeNotebookInstance with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeNotebookInstance 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 *SageMaker) DescribeNotebookInstanceWithContext(ctx aws.Context, input *DescribeNotebookInstanceInput, opts ...request.Option) (*DescribeNotebookInstanceOutput, error) { + req, out := c.DescribeNotebookInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeNotebookInstanceLifecycleConfig = "DescribeNotebookInstanceLifecycleConfig" + +// DescribeNotebookInstanceLifecycleConfigRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNotebookInstanceLifecycleConfig 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 DescribeNotebookInstanceLifecycleConfig for more information on using the DescribeNotebookInstanceLifecycleConfig +// 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 DescribeNotebookInstanceLifecycleConfigRequest method. +// req, resp := client.DescribeNotebookInstanceLifecycleConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeNotebookInstanceLifecycleConfig +func (c *SageMaker) DescribeNotebookInstanceLifecycleConfigRequest(input *DescribeNotebookInstanceLifecycleConfigInput) (req *request.Request, output *DescribeNotebookInstanceLifecycleConfigOutput) { + op := &request.Operation{ + Name: opDescribeNotebookInstanceLifecycleConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeNotebookInstanceLifecycleConfigInput{} + } + + output = &DescribeNotebookInstanceLifecycleConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeNotebookInstanceLifecycleConfig API operation for Amazon SageMaker Service. +// +// Returns a description of a notebook instance lifecycle configuration. +// +// For information about notebook instance lifestyle configurations, see Step +// 2.1: (Optional) Customize a Notebook Instance (http://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.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 SageMaker Service's +// API operation DescribeNotebookInstanceLifecycleConfig for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeNotebookInstanceLifecycleConfig +func (c *SageMaker) DescribeNotebookInstanceLifecycleConfig(input *DescribeNotebookInstanceLifecycleConfigInput) (*DescribeNotebookInstanceLifecycleConfigOutput, error) { + req, out := c.DescribeNotebookInstanceLifecycleConfigRequest(input) + return out, req.Send() +} + +// DescribeNotebookInstanceLifecycleConfigWithContext is the same as DescribeNotebookInstanceLifecycleConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeNotebookInstanceLifecycleConfig 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 *SageMaker) DescribeNotebookInstanceLifecycleConfigWithContext(ctx aws.Context, input *DescribeNotebookInstanceLifecycleConfigInput, opts ...request.Option) (*DescribeNotebookInstanceLifecycleConfigOutput, error) { + req, out := c.DescribeNotebookInstanceLifecycleConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeSubscribedWorkteam = "DescribeSubscribedWorkteam" + +// DescribeSubscribedWorkteamRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSubscribedWorkteam 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 DescribeSubscribedWorkteam for more information on using the DescribeSubscribedWorkteam +// 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 DescribeSubscribedWorkteamRequest method. +// req, resp := client.DescribeSubscribedWorkteamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeSubscribedWorkteam +func (c *SageMaker) DescribeSubscribedWorkteamRequest(input *DescribeSubscribedWorkteamInput) (req *request.Request, output *DescribeSubscribedWorkteamOutput) { + op := &request.Operation{ + Name: opDescribeSubscribedWorkteam, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeSubscribedWorkteamInput{} + } + + output = &DescribeSubscribedWorkteamOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSubscribedWorkteam API operation for Amazon SageMaker Service. +// +// Gets information about a work team provided by a vendor. It returns details +// about the subscription with a vendor in the AWS Marketplace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DescribeSubscribedWorkteam for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeSubscribedWorkteam +func (c *SageMaker) DescribeSubscribedWorkteam(input *DescribeSubscribedWorkteamInput) (*DescribeSubscribedWorkteamOutput, error) { + req, out := c.DescribeSubscribedWorkteamRequest(input) + return out, req.Send() +} + +// DescribeSubscribedWorkteamWithContext is the same as DescribeSubscribedWorkteam with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSubscribedWorkteam 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 *SageMaker) DescribeSubscribedWorkteamWithContext(ctx aws.Context, input *DescribeSubscribedWorkteamInput, opts ...request.Option) (*DescribeSubscribedWorkteamOutput, error) { + req, out := c.DescribeSubscribedWorkteamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeTrainingJob = "DescribeTrainingJob" + +// DescribeTrainingJobRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTrainingJob 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 DescribeTrainingJob for more information on using the DescribeTrainingJob +// 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 DescribeTrainingJobRequest method. +// req, resp := client.DescribeTrainingJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeTrainingJob +func (c *SageMaker) DescribeTrainingJobRequest(input *DescribeTrainingJobInput) (req *request.Request, output *DescribeTrainingJobOutput) { + op := &request.Operation{ + Name: opDescribeTrainingJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeTrainingJobInput{} + } + + output = &DescribeTrainingJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeTrainingJob API operation for Amazon SageMaker Service. +// +// Returns information about a training job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DescribeTrainingJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFound "ResourceNotFound" +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeTrainingJob +func (c *SageMaker) DescribeTrainingJob(input *DescribeTrainingJobInput) (*DescribeTrainingJobOutput, error) { + req, out := c.DescribeTrainingJobRequest(input) + return out, req.Send() +} + +// DescribeTrainingJobWithContext is the same as DescribeTrainingJob with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeTrainingJob 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 *SageMaker) DescribeTrainingJobWithContext(ctx aws.Context, input *DescribeTrainingJobInput, opts ...request.Option) (*DescribeTrainingJobOutput, error) { + req, out := c.DescribeTrainingJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeTransformJob = "DescribeTransformJob" + +// DescribeTransformJobRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTransformJob 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 DescribeTransformJob for more information on using the DescribeTransformJob +// 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 DescribeTransformJobRequest method. +// req, resp := client.DescribeTransformJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeTransformJob +func (c *SageMaker) DescribeTransformJobRequest(input *DescribeTransformJobInput) (req *request.Request, output *DescribeTransformJobOutput) { + op := &request.Operation{ + Name: opDescribeTransformJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeTransformJobInput{} + } + + output = &DescribeTransformJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeTransformJob API operation for Amazon SageMaker Service. +// +// Returns information about a transform job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DescribeTransformJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFound "ResourceNotFound" +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeTransformJob +func (c *SageMaker) DescribeTransformJob(input *DescribeTransformJobInput) (*DescribeTransformJobOutput, error) { + req, out := c.DescribeTransformJobRequest(input) + return out, req.Send() +} + +// DescribeTransformJobWithContext is the same as DescribeTransformJob with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeTransformJob 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 *SageMaker) DescribeTransformJobWithContext(ctx aws.Context, input *DescribeTransformJobInput, opts ...request.Option) (*DescribeTransformJobOutput, error) { + req, out := c.DescribeTransformJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeWorkteam = "DescribeWorkteam" + +// DescribeWorkteamRequest generates a "aws/request.Request" representing the +// client's request for the DescribeWorkteam 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 DescribeWorkteam for more information on using the DescribeWorkteam +// 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 DescribeWorkteamRequest method. +// req, resp := client.DescribeWorkteamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeWorkteam +func (c *SageMaker) DescribeWorkteamRequest(input *DescribeWorkteamInput) (req *request.Request, output *DescribeWorkteamOutput) { + op := &request.Operation{ + Name: opDescribeWorkteam, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeWorkteamInput{} + } + + output = &DescribeWorkteamOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeWorkteam API operation for Amazon SageMaker Service. +// +// Gets information about a specific work team. You can see information such +// as the create date, the last updated date, membership information, and the +// work team's Amazon Resource Name (ARN). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DescribeWorkteam for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeWorkteam +func (c *SageMaker) DescribeWorkteam(input *DescribeWorkteamInput) (*DescribeWorkteamOutput, error) { + req, out := c.DescribeWorkteamRequest(input) + return out, req.Send() +} + +// DescribeWorkteamWithContext is the same as DescribeWorkteam with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeWorkteam 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 *SageMaker) DescribeWorkteamWithContext(ctx aws.Context, input *DescribeWorkteamInput, opts ...request.Option) (*DescribeWorkteamOutput, error) { + req, out := c.DescribeWorkteamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetSearchSuggestions = "GetSearchSuggestions" + +// GetSearchSuggestionsRequest generates a "aws/request.Request" representing the +// client's request for the GetSearchSuggestions 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 GetSearchSuggestions for more information on using the GetSearchSuggestions +// 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 GetSearchSuggestionsRequest method. +// req, resp := client.GetSearchSuggestionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/GetSearchSuggestions +func (c *SageMaker) GetSearchSuggestionsRequest(input *GetSearchSuggestionsInput) (req *request.Request, output *GetSearchSuggestionsOutput) { + op := &request.Operation{ + Name: opGetSearchSuggestions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSearchSuggestionsInput{} + } + + output = &GetSearchSuggestionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSearchSuggestions API operation for Amazon SageMaker Service. +// +// An auto-complete API for the search functionality in the Amazon SageMaker +// console. It returns suggestions of possible matches for the property name +// to use in Search queries. Provides suggestions for HyperParameters, Tags, +// and Metrics. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation GetSearchSuggestions for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/GetSearchSuggestions +func (c *SageMaker) GetSearchSuggestions(input *GetSearchSuggestionsInput) (*GetSearchSuggestionsOutput, error) { + req, out := c.GetSearchSuggestionsRequest(input) + return out, req.Send() +} + +// GetSearchSuggestionsWithContext is the same as GetSearchSuggestions with the addition of +// the ability to pass a context and additional request options. +// +// See GetSearchSuggestions 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 *SageMaker) GetSearchSuggestionsWithContext(ctx aws.Context, input *GetSearchSuggestionsInput, opts ...request.Option) (*GetSearchSuggestionsOutput, error) { + req, out := c.GetSearchSuggestionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListAlgorithms = "ListAlgorithms" + +// ListAlgorithmsRequest generates a "aws/request.Request" representing the +// client's request for the ListAlgorithms 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 ListAlgorithms for more information on using the ListAlgorithms +// 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 ListAlgorithmsRequest method. +// req, resp := client.ListAlgorithmsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListAlgorithms +func (c *SageMaker) ListAlgorithmsRequest(input *ListAlgorithmsInput) (req *request.Request, output *ListAlgorithmsOutput) { + op := &request.Operation{ + Name: opListAlgorithms, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListAlgorithmsInput{} + } + + output = &ListAlgorithmsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAlgorithms API operation for Amazon SageMaker Service. +// +// Lists the machine learning algorithms that have been created. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListAlgorithms for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListAlgorithms +func (c *SageMaker) ListAlgorithms(input *ListAlgorithmsInput) (*ListAlgorithmsOutput, error) { + req, out := c.ListAlgorithmsRequest(input) + return out, req.Send() +} + +// ListAlgorithmsWithContext is the same as ListAlgorithms with the addition of +// the ability to pass a context and additional request options. +// +// See ListAlgorithms 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 *SageMaker) ListAlgorithmsWithContext(ctx aws.Context, input *ListAlgorithmsInput, opts ...request.Option) (*ListAlgorithmsOutput, error) { + req, out := c.ListAlgorithmsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListCodeRepositories = "ListCodeRepositories" + +// ListCodeRepositoriesRequest generates a "aws/request.Request" representing the +// client's request for the ListCodeRepositories 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 ListCodeRepositories for more information on using the ListCodeRepositories +// 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 ListCodeRepositoriesRequest method. +// req, resp := client.ListCodeRepositoriesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListCodeRepositories +func (c *SageMaker) ListCodeRepositoriesRequest(input *ListCodeRepositoriesInput) (req *request.Request, output *ListCodeRepositoriesOutput) { + op := &request.Operation{ + Name: opListCodeRepositories, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListCodeRepositoriesInput{} + } + + output = &ListCodeRepositoriesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCodeRepositories API operation for Amazon SageMaker Service. +// +// Gets a list of the Git repositories in your 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 SageMaker Service's +// API operation ListCodeRepositories for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListCodeRepositories +func (c *SageMaker) ListCodeRepositories(input *ListCodeRepositoriesInput) (*ListCodeRepositoriesOutput, error) { + req, out := c.ListCodeRepositoriesRequest(input) + return out, req.Send() +} + +// ListCodeRepositoriesWithContext is the same as ListCodeRepositories with the addition of +// the ability to pass a context and additional request options. +// +// See ListCodeRepositories 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 *SageMaker) ListCodeRepositoriesWithContext(ctx aws.Context, input *ListCodeRepositoriesInput, opts ...request.Option) (*ListCodeRepositoriesOutput, error) { + req, out := c.ListCodeRepositoriesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListCompilationJobs = "ListCompilationJobs" + +// ListCompilationJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListCompilationJobs 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 ListCompilationJobs for more information on using the ListCompilationJobs +// 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 ListCompilationJobsRequest method. +// req, resp := client.ListCompilationJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListCompilationJobs +func (c *SageMaker) ListCompilationJobsRequest(input *ListCompilationJobsInput) (req *request.Request, output *ListCompilationJobsOutput) { + op := &request.Operation{ + Name: opListCompilationJobs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCompilationJobsInput{} + } + + output = &ListCompilationJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCompilationJobs API operation for Amazon SageMaker Service. +// +// Lists model compilation jobs that satisfy various filters. +// +// To create a model compilation job, use CreateCompilationJob. To get information +// about a particular model compilation job you have created, use DescribeCompilationJob. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListCompilationJobs for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListCompilationJobs +func (c *SageMaker) ListCompilationJobs(input *ListCompilationJobsInput) (*ListCompilationJobsOutput, error) { + req, out := c.ListCompilationJobsRequest(input) + return out, req.Send() +} + +// ListCompilationJobsWithContext is the same as ListCompilationJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListCompilationJobs 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 *SageMaker) ListCompilationJobsWithContext(ctx aws.Context, input *ListCompilationJobsInput, opts ...request.Option) (*ListCompilationJobsOutput, error) { + req, out := c.ListCompilationJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCompilationJobsPages iterates over the pages of a ListCompilationJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCompilationJobs 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 ListCompilationJobs operation. +// pageNum := 0 +// err := client.ListCompilationJobsPages(params, +// func(page *ListCompilationJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListCompilationJobsPages(input *ListCompilationJobsInput, fn func(*ListCompilationJobsOutput, bool) bool) error { + return c.ListCompilationJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCompilationJobsPagesWithContext same as ListCompilationJobsPages 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 *SageMaker) ListCompilationJobsPagesWithContext(ctx aws.Context, input *ListCompilationJobsInput, fn func(*ListCompilationJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCompilationJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCompilationJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListCompilationJobsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListEndpointConfigs = "ListEndpointConfigs" + +// ListEndpointConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListEndpointConfigs 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 ListEndpointConfigs for more information on using the ListEndpointConfigs +// 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 ListEndpointConfigsRequest method. +// req, resp := client.ListEndpointConfigsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListEndpointConfigs +func (c *SageMaker) ListEndpointConfigsRequest(input *ListEndpointConfigsInput) (req *request.Request, output *ListEndpointConfigsOutput) { + op := &request.Operation{ + Name: opListEndpointConfigs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEndpointConfigsInput{} + } + + output = &ListEndpointConfigsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEndpointConfigs API operation for Amazon SageMaker Service. +// +// Lists endpoint configurations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListEndpointConfigs for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListEndpointConfigs +func (c *SageMaker) ListEndpointConfigs(input *ListEndpointConfigsInput) (*ListEndpointConfigsOutput, error) { + req, out := c.ListEndpointConfigsRequest(input) + return out, req.Send() +} + +// ListEndpointConfigsWithContext is the same as ListEndpointConfigs with the addition of +// the ability to pass a context and additional request options. +// +// See ListEndpointConfigs 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 *SageMaker) ListEndpointConfigsWithContext(ctx aws.Context, input *ListEndpointConfigsInput, opts ...request.Option) (*ListEndpointConfigsOutput, error) { + req, out := c.ListEndpointConfigsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEndpointConfigsPages iterates over the pages of a ListEndpointConfigs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEndpointConfigs 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 ListEndpointConfigs operation. +// pageNum := 0 +// err := client.ListEndpointConfigsPages(params, +// func(page *ListEndpointConfigsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListEndpointConfigsPages(input *ListEndpointConfigsInput, fn func(*ListEndpointConfigsOutput, bool) bool) error { + return c.ListEndpointConfigsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEndpointConfigsPagesWithContext same as ListEndpointConfigsPages 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 *SageMaker) ListEndpointConfigsPagesWithContext(ctx aws.Context, input *ListEndpointConfigsInput, fn func(*ListEndpointConfigsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEndpointConfigsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEndpointConfigsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListEndpointConfigsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListEndpoints = "ListEndpoints" + +// ListEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the ListEndpoints 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 ListEndpoints for more information on using the ListEndpoints +// 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 ListEndpointsRequest method. +// req, resp := client.ListEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListEndpoints +func (c *SageMaker) ListEndpointsRequest(input *ListEndpointsInput) (req *request.Request, output *ListEndpointsOutput) { + op := &request.Operation{ + Name: opListEndpoints, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEndpointsInput{} + } + + output = &ListEndpointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEndpoints API operation for Amazon SageMaker Service. +// +// Lists endpoints. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListEndpoints for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListEndpoints +func (c *SageMaker) ListEndpoints(input *ListEndpointsInput) (*ListEndpointsOutput, error) { + req, out := c.ListEndpointsRequest(input) + return out, req.Send() +} + +// ListEndpointsWithContext is the same as ListEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See ListEndpoints 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 *SageMaker) ListEndpointsWithContext(ctx aws.Context, input *ListEndpointsInput, opts ...request.Option) (*ListEndpointsOutput, error) { + req, out := c.ListEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEndpointsPages iterates over the pages of a ListEndpoints operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEndpoints 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 ListEndpoints operation. +// pageNum := 0 +// err := client.ListEndpointsPages(params, +// func(page *ListEndpointsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListEndpointsPages(input *ListEndpointsInput, fn func(*ListEndpointsOutput, bool) bool) error { + return c.ListEndpointsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEndpointsPagesWithContext same as ListEndpointsPages 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 *SageMaker) ListEndpointsPagesWithContext(ctx aws.Context, input *ListEndpointsInput, fn func(*ListEndpointsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEndpointsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEndpointsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListEndpointsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListHyperParameterTuningJobs = "ListHyperParameterTuningJobs" + +// ListHyperParameterTuningJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListHyperParameterTuningJobs 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 ListHyperParameterTuningJobs for more information on using the ListHyperParameterTuningJobs +// 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 ListHyperParameterTuningJobsRequest method. +// req, resp := client.ListHyperParameterTuningJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListHyperParameterTuningJobs +func (c *SageMaker) ListHyperParameterTuningJobsRequest(input *ListHyperParameterTuningJobsInput) (req *request.Request, output *ListHyperParameterTuningJobsOutput) { + op := &request.Operation{ + Name: opListHyperParameterTuningJobs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListHyperParameterTuningJobsInput{} + } + + output = &ListHyperParameterTuningJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListHyperParameterTuningJobs API operation for Amazon SageMaker Service. +// +// Gets a list of HyperParameterTuningJobSummary objects that describe the hyperparameter +// tuning jobs launched in your 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 SageMaker Service's +// API operation ListHyperParameterTuningJobs for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListHyperParameterTuningJobs +func (c *SageMaker) ListHyperParameterTuningJobs(input *ListHyperParameterTuningJobsInput) (*ListHyperParameterTuningJobsOutput, error) { + req, out := c.ListHyperParameterTuningJobsRequest(input) + return out, req.Send() +} + +// ListHyperParameterTuningJobsWithContext is the same as ListHyperParameterTuningJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListHyperParameterTuningJobs 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 *SageMaker) ListHyperParameterTuningJobsWithContext(ctx aws.Context, input *ListHyperParameterTuningJobsInput, opts ...request.Option) (*ListHyperParameterTuningJobsOutput, error) { + req, out := c.ListHyperParameterTuningJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListHyperParameterTuningJobsPages iterates over the pages of a ListHyperParameterTuningJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListHyperParameterTuningJobs 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 ListHyperParameterTuningJobs operation. +// pageNum := 0 +// err := client.ListHyperParameterTuningJobsPages(params, +// func(page *ListHyperParameterTuningJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListHyperParameterTuningJobsPages(input *ListHyperParameterTuningJobsInput, fn func(*ListHyperParameterTuningJobsOutput, bool) bool) error { + return c.ListHyperParameterTuningJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListHyperParameterTuningJobsPagesWithContext same as ListHyperParameterTuningJobsPages 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 *SageMaker) ListHyperParameterTuningJobsPagesWithContext(ctx aws.Context, input *ListHyperParameterTuningJobsInput, fn func(*ListHyperParameterTuningJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListHyperParameterTuningJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListHyperParameterTuningJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListHyperParameterTuningJobsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListLabelingJobs = "ListLabelingJobs" + +// ListLabelingJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListLabelingJobs 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 ListLabelingJobs for more information on using the ListLabelingJobs +// 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 ListLabelingJobsRequest method. +// req, resp := client.ListLabelingJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListLabelingJobs +func (c *SageMaker) ListLabelingJobsRequest(input *ListLabelingJobsInput) (req *request.Request, output *ListLabelingJobsOutput) { + op := &request.Operation{ + Name: opListLabelingJobs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListLabelingJobsInput{} + } + + output = &ListLabelingJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListLabelingJobs API operation for Amazon SageMaker Service. +// +// Gets a list of labeling jobs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListLabelingJobs for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListLabelingJobs +func (c *SageMaker) ListLabelingJobs(input *ListLabelingJobsInput) (*ListLabelingJobsOutput, error) { + req, out := c.ListLabelingJobsRequest(input) + return out, req.Send() +} + +// ListLabelingJobsWithContext is the same as ListLabelingJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListLabelingJobs 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 *SageMaker) ListLabelingJobsWithContext(ctx aws.Context, input *ListLabelingJobsInput, opts ...request.Option) (*ListLabelingJobsOutput, error) { + req, out := c.ListLabelingJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListLabelingJobsPages iterates over the pages of a ListLabelingJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListLabelingJobs 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 ListLabelingJobs operation. +// pageNum := 0 +// err := client.ListLabelingJobsPages(params, +// func(page *ListLabelingJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListLabelingJobsPages(input *ListLabelingJobsInput, fn func(*ListLabelingJobsOutput, bool) bool) error { + return c.ListLabelingJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListLabelingJobsPagesWithContext same as ListLabelingJobsPages 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 *SageMaker) ListLabelingJobsPagesWithContext(ctx aws.Context, input *ListLabelingJobsInput, fn func(*ListLabelingJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListLabelingJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListLabelingJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListLabelingJobsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListLabelingJobsForWorkteam = "ListLabelingJobsForWorkteam" + +// ListLabelingJobsForWorkteamRequest generates a "aws/request.Request" representing the +// client's request for the ListLabelingJobsForWorkteam 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 ListLabelingJobsForWorkteam for more information on using the ListLabelingJobsForWorkteam +// 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 ListLabelingJobsForWorkteamRequest method. +// req, resp := client.ListLabelingJobsForWorkteamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListLabelingJobsForWorkteam +func (c *SageMaker) ListLabelingJobsForWorkteamRequest(input *ListLabelingJobsForWorkteamInput) (req *request.Request, output *ListLabelingJobsForWorkteamOutput) { + op := &request.Operation{ + Name: opListLabelingJobsForWorkteam, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListLabelingJobsForWorkteamInput{} + } + + output = &ListLabelingJobsForWorkteamOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListLabelingJobsForWorkteam API operation for Amazon SageMaker Service. +// +// Gets a list of labeling jobs assigned to a specified work team. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListLabelingJobsForWorkteam for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFound "ResourceNotFound" +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListLabelingJobsForWorkteam +func (c *SageMaker) ListLabelingJobsForWorkteam(input *ListLabelingJobsForWorkteamInput) (*ListLabelingJobsForWorkteamOutput, error) { + req, out := c.ListLabelingJobsForWorkteamRequest(input) + return out, req.Send() +} + +// ListLabelingJobsForWorkteamWithContext is the same as ListLabelingJobsForWorkteam with the addition of +// the ability to pass a context and additional request options. +// +// See ListLabelingJobsForWorkteam 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 *SageMaker) ListLabelingJobsForWorkteamWithContext(ctx aws.Context, input *ListLabelingJobsForWorkteamInput, opts ...request.Option) (*ListLabelingJobsForWorkteamOutput, error) { + req, out := c.ListLabelingJobsForWorkteamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListLabelingJobsForWorkteamPages iterates over the pages of a ListLabelingJobsForWorkteam operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListLabelingJobsForWorkteam 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 ListLabelingJobsForWorkteam operation. +// pageNum := 0 +// err := client.ListLabelingJobsForWorkteamPages(params, +// func(page *ListLabelingJobsForWorkteamOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListLabelingJobsForWorkteamPages(input *ListLabelingJobsForWorkteamInput, fn func(*ListLabelingJobsForWorkteamOutput, bool) bool) error { + return c.ListLabelingJobsForWorkteamPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListLabelingJobsForWorkteamPagesWithContext same as ListLabelingJobsForWorkteamPages 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 *SageMaker) ListLabelingJobsForWorkteamPagesWithContext(ctx aws.Context, input *ListLabelingJobsForWorkteamInput, fn func(*ListLabelingJobsForWorkteamOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListLabelingJobsForWorkteamInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListLabelingJobsForWorkteamRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListLabelingJobsForWorkteamOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListModelPackages = "ListModelPackages" + +// ListModelPackagesRequest generates a "aws/request.Request" representing the +// client's request for the ListModelPackages 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 ListModelPackages for more information on using the ListModelPackages +// 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 ListModelPackagesRequest method. +// req, resp := client.ListModelPackagesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListModelPackages +func (c *SageMaker) ListModelPackagesRequest(input *ListModelPackagesInput) (req *request.Request, output *ListModelPackagesOutput) { + op := &request.Operation{ + Name: opListModelPackages, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListModelPackagesInput{} + } + + output = &ListModelPackagesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListModelPackages API operation for Amazon SageMaker Service. +// +// Lists the model packages that have been created. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListModelPackages for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListModelPackages +func (c *SageMaker) ListModelPackages(input *ListModelPackagesInput) (*ListModelPackagesOutput, error) { + req, out := c.ListModelPackagesRequest(input) + return out, req.Send() +} + +// ListModelPackagesWithContext is the same as ListModelPackages with the addition of +// the ability to pass a context and additional request options. +// +// See ListModelPackages 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 *SageMaker) ListModelPackagesWithContext(ctx aws.Context, input *ListModelPackagesInput, opts ...request.Option) (*ListModelPackagesOutput, error) { + req, out := c.ListModelPackagesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListModels = "ListModels" + +// ListModelsRequest generates a "aws/request.Request" representing the +// client's request for the ListModels 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 ListModels for more information on using the ListModels +// 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 ListModelsRequest method. +// req, resp := client.ListModelsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListModels +func (c *SageMaker) ListModelsRequest(input *ListModelsInput) (req *request.Request, output *ListModelsOutput) { + op := &request.Operation{ + Name: opListModels, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListModelsInput{} + } + + output = &ListModelsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListModels API operation for Amazon SageMaker Service. +// +// Lists models created with the CreateModel (http://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateModel.html) +// 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 Amazon SageMaker Service's +// API operation ListModels for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListModels +func (c *SageMaker) ListModels(input *ListModelsInput) (*ListModelsOutput, error) { + req, out := c.ListModelsRequest(input) + return out, req.Send() +} + +// ListModelsWithContext is the same as ListModels with the addition of +// the ability to pass a context and additional request options. +// +// See ListModels 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 *SageMaker) ListModelsWithContext(ctx aws.Context, input *ListModelsInput, opts ...request.Option) (*ListModelsOutput, error) { + req, out := c.ListModelsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListModelsPages iterates over the pages of a ListModels operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListModels 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 ListModels operation. +// pageNum := 0 +// err := client.ListModelsPages(params, +// func(page *ListModelsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListModelsPages(input *ListModelsInput, fn func(*ListModelsOutput, bool) bool) error { + return c.ListModelsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListModelsPagesWithContext same as ListModelsPages 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 *SageMaker) ListModelsPagesWithContext(ctx aws.Context, input *ListModelsInput, fn func(*ListModelsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListModelsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListModelsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListModelsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListNotebookInstanceLifecycleConfigs = "ListNotebookInstanceLifecycleConfigs" + +// ListNotebookInstanceLifecycleConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListNotebookInstanceLifecycleConfigs 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 ListNotebookInstanceLifecycleConfigs for more information on using the ListNotebookInstanceLifecycleConfigs +// 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 ListNotebookInstanceLifecycleConfigsRequest method. +// req, resp := client.ListNotebookInstanceLifecycleConfigsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListNotebookInstanceLifecycleConfigs +func (c *SageMaker) ListNotebookInstanceLifecycleConfigsRequest(input *ListNotebookInstanceLifecycleConfigsInput) (req *request.Request, output *ListNotebookInstanceLifecycleConfigsOutput) { + op := &request.Operation{ + Name: opListNotebookInstanceLifecycleConfigs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListNotebookInstanceLifecycleConfigsInput{} + } + + output = &ListNotebookInstanceLifecycleConfigsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListNotebookInstanceLifecycleConfigs API operation for Amazon SageMaker Service. +// +// Lists notebook instance lifestyle configurations created with the CreateNotebookInstanceLifecycleConfig +// 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 Amazon SageMaker Service's +// API operation ListNotebookInstanceLifecycleConfigs for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListNotebookInstanceLifecycleConfigs +func (c *SageMaker) ListNotebookInstanceLifecycleConfigs(input *ListNotebookInstanceLifecycleConfigsInput) (*ListNotebookInstanceLifecycleConfigsOutput, error) { + req, out := c.ListNotebookInstanceLifecycleConfigsRequest(input) + return out, req.Send() +} + +// ListNotebookInstanceLifecycleConfigsWithContext is the same as ListNotebookInstanceLifecycleConfigs with the addition of +// the ability to pass a context and additional request options. +// +// See ListNotebookInstanceLifecycleConfigs 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 *SageMaker) ListNotebookInstanceLifecycleConfigsWithContext(ctx aws.Context, input *ListNotebookInstanceLifecycleConfigsInput, opts ...request.Option) (*ListNotebookInstanceLifecycleConfigsOutput, error) { + req, out := c.ListNotebookInstanceLifecycleConfigsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListNotebookInstanceLifecycleConfigsPages iterates over the pages of a ListNotebookInstanceLifecycleConfigs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListNotebookInstanceLifecycleConfigs 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 ListNotebookInstanceLifecycleConfigs operation. +// pageNum := 0 +// err := client.ListNotebookInstanceLifecycleConfigsPages(params, +// func(page *ListNotebookInstanceLifecycleConfigsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListNotebookInstanceLifecycleConfigsPages(input *ListNotebookInstanceLifecycleConfigsInput, fn func(*ListNotebookInstanceLifecycleConfigsOutput, bool) bool) error { + return c.ListNotebookInstanceLifecycleConfigsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListNotebookInstanceLifecycleConfigsPagesWithContext same as ListNotebookInstanceLifecycleConfigsPages 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 *SageMaker) ListNotebookInstanceLifecycleConfigsPagesWithContext(ctx aws.Context, input *ListNotebookInstanceLifecycleConfigsInput, fn func(*ListNotebookInstanceLifecycleConfigsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListNotebookInstanceLifecycleConfigsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListNotebookInstanceLifecycleConfigsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListNotebookInstanceLifecycleConfigsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListNotebookInstances = "ListNotebookInstances" + +// ListNotebookInstancesRequest generates a "aws/request.Request" representing the +// client's request for the ListNotebookInstances 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 ListNotebookInstances for more information on using the ListNotebookInstances +// 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 ListNotebookInstancesRequest method. +// req, resp := client.ListNotebookInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListNotebookInstances +func (c *SageMaker) ListNotebookInstancesRequest(input *ListNotebookInstancesInput) (req *request.Request, output *ListNotebookInstancesOutput) { + op := &request.Operation{ + Name: opListNotebookInstances, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListNotebookInstancesInput{} + } + + output = &ListNotebookInstancesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListNotebookInstances API operation for Amazon SageMaker Service. +// +// Returns a list of the Amazon SageMaker notebook instances in the requester's +// account in an AWS Region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListNotebookInstances for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListNotebookInstances +func (c *SageMaker) ListNotebookInstances(input *ListNotebookInstancesInput) (*ListNotebookInstancesOutput, error) { + req, out := c.ListNotebookInstancesRequest(input) + return out, req.Send() +} + +// ListNotebookInstancesWithContext is the same as ListNotebookInstances with the addition of +// the ability to pass a context and additional request options. +// +// See ListNotebookInstances 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 *SageMaker) ListNotebookInstancesWithContext(ctx aws.Context, input *ListNotebookInstancesInput, opts ...request.Option) (*ListNotebookInstancesOutput, error) { + req, out := c.ListNotebookInstancesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListNotebookInstancesPages iterates over the pages of a ListNotebookInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListNotebookInstances 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 ListNotebookInstances operation. +// pageNum := 0 +// err := client.ListNotebookInstancesPages(params, +// func(page *ListNotebookInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListNotebookInstancesPages(input *ListNotebookInstancesInput, fn func(*ListNotebookInstancesOutput, bool) bool) error { + return c.ListNotebookInstancesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListNotebookInstancesPagesWithContext same as ListNotebookInstancesPages 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 *SageMaker) ListNotebookInstancesPagesWithContext(ctx aws.Context, input *ListNotebookInstancesInput, fn func(*ListNotebookInstancesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListNotebookInstancesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListNotebookInstancesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListNotebookInstancesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListSubscribedWorkteams = "ListSubscribedWorkteams" + +// ListSubscribedWorkteamsRequest generates a "aws/request.Request" representing the +// client's request for the ListSubscribedWorkteams 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 ListSubscribedWorkteams for more information on using the ListSubscribedWorkteams +// 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 ListSubscribedWorkteamsRequest method. +// req, resp := client.ListSubscribedWorkteamsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListSubscribedWorkteams +func (c *SageMaker) ListSubscribedWorkteamsRequest(input *ListSubscribedWorkteamsInput) (req *request.Request, output *ListSubscribedWorkteamsOutput) { + op := &request.Operation{ + Name: opListSubscribedWorkteams, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSubscribedWorkteamsInput{} + } + + output = &ListSubscribedWorkteamsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSubscribedWorkteams API operation for Amazon SageMaker Service. +// +// Gets a list of the work teams that you are subscribed to in the AWS Marketplace. +// The list may be empty if no work team satisfies the filter specified in the +// NameContains parameter. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListSubscribedWorkteams for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListSubscribedWorkteams +func (c *SageMaker) ListSubscribedWorkteams(input *ListSubscribedWorkteamsInput) (*ListSubscribedWorkteamsOutput, error) { + req, out := c.ListSubscribedWorkteamsRequest(input) + return out, req.Send() +} + +// ListSubscribedWorkteamsWithContext is the same as ListSubscribedWorkteams with the addition of +// the ability to pass a context and additional request options. +// +// See ListSubscribedWorkteams 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 *SageMaker) ListSubscribedWorkteamsWithContext(ctx aws.Context, input *ListSubscribedWorkteamsInput, opts ...request.Option) (*ListSubscribedWorkteamsOutput, error) { + req, out := c.ListSubscribedWorkteamsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSubscribedWorkteamsPages iterates over the pages of a ListSubscribedWorkteams operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSubscribedWorkteams 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 ListSubscribedWorkteams operation. +// pageNum := 0 +// err := client.ListSubscribedWorkteamsPages(params, +// func(page *ListSubscribedWorkteamsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListSubscribedWorkteamsPages(input *ListSubscribedWorkteamsInput, fn func(*ListSubscribedWorkteamsOutput, bool) bool) error { + return c.ListSubscribedWorkteamsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSubscribedWorkteamsPagesWithContext same as ListSubscribedWorkteamsPages 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 *SageMaker) ListSubscribedWorkteamsPagesWithContext(ctx aws.Context, input *ListSubscribedWorkteamsInput, fn func(*ListSubscribedWorkteamsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSubscribedWorkteamsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSubscribedWorkteamsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListSubscribedWorkteamsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTags = "ListTags" + +// ListTagsRequest generates a "aws/request.Request" representing the +// client's request for the ListTags 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 ListTags for more information on using the ListTags +// 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 ListTagsRequest method. +// req, resp := client.ListTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListTags +func (c *SageMaker) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) { + op := &request.Operation{ + Name: opListTags, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTagsInput{} + } + + output = &ListTagsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTags API operation for Amazon SageMaker Service. +// +// Returns the tags for the specified Amazon SageMaker 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 SageMaker Service's +// API operation ListTags for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListTags +func (c *SageMaker) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { + req, out := c.ListTagsRequest(input) + return out, req.Send() +} + +// ListTagsWithContext is the same as ListTags with the addition of +// the ability to pass a context and additional request options. +// +// See ListTags 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 *SageMaker) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) { + req, out := c.ListTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTagsPages iterates over the pages of a ListTags operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTags 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 ListTags operation. +// pageNum := 0 +// err := client.ListTagsPages(params, +// func(page *ListTagsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListTagsPages(input *ListTagsInput, fn func(*ListTagsOutput, bool) bool) error { + return c.ListTagsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTagsPagesWithContext same as ListTagsPages 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 *SageMaker) ListTagsPagesWithContext(ctx aws.Context, input *ListTagsInput, fn func(*ListTagsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTagsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTagsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListTagsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTrainingJobs = "ListTrainingJobs" + +// ListTrainingJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListTrainingJobs 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 ListTrainingJobs for more information on using the ListTrainingJobs +// 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 ListTrainingJobsRequest method. +// req, resp := client.ListTrainingJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListTrainingJobs +func (c *SageMaker) ListTrainingJobsRequest(input *ListTrainingJobsInput) (req *request.Request, output *ListTrainingJobsOutput) { + op := &request.Operation{ + Name: opListTrainingJobs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTrainingJobsInput{} + } + + output = &ListTrainingJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTrainingJobs API operation for Amazon SageMaker Service. +// +// Lists training jobs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListTrainingJobs for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListTrainingJobs +func (c *SageMaker) ListTrainingJobs(input *ListTrainingJobsInput) (*ListTrainingJobsOutput, error) { + req, out := c.ListTrainingJobsRequest(input) + return out, req.Send() +} + +// ListTrainingJobsWithContext is the same as ListTrainingJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListTrainingJobs 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 *SageMaker) ListTrainingJobsWithContext(ctx aws.Context, input *ListTrainingJobsInput, opts ...request.Option) (*ListTrainingJobsOutput, error) { + req, out := c.ListTrainingJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTrainingJobsPages iterates over the pages of a ListTrainingJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTrainingJobs 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 ListTrainingJobs operation. +// pageNum := 0 +// err := client.ListTrainingJobsPages(params, +// func(page *ListTrainingJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListTrainingJobsPages(input *ListTrainingJobsInput, fn func(*ListTrainingJobsOutput, bool) bool) error { + return c.ListTrainingJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTrainingJobsPagesWithContext same as ListTrainingJobsPages 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 *SageMaker) ListTrainingJobsPagesWithContext(ctx aws.Context, input *ListTrainingJobsInput, fn func(*ListTrainingJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTrainingJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTrainingJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListTrainingJobsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTrainingJobsForHyperParameterTuningJob = "ListTrainingJobsForHyperParameterTuningJob" + +// ListTrainingJobsForHyperParameterTuningJobRequest generates a "aws/request.Request" representing the +// client's request for the ListTrainingJobsForHyperParameterTuningJob 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 ListTrainingJobsForHyperParameterTuningJob for more information on using the ListTrainingJobsForHyperParameterTuningJob +// 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 ListTrainingJobsForHyperParameterTuningJobRequest method. +// req, resp := client.ListTrainingJobsForHyperParameterTuningJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListTrainingJobsForHyperParameterTuningJob +func (c *SageMaker) ListTrainingJobsForHyperParameterTuningJobRequest(input *ListTrainingJobsForHyperParameterTuningJobInput) (req *request.Request, output *ListTrainingJobsForHyperParameterTuningJobOutput) { + op := &request.Operation{ + Name: opListTrainingJobsForHyperParameterTuningJob, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTrainingJobsForHyperParameterTuningJobInput{} + } + + output = &ListTrainingJobsForHyperParameterTuningJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTrainingJobsForHyperParameterTuningJob API operation for Amazon SageMaker Service. +// +// Gets a list of TrainingJobSummary objects that describe the training jobs +// that a hyperparameter tuning job launched. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListTrainingJobsForHyperParameterTuningJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFound "ResourceNotFound" +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListTrainingJobsForHyperParameterTuningJob +func (c *SageMaker) ListTrainingJobsForHyperParameterTuningJob(input *ListTrainingJobsForHyperParameterTuningJobInput) (*ListTrainingJobsForHyperParameterTuningJobOutput, error) { + req, out := c.ListTrainingJobsForHyperParameterTuningJobRequest(input) + return out, req.Send() +} + +// ListTrainingJobsForHyperParameterTuningJobWithContext is the same as ListTrainingJobsForHyperParameterTuningJob with the addition of +// the ability to pass a context and additional request options. +// +// See ListTrainingJobsForHyperParameterTuningJob 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 *SageMaker) ListTrainingJobsForHyperParameterTuningJobWithContext(ctx aws.Context, input *ListTrainingJobsForHyperParameterTuningJobInput, opts ...request.Option) (*ListTrainingJobsForHyperParameterTuningJobOutput, error) { + req, out := c.ListTrainingJobsForHyperParameterTuningJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTrainingJobsForHyperParameterTuningJobPages iterates over the pages of a ListTrainingJobsForHyperParameterTuningJob operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTrainingJobsForHyperParameterTuningJob 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 ListTrainingJobsForHyperParameterTuningJob operation. +// pageNum := 0 +// err := client.ListTrainingJobsForHyperParameterTuningJobPages(params, +// func(page *ListTrainingJobsForHyperParameterTuningJobOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListTrainingJobsForHyperParameterTuningJobPages(input *ListTrainingJobsForHyperParameterTuningJobInput, fn func(*ListTrainingJobsForHyperParameterTuningJobOutput, bool) bool) error { + return c.ListTrainingJobsForHyperParameterTuningJobPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTrainingJobsForHyperParameterTuningJobPagesWithContext same as ListTrainingJobsForHyperParameterTuningJobPages 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 *SageMaker) ListTrainingJobsForHyperParameterTuningJobPagesWithContext(ctx aws.Context, input *ListTrainingJobsForHyperParameterTuningJobInput, fn func(*ListTrainingJobsForHyperParameterTuningJobOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTrainingJobsForHyperParameterTuningJobInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTrainingJobsForHyperParameterTuningJobRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListTrainingJobsForHyperParameterTuningJobOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTransformJobs = "ListTransformJobs" + +// ListTransformJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListTransformJobs 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 ListTransformJobs for more information on using the ListTransformJobs +// 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 ListTransformJobsRequest method. +// req, resp := client.ListTransformJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListTransformJobs +func (c *SageMaker) ListTransformJobsRequest(input *ListTransformJobsInput) (req *request.Request, output *ListTransformJobsOutput) { + op := &request.Operation{ + Name: opListTransformJobs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTransformJobsInput{} + } + + output = &ListTransformJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTransformJobs API operation for Amazon SageMaker Service. +// +// Lists transform jobs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListTransformJobs for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListTransformJobs +func (c *SageMaker) ListTransformJobs(input *ListTransformJobsInput) (*ListTransformJobsOutput, error) { + req, out := c.ListTransformJobsRequest(input) + return out, req.Send() +} + +// ListTransformJobsWithContext is the same as ListTransformJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListTransformJobs 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 *SageMaker) ListTransformJobsWithContext(ctx aws.Context, input *ListTransformJobsInput, opts ...request.Option) (*ListTransformJobsOutput, error) { + req, out := c.ListTransformJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTransformJobsPages iterates over the pages of a ListTransformJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTransformJobs 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 ListTransformJobs operation. +// pageNum := 0 +// err := client.ListTransformJobsPages(params, +// func(page *ListTransformJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListTransformJobsPages(input *ListTransformJobsInput, fn func(*ListTransformJobsOutput, bool) bool) error { + return c.ListTransformJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTransformJobsPagesWithContext same as ListTransformJobsPages 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 *SageMaker) ListTransformJobsPagesWithContext(ctx aws.Context, input *ListTransformJobsInput, fn func(*ListTransformJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTransformJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTransformJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListTransformJobsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListWorkteams = "ListWorkteams" + +// ListWorkteamsRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkteams 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 ListWorkteams for more information on using the ListWorkteams +// 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 ListWorkteamsRequest method. +// req, resp := client.ListWorkteamsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListWorkteams +func (c *SageMaker) ListWorkteamsRequest(input *ListWorkteamsInput) (req *request.Request, output *ListWorkteamsOutput) { + op := &request.Operation{ + Name: opListWorkteams, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListWorkteamsInput{} + } + + output = &ListWorkteamsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListWorkteams API operation for Amazon SageMaker Service. +// +// Gets a list of work teams that you have defined in a region. The list may +// be empty if no work team satisfies the filter specified in the NameContains +// parameter. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListWorkteams for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListWorkteams +func (c *SageMaker) ListWorkteams(input *ListWorkteamsInput) (*ListWorkteamsOutput, error) { + req, out := c.ListWorkteamsRequest(input) + return out, req.Send() +} + +// ListWorkteamsWithContext is the same as ListWorkteams with the addition of +// the ability to pass a context and additional request options. +// +// See ListWorkteams 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 *SageMaker) ListWorkteamsWithContext(ctx aws.Context, input *ListWorkteamsInput, opts ...request.Option) (*ListWorkteamsOutput, error) { + req, out := c.ListWorkteamsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListWorkteamsPages iterates over the pages of a ListWorkteams operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWorkteams 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 ListWorkteams operation. +// pageNum := 0 +// err := client.ListWorkteamsPages(params, +// func(page *ListWorkteamsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListWorkteamsPages(input *ListWorkteamsInput, fn func(*ListWorkteamsOutput, bool) bool) error { + return c.ListWorkteamsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListWorkteamsPagesWithContext same as ListWorkteamsPages 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 *SageMaker) ListWorkteamsPagesWithContext(ctx aws.Context, input *ListWorkteamsInput, fn func(*ListWorkteamsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWorkteamsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWorkteamsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListWorkteamsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opRenderUiTemplate = "RenderUiTemplate" + +// RenderUiTemplateRequest generates a "aws/request.Request" representing the +// client's request for the RenderUiTemplate 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 RenderUiTemplate for more information on using the RenderUiTemplate +// 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 RenderUiTemplateRequest method. +// req, resp := client.RenderUiTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/RenderUiTemplate +func (c *SageMaker) RenderUiTemplateRequest(input *RenderUiTemplateInput) (req *request.Request, output *RenderUiTemplateOutput) { + op := &request.Operation{ + Name: opRenderUiTemplate, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RenderUiTemplateInput{} + } + + output = &RenderUiTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// RenderUiTemplate API operation for Amazon SageMaker Service. +// +// Renders the UI template so that you can preview the worker's experience. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation RenderUiTemplate for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/RenderUiTemplate +func (c *SageMaker) RenderUiTemplate(input *RenderUiTemplateInput) (*RenderUiTemplateOutput, error) { + req, out := c.RenderUiTemplateRequest(input) + return out, req.Send() +} + +// RenderUiTemplateWithContext is the same as RenderUiTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See RenderUiTemplate 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 *SageMaker) RenderUiTemplateWithContext(ctx aws.Context, input *RenderUiTemplateInput, opts ...request.Option) (*RenderUiTemplateOutput, error) { + req, out := c.RenderUiTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSearch = "Search" + +// SearchRequest generates a "aws/request.Request" representing the +// client's request for the Search 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 Search for more information on using the Search +// 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 SearchRequest method. +// req, resp := client.SearchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/Search +func (c *SageMaker) SearchRequest(input *SearchInput) (req *request.Request, output *SearchOutput) { + op := &request.Operation{ + Name: opSearch, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchInput{} + } + + output = &SearchOutput{} + req = c.newRequest(op, input, output) + return +} + +// Search API operation for Amazon SageMaker Service. +// +// Finds Amazon SageMaker resources that match a search query. Matching resource +// objects are returned as a list of SearchResult objects in the response. You +// can sort the search results by any resource property in a ascending or descending +// order. +// +// You can query against the following value types: numerical, text, Booleans, +// and timestamps. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation Search for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/Search +func (c *SageMaker) Search(input *SearchInput) (*SearchOutput, error) { + req, out := c.SearchRequest(input) + return out, req.Send() +} + +// SearchWithContext is the same as Search with the addition of +// the ability to pass a context and additional request options. +// +// See Search 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 *SageMaker) SearchWithContext(ctx aws.Context, input *SearchInput, opts ...request.Option) (*SearchOutput, error) { + req, out := c.SearchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchPages iterates over the pages of a Search operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See Search 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 Search operation. +// pageNum := 0 +// err := client.SearchPages(params, +// func(page *SearchOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) SearchPages(input *SearchInput, fn func(*SearchOutput, bool) bool) error { + return c.SearchPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchPagesWithContext same as SearchPages 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 *SageMaker) SearchPagesWithContext(ctx aws.Context, input *SearchInput, fn func(*SearchOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*SearchOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opStartNotebookInstance = "StartNotebookInstance" + +// StartNotebookInstanceRequest generates a "aws/request.Request" representing the +// client's request for the StartNotebookInstance 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 StartNotebookInstance for more information on using the StartNotebookInstance +// 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 StartNotebookInstanceRequest method. +// req, resp := client.StartNotebookInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StartNotebookInstance +func (c *SageMaker) StartNotebookInstanceRequest(input *StartNotebookInstanceInput) (req *request.Request, output *StartNotebookInstanceOutput) { + op := &request.Operation{ + Name: opStartNotebookInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartNotebookInstanceInput{} + } + + output = &StartNotebookInstanceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StartNotebookInstance API operation for Amazon SageMaker Service. +// +// Launches an ML compute instance with the latest version of the libraries +// and attaches your ML storage volume. After configuring the notebook instance, +// Amazon SageMaker sets the notebook instance status to InService. A notebook +// instance's status must be InService before you can connect to your Jupyter +// notebook. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation StartNotebookInstance for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StartNotebookInstance +func (c *SageMaker) StartNotebookInstance(input *StartNotebookInstanceInput) (*StartNotebookInstanceOutput, error) { + req, out := c.StartNotebookInstanceRequest(input) + return out, req.Send() +} + +// StartNotebookInstanceWithContext is the same as StartNotebookInstance with the addition of +// the ability to pass a context and additional request options. +// +// See StartNotebookInstance 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 *SageMaker) StartNotebookInstanceWithContext(ctx aws.Context, input *StartNotebookInstanceInput, opts ...request.Option) (*StartNotebookInstanceOutput, error) { + req, out := c.StartNotebookInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopCompilationJob = "StopCompilationJob" + +// StopCompilationJobRequest generates a "aws/request.Request" representing the +// client's request for the StopCompilationJob 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 StopCompilationJob for more information on using the StopCompilationJob +// 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 StopCompilationJobRequest method. +// req, resp := client.StopCompilationJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopCompilationJob +func (c *SageMaker) StopCompilationJobRequest(input *StopCompilationJobInput) (req *request.Request, output *StopCompilationJobOutput) { + op := &request.Operation{ + Name: opStopCompilationJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopCompilationJobInput{} + } + + output = &StopCompilationJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopCompilationJob API operation for Amazon SageMaker Service. +// +// Stops a model compilation job. +// +// To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal. This +// gracefully shuts the job down. If the job hasn't stopped, it sends the SIGKILL +// signal. +// +// When it receives a StopCompilationJob request, Amazon SageMaker changes the +// CompilationJobSummary$CompilationJobStatus of the job to Stopping. After +// Amazon SageMaker stops the job, it sets the CompilationJobSummary$CompilationJobStatus +// to 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 SageMaker Service's +// API operation StopCompilationJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFound "ResourceNotFound" +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopCompilationJob +func (c *SageMaker) StopCompilationJob(input *StopCompilationJobInput) (*StopCompilationJobOutput, error) { + req, out := c.StopCompilationJobRequest(input) + return out, req.Send() +} + +// StopCompilationJobWithContext is the same as StopCompilationJob with the addition of +// the ability to pass a context and additional request options. +// +// See StopCompilationJob 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 *SageMaker) StopCompilationJobWithContext(ctx aws.Context, input *StopCompilationJobInput, opts ...request.Option) (*StopCompilationJobOutput, error) { + req, out := c.StopCompilationJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopHyperParameterTuningJob = "StopHyperParameterTuningJob" + +// StopHyperParameterTuningJobRequest generates a "aws/request.Request" representing the +// client's request for the StopHyperParameterTuningJob 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 StopHyperParameterTuningJob for more information on using the StopHyperParameterTuningJob +// 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 StopHyperParameterTuningJobRequest method. +// req, resp := client.StopHyperParameterTuningJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopHyperParameterTuningJob +func (c *SageMaker) StopHyperParameterTuningJobRequest(input *StopHyperParameterTuningJobInput) (req *request.Request, output *StopHyperParameterTuningJobOutput) { + op := &request.Operation{ + Name: opStopHyperParameterTuningJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopHyperParameterTuningJobInput{} + } + + output = &StopHyperParameterTuningJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopHyperParameterTuningJob API operation for Amazon SageMaker Service. +// +// Stops a running hyperparameter tuning job and all running training jobs that +// the tuning job launched. +// +// All model artifacts output from the training jobs are stored in Amazon Simple +// Storage Service (Amazon S3). All data that the training jobs write to Amazon +// CloudWatch Logs are still available in CloudWatch. After the tuning job moves +// to the Stopped state, it releases all reserved resources for the tuning job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation StopHyperParameterTuningJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFound "ResourceNotFound" +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopHyperParameterTuningJob +func (c *SageMaker) StopHyperParameterTuningJob(input *StopHyperParameterTuningJobInput) (*StopHyperParameterTuningJobOutput, error) { + req, out := c.StopHyperParameterTuningJobRequest(input) + return out, req.Send() +} + +// StopHyperParameterTuningJobWithContext is the same as StopHyperParameterTuningJob with the addition of +// the ability to pass a context and additional request options. +// +// See StopHyperParameterTuningJob 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 *SageMaker) StopHyperParameterTuningJobWithContext(ctx aws.Context, input *StopHyperParameterTuningJobInput, opts ...request.Option) (*StopHyperParameterTuningJobOutput, error) { + req, out := c.StopHyperParameterTuningJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopLabelingJob = "StopLabelingJob" + +// StopLabelingJobRequest generates a "aws/request.Request" representing the +// client's request for the StopLabelingJob 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 StopLabelingJob for more information on using the StopLabelingJob +// 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 StopLabelingJobRequest method. +// req, resp := client.StopLabelingJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopLabelingJob +func (c *SageMaker) StopLabelingJobRequest(input *StopLabelingJobInput) (req *request.Request, output *StopLabelingJobOutput) { + op := &request.Operation{ + Name: opStopLabelingJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopLabelingJobInput{} + } + + output = &StopLabelingJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopLabelingJob API operation for Amazon SageMaker Service. +// +// Stops a running labeling job. A job that is stopped cannot be restarted. +// Any results obtained before the job is stopped are placed in the Amazon S3 +// output 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 SageMaker Service's +// API operation StopLabelingJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFound "ResourceNotFound" +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopLabelingJob +func (c *SageMaker) StopLabelingJob(input *StopLabelingJobInput) (*StopLabelingJobOutput, error) { + req, out := c.StopLabelingJobRequest(input) + return out, req.Send() +} + +// StopLabelingJobWithContext is the same as StopLabelingJob with the addition of +// the ability to pass a context and additional request options. +// +// See StopLabelingJob 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 *SageMaker) StopLabelingJobWithContext(ctx aws.Context, input *StopLabelingJobInput, opts ...request.Option) (*StopLabelingJobOutput, error) { + req, out := c.StopLabelingJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopNotebookInstance = "StopNotebookInstance" + +// StopNotebookInstanceRequest generates a "aws/request.Request" representing the +// client's request for the StopNotebookInstance 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 StopNotebookInstance for more information on using the StopNotebookInstance +// 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 StopNotebookInstanceRequest method. +// req, resp := client.StopNotebookInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopNotebookInstance +func (c *SageMaker) StopNotebookInstanceRequest(input *StopNotebookInstanceInput) (req *request.Request, output *StopNotebookInstanceOutput) { + op := &request.Operation{ + Name: opStopNotebookInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopNotebookInstanceInput{} + } + + output = &StopNotebookInstanceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopNotebookInstance API operation for Amazon SageMaker Service. +// +// Terminates the ML compute instance. Before terminating the instance, Amazon +// SageMaker disconnects the ML storage volume from it. Amazon SageMaker preserves +// the ML storage volume. +// +// To access data on the ML storage volume for a notebook instance that has +// been terminated, call the StartNotebookInstance API. StartNotebookInstance +// launches another ML compute instance, configures it, and attaches the preserved +// ML storage volume so you can continue your work. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation StopNotebookInstance for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopNotebookInstance +func (c *SageMaker) StopNotebookInstance(input *StopNotebookInstanceInput) (*StopNotebookInstanceOutput, error) { + req, out := c.StopNotebookInstanceRequest(input) + return out, req.Send() +} + +// StopNotebookInstanceWithContext is the same as StopNotebookInstance with the addition of +// the ability to pass a context and additional request options. +// +// See StopNotebookInstance 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 *SageMaker) StopNotebookInstanceWithContext(ctx aws.Context, input *StopNotebookInstanceInput, opts ...request.Option) (*StopNotebookInstanceOutput, error) { + req, out := c.StopNotebookInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopTrainingJob = "StopTrainingJob" + +// StopTrainingJobRequest generates a "aws/request.Request" representing the +// client's request for the StopTrainingJob 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 StopTrainingJob for more information on using the StopTrainingJob +// 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 StopTrainingJobRequest method. +// req, resp := client.StopTrainingJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopTrainingJob +func (c *SageMaker) StopTrainingJobRequest(input *StopTrainingJobInput) (req *request.Request, output *StopTrainingJobOutput) { + op := &request.Operation{ + Name: opStopTrainingJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopTrainingJobInput{} + } + + output = &StopTrainingJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopTrainingJob API operation for Amazon SageMaker Service. +// +// Stops a training job. To stop a job, Amazon SageMaker sends the algorithm +// the SIGTERM signal, which delays job termination for 120 seconds. Algorithms +// might use this 120-second window to save the model artifacts, so the results +// of the training is not lost. +// +// Training algorithms provided by Amazon SageMaker save the intermediate results +// of a model training job. This intermediate data is a valid model artifact. +// You can use the model artifacts that are saved when Amazon SageMaker stops +// a training job to create a model. +// +// When it receives a StopTrainingJob request, Amazon SageMaker changes the +// status of the job to Stopping. After Amazon SageMaker stops the job, it sets +// the status to 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 SageMaker Service's +// API operation StopTrainingJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFound "ResourceNotFound" +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopTrainingJob +func (c *SageMaker) StopTrainingJob(input *StopTrainingJobInput) (*StopTrainingJobOutput, error) { + req, out := c.StopTrainingJobRequest(input) + return out, req.Send() +} + +// StopTrainingJobWithContext is the same as StopTrainingJob with the addition of +// the ability to pass a context and additional request options. +// +// See StopTrainingJob 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 *SageMaker) StopTrainingJobWithContext(ctx aws.Context, input *StopTrainingJobInput, opts ...request.Option) (*StopTrainingJobOutput, error) { + req, out := c.StopTrainingJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopTransformJob = "StopTransformJob" + +// StopTransformJobRequest generates a "aws/request.Request" representing the +// client's request for the StopTransformJob 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 StopTransformJob for more information on using the StopTransformJob +// 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 StopTransformJobRequest method. +// req, resp := client.StopTransformJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopTransformJob +func (c *SageMaker) StopTransformJobRequest(input *StopTransformJobInput) (req *request.Request, output *StopTransformJobOutput) { + op := &request.Operation{ + Name: opStopTransformJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopTransformJobInput{} + } + + output = &StopTransformJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopTransformJob API operation for Amazon SageMaker Service. +// +// Stops a transform job. +// +// When Amazon SageMaker receives a StopTransformJob request, the status of +// the job changes to Stopping. After Amazon SageMaker stops the job, the status +// is set to Stopped. When you stop a transform job before it is completed, +// Amazon SageMaker doesn't store the job's output 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 Amazon SageMaker Service's +// API operation StopTransformJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFound "ResourceNotFound" +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopTransformJob +func (c *SageMaker) StopTransformJob(input *StopTransformJobInput) (*StopTransformJobOutput, error) { + req, out := c.StopTransformJobRequest(input) + return out, req.Send() +} + +// StopTransformJobWithContext is the same as StopTransformJob with the addition of +// the ability to pass a context and additional request options. +// +// See StopTransformJob 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 *SageMaker) StopTransformJobWithContext(ctx aws.Context, input *StopTransformJobInput, opts ...request.Option) (*StopTransformJobOutput, error) { + req, out := c.StopTransformJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateCodeRepository = "UpdateCodeRepository" + +// UpdateCodeRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCodeRepository 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 UpdateCodeRepository for more information on using the UpdateCodeRepository +// 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 UpdateCodeRepositoryRequest method. +// req, resp := client.UpdateCodeRepositoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateCodeRepository +func (c *SageMaker) UpdateCodeRepositoryRequest(input *UpdateCodeRepositoryInput) (req *request.Request, output *UpdateCodeRepositoryOutput) { + op := &request.Operation{ + Name: opUpdateCodeRepository, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateCodeRepositoryInput{} + } + + output = &UpdateCodeRepositoryOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCodeRepository API operation for Amazon SageMaker Service. +// +// Updates the specified Git repository with the specified values. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation UpdateCodeRepository for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateCodeRepository +func (c *SageMaker) UpdateCodeRepository(input *UpdateCodeRepositoryInput) (*UpdateCodeRepositoryOutput, error) { + req, out := c.UpdateCodeRepositoryRequest(input) + return out, req.Send() +} + +// UpdateCodeRepositoryWithContext is the same as UpdateCodeRepository with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCodeRepository 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 *SageMaker) UpdateCodeRepositoryWithContext(ctx aws.Context, input *UpdateCodeRepositoryInput, opts ...request.Option) (*UpdateCodeRepositoryOutput, error) { + req, out := c.UpdateCodeRepositoryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateEndpoint = "UpdateEndpoint" + +// UpdateEndpointRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEndpoint 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 UpdateEndpoint for more information on using the UpdateEndpoint +// 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 UpdateEndpointRequest method. +// req, resp := client.UpdateEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateEndpoint +func (c *SageMaker) UpdateEndpointRequest(input *UpdateEndpointInput) (req *request.Request, output *UpdateEndpointOutput) { + op := &request.Operation{ + Name: opUpdateEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateEndpointInput{} + } + + output = &UpdateEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateEndpoint API operation for Amazon SageMaker Service. +// +// Deploys the new EndpointConfig specified in the request, switches to using +// newly created endpoint, and then deletes resources provisioned for the endpoint +// using the previous EndpointConfig (there is no availability loss). +// +// When Amazon SageMaker receives the request, it sets the endpoint status to +// Updating. After updating the endpoint, it sets the status to InService. To +// check the status of an endpoint, use the DescribeEndpoint (http://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeEndpoint.html) +// API. +// +// You cannot update an endpoint with the current EndpointConfig. To update +// an endpoint, you must create a new EndpointConfig. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation UpdateEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateEndpoint +func (c *SageMaker) UpdateEndpoint(input *UpdateEndpointInput) (*UpdateEndpointOutput, error) { + req, out := c.UpdateEndpointRequest(input) + return out, req.Send() +} + +// UpdateEndpointWithContext is the same as UpdateEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateEndpoint 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 *SageMaker) UpdateEndpointWithContext(ctx aws.Context, input *UpdateEndpointInput, opts ...request.Option) (*UpdateEndpointOutput, error) { + req, out := c.UpdateEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateEndpointWeightsAndCapacities = "UpdateEndpointWeightsAndCapacities" + +// UpdateEndpointWeightsAndCapacitiesRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEndpointWeightsAndCapacities 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 UpdateEndpointWeightsAndCapacities for more information on using the UpdateEndpointWeightsAndCapacities +// 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 UpdateEndpointWeightsAndCapacitiesRequest method. +// req, resp := client.UpdateEndpointWeightsAndCapacitiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateEndpointWeightsAndCapacities +func (c *SageMaker) UpdateEndpointWeightsAndCapacitiesRequest(input *UpdateEndpointWeightsAndCapacitiesInput) (req *request.Request, output *UpdateEndpointWeightsAndCapacitiesOutput) { + op := &request.Operation{ + Name: opUpdateEndpointWeightsAndCapacities, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateEndpointWeightsAndCapacitiesInput{} + } + + output = &UpdateEndpointWeightsAndCapacitiesOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateEndpointWeightsAndCapacities API operation for Amazon SageMaker Service. +// +// Updates variant weight of one or more variants associated with an existing +// endpoint, or capacity of one variant associated with an existing endpoint. +// When it receives the request, Amazon SageMaker sets the endpoint status to +// Updating. After updating the endpoint, it sets the status to InService. To +// check the status of an endpoint, use the DescribeEndpoint (http://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeEndpoint.html) +// 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 Amazon SageMaker Service's +// API operation UpdateEndpointWeightsAndCapacities for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateEndpointWeightsAndCapacities +func (c *SageMaker) UpdateEndpointWeightsAndCapacities(input *UpdateEndpointWeightsAndCapacitiesInput) (*UpdateEndpointWeightsAndCapacitiesOutput, error) { + req, out := c.UpdateEndpointWeightsAndCapacitiesRequest(input) + return out, req.Send() +} + +// UpdateEndpointWeightsAndCapacitiesWithContext is the same as UpdateEndpointWeightsAndCapacities with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateEndpointWeightsAndCapacities 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 *SageMaker) UpdateEndpointWeightsAndCapacitiesWithContext(ctx aws.Context, input *UpdateEndpointWeightsAndCapacitiesInput, opts ...request.Option) (*UpdateEndpointWeightsAndCapacitiesOutput, error) { + req, out := c.UpdateEndpointWeightsAndCapacitiesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateNotebookInstance = "UpdateNotebookInstance" + +// UpdateNotebookInstanceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateNotebookInstance 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 UpdateNotebookInstance for more information on using the UpdateNotebookInstance +// 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 UpdateNotebookInstanceRequest method. +// req, resp := client.UpdateNotebookInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateNotebookInstance +func (c *SageMaker) UpdateNotebookInstanceRequest(input *UpdateNotebookInstanceInput) (req *request.Request, output *UpdateNotebookInstanceOutput) { + op := &request.Operation{ + Name: opUpdateNotebookInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateNotebookInstanceInput{} + } + + output = &UpdateNotebookInstanceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateNotebookInstance API operation for Amazon SageMaker Service. +// +// Updates a notebook instance. NotebookInstance updates include upgrading or +// downgrading the ML compute instance used for your notebook instance to accommodate +// changes in your workload requirements. You can also update the VPC security +// groups. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation UpdateNotebookInstance for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateNotebookInstance +func (c *SageMaker) UpdateNotebookInstance(input *UpdateNotebookInstanceInput) (*UpdateNotebookInstanceOutput, error) { + req, out := c.UpdateNotebookInstanceRequest(input) + return out, req.Send() +} + +// UpdateNotebookInstanceWithContext is the same as UpdateNotebookInstance with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateNotebookInstance 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 *SageMaker) UpdateNotebookInstanceWithContext(ctx aws.Context, input *UpdateNotebookInstanceInput, opts ...request.Option) (*UpdateNotebookInstanceOutput, error) { + req, out := c.UpdateNotebookInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateNotebookInstanceLifecycleConfig = "UpdateNotebookInstanceLifecycleConfig" + +// UpdateNotebookInstanceLifecycleConfigRequest generates a "aws/request.Request" representing the +// client's request for the UpdateNotebookInstanceLifecycleConfig 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 UpdateNotebookInstanceLifecycleConfig for more information on using the UpdateNotebookInstanceLifecycleConfig +// 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 UpdateNotebookInstanceLifecycleConfigRequest method. +// req, resp := client.UpdateNotebookInstanceLifecycleConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateNotebookInstanceLifecycleConfig +func (c *SageMaker) UpdateNotebookInstanceLifecycleConfigRequest(input *UpdateNotebookInstanceLifecycleConfigInput) (req *request.Request, output *UpdateNotebookInstanceLifecycleConfigOutput) { + op := &request.Operation{ + Name: opUpdateNotebookInstanceLifecycleConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateNotebookInstanceLifecycleConfigInput{} + } + + output = &UpdateNotebookInstanceLifecycleConfigOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateNotebookInstanceLifecycleConfig API operation for Amazon SageMaker Service. +// +// Updates a notebook instance lifecycle configuration created with the CreateNotebookInstanceLifecycleConfig +// 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 Amazon SageMaker Service's +// API operation UpdateNotebookInstanceLifecycleConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateNotebookInstanceLifecycleConfig +func (c *SageMaker) UpdateNotebookInstanceLifecycleConfig(input *UpdateNotebookInstanceLifecycleConfigInput) (*UpdateNotebookInstanceLifecycleConfigOutput, error) { + req, out := c.UpdateNotebookInstanceLifecycleConfigRequest(input) + return out, req.Send() +} + +// UpdateNotebookInstanceLifecycleConfigWithContext is the same as UpdateNotebookInstanceLifecycleConfig with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateNotebookInstanceLifecycleConfig 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 *SageMaker) UpdateNotebookInstanceLifecycleConfigWithContext(ctx aws.Context, input *UpdateNotebookInstanceLifecycleConfigInput, opts ...request.Option) (*UpdateNotebookInstanceLifecycleConfigOutput, error) { + req, out := c.UpdateNotebookInstanceLifecycleConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateWorkteam = "UpdateWorkteam" + +// UpdateWorkteamRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWorkteam 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 UpdateWorkteam for more information on using the UpdateWorkteam +// 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 UpdateWorkteamRequest method. +// req, resp := client.UpdateWorkteamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateWorkteam +func (c *SageMaker) UpdateWorkteamRequest(input *UpdateWorkteamInput) (req *request.Request, output *UpdateWorkteamOutput) { + op := &request.Operation{ + Name: opUpdateWorkteam, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateWorkteamInput{} + } + + output = &UpdateWorkteamOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateWorkteam API operation for Amazon SageMaker Service. +// +// Updates an existing work team with new member definitions or description. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation UpdateWorkteam for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceLimitExceeded "ResourceLimitExceeded" +// You have exceeded an Amazon SageMaker resource limit. For example, you might +// have too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateWorkteam +func (c *SageMaker) UpdateWorkteam(input *UpdateWorkteamInput) (*UpdateWorkteamOutput, error) { + req, out := c.UpdateWorkteamRequest(input) + return out, req.Send() +} + +// UpdateWorkteamWithContext is the same as UpdateWorkteam with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateWorkteam 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 *SageMaker) UpdateWorkteamWithContext(ctx aws.Context, input *UpdateWorkteamInput, opts ...request.Option) (*UpdateWorkteamOutput, error) { + req, out := c.UpdateWorkteamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type AddTagsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want to tag. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` + + // An array of Tag objects. Each tag is a key-value pair. Only the key parameter + // is required. If you don't specify a value, Amazon SageMaker sets the value + // to an empty string. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation +func (s AddTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *AddTagsInput) SetResourceArn(v string) *AddTagsInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *AddTagsInput) SetTags(v []*Tag) *AddTagsInput { + s.Tags = v + return s +} + +type AddTagsOutput struct { + _ struct{} `type:"structure"` + + // A list of tags associated with the Amazon SageMaker resource. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s AddTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddTagsOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *AddTagsOutput) SetTags(v []*Tag) *AddTagsOutput { + s.Tags = v + return s +} + +// Specifies the training algorithm to use in a CreateTrainingJob (http://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateTrainingJob.html) +// request. +// +// For more information about algorithms provided by Amazon SageMaker, see Algorithms +// (http://docs.aws.amazon.com/sagemaker/latest/dg/algos.html). For information +// about using your own algorithms, see Using Your Own Algorithms with Amazon +// SageMaker (http://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html). +type AlgorithmSpecification struct { + _ struct{} `type:"structure"` + + // The name of the algorithm resource to use for the training job. This must + // be an algorithm resource that you created or subscribe to on AWS Marketplace. + // If you specify a value for this parameter, you can't specify a value for + // TrainingImage. + AlgorithmName *string `min:"1" type:"string"` + + // A list of metric definition objects. Each object specifies the metric name + // and regular expressions used to parse algorithm logs. Amazon SageMaker publishes + // each metric to Amazon CloudWatch. + MetricDefinitions []*MetricDefinition `type:"list"` + + // The registry path of the Docker image that contains the training algorithm. + // For information about docker registry paths for built-in algorithms, see + // Algorithms Provided by Amazon SageMaker: Common Parameters (http://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html). + TrainingImage *string `type:"string"` + + // The input mode that the algorithm supports. For the input modes that Amazon + // SageMaker algorithms support, see Algorithms (http://docs.aws.amazon.com/sagemaker/latest/dg/algos.html). + // If an algorithm supports the File input mode, Amazon SageMaker downloads + // the training data from S3 to the provisioned ML storage Volume, and mounts + // the directory to docker volume for training container. If an algorithm supports + // the Pipe input mode, Amazon SageMaker streams data directly from S3 to the + // container. + // + // In File mode, make sure you provision ML storage volume with sufficient capacity + // to accommodate the data download from S3. In addition to the training data, + // the ML storage volume also stores the output model. The algorithm container + // use ML storage volume to also store intermediate information, if any. + // + // For distributed algorithms using File mode, training data is distributed + // uniformly, and your training duration is predictable if the input data objects + // size is approximately same. Amazon SageMaker does not split the files any + // further for model training. If the object sizes are skewed, training won't + // be optimal as the data distribution is also skewed where one host in a training + // cluster is overloaded, thus becoming bottleneck in training. + // + // TrainingInputMode is a required field + TrainingInputMode *string `type:"string" required:"true" enum:"TrainingInputMode"` +} + +// String returns the string representation +func (s AlgorithmSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlgorithmSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AlgorithmSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AlgorithmSpecification"} + if s.AlgorithmName != nil && len(*s.AlgorithmName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlgorithmName", 1)) + } + if s.TrainingInputMode == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingInputMode")) + } + if s.MetricDefinitions != nil { + for i, v := range s.MetricDefinitions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricDefinitions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlgorithmName sets the AlgorithmName field's value. +func (s *AlgorithmSpecification) SetAlgorithmName(v string) *AlgorithmSpecification { + s.AlgorithmName = &v + return s +} + +// SetMetricDefinitions sets the MetricDefinitions field's value. +func (s *AlgorithmSpecification) SetMetricDefinitions(v []*MetricDefinition) *AlgorithmSpecification { + s.MetricDefinitions = v + return s +} + +// SetTrainingImage sets the TrainingImage field's value. +func (s *AlgorithmSpecification) SetTrainingImage(v string) *AlgorithmSpecification { + s.TrainingImage = &v + return s +} + +// SetTrainingInputMode sets the TrainingInputMode field's value. +func (s *AlgorithmSpecification) SetTrainingInputMode(v string) *AlgorithmSpecification { + s.TrainingInputMode = &v + return s +} + +// Specifies the validation and image scan statuses of the algorithm. +type AlgorithmStatusDetails struct { + _ struct{} `type:"structure"` + + // The status of the scan of the algorithm's Docker image container. + ImageScanStatuses []*AlgorithmStatusItem `type:"list"` + + // The status of algorithm validation. + ValidationStatuses []*AlgorithmStatusItem `type:"list"` +} + +// String returns the string representation +func (s AlgorithmStatusDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlgorithmStatusDetails) GoString() string { + return s.String() +} + +// SetImageScanStatuses sets the ImageScanStatuses field's value. +func (s *AlgorithmStatusDetails) SetImageScanStatuses(v []*AlgorithmStatusItem) *AlgorithmStatusDetails { + s.ImageScanStatuses = v + return s +} + +// SetValidationStatuses sets the ValidationStatuses field's value. +func (s *AlgorithmStatusDetails) SetValidationStatuses(v []*AlgorithmStatusItem) *AlgorithmStatusDetails { + s.ValidationStatuses = v + return s +} + +// Represents the overall status of an algorithm. +type AlgorithmStatusItem struct { + _ struct{} `type:"structure"` + + // if the overall status is Failed, the reason for the failure. + FailureReason *string `type:"string"` + + // The name of the algorithm for which the overall status is being reported. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The current status. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"DetailedAlgorithmStatus"` +} + +// String returns the string representation +func (s AlgorithmStatusItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlgorithmStatusItem) GoString() string { + return s.String() +} + +// SetFailureReason sets the FailureReason field's value. +func (s *AlgorithmStatusItem) SetFailureReason(v string) *AlgorithmStatusItem { + s.FailureReason = &v + return s +} + +// SetName sets the Name field's value. +func (s *AlgorithmStatusItem) SetName(v string) *AlgorithmStatusItem { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AlgorithmStatusItem) SetStatus(v string) *AlgorithmStatusItem { + s.Status = &v + return s +} + +// Provides summary information about an algorithm. +type AlgorithmSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the algorithm. + // + // AlgorithmArn is a required field + AlgorithmArn *string `min:"1" type:"string" required:"true"` + + // A brief description of the algorithm. + AlgorithmDescription *string `type:"string"` + + // The name of the algorithm that is described by the summary. + // + // AlgorithmName is a required field + AlgorithmName *string `min:"1" type:"string" required:"true"` + + // The overall status of the algorithm. + // + // AlgorithmStatus is a required field + AlgorithmStatus *string `type:"string" required:"true" enum:"AlgorithmStatus"` + + // A timestamp that shows when the algorithm was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s AlgorithmSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlgorithmSummary) GoString() string { + return s.String() +} + +// SetAlgorithmArn sets the AlgorithmArn field's value. +func (s *AlgorithmSummary) SetAlgorithmArn(v string) *AlgorithmSummary { + s.AlgorithmArn = &v + return s +} + +// SetAlgorithmDescription sets the AlgorithmDescription field's value. +func (s *AlgorithmSummary) SetAlgorithmDescription(v string) *AlgorithmSummary { + s.AlgorithmDescription = &v + return s +} + +// SetAlgorithmName sets the AlgorithmName field's value. +func (s *AlgorithmSummary) SetAlgorithmName(v string) *AlgorithmSummary { + s.AlgorithmName = &v + return s +} + +// SetAlgorithmStatus sets the AlgorithmStatus field's value. +func (s *AlgorithmSummary) SetAlgorithmStatus(v string) *AlgorithmSummary { + s.AlgorithmStatus = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *AlgorithmSummary) SetCreationTime(v time.Time) *AlgorithmSummary { + s.CreationTime = &v + return s +} + +// Defines a training job and a batch transform job that Amazon SageMaker runs +// to validate your algorithm. +// +// The data provided in the validation profile is made available to your buyers +// on AWS Marketplace. +type AlgorithmValidationProfile struct { + _ struct{} `type:"structure"` + + // The name of the profile for the algorithm. The name must have 1 to 63 characters. + // Valid characters are a-z, A-Z, 0-9, and - (hyphen). + // + // ProfileName is a required field + ProfileName *string `min:"1" type:"string" required:"true"` + + // The TrainingJobDefinition object that describes the training job that Amazon + // SageMaker runs to validate your algorithm. + // + // TrainingJobDefinition is a required field + TrainingJobDefinition *TrainingJobDefinition `type:"structure" required:"true"` + + // The TransformJobDefinition object that describes the transform job that Amazon + // SageMaker runs to validate your algorithm. + TransformJobDefinition *TransformJobDefinition `type:"structure"` +} + +// String returns the string representation +func (s AlgorithmValidationProfile) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlgorithmValidationProfile) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AlgorithmValidationProfile) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AlgorithmValidationProfile"} + if s.ProfileName == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileName")) + } + if s.ProfileName != nil && len(*s.ProfileName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileName", 1)) + } + if s.TrainingJobDefinition == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingJobDefinition")) + } + if s.TrainingJobDefinition != nil { + if err := s.TrainingJobDefinition.Validate(); err != nil { + invalidParams.AddNested("TrainingJobDefinition", err.(request.ErrInvalidParams)) + } + } + if s.TransformJobDefinition != nil { + if err := s.TransformJobDefinition.Validate(); err != nil { + invalidParams.AddNested("TransformJobDefinition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProfileName sets the ProfileName field's value. +func (s *AlgorithmValidationProfile) SetProfileName(v string) *AlgorithmValidationProfile { + s.ProfileName = &v + return s +} + +// SetTrainingJobDefinition sets the TrainingJobDefinition field's value. +func (s *AlgorithmValidationProfile) SetTrainingJobDefinition(v *TrainingJobDefinition) *AlgorithmValidationProfile { + s.TrainingJobDefinition = v + return s +} + +// SetTransformJobDefinition sets the TransformJobDefinition field's value. +func (s *AlgorithmValidationProfile) SetTransformJobDefinition(v *TransformJobDefinition) *AlgorithmValidationProfile { + s.TransformJobDefinition = v + return s +} + +// Specifies configurations for one or more training jobs that Amazon SageMaker +// runs to test the algorithm. +type AlgorithmValidationSpecification struct { + _ struct{} `type:"structure"` + + // An array of AlgorithmValidationProfile objects, each of which specifies a + // training job and batch transform job that Amazon SageMaker runs to validate + // your algorithm. + // + // ValidationProfiles is a required field + ValidationProfiles []*AlgorithmValidationProfile `min:"1" type:"list" required:"true"` + + // The IAM roles that Amazon SageMaker uses to run the training jobs. + // + // ValidationRole is a required field + ValidationRole *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s AlgorithmValidationSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlgorithmValidationSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AlgorithmValidationSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AlgorithmValidationSpecification"} + if s.ValidationProfiles == nil { + invalidParams.Add(request.NewErrParamRequired("ValidationProfiles")) + } + if s.ValidationProfiles != nil && len(s.ValidationProfiles) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValidationProfiles", 1)) + } + if s.ValidationRole == nil { + invalidParams.Add(request.NewErrParamRequired("ValidationRole")) + } + if s.ValidationRole != nil && len(*s.ValidationRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ValidationRole", 20)) + } + if s.ValidationProfiles != nil { + for i, v := range s.ValidationProfiles { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ValidationProfiles", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValidationProfiles sets the ValidationProfiles field's value. +func (s *AlgorithmValidationSpecification) SetValidationProfiles(v []*AlgorithmValidationProfile) *AlgorithmValidationSpecification { + s.ValidationProfiles = v + return s +} + +// SetValidationRole sets the ValidationRole field's value. +func (s *AlgorithmValidationSpecification) SetValidationRole(v string) *AlgorithmValidationSpecification { + s.ValidationRole = &v + return s +} + +// Configures how labels are consolidated across human workers. +type AnnotationConsolidationConfig struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of a Lambda function implements the logic + // for annotation consolidation. + // + // For the built-in bounding box, image classification, semantic segmentation, + // and text classification task types, Amazon SageMaker Ground Truth provides + // the following Lambda functions: + // + // * Bounding box - Finds the most similar boxes from different workers based + // on the Jaccard index of the boxes. + // + // arn:aws:lambda:us-east-1:432418664414:function:ACS-BoundingBox + // + // arn:aws:lambda:us-east-2:266458841044:function:ACS-BoundingBox + // + // arn:aws:lambda:us-west-2:081040173940:function:ACS-BoundingBox + // + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-BoundingBox + // + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-BoundingBox + // + // * Image classification - Uses a variant of the Expectation Maximization + // approach to estimate the true class of an image based on annotations from + // individual workers. + // + // arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClass + // + // arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClass + // + // arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClass + // + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClass + // + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-ImageMultiClass + // + // * Semantic segmentation - Treats each pixel in an image as a multi-class + // classification and treats pixel annotations from workers as "votes" for + // the correct label. + // + // arn:aws:lambda:us-east-1:432418664414:function:ACS-SemanticSegmentation + // + // arn:aws:lambda:us-east-2:266458841044:function:ACS-SemanticSegmentation + // + // arn:aws:lambda:us-west-2:081040173940:function:ACS-SemanticSegmentation + // + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-SemanticSegmentation + // + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-SemanticSegmentation + // + // * Text classification - Uses a variant of the Expectation Maximization + // approach to estimate the true class of text based on annotations from + // individual workers. + // + // arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass + // + // arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClass + // + // arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClass + // + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClass + // + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-TextMultiClass + // + // For more information, see Annotation Consolidation (http://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html). + // + // AnnotationConsolidationLambdaArn is a required field + AnnotationConsolidationLambdaArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AnnotationConsolidationConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AnnotationConsolidationConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AnnotationConsolidationConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AnnotationConsolidationConfig"} + if s.AnnotationConsolidationLambdaArn == nil { + invalidParams.Add(request.NewErrParamRequired("AnnotationConsolidationLambdaArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnnotationConsolidationLambdaArn sets the AnnotationConsolidationLambdaArn field's value. +func (s *AnnotationConsolidationConfig) SetAnnotationConsolidationLambdaArn(v string) *AnnotationConsolidationConfig { + s.AnnotationConsolidationLambdaArn = &v + return s +} + +// A list of categorical hyperparameters to tune. +type CategoricalParameterRange struct { + _ struct{} `type:"structure"` + + // The name of the categorical hyperparameter to tune. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // A list of the categories for the hyperparameter. + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s CategoricalParameterRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CategoricalParameterRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CategoricalParameterRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CategoricalParameterRange"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + 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 +} + +// SetName sets the Name field's value. +func (s *CategoricalParameterRange) SetName(v string) *CategoricalParameterRange { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *CategoricalParameterRange) SetValues(v []*string) *CategoricalParameterRange { + s.Values = v + return s +} + +// Defines the possible values for a categorical hyperparameter. +type CategoricalParameterRangeSpecification struct { + _ struct{} `type:"structure"` + + // The allowed categories for the hyperparameter. + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s CategoricalParameterRangeSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CategoricalParameterRangeSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CategoricalParameterRangeSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CategoricalParameterRangeSpecification"} + 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 +} + +// SetValues sets the Values field's value. +func (s *CategoricalParameterRangeSpecification) SetValues(v []*string) *CategoricalParameterRangeSpecification { + s.Values = v + return s +} + +// A channel is a named input source that training algorithms can consume. +type Channel struct { + _ struct{} `type:"structure"` + + // The name of the channel. + // + // ChannelName is a required field + ChannelName *string `min:"1" type:"string" required:"true"` + + // If training data is compressed, the compression type. The default value is + // None. CompressionType is used only in Pipe input mode. In File mode, leave + // this field unset or set it to None. + CompressionType *string `type:"string" enum:"CompressionType"` + + // The MIME type of the data. + ContentType *string `type:"string"` + + // The location of the channel data. + // + // DataSource is a required field + DataSource *DataSource `type:"structure" required:"true"` + + // (Optional) The input mode to use for the data channel in a training job. + // If you don't set a value for InputMode, Amazon SageMaker uses the value set + // for TrainingInputMode. Use this parameter to override the TrainingInputMode + // setting in a AlgorithmSpecification request when you have a channel that + // needs a different input mode from the training job's general setting. To + // download the data from Amazon Simple Storage Service (Amazon S3) to the provisioned + // ML storage volume, and mount the directory to a Docker volume, use File input + // mode. To stream data directly from Amazon S3 to the container, choose Pipe + // input mode. + // + // To use a model for incremental training, choose File input model. + InputMode *string `type:"string" enum:"TrainingInputMode"` + + // Specify RecordIO as the value when input data is in raw format but the training + // algorithm requires the RecordIO format. In this case, Amazon SageMaker wraps + // each individual S3 object in a RecordIO record. If the input data is already + // in RecordIO format, you don't need to set this attribute. For more information, + // see Create a Dataset Using RecordIO (https://mxnet.incubator.apache.org/architecture/note_data_loading.html#data-format) + RecordWrapperType *string `type:"string" enum:"RecordWrapper"` + + // A configuration for a shuffle option for input data in a channel. If you + // use S3Prefix for S3DataType, this shuffles the results of the S3 key prefix + // matches. If you use ManifestFile, the order of the S3 object references in + // the ManifestFile is shuffled. If you use AugmentedManifestFile, the order + // of the JSON lines in the AugmentedManifestFile is shuffled. The shuffling + // order is determined using the Seed value. + // + // For Pipe input mode, shuffling is done at the start of every epoch. With + // large datasets this ensures that the order of the training data is different + // for each epoch, it helps reduce bias and possible overfitting. In a multi-node + // training job when ShuffleConfig is combined with S3DataDistributionType of + // ShardedByS3Key, the data is shuffled across nodes so that the content sent + // to a particular node on the first epoch might be sent to a different node + // on the second epoch. + ShuffleConfig *ShuffleConfig `type:"structure"` +} + +// String returns the string representation +func (s Channel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Channel) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Channel) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Channel"} + if s.ChannelName == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelName")) + } + if s.ChannelName != nil && len(*s.ChannelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelName", 1)) + } + if s.DataSource == nil { + invalidParams.Add(request.NewErrParamRequired("DataSource")) + } + if s.DataSource != nil { + if err := s.DataSource.Validate(); err != nil { + invalidParams.AddNested("DataSource", err.(request.ErrInvalidParams)) + } + } + if s.ShuffleConfig != nil { + if err := s.ShuffleConfig.Validate(); err != nil { + invalidParams.AddNested("ShuffleConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannelName sets the ChannelName field's value. +func (s *Channel) SetChannelName(v string) *Channel { + s.ChannelName = &v + return s +} + +// SetCompressionType sets the CompressionType field's value. +func (s *Channel) SetCompressionType(v string) *Channel { + s.CompressionType = &v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *Channel) SetContentType(v string) *Channel { + s.ContentType = &v + return s +} + +// SetDataSource sets the DataSource field's value. +func (s *Channel) SetDataSource(v *DataSource) *Channel { + s.DataSource = v + return s +} + +// SetInputMode sets the InputMode field's value. +func (s *Channel) SetInputMode(v string) *Channel { + s.InputMode = &v + return s +} + +// SetRecordWrapperType sets the RecordWrapperType field's value. +func (s *Channel) SetRecordWrapperType(v string) *Channel { + s.RecordWrapperType = &v + return s +} + +// SetShuffleConfig sets the ShuffleConfig field's value. +func (s *Channel) SetShuffleConfig(v *ShuffleConfig) *Channel { + s.ShuffleConfig = v + return s +} + +// Defines a named input source, called a channel, to be used by an algorithm. +type ChannelSpecification struct { + _ struct{} `type:"structure"` + + // A brief description of the channel. + Description *string `type:"string"` + + // Indicates whether the channel is required by the algorithm. + IsRequired *bool `type:"boolean"` + + // The name of the channel. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The allowed compression types, if data compression is used. + SupportedCompressionTypes []*string `type:"list"` + + // The supported MIME types for the data. + // + // SupportedContentTypes is a required field + SupportedContentTypes []*string `type:"list" required:"true"` + + // The allowed input mode, either FILE or PIPE. + // + // In FILE mode, Amazon SageMaker copies the data from the input source onto + // the local Amazon Elastic Block Store (Amazon EBS) volumes before starting + // your training algorithm. This is the most commonly used input mode. + // + // In PIPE mode, Amazon SageMaker streams input data from the source directly + // to your algorithm without using the EBS volume. + // + // SupportedInputModes is a required field + SupportedInputModes []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s ChannelSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ChannelSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ChannelSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ChannelSpecification"} + 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.SupportedContentTypes == nil { + invalidParams.Add(request.NewErrParamRequired("SupportedContentTypes")) + } + if s.SupportedInputModes == nil { + invalidParams.Add(request.NewErrParamRequired("SupportedInputModes")) + } + if s.SupportedInputModes != nil && len(s.SupportedInputModes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SupportedInputModes", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *ChannelSpecification) SetDescription(v string) *ChannelSpecification { + s.Description = &v + return s +} + +// SetIsRequired sets the IsRequired field's value. +func (s *ChannelSpecification) SetIsRequired(v bool) *ChannelSpecification { + s.IsRequired = &v + return s +} + +// SetName sets the Name field's value. +func (s *ChannelSpecification) SetName(v string) *ChannelSpecification { + s.Name = &v + return s +} + +// SetSupportedCompressionTypes sets the SupportedCompressionTypes field's value. +func (s *ChannelSpecification) SetSupportedCompressionTypes(v []*string) *ChannelSpecification { + s.SupportedCompressionTypes = v + return s +} + +// SetSupportedContentTypes sets the SupportedContentTypes field's value. +func (s *ChannelSpecification) SetSupportedContentTypes(v []*string) *ChannelSpecification { + s.SupportedContentTypes = v + return s +} + +// SetSupportedInputModes sets the SupportedInputModes field's value. +func (s *ChannelSpecification) SetSupportedInputModes(v []*string) *ChannelSpecification { + s.SupportedInputModes = v + return s +} + +// Specifies summary information about a Git repository. +type CodeRepositorySummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Git repository. + // + // CodeRepositoryArn is a required field + CodeRepositoryArn *string `min:"1" type:"string" required:"true"` + + // The name of the Git repository. + // + // CodeRepositoryName is a required field + CodeRepositoryName *string `min:"1" type:"string" required:"true"` + + // The date and time that the Git repository was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // Configuration details for the Git repository, including the URL where it + // is located and the ARN of the AWS Secrets Manager secret that contains the + // credentials used to access the repository. + GitConfig *GitConfig `type:"structure"` + + // The date and time that the Git repository was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s CodeRepositorySummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CodeRepositorySummary) GoString() string { + return s.String() +} + +// SetCodeRepositoryArn sets the CodeRepositoryArn field's value. +func (s *CodeRepositorySummary) SetCodeRepositoryArn(v string) *CodeRepositorySummary { + s.CodeRepositoryArn = &v + return s +} + +// SetCodeRepositoryName sets the CodeRepositoryName field's value. +func (s *CodeRepositorySummary) SetCodeRepositoryName(v string) *CodeRepositorySummary { + s.CodeRepositoryName = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *CodeRepositorySummary) SetCreationTime(v time.Time) *CodeRepositorySummary { + s.CreationTime = &v + return s +} + +// SetGitConfig sets the GitConfig field's value. +func (s *CodeRepositorySummary) SetGitConfig(v *GitConfig) *CodeRepositorySummary { + s.GitConfig = v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *CodeRepositorySummary) SetLastModifiedTime(v time.Time) *CodeRepositorySummary { + s.LastModifiedTime = &v + return s +} + +// Identifies a Amazon Cognito user group. A user group can be used in on or +// more work teams. +type CognitoMemberDefinition struct { + _ struct{} `type:"structure"` + + // An identifier for an application client. You must create the app client ID + // using Amazon Cognito. + // + // ClientId is a required field + ClientId *string `min:"1" type:"string" required:"true"` + + // An identifier for a user group. + // + // UserGroup is a required field + UserGroup *string `min:"1" type:"string" required:"true"` + + // An identifier for a user pool. The user pool must be in the same region as + // the service that you are calling. + // + // UserPool is a required field + UserPool *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CognitoMemberDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CognitoMemberDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CognitoMemberDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CognitoMemberDefinition"} + if s.ClientId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientId")) + } + if s.ClientId != nil && len(*s.ClientId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientId", 1)) + } + if s.UserGroup == nil { + invalidParams.Add(request.NewErrParamRequired("UserGroup")) + } + if s.UserGroup != nil && len(*s.UserGroup) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserGroup", 1)) + } + if s.UserPool == nil { + invalidParams.Add(request.NewErrParamRequired("UserPool")) + } + if s.UserPool != nil && len(*s.UserPool) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserPool", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientId sets the ClientId field's value. +func (s *CognitoMemberDefinition) SetClientId(v string) *CognitoMemberDefinition { + s.ClientId = &v + return s +} + +// SetUserGroup sets the UserGroup field's value. +func (s *CognitoMemberDefinition) SetUserGroup(v string) *CognitoMemberDefinition { + s.UserGroup = &v + return s +} + +// SetUserPool sets the UserPool field's value. +func (s *CognitoMemberDefinition) SetUserPool(v string) *CognitoMemberDefinition { + s.UserPool = &v + return s +} + +// A summary of a model compilation job. +type CompilationJobSummary struct { + _ struct{} `type:"structure"` + + // The time when the model compilation job completed. + CompilationEndTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the model compilation job. + // + // CompilationJobArn is a required field + CompilationJobArn *string `type:"string" required:"true"` + + // The name of the model compilation job that you want a summary for. + // + // CompilationJobName is a required field + CompilationJobName *string `min:"1" type:"string" required:"true"` + + // The status of the model compilation job. + // + // CompilationJobStatus is a required field + CompilationJobStatus *string `type:"string" required:"true" enum:"CompilationJobStatus"` + + // The time when the model compilation job started. + CompilationStartTime *time.Time `type:"timestamp"` + + // The type of device that the model will run on after compilation has completed. + // + // CompilationTargetDevice is a required field + CompilationTargetDevice *string `type:"string" required:"true" enum:"TargetDevice"` + + // The time when the model compilation job was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // The time when the model compilation job was last modified. + LastModifiedTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s CompilationJobSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CompilationJobSummary) GoString() string { + return s.String() +} + +// SetCompilationEndTime sets the CompilationEndTime field's value. +func (s *CompilationJobSummary) SetCompilationEndTime(v time.Time) *CompilationJobSummary { + s.CompilationEndTime = &v + return s +} + +// SetCompilationJobArn sets the CompilationJobArn field's value. +func (s *CompilationJobSummary) SetCompilationJobArn(v string) *CompilationJobSummary { + s.CompilationJobArn = &v + return s +} + +// SetCompilationJobName sets the CompilationJobName field's value. +func (s *CompilationJobSummary) SetCompilationJobName(v string) *CompilationJobSummary { + s.CompilationJobName = &v + return s +} + +// SetCompilationJobStatus sets the CompilationJobStatus field's value. +func (s *CompilationJobSummary) SetCompilationJobStatus(v string) *CompilationJobSummary { + s.CompilationJobStatus = &v + return s +} + +// SetCompilationStartTime sets the CompilationStartTime field's value. +func (s *CompilationJobSummary) SetCompilationStartTime(v time.Time) *CompilationJobSummary { + s.CompilationStartTime = &v + return s +} + +// SetCompilationTargetDevice sets the CompilationTargetDevice field's value. +func (s *CompilationJobSummary) SetCompilationTargetDevice(v string) *CompilationJobSummary { + s.CompilationTargetDevice = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *CompilationJobSummary) SetCreationTime(v time.Time) *CompilationJobSummary { + s.CreationTime = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *CompilationJobSummary) SetLastModifiedTime(v time.Time) *CompilationJobSummary { + s.LastModifiedTime = &v + return s +} + +// Describes the container, as part of model definition. +type ContainerDefinition struct { + _ struct{} `type:"structure"` + + // The DNS host name for the container after Amazon SageMaker deploys it. + ContainerHostname *string `type:"string"` + + // The environment variables to set in the Docker container. Each key and value + // in the Environment string to string map can have length of up to 1024. We + // support up to 16 entries in the map. + Environment map[string]*string `type:"map"` + + // The Amazon EC2 Container Registry (Amazon ECR) path where inference code + // is stored. If you are using your own custom algorithm instead of an algorithm + // provided by Amazon SageMaker, the inference code must meet Amazon SageMaker + // requirements. Amazon SageMaker supports both registry/repository[:tag] and + // registry/repository[@digest] image path formats. For more information, see + // Using Your Own Algorithms with Amazon SageMaker (http://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html) + Image *string `type:"string"` + + // The S3 path where the model artifacts, which result from model training, + // are stored. This path must point to a single gzip compressed tar archive + // (.tar.gz suffix). + // + // If you provide a value for this parameter, Amazon SageMaker uses AWS Security + // Token Service to download model artifacts from the S3 path you provide. AWS + // STS is activated in your IAM user account by default. If you previously deactivated + // AWS STS for a region, you need to reactivate AWS STS for 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 AWS Identity and Access Management User Guide. + ModelDataUrl *string `type:"string"` + + // The name of the model package to use to create the model. + ModelPackageName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ContainerDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ContainerDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"} + if s.ModelPackageName != nil && len(*s.ModelPackageName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelPackageName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainerHostname sets the ContainerHostname field's value. +func (s *ContainerDefinition) SetContainerHostname(v string) *ContainerDefinition { + s.ContainerHostname = &v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *ContainerDefinition) SetEnvironment(v map[string]*string) *ContainerDefinition { + s.Environment = v + return s +} + +// SetImage sets the Image field's value. +func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition { + s.Image = &v + return s +} + +// SetModelDataUrl sets the ModelDataUrl field's value. +func (s *ContainerDefinition) SetModelDataUrl(v string) *ContainerDefinition { + s.ModelDataUrl = &v + return s +} + +// SetModelPackageName sets the ModelPackageName field's value. +func (s *ContainerDefinition) SetModelPackageName(v string) *ContainerDefinition { + s.ModelPackageName = &v + return s +} + +// A list of continuous hyperparameters to tune. +type ContinuousParameterRange struct { + _ struct{} `type:"structure"` + + // The maximum value for the hyperparameter. The tuning job uses floating-point + // values between MinValue value and this value for tuning. + // + // MaxValue is a required field + MaxValue *string `type:"string" required:"true"` + + // The minimum value for the hyperparameter. The tuning job uses floating-point + // values between this value and MaxValuefor tuning. + // + // MinValue is a required field + MinValue *string `type:"string" required:"true"` + + // The name of the continuous hyperparameter to tune. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ContinuousParameterRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ContinuousParameterRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContinuousParameterRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContinuousParameterRange"} + if s.MaxValue == nil { + invalidParams.Add(request.NewErrParamRequired("MaxValue")) + } + if s.MinValue == nil { + invalidParams.Add(request.NewErrParamRequired("MinValue")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxValue sets the MaxValue field's value. +func (s *ContinuousParameterRange) SetMaxValue(v string) *ContinuousParameterRange { + s.MaxValue = &v + return s +} + +// SetMinValue sets the MinValue field's value. +func (s *ContinuousParameterRange) SetMinValue(v string) *ContinuousParameterRange { + s.MinValue = &v + return s +} + +// SetName sets the Name field's value. +func (s *ContinuousParameterRange) SetName(v string) *ContinuousParameterRange { + s.Name = &v + return s +} + +// Defines the possible values for a continuous hyperparameter. +type ContinuousParameterRangeSpecification struct { + _ struct{} `type:"structure"` + + // The maximum floating-point value allowed. + // + // MaxValue is a required field + MaxValue *string `type:"string" required:"true"` + + // The minimum floating-point value allowed. + // + // MinValue is a required field + MinValue *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ContinuousParameterRangeSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ContinuousParameterRangeSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContinuousParameterRangeSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContinuousParameterRangeSpecification"} + if s.MaxValue == nil { + invalidParams.Add(request.NewErrParamRequired("MaxValue")) + } + if s.MinValue == nil { + invalidParams.Add(request.NewErrParamRequired("MinValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxValue sets the MaxValue field's value. +func (s *ContinuousParameterRangeSpecification) SetMaxValue(v string) *ContinuousParameterRangeSpecification { + s.MaxValue = &v + return s +} + +// SetMinValue sets the MinValue field's value. +func (s *ContinuousParameterRangeSpecification) SetMinValue(v string) *ContinuousParameterRangeSpecification { + s.MinValue = &v + return s +} + +type CreateAlgorithmInput struct { + _ struct{} `type:"structure"` + + // A description of the algorithm. + AlgorithmDescription *string `type:"string"` + + // The name of the algorithm. + // + // AlgorithmName is a required field + AlgorithmName *string `min:"1" type:"string" required:"true"` + + // Whether to certify the algorithm so that it can be listed in AWS Marketplace. + CertifyForMarketplace *bool `type:"boolean"` + + // Specifies details about inference jobs that the algorithm runs, including + // the following: + // + // * The Amazon ECR paths of containers that contain the inference code and + // model artifacts. + // + // * The instance types that the algorithm supports for transform jobs and + // real-time endpoints used for inference. + // + // * The input and output content formats that the algorithm supports for + // inference. + InferenceSpecification *InferenceSpecification `type:"structure"` + + // Specifies details about training jobs run by this algorithm, including the + // following: + // + // * The Amazon ECR path of the container and the version digest of the algorithm. + // + // * The hyperparameters that the algorithm supports. + // + // * The instance types that the algorithm supports for training. + // + // * Whether the algorithm supports distributed training. + // + // * The metrics that the algorithm emits to Amazon CloudWatch. + // + // * Which metrics that the algorithm emits can be used as the objective + // metric for hyperparameter tuning jobs. + // + // * The input channels that the algorithm supports for training data. For + // example, an algorithm might support train, validation, and test channels. + // + // TrainingSpecification is a required field + TrainingSpecification *TrainingSpecification `type:"structure" required:"true"` + + // Specifies configurations for one or more training jobs and that Amazon SageMaker + // runs to test the algorithm's training code and, optionally, one or more batch + // transform jobs that Amazon SageMaker runs to test the algorithm's inference + // code. + ValidationSpecification *AlgorithmValidationSpecification `type:"structure"` +} + +// String returns the string representation +func (s CreateAlgorithmInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAlgorithmInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAlgorithmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAlgorithmInput"} + if s.AlgorithmName == nil { + invalidParams.Add(request.NewErrParamRequired("AlgorithmName")) + } + if s.AlgorithmName != nil && len(*s.AlgorithmName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlgorithmName", 1)) + } + if s.TrainingSpecification == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingSpecification")) + } + if s.InferenceSpecification != nil { + if err := s.InferenceSpecification.Validate(); err != nil { + invalidParams.AddNested("InferenceSpecification", err.(request.ErrInvalidParams)) + } + } + if s.TrainingSpecification != nil { + if err := s.TrainingSpecification.Validate(); err != nil { + invalidParams.AddNested("TrainingSpecification", err.(request.ErrInvalidParams)) + } + } + if s.ValidationSpecification != nil { + if err := s.ValidationSpecification.Validate(); err != nil { + invalidParams.AddNested("ValidationSpecification", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlgorithmDescription sets the AlgorithmDescription field's value. +func (s *CreateAlgorithmInput) SetAlgorithmDescription(v string) *CreateAlgorithmInput { + s.AlgorithmDescription = &v + return s +} + +// SetAlgorithmName sets the AlgorithmName field's value. +func (s *CreateAlgorithmInput) SetAlgorithmName(v string) *CreateAlgorithmInput { + s.AlgorithmName = &v + return s +} + +// SetCertifyForMarketplace sets the CertifyForMarketplace field's value. +func (s *CreateAlgorithmInput) SetCertifyForMarketplace(v bool) *CreateAlgorithmInput { + s.CertifyForMarketplace = &v + return s +} + +// SetInferenceSpecification sets the InferenceSpecification field's value. +func (s *CreateAlgorithmInput) SetInferenceSpecification(v *InferenceSpecification) *CreateAlgorithmInput { + s.InferenceSpecification = v + return s +} + +// SetTrainingSpecification sets the TrainingSpecification field's value. +func (s *CreateAlgorithmInput) SetTrainingSpecification(v *TrainingSpecification) *CreateAlgorithmInput { + s.TrainingSpecification = v + return s +} + +// SetValidationSpecification sets the ValidationSpecification field's value. +func (s *CreateAlgorithmInput) SetValidationSpecification(v *AlgorithmValidationSpecification) *CreateAlgorithmInput { + s.ValidationSpecification = v + return s +} + +type CreateAlgorithmOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the new algorithm. + // + // AlgorithmArn is a required field + AlgorithmArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateAlgorithmOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAlgorithmOutput) GoString() string { + return s.String() +} + +// SetAlgorithmArn sets the AlgorithmArn field's value. +func (s *CreateAlgorithmOutput) SetAlgorithmArn(v string) *CreateAlgorithmOutput { + s.AlgorithmArn = &v + return s +} + +type CreateCodeRepositoryInput struct { + _ struct{} `type:"structure"` + + // The name of the Git repository. The name must have 1 to 63 characters. Valid + // characters are a-z, A-Z, 0-9, and - (hyphen). + // + // CodeRepositoryName is a required field + CodeRepositoryName *string `min:"1" type:"string" required:"true"` + + // Specifies details about the repository, including the URL where the repository + // is located, the default branch, and credentials to use to access the repository. + // + // GitConfig is a required field + GitConfig *GitConfig `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateCodeRepositoryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCodeRepositoryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCodeRepositoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCodeRepositoryInput"} + if s.CodeRepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("CodeRepositoryName")) + } + if s.CodeRepositoryName != nil && len(*s.CodeRepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CodeRepositoryName", 1)) + } + if s.GitConfig == nil { + invalidParams.Add(request.NewErrParamRequired("GitConfig")) + } + if s.GitConfig != nil { + if err := s.GitConfig.Validate(); err != nil { + invalidParams.AddNested("GitConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodeRepositoryName sets the CodeRepositoryName field's value. +func (s *CreateCodeRepositoryInput) SetCodeRepositoryName(v string) *CreateCodeRepositoryInput { + s.CodeRepositoryName = &v + return s +} + +// SetGitConfig sets the GitConfig field's value. +func (s *CreateCodeRepositoryInput) SetGitConfig(v *GitConfig) *CreateCodeRepositoryInput { + s.GitConfig = v + return s +} + +type CreateCodeRepositoryOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the new repository. + // + // CodeRepositoryArn is a required field + CodeRepositoryArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateCodeRepositoryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCodeRepositoryOutput) GoString() string { + return s.String() +} + +// SetCodeRepositoryArn sets the CodeRepositoryArn field's value. +func (s *CreateCodeRepositoryOutput) SetCodeRepositoryArn(v string) *CreateCodeRepositoryOutput { + s.CodeRepositoryArn = &v + return s +} + +type CreateCompilationJobInput struct { + _ struct{} `type:"structure"` + + // A name for the model compilation job. The name must be unique within the + // AWS Region and within your AWS account. + // + // CompilationJobName is a required field + CompilationJobName *string `min:"1" type:"string" required:"true"` + + // Provides information about the location of input model artifacts, the name + // and shape of the expected data inputs, and the framework in which the model + // was trained. + // + // InputConfig is a required field + InputConfig *InputConfig `type:"structure" required:"true"` + + // Provides information about the output location for the compiled model and + // the target device the model runs on. + // + // OutputConfig is a required field + OutputConfig *OutputConfig `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of an IIAMAM role that enables Amazon SageMaker + // to perform tasks on your behalf. + // + // During model compilation, Amazon SageMaker needs your permission to: + // + // * Read input data from an S3 bucket + // + // * Write model artifacts to an S3 bucket + // + // * Write logs to Amazon CloudWatch Logs + // + // * Publish metrics to Amazon CloudWatch + // + // You grant permissions for all of these tasks to an IAM role. To pass this + // role to Amazon SageMaker, the caller of this API must have the iam:PassRole + // permission. For more information, see Amazon SageMaker Roles. (https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // The duration allowed for model compilation. + // + // StoppingCondition is a required field + StoppingCondition *StoppingCondition `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateCompilationJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCompilationJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCompilationJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCompilationJobInput"} + if s.CompilationJobName == nil { + invalidParams.Add(request.NewErrParamRequired("CompilationJobName")) + } + if s.CompilationJobName != nil && len(*s.CompilationJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CompilationJobName", 1)) + } + if s.InputConfig == nil { + invalidParams.Add(request.NewErrParamRequired("InputConfig")) + } + if s.OutputConfig == nil { + invalidParams.Add(request.NewErrParamRequired("OutputConfig")) + } + 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.StoppingCondition == nil { + invalidParams.Add(request.NewErrParamRequired("StoppingCondition")) + } + if s.InputConfig != nil { + if err := s.InputConfig.Validate(); err != nil { + invalidParams.AddNested("InputConfig", err.(request.ErrInvalidParams)) + } + } + if s.OutputConfig != nil { + if err := s.OutputConfig.Validate(); err != nil { + invalidParams.AddNested("OutputConfig", err.(request.ErrInvalidParams)) + } + } + if s.StoppingCondition != nil { + if err := s.StoppingCondition.Validate(); err != nil { + invalidParams.AddNested("StoppingCondition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCompilationJobName sets the CompilationJobName field's value. +func (s *CreateCompilationJobInput) SetCompilationJobName(v string) *CreateCompilationJobInput { + s.CompilationJobName = &v + return s +} + +// SetInputConfig sets the InputConfig field's value. +func (s *CreateCompilationJobInput) SetInputConfig(v *InputConfig) *CreateCompilationJobInput { + s.InputConfig = v + return s +} + +// SetOutputConfig sets the OutputConfig field's value. +func (s *CreateCompilationJobInput) SetOutputConfig(v *OutputConfig) *CreateCompilationJobInput { + s.OutputConfig = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateCompilationJobInput) SetRoleArn(v string) *CreateCompilationJobInput { + s.RoleArn = &v + return s +} + +// SetStoppingCondition sets the StoppingCondition field's value. +func (s *CreateCompilationJobInput) SetStoppingCondition(v *StoppingCondition) *CreateCompilationJobInput { + s.StoppingCondition = v + return s +} + +type CreateCompilationJobOutput struct { + _ struct{} `type:"structure"` + + // If the action is successful, the service sends back an HTTP 200 response. + // Amazon SageMaker returns the following data in JSON format: + // + // * CompilationJobArn: The Amazon Resource Name (ARN) of the compiled job. + // + // CompilationJobArn is a required field + CompilationJobArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateCompilationJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCompilationJobOutput) GoString() string { + return s.String() +} + +// SetCompilationJobArn sets the CompilationJobArn field's value. +func (s *CreateCompilationJobOutput) SetCompilationJobArn(v string) *CreateCompilationJobOutput { + s.CompilationJobArn = &v + return s +} + +type CreateEndpointConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the endpoint configuration. You specify this name in a CreateEndpoint + // (http://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpoint.html) + // request. + // + // EndpointConfigName is a required field + EndpointConfigName *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon + // SageMaker uses to encrypt data on the storage volume attached to the ML compute + // instance that hosts the endpoint. + KmsKeyId *string `type:"string"` + + // An array of ProductionVariant objects, one for each model that you want to + // host at this endpoint. + // + // ProductionVariants is a required field + ProductionVariants []*ProductionVariant `min:"1" type:"list" required:"true"` + + // An array of key-value pairs. For more information, see Using Cost Allocation + // Tags (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) + // in the AWS Billing and Cost Management User Guide. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateEndpointConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEndpointConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEndpointConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEndpointConfigInput"} + if s.EndpointConfigName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointConfigName")) + } + if s.ProductionVariants == nil { + invalidParams.Add(request.NewErrParamRequired("ProductionVariants")) + } + if s.ProductionVariants != nil && len(s.ProductionVariants) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProductionVariants", 1)) + } + if s.ProductionVariants != nil { + for i, v := range s.ProductionVariants { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProductionVariants", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointConfigName sets the EndpointConfigName field's value. +func (s *CreateEndpointConfigInput) SetEndpointConfigName(v string) *CreateEndpointConfigInput { + s.EndpointConfigName = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateEndpointConfigInput) SetKmsKeyId(v string) *CreateEndpointConfigInput { + s.KmsKeyId = &v + return s +} + +// SetProductionVariants sets the ProductionVariants field's value. +func (s *CreateEndpointConfigInput) SetProductionVariants(v []*ProductionVariant) *CreateEndpointConfigInput { + s.ProductionVariants = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateEndpointConfigInput) SetTags(v []*Tag) *CreateEndpointConfigInput { + s.Tags = v + return s +} + +type CreateEndpointConfigOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the endpoint configuration. + // + // EndpointConfigArn is a required field + EndpointConfigArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateEndpointConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEndpointConfigOutput) GoString() string { + return s.String() +} + +// SetEndpointConfigArn sets the EndpointConfigArn field's value. +func (s *CreateEndpointConfigOutput) SetEndpointConfigArn(v string) *CreateEndpointConfigOutput { + s.EndpointConfigArn = &v + return s +} + +type CreateEndpointInput struct { + _ struct{} `type:"structure"` + + // The name of an endpoint configuration. For more information, see CreateEndpointConfig + // (http://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html). + // + // EndpointConfigName is a required field + EndpointConfigName *string `type:"string" required:"true"` + + // The name of the endpoint. The name must be unique within an AWS Region in + // your AWS account. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` + + // An array of key-value pairs. For more information, see Using Cost Allocation + // Tags (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what)in + // the AWS Billing and Cost Management User Guide. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEndpointInput"} + if s.EndpointConfigName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointConfigName")) + } + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) + } + 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 +} + +// SetEndpointConfigName sets the EndpointConfigName field's value. +func (s *CreateEndpointInput) SetEndpointConfigName(v string) *CreateEndpointInput { + s.EndpointConfigName = &v + return s +} + +// SetEndpointName sets the EndpointName field's value. +func (s *CreateEndpointInput) SetEndpointName(v string) *CreateEndpointInput { + s.EndpointName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateEndpointInput) SetTags(v []*Tag) *CreateEndpointInput { + s.Tags = v + return s +} + +type CreateEndpointOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the endpoint. + // + // EndpointArn is a required field + EndpointArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEndpointOutput) GoString() string { + return s.String() +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *CreateEndpointOutput) SetEndpointArn(v string) *CreateEndpointOutput { + s.EndpointArn = &v + return s +} + +type CreateHyperParameterTuningJobInput struct { + _ struct{} `type:"structure"` + + // The HyperParameterTuningJobConfig object that describes the tuning job, including + // the search strategy, the objective metric used to evaluate training jobs, + // ranges of parameters to search, and resource limits for the tuning job. For + // more information, see automatic-model-tuning + // + // HyperParameterTuningJobConfig is a required field + HyperParameterTuningJobConfig *HyperParameterTuningJobConfig `type:"structure" required:"true"` + + // The name of the tuning job. This name is the prefix for the names of all + // training jobs that this tuning job launches. The name must be unique within + // the same AWS account and AWS Region. The name must have { } to { } characters. + // Valid characters are a-z, A-Z, 0-9, and : + = @ _ % - (hyphen). The name + // is not case sensitive. + // + // HyperParameterTuningJobName is a required field + HyperParameterTuningJobName *string `min:"1" type:"string" required:"true"` + + // An array of key-value pairs. You can use tags to categorize your AWS resources + // in different ways, for example, by purpose, owner, or environment. For more + // information, see AWS Tagging Strategies (https://aws.amazon.com/answers/account-management/aws-tagging-strategies/). + // + // Tags that you specify for the tuning job are also added to all training jobs + // that the tuning job launches. + Tags []*Tag `type:"list"` + + // The HyperParameterTrainingJobDefinition object that describes the training + // jobs that this tuning job launches, including static hyperparameters, input + // data configuration, output data configuration, resource configuration, and + // stopping condition. + // + // TrainingJobDefinition is a required field + TrainingJobDefinition *HyperParameterTrainingJobDefinition `type:"structure" required:"true"` + + // Specifies the configuration for starting the hyperparameter tuning job using + // one or more previous tuning jobs as a starting point. The results of previous + // tuning jobs are used to inform which combinations of hyperparameters to search + // over in the new tuning job. + // + // All training jobs launched by the new hyperparameter tuning job are evaluated + // by using the objective metric. If you specify IDENTICAL_DATA_AND_ALGORITHM + // as the WarmStartType value for the warm start configuration, the training + // job that performs the best in the new tuning job is compared to the best + // training jobs from the parent tuning jobs. From these, the training job that + // performs the best as measured by the objective metric is returned as the + // overall best training job. + // + // All training jobs launched by parent hyperparameter tuning jobs and the new + // hyperparameter tuning jobs count against the limit of training jobs for the + // tuning job. + WarmStartConfig *HyperParameterTuningJobWarmStartConfig `type:"structure"` +} + +// String returns the string representation +func (s CreateHyperParameterTuningJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateHyperParameterTuningJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateHyperParameterTuningJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateHyperParameterTuningJobInput"} + if s.HyperParameterTuningJobConfig == nil { + invalidParams.Add(request.NewErrParamRequired("HyperParameterTuningJobConfig")) + } + if s.HyperParameterTuningJobName == nil { + invalidParams.Add(request.NewErrParamRequired("HyperParameterTuningJobName")) + } + if s.HyperParameterTuningJobName != nil && len(*s.HyperParameterTuningJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HyperParameterTuningJobName", 1)) + } + if s.TrainingJobDefinition == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingJobDefinition")) + } + if s.HyperParameterTuningJobConfig != nil { + if err := s.HyperParameterTuningJobConfig.Validate(); err != nil { + invalidParams.AddNested("HyperParameterTuningJobConfig", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TrainingJobDefinition != nil { + if err := s.TrainingJobDefinition.Validate(); err != nil { + invalidParams.AddNested("TrainingJobDefinition", err.(request.ErrInvalidParams)) + } + } + if s.WarmStartConfig != nil { + if err := s.WarmStartConfig.Validate(); err != nil { + invalidParams.AddNested("WarmStartConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHyperParameterTuningJobConfig sets the HyperParameterTuningJobConfig field's value. +func (s *CreateHyperParameterTuningJobInput) SetHyperParameterTuningJobConfig(v *HyperParameterTuningJobConfig) *CreateHyperParameterTuningJobInput { + s.HyperParameterTuningJobConfig = v + return s +} + +// SetHyperParameterTuningJobName sets the HyperParameterTuningJobName field's value. +func (s *CreateHyperParameterTuningJobInput) SetHyperParameterTuningJobName(v string) *CreateHyperParameterTuningJobInput { + s.HyperParameterTuningJobName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateHyperParameterTuningJobInput) SetTags(v []*Tag) *CreateHyperParameterTuningJobInput { + s.Tags = v + return s +} + +// SetTrainingJobDefinition sets the TrainingJobDefinition field's value. +func (s *CreateHyperParameterTuningJobInput) SetTrainingJobDefinition(v *HyperParameterTrainingJobDefinition) *CreateHyperParameterTuningJobInput { + s.TrainingJobDefinition = v + return s +} + +// SetWarmStartConfig sets the WarmStartConfig field's value. +func (s *CreateHyperParameterTuningJobInput) SetWarmStartConfig(v *HyperParameterTuningJobWarmStartConfig) *CreateHyperParameterTuningJobInput { + s.WarmStartConfig = v + return s +} + +type CreateHyperParameterTuningJobOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the tuning job. Amazon SageMaker assigns + // an ARN to a hyperparameter tuning job when you create it. + // + // HyperParameterTuningJobArn is a required field + HyperParameterTuningJobArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateHyperParameterTuningJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateHyperParameterTuningJobOutput) GoString() string { + return s.String() +} + +// SetHyperParameterTuningJobArn sets the HyperParameterTuningJobArn field's value. +func (s *CreateHyperParameterTuningJobOutput) SetHyperParameterTuningJobArn(v string) *CreateHyperParameterTuningJobOutput { + s.HyperParameterTuningJobArn = &v + return s +} + +type CreateLabelingJobInput struct { + _ struct{} `type:"structure"` + + // Configures the information required for human workers to complete a labeling + // task. + // + // HumanTaskConfig is a required field + HumanTaskConfig *HumanTaskConfig `type:"structure" required:"true"` + + // Input data for the labeling job, such as the Amazon S3 location of the data + // objects and the location of the manifest file that describes the data objects. + // + // InputConfig is a required field + InputConfig *LabelingJobInputConfig `type:"structure" required:"true"` + + // The attribute name to use for the label in the output manifest file. This + // is the key for the key/value pair formed with the label that a worker assigns + // to the object. The name can't end with "-metadata". If you are running a + // semantic segmentation labeling job, the attribute name must end with "-ref". + // If you are running any other kind of labeling job, the attribute name must + // not end with "-ref". + // + // LabelAttributeName is a required field + LabelAttributeName *string `min:"1" type:"string" required:"true"` + + // The S3 URL of the file that defines the categories used to label the data + // objects. + // + // The file is a JSON structure in the following format: + // + // { + // + // "document-version": "2018-11-28" + // + // "labels": [ + // + // { + // + // "label": "label 1" + // + // }, + // + // { + // + // "label": "label 2" + // + // }, + // + // ... + // + // { + // + // "label": "label n" + // + // } + // + // ] + // + // } + LabelCategoryConfigS3Uri *string `type:"string"` + + // Configures the information required to perform automated data labeling. + LabelingJobAlgorithmsConfig *LabelingJobAlgorithmsConfig `type:"structure"` + + // The name of the labeling job. This name is used to identify the job in a + // list of labeling jobs. + // + // LabelingJobName is a required field + LabelingJobName *string `min:"1" type:"string" required:"true"` + + // The location of the output data and the AWS Key Management Service key ID + // for the key used to encrypt the output data, if any. + // + // OutputConfig is a required field + OutputConfig *LabelingJobOutputConfig `type:"structure" required:"true"` + + // The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform + // tasks on your behalf during data labeling. You must grant this role the necessary + // permissions so that Amazon SageMaker can successfully complete data labeling. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // A set of conditions for stopping the labeling job. If any of the conditions + // are met, the job is automatically stopped. You can use these conditions to + // control the cost of data labeling. + StoppingConditions *LabelingJobStoppingConditions `type:"structure"` + + // An array of key/value pairs. For more information, see Using Cost Allocation + // Tags (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) + // in the AWS Billing and Cost Management User Guide. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateLabelingJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLabelingJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLabelingJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLabelingJobInput"} + if s.HumanTaskConfig == nil { + invalidParams.Add(request.NewErrParamRequired("HumanTaskConfig")) + } + if s.InputConfig == nil { + invalidParams.Add(request.NewErrParamRequired("InputConfig")) + } + if s.LabelAttributeName == nil { + invalidParams.Add(request.NewErrParamRequired("LabelAttributeName")) + } + if s.LabelAttributeName != nil && len(*s.LabelAttributeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LabelAttributeName", 1)) + } + if s.LabelingJobName == nil { + invalidParams.Add(request.NewErrParamRequired("LabelingJobName")) + } + if s.LabelingJobName != nil && len(*s.LabelingJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LabelingJobName", 1)) + } + if s.OutputConfig == nil { + invalidParams.Add(request.NewErrParamRequired("OutputConfig")) + } + 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.HumanTaskConfig != nil { + if err := s.HumanTaskConfig.Validate(); err != nil { + invalidParams.AddNested("HumanTaskConfig", err.(request.ErrInvalidParams)) + } + } + if s.InputConfig != nil { + if err := s.InputConfig.Validate(); err != nil { + invalidParams.AddNested("InputConfig", err.(request.ErrInvalidParams)) + } + } + if s.LabelingJobAlgorithmsConfig != nil { + if err := s.LabelingJobAlgorithmsConfig.Validate(); err != nil { + invalidParams.AddNested("LabelingJobAlgorithmsConfig", err.(request.ErrInvalidParams)) + } + } + if s.OutputConfig != nil { + if err := s.OutputConfig.Validate(); err != nil { + invalidParams.AddNested("OutputConfig", err.(request.ErrInvalidParams)) + } + } + if s.StoppingConditions != nil { + if err := s.StoppingConditions.Validate(); err != nil { + invalidParams.AddNested("StoppingConditions", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHumanTaskConfig sets the HumanTaskConfig field's value. +func (s *CreateLabelingJobInput) SetHumanTaskConfig(v *HumanTaskConfig) *CreateLabelingJobInput { + s.HumanTaskConfig = v + return s +} + +// SetInputConfig sets the InputConfig field's value. +func (s *CreateLabelingJobInput) SetInputConfig(v *LabelingJobInputConfig) *CreateLabelingJobInput { + s.InputConfig = v + return s +} + +// SetLabelAttributeName sets the LabelAttributeName field's value. +func (s *CreateLabelingJobInput) SetLabelAttributeName(v string) *CreateLabelingJobInput { + s.LabelAttributeName = &v + return s +} + +// SetLabelCategoryConfigS3Uri sets the LabelCategoryConfigS3Uri field's value. +func (s *CreateLabelingJobInput) SetLabelCategoryConfigS3Uri(v string) *CreateLabelingJobInput { + s.LabelCategoryConfigS3Uri = &v + return s +} + +// SetLabelingJobAlgorithmsConfig sets the LabelingJobAlgorithmsConfig field's value. +func (s *CreateLabelingJobInput) SetLabelingJobAlgorithmsConfig(v *LabelingJobAlgorithmsConfig) *CreateLabelingJobInput { + s.LabelingJobAlgorithmsConfig = v + return s +} + +// SetLabelingJobName sets the LabelingJobName field's value. +func (s *CreateLabelingJobInput) SetLabelingJobName(v string) *CreateLabelingJobInput { + s.LabelingJobName = &v + return s +} + +// SetOutputConfig sets the OutputConfig field's value. +func (s *CreateLabelingJobInput) SetOutputConfig(v *LabelingJobOutputConfig) *CreateLabelingJobInput { + s.OutputConfig = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateLabelingJobInput) SetRoleArn(v string) *CreateLabelingJobInput { + s.RoleArn = &v + return s +} + +// SetStoppingConditions sets the StoppingConditions field's value. +func (s *CreateLabelingJobInput) SetStoppingConditions(v *LabelingJobStoppingConditions) *CreateLabelingJobInput { + s.StoppingConditions = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateLabelingJobInput) SetTags(v []*Tag) *CreateLabelingJobInput { + s.Tags = v + return s +} + +type CreateLabelingJobOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the labeling job. You use this ARN to identify + // the labeling job. + // + // LabelingJobArn is a required field + LabelingJobArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateLabelingJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLabelingJobOutput) GoString() string { + return s.String() +} + +// SetLabelingJobArn sets the LabelingJobArn field's value. +func (s *CreateLabelingJobOutput) SetLabelingJobArn(v string) *CreateLabelingJobOutput { + s.LabelingJobArn = &v + return s +} + +type CreateModelInput struct { + _ struct{} `type:"structure"` + + // Specifies the containers in the inference pipeline. + Containers []*ContainerDefinition `type:"list"` + + // Isolates the model container. No inbound or outbound network calls can be + // made to or from the model container. + // + // The Semantic Segmentation built-in algorithm does not support network isolation. + EnableNetworkIsolation *bool `type:"boolean"` + + // The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can + // assume to access model artifacts and docker image for deployment on ML compute + // instances or for batch transform jobs. Deploying on ML compute instances + // is part of model hosting. For more information, see Amazon SageMaker Roles + // (http://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html). + // + // To be able to pass this role to Amazon SageMaker, the caller of this API + // must have the iam:PassRole permission. + // + // ExecutionRoleArn is a required field + ExecutionRoleArn *string `min:"20" type:"string" required:"true"` + + // The name of the new model. + // + // ModelName is a required field + ModelName *string `type:"string" required:"true"` + + // The location of the primary docker image containing inference code, associated + // artifacts, and custom environment map that the inference code uses when the + // model is deployed for predictions. + PrimaryContainer *ContainerDefinition `type:"structure"` + + // An array of key-value pairs. For more information, see Using Cost Allocation + // Tags (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) + // in the AWS Billing and Cost Management User Guide. + Tags []*Tag `type:"list"` + + // A VpcConfig object that specifies the VPC that you want your model to connect + // to. Control access to and from your model container by configuring the VPC. + // VpcConfig is used in hosting services and in batch transform. For more information, + // see Protect Endpoints by Using an Amazon Virtual Private Cloud (http://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) + // and Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private + // Cloud (http://docs.aws.amazon.com/sagemaker/latest/dg/batch-vpc.html). + VpcConfig *VpcConfig `type:"structure"` +} + +// String returns the string representation +func (s CreateModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateModelInput"} + if s.ExecutionRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn")) + } + if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 20)) + } + if s.ModelName == nil { + invalidParams.Add(request.NewErrParamRequired("ModelName")) + } + if s.Containers != nil { + for i, v := range s.Containers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Containers", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PrimaryContainer != nil { + if err := s.PrimaryContainer.Validate(); err != nil { + invalidParams.AddNested("PrimaryContainer", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.VpcConfig != nil { + if err := s.VpcConfig.Validate(); err != nil { + invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainers sets the Containers field's value. +func (s *CreateModelInput) SetContainers(v []*ContainerDefinition) *CreateModelInput { + s.Containers = v + return s +} + +// SetEnableNetworkIsolation sets the EnableNetworkIsolation field's value. +func (s *CreateModelInput) SetEnableNetworkIsolation(v bool) *CreateModelInput { + s.EnableNetworkIsolation = &v + return s +} + +// SetExecutionRoleArn sets the ExecutionRoleArn field's value. +func (s *CreateModelInput) SetExecutionRoleArn(v string) *CreateModelInput { + s.ExecutionRoleArn = &v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *CreateModelInput) SetModelName(v string) *CreateModelInput { + s.ModelName = &v + return s +} + +// SetPrimaryContainer sets the PrimaryContainer field's value. +func (s *CreateModelInput) SetPrimaryContainer(v *ContainerDefinition) *CreateModelInput { + s.PrimaryContainer = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateModelInput) SetTags(v []*Tag) *CreateModelInput { + s.Tags = v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *CreateModelInput) SetVpcConfig(v *VpcConfig) *CreateModelInput { + s.VpcConfig = v + return s +} + +type CreateModelOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the model created in Amazon SageMaker. + // + // ModelArn is a required field + ModelArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateModelOutput) GoString() string { + return s.String() +} + +// SetModelArn sets the ModelArn field's value. +func (s *CreateModelOutput) SetModelArn(v string) *CreateModelOutput { + s.ModelArn = &v + return s +} + +type CreateModelPackageInput struct { + _ struct{} `type:"structure"` + + // Whether to certify the model package for listing on AWS Marketplace. + CertifyForMarketplace *bool `type:"boolean"` + + // Specifies details about inference jobs that can be run with models based + // on this model package, including the following: + // + // * The Amazon ECR paths of containers that contain the inference code and + // model artifacts. + // + // * The instance types that the model package supports for transform jobs + // and real-time endpoints used for inference. + // + // * The input and output content formats that the model package supports + // for inference. + InferenceSpecification *InferenceSpecification `type:"structure"` + + // A description of the model package. + ModelPackageDescription *string `type:"string"` + + // The name of the model package. The name must have 1 to 63 characters. Valid + // characters are a-z, A-Z, 0-9, and - (hyphen). + // + // ModelPackageName is a required field + ModelPackageName *string `min:"1" type:"string" required:"true"` + + // Details about the algorithm that was used to create the model package. + SourceAlgorithmSpecification *SourceAlgorithmSpecification `type:"structure"` + + // Specifies configurations for one or more transform jobs that Amazon SageMaker + // runs to test the model package. + ValidationSpecification *ModelPackageValidationSpecification `type:"structure"` +} + +// String returns the string representation +func (s CreateModelPackageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateModelPackageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateModelPackageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateModelPackageInput"} + if s.ModelPackageName == nil { + invalidParams.Add(request.NewErrParamRequired("ModelPackageName")) + } + if s.ModelPackageName != nil && len(*s.ModelPackageName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelPackageName", 1)) + } + if s.InferenceSpecification != nil { + if err := s.InferenceSpecification.Validate(); err != nil { + invalidParams.AddNested("InferenceSpecification", err.(request.ErrInvalidParams)) + } + } + if s.SourceAlgorithmSpecification != nil { + if err := s.SourceAlgorithmSpecification.Validate(); err != nil { + invalidParams.AddNested("SourceAlgorithmSpecification", err.(request.ErrInvalidParams)) + } + } + if s.ValidationSpecification != nil { + if err := s.ValidationSpecification.Validate(); err != nil { + invalidParams.AddNested("ValidationSpecification", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertifyForMarketplace sets the CertifyForMarketplace field's value. +func (s *CreateModelPackageInput) SetCertifyForMarketplace(v bool) *CreateModelPackageInput { + s.CertifyForMarketplace = &v + return s +} + +// SetInferenceSpecification sets the InferenceSpecification field's value. +func (s *CreateModelPackageInput) SetInferenceSpecification(v *InferenceSpecification) *CreateModelPackageInput { + s.InferenceSpecification = v + return s +} + +// SetModelPackageDescription sets the ModelPackageDescription field's value. +func (s *CreateModelPackageInput) SetModelPackageDescription(v string) *CreateModelPackageInput { + s.ModelPackageDescription = &v + return s +} + +// SetModelPackageName sets the ModelPackageName field's value. +func (s *CreateModelPackageInput) SetModelPackageName(v string) *CreateModelPackageInput { + s.ModelPackageName = &v + return s +} + +// SetSourceAlgorithmSpecification sets the SourceAlgorithmSpecification field's value. +func (s *CreateModelPackageInput) SetSourceAlgorithmSpecification(v *SourceAlgorithmSpecification) *CreateModelPackageInput { + s.SourceAlgorithmSpecification = v + return s +} + +// SetValidationSpecification sets the ValidationSpecification field's value. +func (s *CreateModelPackageInput) SetValidationSpecification(v *ModelPackageValidationSpecification) *CreateModelPackageInput { + s.ValidationSpecification = v + return s +} + +type CreateModelPackageOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the new model package. + // + // ModelPackageArn is a required field + ModelPackageArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateModelPackageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateModelPackageOutput) GoString() string { + return s.String() +} + +// SetModelPackageArn sets the ModelPackageArn field's value. +func (s *CreateModelPackageOutput) SetModelPackageArn(v string) *CreateModelPackageOutput { + s.ModelPackageArn = &v + return s +} + +type CreateNotebookInstanceInput struct { + _ struct{} `type:"structure"` + + // A list of Elastic Inference (EI) instance types to associate with this notebook + // instance. Currently, only one instance type can be associated with a notebook + // instance. For more information, see Using Elastic Inference in Amazon SageMaker + // (http://docs.aws.amazon.com/sagemaker/latest/dg/ei.html). + AcceleratorTypes []*string `type:"list"` + + // An array of up to three Git repositories to associate with the notebook instance. + // These can be either the names of Git repositories stored as resources in + // your account, or the URL of Git repositories in AWS CodeCommit (http://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) + // or in any other Git repository. These repositories are cloned at the same + // level as the default repository of your notebook instance. For more information, + // see Associating Git Repositories with Amazon SageMaker Notebook Instances + // (http://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html). + AdditionalCodeRepositories []*string `type:"list"` + + // A Git repository to associate with the notebook instance as its default code + // repository. This can be either the name of a Git repository stored as a resource + // in your account, or the URL of a Git repository in AWS CodeCommit (http://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) + // or in any other Git repository. When you open a notebook instance, it opens + // in the directory that contains this repository. For more information, see + // Associating Git Repositories with Amazon SageMaker Notebook Instances (http://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html). + DefaultCodeRepository *string `min:"1" type:"string"` + + // Sets whether Amazon SageMaker provides internet access to the notebook instance. + // If you set this to Disabled this notebook instance will be able to access + // resources only in your VPC, and will not be able to connect to Amazon SageMaker + // training and endpoint services unless your configure a NAT Gateway in your + // VPC. + // + // For more information, see Notebook Instances Are Internet-Enabled by Default + // (http://docs.aws.amazon.com/sagemaker/latest/dg/appendix-additional-considerations.html#appendix-notebook-and-internet-access). + // You can set the value of this parameter to Disabled only if you set a value + // for the SubnetId parameter. + DirectInternetAccess *string `type:"string" enum:"DirectInternetAccess"` + + // The type of ML compute instance to launch for the notebook instance. + // + // InstanceType is a required field + InstanceType *string `type:"string" required:"true" enum:"InstanceType"` + + // If you provide a AWS KMS key ID, Amazon SageMaker uses it to encrypt data + // at rest on the ML storage volume that is attached to your notebook instance. + // The KMS key you provide must be enabled. For information, see Enabling and + // Disabling Keys (http://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) + // in the AWS Key Management Service Developer Guide. + KmsKeyId *string `type:"string"` + + // The name of a lifecycle configuration to associate with the notebook instance. + // For information about lifestyle configurations, see Step 2.1: (Optional) + // Customize a Notebook Instance (http://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html). + LifecycleConfigName *string `type:"string"` + + // The name of the new notebook instance. + // + // NotebookInstanceName is a required field + NotebookInstanceName *string `type:"string" required:"true"` + + // When you send any requests to AWS resources from the notebook instance, Amazon + // SageMaker assumes this role to perform tasks on your behalf. You must grant + // this role necessary permissions so Amazon SageMaker can perform these tasks. + // The policy must allow the Amazon SageMaker service principal (sagemaker.amazonaws.com) + // permissions to assume this role. For more information, see Amazon SageMaker + // Roles (http://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html). + // + // To be able to pass this role to Amazon SageMaker, the caller of this API + // must have the iam:PassRole permission. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // The VPC security group IDs, in the form sg-xxxxxxxx. The security groups + // must be for the same VPC as specified in the subnet. + SecurityGroupIds []*string `type:"list"` + + // The ID of the subnet in a VPC to which you would like to have a connectivity + // from your ML compute instance. + SubnetId *string `type:"string"` + + // A list of tags to associate with the notebook instance. You can add tags + // later by using the CreateTags API. + Tags []*Tag `type:"list"` + + // The size, in GB, of the ML storage volume to attach to the notebook instance. + // The default value is 5 GB. + VolumeSizeInGB *int64 `min:"5" type:"integer"` +} + +// String returns the string representation +func (s CreateNotebookInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateNotebookInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateNotebookInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateNotebookInstanceInput"} + if s.DefaultCodeRepository != nil && len(*s.DefaultCodeRepository) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DefaultCodeRepository", 1)) + } + if s.InstanceType == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceType")) + } + if s.NotebookInstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("NotebookInstanceName")) + } + 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.VolumeSizeInGB != nil && *s.VolumeSizeInGB < 5 { + invalidParams.Add(request.NewErrParamMinValue("VolumeSizeInGB", 5)) + } + 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 +} + +// SetAcceleratorTypes sets the AcceleratorTypes field's value. +func (s *CreateNotebookInstanceInput) SetAcceleratorTypes(v []*string) *CreateNotebookInstanceInput { + s.AcceleratorTypes = v + return s +} + +// SetAdditionalCodeRepositories sets the AdditionalCodeRepositories field's value. +func (s *CreateNotebookInstanceInput) SetAdditionalCodeRepositories(v []*string) *CreateNotebookInstanceInput { + s.AdditionalCodeRepositories = v + return s +} + +// SetDefaultCodeRepository sets the DefaultCodeRepository field's value. +func (s *CreateNotebookInstanceInput) SetDefaultCodeRepository(v string) *CreateNotebookInstanceInput { + s.DefaultCodeRepository = &v + return s +} + +// SetDirectInternetAccess sets the DirectInternetAccess field's value. +func (s *CreateNotebookInstanceInput) SetDirectInternetAccess(v string) *CreateNotebookInstanceInput { + s.DirectInternetAccess = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *CreateNotebookInstanceInput) SetInstanceType(v string) *CreateNotebookInstanceInput { + s.InstanceType = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateNotebookInstanceInput) SetKmsKeyId(v string) *CreateNotebookInstanceInput { + s.KmsKeyId = &v + return s +} + +// SetLifecycleConfigName sets the LifecycleConfigName field's value. +func (s *CreateNotebookInstanceInput) SetLifecycleConfigName(v string) *CreateNotebookInstanceInput { + s.LifecycleConfigName = &v + return s +} + +// SetNotebookInstanceName sets the NotebookInstanceName field's value. +func (s *CreateNotebookInstanceInput) SetNotebookInstanceName(v string) *CreateNotebookInstanceInput { + s.NotebookInstanceName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateNotebookInstanceInput) SetRoleArn(v string) *CreateNotebookInstanceInput { + s.RoleArn = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateNotebookInstanceInput) SetSecurityGroupIds(v []*string) *CreateNotebookInstanceInput { + s.SecurityGroupIds = v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *CreateNotebookInstanceInput) SetSubnetId(v string) *CreateNotebookInstanceInput { + s.SubnetId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateNotebookInstanceInput) SetTags(v []*Tag) *CreateNotebookInstanceInput { + s.Tags = v + return s +} + +// SetVolumeSizeInGB sets the VolumeSizeInGB field's value. +func (s *CreateNotebookInstanceInput) SetVolumeSizeInGB(v int64) *CreateNotebookInstanceInput { + s.VolumeSizeInGB = &v + return s +} + +type CreateNotebookInstanceLifecycleConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the lifecycle configuration. + // + // NotebookInstanceLifecycleConfigName is a required field + NotebookInstanceLifecycleConfigName *string `type:"string" required:"true"` + + // A shell script that runs only once, when you create a notebook instance. + // The shell script must be a base64-encoded string. + OnCreate []*NotebookInstanceLifecycleHook `type:"list"` + + // A shell script that runs every time you start a notebook instance, including + // when you create the notebook instance. The shell script must be a base64-encoded + // string. + OnStart []*NotebookInstanceLifecycleHook `type:"list"` +} + +// String returns the string representation +func (s CreateNotebookInstanceLifecycleConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateNotebookInstanceLifecycleConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateNotebookInstanceLifecycleConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateNotebookInstanceLifecycleConfigInput"} + if s.NotebookInstanceLifecycleConfigName == nil { + invalidParams.Add(request.NewErrParamRequired("NotebookInstanceLifecycleConfigName")) + } + if s.OnCreate != nil { + for i, v := range s.OnCreate { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OnCreate", i), err.(request.ErrInvalidParams)) + } + } + } + if s.OnStart != nil { + for i, v := range s.OnStart { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OnStart", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNotebookInstanceLifecycleConfigName sets the NotebookInstanceLifecycleConfigName field's value. +func (s *CreateNotebookInstanceLifecycleConfigInput) SetNotebookInstanceLifecycleConfigName(v string) *CreateNotebookInstanceLifecycleConfigInput { + s.NotebookInstanceLifecycleConfigName = &v + return s +} + +// SetOnCreate sets the OnCreate field's value. +func (s *CreateNotebookInstanceLifecycleConfigInput) SetOnCreate(v []*NotebookInstanceLifecycleHook) *CreateNotebookInstanceLifecycleConfigInput { + s.OnCreate = v + return s +} + +// SetOnStart sets the OnStart field's value. +func (s *CreateNotebookInstanceLifecycleConfigInput) SetOnStart(v []*NotebookInstanceLifecycleHook) *CreateNotebookInstanceLifecycleConfigInput { + s.OnStart = v + return s +} + +type CreateNotebookInstanceLifecycleConfigOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the lifecycle configuration. + NotebookInstanceLifecycleConfigArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateNotebookInstanceLifecycleConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateNotebookInstanceLifecycleConfigOutput) GoString() string { + return s.String() +} + +// SetNotebookInstanceLifecycleConfigArn sets the NotebookInstanceLifecycleConfigArn field's value. +func (s *CreateNotebookInstanceLifecycleConfigOutput) SetNotebookInstanceLifecycleConfigArn(v string) *CreateNotebookInstanceLifecycleConfigOutput { + s.NotebookInstanceLifecycleConfigArn = &v + return s +} + +type CreateNotebookInstanceOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the notebook instance. + NotebookInstanceArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateNotebookInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateNotebookInstanceOutput) GoString() string { + return s.String() +} + +// SetNotebookInstanceArn sets the NotebookInstanceArn field's value. +func (s *CreateNotebookInstanceOutput) SetNotebookInstanceArn(v string) *CreateNotebookInstanceOutput { + s.NotebookInstanceArn = &v + return s +} + +type CreatePresignedNotebookInstanceUrlInput struct { + _ struct{} `type:"structure"` + + // The name of the notebook instance. + // + // NotebookInstanceName is a required field + NotebookInstanceName *string `type:"string" required:"true"` + + // The duration of the session, in seconds. The default is 12 hours. + SessionExpirationDurationInSeconds *int64 `min:"1800" type:"integer"` +} + +// String returns the string representation +func (s CreatePresignedNotebookInstanceUrlInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePresignedNotebookInstanceUrlInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePresignedNotebookInstanceUrlInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePresignedNotebookInstanceUrlInput"} + if s.NotebookInstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("NotebookInstanceName")) + } + if s.SessionExpirationDurationInSeconds != nil && *s.SessionExpirationDurationInSeconds < 1800 { + invalidParams.Add(request.NewErrParamMinValue("SessionExpirationDurationInSeconds", 1800)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNotebookInstanceName sets the NotebookInstanceName field's value. +func (s *CreatePresignedNotebookInstanceUrlInput) SetNotebookInstanceName(v string) *CreatePresignedNotebookInstanceUrlInput { + s.NotebookInstanceName = &v + return s +} + +// SetSessionExpirationDurationInSeconds sets the SessionExpirationDurationInSeconds field's value. +func (s *CreatePresignedNotebookInstanceUrlInput) SetSessionExpirationDurationInSeconds(v int64) *CreatePresignedNotebookInstanceUrlInput { + s.SessionExpirationDurationInSeconds = &v + return s +} + +type CreatePresignedNotebookInstanceUrlOutput struct { + _ struct{} `type:"structure"` + + // A JSON object that contains the URL string. + AuthorizedUrl *string `type:"string"` +} + +// String returns the string representation +func (s CreatePresignedNotebookInstanceUrlOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePresignedNotebookInstanceUrlOutput) GoString() string { + return s.String() +} + +// SetAuthorizedUrl sets the AuthorizedUrl field's value. +func (s *CreatePresignedNotebookInstanceUrlOutput) SetAuthorizedUrl(v string) *CreatePresignedNotebookInstanceUrlOutput { + s.AuthorizedUrl = &v + return s +} + +type CreateTrainingJobInput struct { + _ struct{} `type:"structure"` + + // The registry path of the Docker image that contains the training algorithm + // and algorithm-specific metadata, including the input mode. For more information + // about algorithms provided by Amazon SageMaker, see Algorithms (http://docs.aws.amazon.com/sagemaker/latest/dg/algos.html). + // For information about providing your own algorithms, see Using Your Own Algorithms + // with Amazon SageMaker (http://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html). + // + // AlgorithmSpecification is a required field + AlgorithmSpecification *AlgorithmSpecification `type:"structure" required:"true"` + + // To encrypt all communications between ML compute instances in distributed + // training, choose True,. Encryption provides greater security for distributed + // training, but training can take longer because of additional communications + // between ML compute instances. + EnableInterContainerTrafficEncryption *bool `type:"boolean"` + + // Isolates the training container. No inbound or outbound network calls can + // be made, except for calls between peers within a training cluster for distributed + // training. If you enable network isolation for training jobs that are configured + // to use a VPC, Amazon SageMaker downloads and uploads customer data and model + // artifacts through the specified VPC, but the training container does not + // have network access. + // + // The Semantic Segmentation built-in algorithm does not support network isolation. + EnableNetworkIsolation *bool `type:"boolean"` + + // Algorithm-specific parameters that influence the quality of the model. You + // set hyperparameters before you start the learning process. For a list of + // hyperparameters for each training algorithm provided by Amazon SageMaker, + // see Algorithms (http://docs.aws.amazon.com/sagemaker/latest/dg/algos.html). + // + // You can specify a maximum of 100 hyperparameters. Each hyperparameter is + // a key-value pair. Each key and value is limited to 256 characters, as specified + // by the Length Constraint. + HyperParameters map[string]*string `type:"map"` + + // An array of Channel objects. Each channel is a named input source. InputDataConfig + // describes the input data and its location. + // + // Algorithms can accept input data from one or more channels. For example, + // an algorithm might have two channels of input data, training_data and validation_data. + // The configuration for each channel provides the S3 location where the input + // data is stored. It also provides information about the stored data: the MIME + // type, compression method, and whether the data is wrapped in RecordIO format. + // + // Depending on the input mode that the algorithm supports, Amazon SageMaker + // either copies input data files from an S3 bucket to a local directory in + // the Docker container, or makes it available as input streams. + InputDataConfig []*Channel `min:"1" type:"list"` + + // Specifies the path to the S3 bucket where you want to store model artifacts. + // Amazon SageMaker creates subfolders for the artifacts. + // + // OutputDataConfig is a required field + OutputDataConfig *OutputDataConfig `type:"structure" required:"true"` + + // The resources, including the ML compute instances and ML storage volumes, + // to use for model training. + // + // ML storage volumes store model artifacts and incremental states. Training + // algorithms might also use ML storage volumes for scratch space. If you want + // Amazon SageMaker to use the ML storage volume to store the training data, + // choose File as the TrainingInputMode in the algorithm specification. For + // distributed training algorithms, specify an instance count greater than 1. + // + // ResourceConfig is a required field + ResourceConfig *ResourceConfig `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume + // to perform tasks on your behalf. + // + // During model training, Amazon SageMaker needs your permission to read input + // data from an S3 bucket, download a Docker image that contains training code, + // write model artifacts to an S3 bucket, write logs to Amazon CloudWatch Logs, + // and publish metrics to Amazon CloudWatch. You grant permissions for all of + // these tasks to an IAM role. For more information, see Amazon SageMaker Roles + // (http://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html). + // + // To be able to pass this role to Amazon SageMaker, the caller of this API + // must have the iam:PassRole permission. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // Sets a duration for training. Use this parameter to cap model training costs. + // To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which + // delays job termination for 120 seconds. Algorithms might use this 120-second + // window to save the model artifacts. + // + // When Amazon SageMaker terminates a job because the stopping condition has + // been met, training algorithms provided by Amazon SageMaker save the intermediate + // results of the job. This intermediate data is a valid model artifact. You + // can use it to create a model using the CreateModel API. + // + // StoppingCondition is a required field + StoppingCondition *StoppingCondition `type:"structure" required:"true"` + + // An array of key-value pairs. For more information, see Using Cost Allocation + // Tags (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) + // in the AWS Billing and Cost Management User Guide. + Tags []*Tag `type:"list"` + + // The name of the training job. The name must be unique within an AWS Region + // in an AWS account. + // + // TrainingJobName is a required field + TrainingJobName *string `min:"1" type:"string" required:"true"` + + // A VpcConfig object that specifies the VPC that you want your training job + // to connect to. Control access to and from your training container by configuring + // the VPC. For more information, see Protect Training Jobs by Using an Amazon + // Virtual Private Cloud (http://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html). + VpcConfig *VpcConfig `type:"structure"` +} + +// String returns the string representation +func (s CreateTrainingJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTrainingJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTrainingJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTrainingJobInput"} + if s.AlgorithmSpecification == nil { + invalidParams.Add(request.NewErrParamRequired("AlgorithmSpecification")) + } + if s.InputDataConfig != nil && len(s.InputDataConfig) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputDataConfig", 1)) + } + if s.OutputDataConfig == nil { + invalidParams.Add(request.NewErrParamRequired("OutputDataConfig")) + } + if s.ResourceConfig == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceConfig")) + } + 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.StoppingCondition == nil { + invalidParams.Add(request.NewErrParamRequired("StoppingCondition")) + } + if s.TrainingJobName == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingJobName")) + } + if s.TrainingJobName != nil && len(*s.TrainingJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TrainingJobName", 1)) + } + if s.AlgorithmSpecification != nil { + if err := s.AlgorithmSpecification.Validate(); err != nil { + invalidParams.AddNested("AlgorithmSpecification", err.(request.ErrInvalidParams)) + } + } + if s.InputDataConfig != nil { + for i, v := range s.InputDataConfig { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputDataConfig", i), err.(request.ErrInvalidParams)) + } + } + } + if s.OutputDataConfig != nil { + if err := s.OutputDataConfig.Validate(); err != nil { + invalidParams.AddNested("OutputDataConfig", err.(request.ErrInvalidParams)) + } + } + if s.ResourceConfig != nil { + if err := s.ResourceConfig.Validate(); err != nil { + invalidParams.AddNested("ResourceConfig", err.(request.ErrInvalidParams)) + } + } + if s.StoppingCondition != nil { + if err := s.StoppingCondition.Validate(); err != nil { + invalidParams.AddNested("StoppingCondition", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.VpcConfig != nil { + if err := s.VpcConfig.Validate(); err != nil { + invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlgorithmSpecification sets the AlgorithmSpecification field's value. +func (s *CreateTrainingJobInput) SetAlgorithmSpecification(v *AlgorithmSpecification) *CreateTrainingJobInput { + s.AlgorithmSpecification = v + return s +} + +// SetEnableInterContainerTrafficEncryption sets the EnableInterContainerTrafficEncryption field's value. +func (s *CreateTrainingJobInput) SetEnableInterContainerTrafficEncryption(v bool) *CreateTrainingJobInput { + s.EnableInterContainerTrafficEncryption = &v + return s +} + +// SetEnableNetworkIsolation sets the EnableNetworkIsolation field's value. +func (s *CreateTrainingJobInput) SetEnableNetworkIsolation(v bool) *CreateTrainingJobInput { + s.EnableNetworkIsolation = &v + return s +} + +// SetHyperParameters sets the HyperParameters field's value. +func (s *CreateTrainingJobInput) SetHyperParameters(v map[string]*string) *CreateTrainingJobInput { + s.HyperParameters = v + return s +} + +// SetInputDataConfig sets the InputDataConfig field's value. +func (s *CreateTrainingJobInput) SetInputDataConfig(v []*Channel) *CreateTrainingJobInput { + s.InputDataConfig = v + return s +} + +// SetOutputDataConfig sets the OutputDataConfig field's value. +func (s *CreateTrainingJobInput) SetOutputDataConfig(v *OutputDataConfig) *CreateTrainingJobInput { + s.OutputDataConfig = v + return s +} + +// SetResourceConfig sets the ResourceConfig field's value. +func (s *CreateTrainingJobInput) SetResourceConfig(v *ResourceConfig) *CreateTrainingJobInput { + s.ResourceConfig = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateTrainingJobInput) SetRoleArn(v string) *CreateTrainingJobInput { + s.RoleArn = &v + return s +} + +// SetStoppingCondition sets the StoppingCondition field's value. +func (s *CreateTrainingJobInput) SetStoppingCondition(v *StoppingCondition) *CreateTrainingJobInput { + s.StoppingCondition = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTrainingJobInput) SetTags(v []*Tag) *CreateTrainingJobInput { + s.Tags = v + return s +} + +// SetTrainingJobName sets the TrainingJobName field's value. +func (s *CreateTrainingJobInput) SetTrainingJobName(v string) *CreateTrainingJobInput { + s.TrainingJobName = &v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *CreateTrainingJobInput) SetVpcConfig(v *VpcConfig) *CreateTrainingJobInput { + s.VpcConfig = v + return s +} + +type CreateTrainingJobOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the training job. + // + // TrainingJobArn is a required field + TrainingJobArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateTrainingJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTrainingJobOutput) GoString() string { + return s.String() +} + +// SetTrainingJobArn sets the TrainingJobArn field's value. +func (s *CreateTrainingJobOutput) SetTrainingJobArn(v string) *CreateTrainingJobOutput { + s.TrainingJobArn = &v + return s +} + +type CreateTransformJobInput struct { + _ struct{} `type:"structure"` + + // Determines the number of records to include in a mini-batch. If you want + // to include only one record in a mini-batch, specify SingleRecord.. If you + // want mini-batches to contain a maximum of the number of records specified + // in the MaxPayloadInMB parameter, specify MultiRecord. + // + // If you set SplitType to Line and BatchStrategy to MultiRecord, a batch transform + // automatically splits your input data into the specified payload size. There's + // no need to split the dataset into smaller files or to use larger payload + // sizes unless the records in your dataset are very large. + BatchStrategy *string `type:"string" enum:"BatchStrategy"` + + // The environment variables to set in the Docker container. We support up to + // 16 key and values entries in the map. + Environment map[string]*string `type:"map"` + + // The maximum number of parallel requests that can be sent to an algorithm + // container on an instance. This is good for algorithms that implement multiple + // workers on larger instances . The default value is 1. To allow Amazon SageMaker + // to determine the appropriate number for MaxConcurrentTransforms, do not set + // the value in the API. + MaxConcurrentTransforms *int64 `type:"integer"` + + // The maximum payload size allowed, in MB. A payload is the data portion of + // a record (without metadata). The value in MaxPayloadInMB must be greater + // or equal to the size of a single record. You can approximate the size of + // a record by dividing the size of your dataset by the number of records. Then + // multiply this value by the number of records you want in a mini-batch. We + // recommend to enter a slightly larger value than this to ensure the records + // fit within the maximum payload size. The default value is 6 MB. + // + // For cases where the payload might be arbitrarily large and is transmitted + // using HTTP chunked encoding, set the value to 0. This feature only works + // in supported algorithms. Currently, Amazon SageMaker built-in algorithms + // do not support this feature. + MaxPayloadInMB *int64 `type:"integer"` + + // The name of the model that you want to use for the transform job. ModelName + // must be the name of an existing Amazon SageMaker model within an AWS Region + // in an AWS account. + // + // ModelName is a required field + ModelName *string `type:"string" required:"true"` + + // (Optional) An array of key-value pairs. For more information, see Using Cost + // Allocation Tags (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) + // in the AWS Billing and Cost Management User Guide. + Tags []*Tag `type:"list"` + + // Describes the input source and the way the transform job consumes it. + // + // TransformInput is a required field + TransformInput *TransformInput `type:"structure" required:"true"` + + // The name of the transform job. The name must be unique within an AWS Region + // in an AWS account. + // + // TransformJobName is a required field + TransformJobName *string `min:"1" type:"string" required:"true"` + + // Describes the results of the transform job. + // + // TransformOutput is a required field + TransformOutput *TransformOutput `type:"structure" required:"true"` + + // Describes the resources, including ML instance types and ML instance count, + // to use for the transform job. + // + // TransformResources is a required field + TransformResources *TransformResources `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateTransformJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTransformJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTransformJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTransformJobInput"} + if s.ModelName == nil { + invalidParams.Add(request.NewErrParamRequired("ModelName")) + } + if s.TransformInput == nil { + invalidParams.Add(request.NewErrParamRequired("TransformInput")) + } + if s.TransformJobName == nil { + invalidParams.Add(request.NewErrParamRequired("TransformJobName")) + } + if s.TransformJobName != nil && len(*s.TransformJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransformJobName", 1)) + } + if s.TransformOutput == nil { + invalidParams.Add(request.NewErrParamRequired("TransformOutput")) + } + if s.TransformResources == nil { + invalidParams.Add(request.NewErrParamRequired("TransformResources")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TransformInput != nil { + if err := s.TransformInput.Validate(); err != nil { + invalidParams.AddNested("TransformInput", err.(request.ErrInvalidParams)) + } + } + if s.TransformOutput != nil { + if err := s.TransformOutput.Validate(); err != nil { + invalidParams.AddNested("TransformOutput", err.(request.ErrInvalidParams)) + } + } + if s.TransformResources != nil { + if err := s.TransformResources.Validate(); err != nil { + invalidParams.AddNested("TransformResources", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBatchStrategy sets the BatchStrategy field's value. +func (s *CreateTransformJobInput) SetBatchStrategy(v string) *CreateTransformJobInput { + s.BatchStrategy = &v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *CreateTransformJobInput) SetEnvironment(v map[string]*string) *CreateTransformJobInput { + s.Environment = v + return s +} + +// SetMaxConcurrentTransforms sets the MaxConcurrentTransforms field's value. +func (s *CreateTransformJobInput) SetMaxConcurrentTransforms(v int64) *CreateTransformJobInput { + s.MaxConcurrentTransforms = &v + return s +} + +// SetMaxPayloadInMB sets the MaxPayloadInMB field's value. +func (s *CreateTransformJobInput) SetMaxPayloadInMB(v int64) *CreateTransformJobInput { + s.MaxPayloadInMB = &v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *CreateTransformJobInput) SetModelName(v string) *CreateTransformJobInput { + s.ModelName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTransformJobInput) SetTags(v []*Tag) *CreateTransformJobInput { + s.Tags = v + return s +} + +// SetTransformInput sets the TransformInput field's value. +func (s *CreateTransformJobInput) SetTransformInput(v *TransformInput) *CreateTransformJobInput { + s.TransformInput = v + return s +} + +// SetTransformJobName sets the TransformJobName field's value. +func (s *CreateTransformJobInput) SetTransformJobName(v string) *CreateTransformJobInput { + s.TransformJobName = &v + return s +} + +// SetTransformOutput sets the TransformOutput field's value. +func (s *CreateTransformJobInput) SetTransformOutput(v *TransformOutput) *CreateTransformJobInput { + s.TransformOutput = v + return s +} + +// SetTransformResources sets the TransformResources field's value. +func (s *CreateTransformJobInput) SetTransformResources(v *TransformResources) *CreateTransformJobInput { + s.TransformResources = v + return s +} + +type CreateTransformJobOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the transform job. + // + // TransformJobArn is a required field + TransformJobArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateTransformJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTransformJobOutput) GoString() string { + return s.String() +} + +// SetTransformJobArn sets the TransformJobArn field's value. +func (s *CreateTransformJobOutput) SetTransformJobArn(v string) *CreateTransformJobOutput { + s.TransformJobArn = &v + return s +} + +type CreateWorkteamInput struct { + _ struct{} `type:"structure"` + + // A description of the work team. + // + // Description is a required field + Description *string `min:"1" type:"string" required:"true"` + + // A list of MemberDefinition objects that contains objects that identify the + // Amazon Cognito user pool that makes up the work team. For more information, + // see Amazon Cognito User Pools (http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html). + // + // All of the CognitoMemberDefinition objects that make up the member definition + // must have the same ClientId and UserPool values. + // + // MemberDefinitions is a required field + MemberDefinitions []*MemberDefinition `min:"1" type:"list" required:"true"` + + Tags []*Tag `type:"list"` + + // The name of the work team. Use this name to identify the work team. + // + // WorkteamName is a required field + WorkteamName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateWorkteamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWorkteamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWorkteamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWorkteamInput"} + if s.Description == nil { + invalidParams.Add(request.NewErrParamRequired("Description")) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.MemberDefinitions == nil { + invalidParams.Add(request.NewErrParamRequired("MemberDefinitions")) + } + if s.MemberDefinitions != nil && len(s.MemberDefinitions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MemberDefinitions", 1)) + } + if s.WorkteamName == nil { + invalidParams.Add(request.NewErrParamRequired("WorkteamName")) + } + if s.WorkteamName != nil && len(*s.WorkteamName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkteamName", 1)) + } + if s.MemberDefinitions != nil { + for i, v := range s.MemberDefinitions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MemberDefinitions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateWorkteamInput) SetDescription(v string) *CreateWorkteamInput { + s.Description = &v + return s +} + +// SetMemberDefinitions sets the MemberDefinitions field's value. +func (s *CreateWorkteamInput) SetMemberDefinitions(v []*MemberDefinition) *CreateWorkteamInput { + s.MemberDefinitions = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateWorkteamInput) SetTags(v []*Tag) *CreateWorkteamInput { + s.Tags = v + return s +} + +// SetWorkteamName sets the WorkteamName field's value. +func (s *CreateWorkteamInput) SetWorkteamName(v string) *CreateWorkteamInput { + s.WorkteamName = &v + return s +} + +type CreateWorkteamOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the work team. You can use this ARN to + // identify the work team. + WorkteamArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateWorkteamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWorkteamOutput) GoString() string { + return s.String() +} + +// SetWorkteamArn sets the WorkteamArn field's value. +func (s *CreateWorkteamOutput) SetWorkteamArn(v string) *CreateWorkteamOutput { + s.WorkteamArn = &v + return s +} + +// Describes the location of the channel data. +type DataSource struct { + _ struct{} `type:"structure"` + + // The S3 location of the data source that is associated with a channel. + // + // S3DataSource is a required field + S3DataSource *S3DataSource `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSource"} + if s.S3DataSource == nil { + invalidParams.Add(request.NewErrParamRequired("S3DataSource")) + } + if s.S3DataSource != nil { + if err := s.S3DataSource.Validate(); err != nil { + invalidParams.AddNested("S3DataSource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3DataSource sets the S3DataSource field's value. +func (s *DataSource) SetS3DataSource(v *S3DataSource) *DataSource { + s.S3DataSource = v + return s +} + +type DeleteAlgorithmInput struct { + _ struct{} `type:"structure"` + + // The name of the algorithm to delete. + // + // AlgorithmName is a required field + AlgorithmName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAlgorithmInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAlgorithmInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAlgorithmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAlgorithmInput"} + if s.AlgorithmName == nil { + invalidParams.Add(request.NewErrParamRequired("AlgorithmName")) + } + if s.AlgorithmName != nil && len(*s.AlgorithmName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlgorithmName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlgorithmName sets the AlgorithmName field's value. +func (s *DeleteAlgorithmInput) SetAlgorithmName(v string) *DeleteAlgorithmInput { + s.AlgorithmName = &v + return s +} + +type DeleteAlgorithmOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteAlgorithmOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAlgorithmOutput) GoString() string { + return s.String() +} + +type DeleteCodeRepositoryInput struct { + _ struct{} `type:"structure"` + + // The name of the Git repository to delete. + // + // CodeRepositoryName is a required field + CodeRepositoryName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteCodeRepositoryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCodeRepositoryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCodeRepositoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCodeRepositoryInput"} + if s.CodeRepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("CodeRepositoryName")) + } + if s.CodeRepositoryName != nil && len(*s.CodeRepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CodeRepositoryName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodeRepositoryName sets the CodeRepositoryName field's value. +func (s *DeleteCodeRepositoryInput) SetCodeRepositoryName(v string) *DeleteCodeRepositoryInput { + s.CodeRepositoryName = &v + return s +} + +type DeleteCodeRepositoryOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteCodeRepositoryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCodeRepositoryOutput) GoString() string { + return s.String() +} + +type DeleteEndpointConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the endpoint configuration that you want to delete. + // + // EndpointConfigName is a required field + EndpointConfigName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEndpointConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEndpointConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEndpointConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointConfigInput"} + if s.EndpointConfigName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointConfigName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointConfigName sets the EndpointConfigName field's value. +func (s *DeleteEndpointConfigInput) SetEndpointConfigName(v string) *DeleteEndpointConfigInput { + s.EndpointConfigName = &v + return s +} + +type DeleteEndpointConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteEndpointConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEndpointConfigOutput) GoString() string { + return s.String() +} + +type DeleteEndpointInput struct { + _ struct{} `type:"structure"` + + // The name of the endpoint that you want to delete. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"} + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointName sets the EndpointName field's value. +func (s *DeleteEndpointInput) SetEndpointName(v string) *DeleteEndpointInput { + s.EndpointName = &v + return s +} + +type DeleteEndpointOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEndpointOutput) GoString() string { + return s.String() +} + +type DeleteModelInput struct { + _ struct{} `type:"structure"` + + // The name of the model to delete. + // + // ModelName is a required field + ModelName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteModelInput"} + if s.ModelName == nil { + invalidParams.Add(request.NewErrParamRequired("ModelName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetModelName sets the ModelName field's value. +func (s *DeleteModelInput) SetModelName(v string) *DeleteModelInput { + s.ModelName = &v + return s +} + +type DeleteModelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteModelOutput) GoString() string { + return s.String() +} + +type DeleteModelPackageInput struct { + _ struct{} `type:"structure"` + + // The name of the model package. The name must have 1 to 63 characters. Valid + // characters are a-z, A-Z, 0-9, and - (hyphen). + // + // ModelPackageName is a required field + ModelPackageName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteModelPackageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteModelPackageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteModelPackageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteModelPackageInput"} + if s.ModelPackageName == nil { + invalidParams.Add(request.NewErrParamRequired("ModelPackageName")) + } + if s.ModelPackageName != nil && len(*s.ModelPackageName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelPackageName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetModelPackageName sets the ModelPackageName field's value. +func (s *DeleteModelPackageInput) SetModelPackageName(v string) *DeleteModelPackageInput { + s.ModelPackageName = &v + return s +} + +type DeleteModelPackageOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteModelPackageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteModelPackageOutput) GoString() string { + return s.String() +} + +type DeleteNotebookInstanceInput struct { + _ struct{} `type:"structure"` + + // The name of the Amazon SageMaker notebook instance to delete. + // + // NotebookInstanceName is a required field + NotebookInstanceName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteNotebookInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteNotebookInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteNotebookInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteNotebookInstanceInput"} + if s.NotebookInstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("NotebookInstanceName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNotebookInstanceName sets the NotebookInstanceName field's value. +func (s *DeleteNotebookInstanceInput) SetNotebookInstanceName(v string) *DeleteNotebookInstanceInput { + s.NotebookInstanceName = &v + return s +} + +type DeleteNotebookInstanceLifecycleConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the lifecycle configuration to delete. + // + // NotebookInstanceLifecycleConfigName is a required field + NotebookInstanceLifecycleConfigName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteNotebookInstanceLifecycleConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteNotebookInstanceLifecycleConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteNotebookInstanceLifecycleConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteNotebookInstanceLifecycleConfigInput"} + if s.NotebookInstanceLifecycleConfigName == nil { + invalidParams.Add(request.NewErrParamRequired("NotebookInstanceLifecycleConfigName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNotebookInstanceLifecycleConfigName sets the NotebookInstanceLifecycleConfigName field's value. +func (s *DeleteNotebookInstanceLifecycleConfigInput) SetNotebookInstanceLifecycleConfigName(v string) *DeleteNotebookInstanceLifecycleConfigInput { + s.NotebookInstanceLifecycleConfigName = &v + return s +} + +type DeleteNotebookInstanceLifecycleConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteNotebookInstanceLifecycleConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteNotebookInstanceLifecycleConfigOutput) GoString() string { + return s.String() +} + +type DeleteNotebookInstanceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteNotebookInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteNotebookInstanceOutput) GoString() string { + return s.String() +} + +type DeleteTagsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource whose tags you want to delete. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` + + // An array or one or more tag keys to delete. + // + // TagKeys is a required field + TagKeys []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s DeleteTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + if s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DeleteTagsInput) SetResourceArn(v string) *DeleteTagsInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput { + s.TagKeys = v + return s +} + +type DeleteTagsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTagsOutput) GoString() string { + return s.String() +} + +type DeleteWorkteamInput struct { + _ struct{} `type:"structure"` + + // The name of the work team to delete. + // + // WorkteamName is a required field + WorkteamName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteWorkteamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWorkteamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWorkteamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWorkteamInput"} + if s.WorkteamName == nil { + invalidParams.Add(request.NewErrParamRequired("WorkteamName")) + } + if s.WorkteamName != nil && len(*s.WorkteamName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkteamName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWorkteamName sets the WorkteamName field's value. +func (s *DeleteWorkteamInput) SetWorkteamName(v string) *DeleteWorkteamInput { + s.WorkteamName = &v + return s +} + +type DeleteWorkteamOutput struct { + _ struct{} `type:"structure"` + + // Returns true if the work team was successfully deleted; otherwise, returns + // false. + // + // Success is a required field + Success *bool `type:"boolean" required:"true"` +} + +// String returns the string representation +func (s DeleteWorkteamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWorkteamOutput) GoString() string { + return s.String() +} + +// SetSuccess sets the Success field's value. +func (s *DeleteWorkteamOutput) SetSuccess(v bool) *DeleteWorkteamOutput { + s.Success = &v + return s +} + +// Gets the Amazon EC2 Container Registry path of the docker image of the model +// that is hosted in this ProductionVariant. +// +// If you used the registry/repository[:tag] form to specify the image path +// of the primary container when you created the model hosted in this ProductionVariant, +// the path resolves to a path of the form registry/repository[@digest]. A digest +// is a hash value that identifies a specific version of an image. For information +// about Amazon ECR paths, see Pulling an Image (http://docs.aws.amazon.com//AmazonECR/latest/userguide/docker-pull-ecr-image.html) +// in the Amazon ECR User Guide. +type DeployedImage struct { + _ struct{} `type:"structure"` + + // The date and time when the image path for the model resolved to the ResolvedImage + ResolutionTime *time.Time `type:"timestamp"` + + // The specific digest path of the image hosted in this ProductionVariant. + ResolvedImage *string `type:"string"` + + // The image path you specified when you created the model. + SpecifiedImage *string `type:"string"` +} + +// String returns the string representation +func (s DeployedImage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeployedImage) GoString() string { + return s.String() +} + +// SetResolutionTime sets the ResolutionTime field's value. +func (s *DeployedImage) SetResolutionTime(v time.Time) *DeployedImage { + s.ResolutionTime = &v + return s +} + +// SetResolvedImage sets the ResolvedImage field's value. +func (s *DeployedImage) SetResolvedImage(v string) *DeployedImage { + s.ResolvedImage = &v + return s +} + +// SetSpecifiedImage sets the SpecifiedImage field's value. +func (s *DeployedImage) SetSpecifiedImage(v string) *DeployedImage { + s.SpecifiedImage = &v + return s +} + +type DescribeAlgorithmInput struct { + _ struct{} `type:"structure"` + + // The name of the algorithm to describe. + // + // AlgorithmName is a required field + AlgorithmName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeAlgorithmInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAlgorithmInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAlgorithmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAlgorithmInput"} + if s.AlgorithmName == nil { + invalidParams.Add(request.NewErrParamRequired("AlgorithmName")) + } + if s.AlgorithmName != nil && len(*s.AlgorithmName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlgorithmName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlgorithmName sets the AlgorithmName field's value. +func (s *DescribeAlgorithmInput) SetAlgorithmName(v string) *DescribeAlgorithmInput { + s.AlgorithmName = &v + return s +} + +type DescribeAlgorithmOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the algorithm. + // + // AlgorithmArn is a required field + AlgorithmArn *string `min:"1" type:"string" required:"true"` + + // A brief summary about the algorithm. + AlgorithmDescription *string `type:"string"` + + // The name of the algorithm being described. + // + // AlgorithmName is a required field + AlgorithmName *string `min:"1" type:"string" required:"true"` + + // The current status of the algorithm. + // + // AlgorithmStatus is a required field + AlgorithmStatus *string `type:"string" required:"true" enum:"AlgorithmStatus"` + + // Details about the current status of the algorithm. + // + // AlgorithmStatusDetails is a required field + AlgorithmStatusDetails *AlgorithmStatusDetails `type:"structure" required:"true"` + + // Whether the algorithm is certified to be listed in AWS Marketplace. + CertifyForMarketplace *bool `type:"boolean"` + + // A timestamp specifying when the algorithm was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // Details about inference jobs that the algorithm runs. + InferenceSpecification *InferenceSpecification `type:"structure"` + + // The product identifier of the algorithm. + ProductId *string `type:"string"` + + // Details about training jobs run by this algorithm. + // + // TrainingSpecification is a required field + TrainingSpecification *TrainingSpecification `type:"structure" required:"true"` + + // Details about configurations for one or more training jobs that Amazon SageMaker + // runs to test the algorithm. + ValidationSpecification *AlgorithmValidationSpecification `type:"structure"` +} + +// String returns the string representation +func (s DescribeAlgorithmOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAlgorithmOutput) GoString() string { + return s.String() +} + +// SetAlgorithmArn sets the AlgorithmArn field's value. +func (s *DescribeAlgorithmOutput) SetAlgorithmArn(v string) *DescribeAlgorithmOutput { + s.AlgorithmArn = &v + return s +} + +// SetAlgorithmDescription sets the AlgorithmDescription field's value. +func (s *DescribeAlgorithmOutput) SetAlgorithmDescription(v string) *DescribeAlgorithmOutput { + s.AlgorithmDescription = &v + return s +} + +// SetAlgorithmName sets the AlgorithmName field's value. +func (s *DescribeAlgorithmOutput) SetAlgorithmName(v string) *DescribeAlgorithmOutput { + s.AlgorithmName = &v + return s +} + +// SetAlgorithmStatus sets the AlgorithmStatus field's value. +func (s *DescribeAlgorithmOutput) SetAlgorithmStatus(v string) *DescribeAlgorithmOutput { + s.AlgorithmStatus = &v + return s +} + +// SetAlgorithmStatusDetails sets the AlgorithmStatusDetails field's value. +func (s *DescribeAlgorithmOutput) SetAlgorithmStatusDetails(v *AlgorithmStatusDetails) *DescribeAlgorithmOutput { + s.AlgorithmStatusDetails = v + return s +} + +// SetCertifyForMarketplace sets the CertifyForMarketplace field's value. +func (s *DescribeAlgorithmOutput) SetCertifyForMarketplace(v bool) *DescribeAlgorithmOutput { + s.CertifyForMarketplace = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeAlgorithmOutput) SetCreationTime(v time.Time) *DescribeAlgorithmOutput { + s.CreationTime = &v + return s +} + +// SetInferenceSpecification sets the InferenceSpecification field's value. +func (s *DescribeAlgorithmOutput) SetInferenceSpecification(v *InferenceSpecification) *DescribeAlgorithmOutput { + s.InferenceSpecification = v + return s +} + +// SetProductId sets the ProductId field's value. +func (s *DescribeAlgorithmOutput) SetProductId(v string) *DescribeAlgorithmOutput { + s.ProductId = &v + return s +} + +// SetTrainingSpecification sets the TrainingSpecification field's value. +func (s *DescribeAlgorithmOutput) SetTrainingSpecification(v *TrainingSpecification) *DescribeAlgorithmOutput { + s.TrainingSpecification = v + return s +} + +// SetValidationSpecification sets the ValidationSpecification field's value. +func (s *DescribeAlgorithmOutput) SetValidationSpecification(v *AlgorithmValidationSpecification) *DescribeAlgorithmOutput { + s.ValidationSpecification = v + return s +} + +type DescribeCodeRepositoryInput struct { + _ struct{} `type:"structure"` + + // The name of the Git repository to describe. + // + // CodeRepositoryName is a required field + CodeRepositoryName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeCodeRepositoryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCodeRepositoryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCodeRepositoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCodeRepositoryInput"} + if s.CodeRepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("CodeRepositoryName")) + } + if s.CodeRepositoryName != nil && len(*s.CodeRepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CodeRepositoryName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodeRepositoryName sets the CodeRepositoryName field's value. +func (s *DescribeCodeRepositoryInput) SetCodeRepositoryName(v string) *DescribeCodeRepositoryInput { + s.CodeRepositoryName = &v + return s +} + +type DescribeCodeRepositoryOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Git repository. + // + // CodeRepositoryArn is a required field + CodeRepositoryArn *string `min:"1" type:"string" required:"true"` + + // The name of the Git repository. + // + // CodeRepositoryName is a required field + CodeRepositoryName *string `min:"1" type:"string" required:"true"` + + // The date and time that the repository was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // Configuration details about the repository, including the URL where the repository + // is located, the default branch, and the Amazon Resource Name (ARN) of the + // AWS Secrets Manager secret that contains the credentials used to access the + // repository. + GitConfig *GitConfig `type:"structure"` + + // The date and time that the repository was last changed. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s DescribeCodeRepositoryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCodeRepositoryOutput) GoString() string { + return s.String() +} + +// SetCodeRepositoryArn sets the CodeRepositoryArn field's value. +func (s *DescribeCodeRepositoryOutput) SetCodeRepositoryArn(v string) *DescribeCodeRepositoryOutput { + s.CodeRepositoryArn = &v + return s +} + +// SetCodeRepositoryName sets the CodeRepositoryName field's value. +func (s *DescribeCodeRepositoryOutput) SetCodeRepositoryName(v string) *DescribeCodeRepositoryOutput { + s.CodeRepositoryName = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeCodeRepositoryOutput) SetCreationTime(v time.Time) *DescribeCodeRepositoryOutput { + s.CreationTime = &v + return s +} + +// SetGitConfig sets the GitConfig field's value. +func (s *DescribeCodeRepositoryOutput) SetGitConfig(v *GitConfig) *DescribeCodeRepositoryOutput { + s.GitConfig = v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *DescribeCodeRepositoryOutput) SetLastModifiedTime(v time.Time) *DescribeCodeRepositoryOutput { + s.LastModifiedTime = &v + return s +} + +type DescribeCompilationJobInput struct { + _ struct{} `type:"structure"` + + // The name of the model compilation job that you want information about. + // + // CompilationJobName is a required field + CompilationJobName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeCompilationJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCompilationJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCompilationJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCompilationJobInput"} + if s.CompilationJobName == nil { + invalidParams.Add(request.NewErrParamRequired("CompilationJobName")) + } + if s.CompilationJobName != nil && len(*s.CompilationJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CompilationJobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCompilationJobName sets the CompilationJobName field's value. +func (s *DescribeCompilationJobInput) SetCompilationJobName(v string) *DescribeCompilationJobInput { + s.CompilationJobName = &v + return s +} + +type DescribeCompilationJobOutput struct { + _ struct{} `type:"structure"` + + // The time when the model compilation job on a compilation job instance ended. + // For a successful or stopped job, this is when the job's model artifacts have + // finished uploading. For a failed job, this is when Amazon SageMaker detected + // that the job failed. + CompilationEndTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker assumes + // to perform the model compilation job. + // + // CompilationJobArn is a required field + CompilationJobArn *string `type:"string" required:"true"` + + // The name of the model compilation job. + // + // CompilationJobName is a required field + CompilationJobName *string `min:"1" type:"string" required:"true"` + + // The status of the model compilation job. + // + // CompilationJobStatus is a required field + CompilationJobStatus *string `type:"string" required:"true" enum:"CompilationJobStatus"` + + // The time when the model compilation job started the CompilationJob instances. + // + // You are billed for the time between this timestamp and the timestamp in the + // DescribeCompilationJobResponse$CompilationEndTime field. In Amazon CloudWatch + // Logs, the start time might be later than this time. That's because it takes + // time to download the compilation job, which depends on the size of the compilation + // job container. + CompilationStartTime *time.Time `type:"timestamp"` + + // The time that the model compilation job was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // If a model compilation job failed, the reason it failed. + // + // FailureReason is a required field + FailureReason *string `type:"string" required:"true"` + + // Information about the location in Amazon S3 of the input model artifacts, + // the name and shape of the expected data inputs, and the framework in which + // the model was trained. + // + // InputConfig is a required field + InputConfig *InputConfig `type:"structure" required:"true"` + + // The time that the status of the model compilation job was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // Information about the location in Amazon S3 that has been configured for + // storing the model artifacts used in the compilation job. + // + // ModelArtifacts is a required field + ModelArtifacts *ModelArtifacts `type:"structure" required:"true"` + + // Information about the output location for the compiled model and the target + // device that the model runs on. + // + // OutputConfig is a required field + OutputConfig *OutputConfig `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the model compilation job. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // The duration allowed for model compilation. + // + // StoppingCondition is a required field + StoppingCondition *StoppingCondition `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeCompilationJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCompilationJobOutput) GoString() string { + return s.String() +} + +// SetCompilationEndTime sets the CompilationEndTime field's value. +func (s *DescribeCompilationJobOutput) SetCompilationEndTime(v time.Time) *DescribeCompilationJobOutput { + s.CompilationEndTime = &v + return s +} + +// SetCompilationJobArn sets the CompilationJobArn field's value. +func (s *DescribeCompilationJobOutput) SetCompilationJobArn(v string) *DescribeCompilationJobOutput { + s.CompilationJobArn = &v + return s +} + +// SetCompilationJobName sets the CompilationJobName field's value. +func (s *DescribeCompilationJobOutput) SetCompilationJobName(v string) *DescribeCompilationJobOutput { + s.CompilationJobName = &v + return s +} + +// SetCompilationJobStatus sets the CompilationJobStatus field's value. +func (s *DescribeCompilationJobOutput) SetCompilationJobStatus(v string) *DescribeCompilationJobOutput { + s.CompilationJobStatus = &v + return s +} + +// SetCompilationStartTime sets the CompilationStartTime field's value. +func (s *DescribeCompilationJobOutput) SetCompilationStartTime(v time.Time) *DescribeCompilationJobOutput { + s.CompilationStartTime = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeCompilationJobOutput) SetCreationTime(v time.Time) *DescribeCompilationJobOutput { + s.CreationTime = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DescribeCompilationJobOutput) SetFailureReason(v string) *DescribeCompilationJobOutput { + s.FailureReason = &v + return s +} + +// SetInputConfig sets the InputConfig field's value. +func (s *DescribeCompilationJobOutput) SetInputConfig(v *InputConfig) *DescribeCompilationJobOutput { + s.InputConfig = v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *DescribeCompilationJobOutput) SetLastModifiedTime(v time.Time) *DescribeCompilationJobOutput { + s.LastModifiedTime = &v + return s +} + +// SetModelArtifacts sets the ModelArtifacts field's value. +func (s *DescribeCompilationJobOutput) SetModelArtifacts(v *ModelArtifacts) *DescribeCompilationJobOutput { + s.ModelArtifacts = v + return s +} + +// SetOutputConfig sets the OutputConfig field's value. +func (s *DescribeCompilationJobOutput) SetOutputConfig(v *OutputConfig) *DescribeCompilationJobOutput { + s.OutputConfig = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DescribeCompilationJobOutput) SetRoleArn(v string) *DescribeCompilationJobOutput { + s.RoleArn = &v + return s +} + +// SetStoppingCondition sets the StoppingCondition field's value. +func (s *DescribeCompilationJobOutput) SetStoppingCondition(v *StoppingCondition) *DescribeCompilationJobOutput { + s.StoppingCondition = v + return s +} + +type DescribeEndpointConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the endpoint configuration. + // + // EndpointConfigName is a required field + EndpointConfigName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeEndpointConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEndpointConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEndpointConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEndpointConfigInput"} + if s.EndpointConfigName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointConfigName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointConfigName sets the EndpointConfigName field's value. +func (s *DescribeEndpointConfigInput) SetEndpointConfigName(v string) *DescribeEndpointConfigInput { + s.EndpointConfigName = &v + return s +} + +type DescribeEndpointConfigOutput struct { + _ struct{} `type:"structure"` + + // A timestamp that shows when the endpoint configuration was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) of the endpoint configuration. + // + // EndpointConfigArn is a required field + EndpointConfigArn *string `min:"20" type:"string" required:"true"` + + // Name of the Amazon SageMaker endpoint configuration. + // + // EndpointConfigName is a required field + EndpointConfigName *string `type:"string" required:"true"` + + // AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the + // ML storage volume attached to the instance. + KmsKeyId *string `type:"string"` + + // An array of ProductionVariant objects, one for each model that you want to + // host at this endpoint. + // + // ProductionVariants is a required field + ProductionVariants []*ProductionVariant `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribeEndpointConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEndpointConfigOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeEndpointConfigOutput) SetCreationTime(v time.Time) *DescribeEndpointConfigOutput { + s.CreationTime = &v + return s +} + +// SetEndpointConfigArn sets the EndpointConfigArn field's value. +func (s *DescribeEndpointConfigOutput) SetEndpointConfigArn(v string) *DescribeEndpointConfigOutput { + s.EndpointConfigArn = &v + return s +} + +// SetEndpointConfigName sets the EndpointConfigName field's value. +func (s *DescribeEndpointConfigOutput) SetEndpointConfigName(v string) *DescribeEndpointConfigOutput { + s.EndpointConfigName = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *DescribeEndpointConfigOutput) SetKmsKeyId(v string) *DescribeEndpointConfigOutput { + s.KmsKeyId = &v + return s +} + +// SetProductionVariants sets the ProductionVariants field's value. +func (s *DescribeEndpointConfigOutput) SetProductionVariants(v []*ProductionVariant) *DescribeEndpointConfigOutput { + s.ProductionVariants = v + return s +} + +type DescribeEndpointInput struct { + _ struct{} `type:"structure"` + + // The name of the endpoint. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEndpointInput"} + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointName sets the EndpointName field's value. +func (s *DescribeEndpointInput) SetEndpointName(v string) *DescribeEndpointInput { + s.EndpointName = &v + return s +} + +type DescribeEndpointOutput struct { + _ struct{} `type:"structure"` + + // A timestamp that shows when the endpoint was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) of the endpoint. + // + // EndpointArn is a required field + EndpointArn *string `min:"20" type:"string" required:"true"` + + // The name of the endpoint configuration associated with this endpoint. + // + // EndpointConfigName is a required field + EndpointConfigName *string `type:"string" required:"true"` + + // Name of the endpoint. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` + + // The status of the endpoint. + // + // * OutOfService: Endpoint is not available to take incoming requests. + // + // * Creating: CreateEndpoint is executing. + // + // * Updating: UpdateEndpoint or UpdateEndpointWeightsAndCapacities is executing. + // + // * SystemUpdating: Endpoint is undergoing maintenance and cannot be updated + // or deleted or re-scaled until it has completed. This maintenance operation + // does not change any customer-specified values such as VPC config, KMS + // encryption, model, instance type, or instance count. + // + // * RollingBack: Endpoint fails to scale up or down or change its variant + // weight and is in the process of rolling back to its previous configuration. + // Once the rollback completes, endpoint returns to an InService status. + // This transitional status only applies to an endpoint that has autoscaling + // enabled and is undergoing variant weight or capacity changes as part of + // an UpdateEndpointWeightsAndCapacities call or when the UpdateEndpointWeightsAndCapacities + // operation is called explicitly. + // + // * InService: Endpoint is available to process incoming requests. + // + // * Deleting: DeleteEndpoint is executing. + // + // * Failed: Endpoint could not be created, updated, or re-scaled. Use DescribeEndpointOutput$FailureReason + // for information about the failure. DeleteEndpoint is the only operation + // that can be performed on a failed endpoint. + // + // EndpointStatus is a required field + EndpointStatus *string `type:"string" required:"true" enum:"EndpointStatus"` + + // If the status of the endpoint is Failed, the reason why it failed. + FailureReason *string `type:"string"` + + // A timestamp that shows when the endpoint was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // An array of ProductionVariantSummary objects, one for each model hosted behind + // this endpoint. + ProductionVariants []*ProductionVariantSummary `min:"1" type:"list"` +} + +// String returns the string representation +func (s DescribeEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEndpointOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeEndpointOutput) SetCreationTime(v time.Time) *DescribeEndpointOutput { + s.CreationTime = &v + return s +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *DescribeEndpointOutput) SetEndpointArn(v string) *DescribeEndpointOutput { + s.EndpointArn = &v + return s +} + +// SetEndpointConfigName sets the EndpointConfigName field's value. +func (s *DescribeEndpointOutput) SetEndpointConfigName(v string) *DescribeEndpointOutput { + s.EndpointConfigName = &v + return s +} + +// SetEndpointName sets the EndpointName field's value. +func (s *DescribeEndpointOutput) SetEndpointName(v string) *DescribeEndpointOutput { + s.EndpointName = &v + return s +} + +// SetEndpointStatus sets the EndpointStatus field's value. +func (s *DescribeEndpointOutput) SetEndpointStatus(v string) *DescribeEndpointOutput { + s.EndpointStatus = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DescribeEndpointOutput) SetFailureReason(v string) *DescribeEndpointOutput { + s.FailureReason = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *DescribeEndpointOutput) SetLastModifiedTime(v time.Time) *DescribeEndpointOutput { + s.LastModifiedTime = &v + return s +} + +// SetProductionVariants sets the ProductionVariants field's value. +func (s *DescribeEndpointOutput) SetProductionVariants(v []*ProductionVariantSummary) *DescribeEndpointOutput { + s.ProductionVariants = v + return s +} + +type DescribeHyperParameterTuningJobInput struct { + _ struct{} `type:"structure"` + + // The name of the tuning job to describe. + // + // HyperParameterTuningJobName is a required field + HyperParameterTuningJobName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeHyperParameterTuningJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeHyperParameterTuningJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeHyperParameterTuningJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeHyperParameterTuningJobInput"} + if s.HyperParameterTuningJobName == nil { + invalidParams.Add(request.NewErrParamRequired("HyperParameterTuningJobName")) + } + if s.HyperParameterTuningJobName != nil && len(*s.HyperParameterTuningJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HyperParameterTuningJobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHyperParameterTuningJobName sets the HyperParameterTuningJobName field's value. +func (s *DescribeHyperParameterTuningJobInput) SetHyperParameterTuningJobName(v string) *DescribeHyperParameterTuningJobInput { + s.HyperParameterTuningJobName = &v + return s +} + +type DescribeHyperParameterTuningJobOutput struct { + _ struct{} `type:"structure"` + + // A TrainingJobSummary object that describes the training job that completed + // with the best current HyperParameterTuningJobObjective. + BestTrainingJob *HyperParameterTrainingJobSummary `type:"structure"` + + // The date and time that the tuning job started. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // If the tuning job failed, the reason it failed. + FailureReason *string `type:"string"` + + // The date and time that the tuning job ended. + HyperParameterTuningEndTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the tuning job. + // + // HyperParameterTuningJobArn is a required field + HyperParameterTuningJobArn *string `type:"string" required:"true"` + + // The HyperParameterTuningJobConfig object that specifies the configuration + // of the tuning job. + // + // HyperParameterTuningJobConfig is a required field + HyperParameterTuningJobConfig *HyperParameterTuningJobConfig `type:"structure" required:"true"` + + // The name of the tuning job. + // + // HyperParameterTuningJobName is a required field + HyperParameterTuningJobName *string `min:"1" type:"string" required:"true"` + + // The status of the tuning job: InProgress, Completed, Failed, Stopping, or + // Stopped. + // + // HyperParameterTuningJobStatus is a required field + HyperParameterTuningJobStatus *string `type:"string" required:"true" enum:"HyperParameterTuningJobStatus"` + + // The date and time that the status of the tuning job was modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // The ObjectiveStatusCounters object that specifies the number of training + // jobs, categorized by the status of their final objective metric, that this + // tuning job launched. + // + // ObjectiveStatusCounters is a required field + ObjectiveStatusCounters *ObjectiveStatusCounters `type:"structure" required:"true"` + + // If the hyperparameter tuning job is an warm start tuning job with a WarmStartType + // of IDENTICAL_DATA_AND_ALGORITHM, this is the TrainingJobSummary for the training + // job with the best objective metric value of all training jobs launched by + // this tuning job and all parent jobs specified for the warm start tuning job. + OverallBestTrainingJob *HyperParameterTrainingJobSummary `type:"structure"` + + // The HyperParameterTrainingJobDefinition object that specifies the definition + // of the training jobs that this tuning job launches. + // + // TrainingJobDefinition is a required field + TrainingJobDefinition *HyperParameterTrainingJobDefinition `type:"structure" required:"true"` + + // The TrainingJobStatusCounters object that specifies the number of training + // jobs, categorized by status, that this tuning job launched. + // + // TrainingJobStatusCounters is a required field + TrainingJobStatusCounters *TrainingJobStatusCounters `type:"structure" required:"true"` + + // The configuration for starting the hyperparameter parameter tuning job using + // one or more previous tuning jobs as a starting point. The results of previous + // tuning jobs are used to inform which combinations of hyperparameters to search + // over in the new tuning job. + WarmStartConfig *HyperParameterTuningJobWarmStartConfig `type:"structure"` +} + +// String returns the string representation +func (s DescribeHyperParameterTuningJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeHyperParameterTuningJobOutput) GoString() string { + return s.String() +} + +// SetBestTrainingJob sets the BestTrainingJob field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetBestTrainingJob(v *HyperParameterTrainingJobSummary) *DescribeHyperParameterTuningJobOutput { + s.BestTrainingJob = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetCreationTime(v time.Time) *DescribeHyperParameterTuningJobOutput { + s.CreationTime = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetFailureReason(v string) *DescribeHyperParameterTuningJobOutput { + s.FailureReason = &v + return s +} + +// SetHyperParameterTuningEndTime sets the HyperParameterTuningEndTime field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetHyperParameterTuningEndTime(v time.Time) *DescribeHyperParameterTuningJobOutput { + s.HyperParameterTuningEndTime = &v + return s +} + +// SetHyperParameterTuningJobArn sets the HyperParameterTuningJobArn field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetHyperParameterTuningJobArn(v string) *DescribeHyperParameterTuningJobOutput { + s.HyperParameterTuningJobArn = &v + return s +} + +// SetHyperParameterTuningJobConfig sets the HyperParameterTuningJobConfig field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetHyperParameterTuningJobConfig(v *HyperParameterTuningJobConfig) *DescribeHyperParameterTuningJobOutput { + s.HyperParameterTuningJobConfig = v + return s +} + +// SetHyperParameterTuningJobName sets the HyperParameterTuningJobName field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetHyperParameterTuningJobName(v string) *DescribeHyperParameterTuningJobOutput { + s.HyperParameterTuningJobName = &v + return s +} + +// SetHyperParameterTuningJobStatus sets the HyperParameterTuningJobStatus field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetHyperParameterTuningJobStatus(v string) *DescribeHyperParameterTuningJobOutput { + s.HyperParameterTuningJobStatus = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetLastModifiedTime(v time.Time) *DescribeHyperParameterTuningJobOutput { + s.LastModifiedTime = &v + return s +} + +// SetObjectiveStatusCounters sets the ObjectiveStatusCounters field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetObjectiveStatusCounters(v *ObjectiveStatusCounters) *DescribeHyperParameterTuningJobOutput { + s.ObjectiveStatusCounters = v + return s +} + +// SetOverallBestTrainingJob sets the OverallBestTrainingJob field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetOverallBestTrainingJob(v *HyperParameterTrainingJobSummary) *DescribeHyperParameterTuningJobOutput { + s.OverallBestTrainingJob = v + return s +} + +// SetTrainingJobDefinition sets the TrainingJobDefinition field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetTrainingJobDefinition(v *HyperParameterTrainingJobDefinition) *DescribeHyperParameterTuningJobOutput { + s.TrainingJobDefinition = v + return s +} + +// SetTrainingJobStatusCounters sets the TrainingJobStatusCounters field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetTrainingJobStatusCounters(v *TrainingJobStatusCounters) *DescribeHyperParameterTuningJobOutput { + s.TrainingJobStatusCounters = v + return s +} + +// SetWarmStartConfig sets the WarmStartConfig field's value. +func (s *DescribeHyperParameterTuningJobOutput) SetWarmStartConfig(v *HyperParameterTuningJobWarmStartConfig) *DescribeHyperParameterTuningJobOutput { + s.WarmStartConfig = v + return s +} + +type DescribeLabelingJobInput struct { + _ struct{} `type:"structure"` + + // The name of the labeling job to return information for. + // + // LabelingJobName is a required field + LabelingJobName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeLabelingJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLabelingJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeLabelingJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLabelingJobInput"} + if s.LabelingJobName == nil { + invalidParams.Add(request.NewErrParamRequired("LabelingJobName")) + } + if s.LabelingJobName != nil && len(*s.LabelingJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LabelingJobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLabelingJobName sets the LabelingJobName field's value. +func (s *DescribeLabelingJobInput) SetLabelingJobName(v string) *DescribeLabelingJobInput { + s.LabelingJobName = &v + return s +} + +type DescribeLabelingJobOutput struct { + _ struct{} `type:"structure"` + + // The date and time that the labeling job was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // If the job failed, the reason that it failed. + FailureReason *string `type:"string"` + + // Configuration information required for human workers to complete a labeling + // task. + // + // HumanTaskConfig is a required field + HumanTaskConfig *HumanTaskConfig `type:"structure" required:"true"` + + // Input configuration information for the labeling job, such as the Amazon + // S3 location of the data objects and the location of the manifest file that + // describes the data objects. + // + // InputConfig is a required field + InputConfig *LabelingJobInputConfig `type:"structure" required:"true"` + + // A unique identifier for work done as part of a labeling job. + // + // JobReferenceCode is a required field + JobReferenceCode *string `min:"1" type:"string" required:"true"` + + // The attribute used as the label in the output manifest file. + LabelAttributeName *string `min:"1" type:"string"` + + // The S3 location of the JSON file that defines the categories used to label + // data objects. + // + // The file is a JSON structure in the following format: + // + // { + // + // "document-version": "2018-11-28" + // + // "labels": [ + // + // { + // + // "label": "label 1" + // + // }, + // + // { + // + // "label": "label 2" + // + // }, + // + // ... + // + // { + // + // "label": "label n" + // + // } + // + // ] + // + // } + LabelCategoryConfigS3Uri *string `type:"string"` + + // Provides a breakdown of the number of data objects labeled by humans, the + // number of objects labeled by machine, the number of objects than couldn't + // be labeled, and the total number of objects labeled. + // + // LabelCounters is a required field + LabelCounters *LabelCounters `type:"structure" required:"true"` + + // Configuration information for automated data labeling. + LabelingJobAlgorithmsConfig *LabelingJobAlgorithmsConfig `type:"structure"` + + // The Amazon Resource Name (ARN) of the labeling job. + // + // LabelingJobArn is a required field + LabelingJobArn *string `type:"string" required:"true"` + + // The name assigned to the labeling job when it was created. + // + // LabelingJobName is a required field + LabelingJobName *string `min:"1" type:"string" required:"true"` + + // The location of the output produced by the labeling job. + LabelingJobOutput *LabelingJobOutput `type:"structure"` + + // The processing status of the labeling job. + // + // LabelingJobStatus is a required field + LabelingJobStatus *string `type:"string" required:"true" enum:"LabelingJobStatus"` + + // The date and time that the labeling job was last updated. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // The location of the job's output data and the AWS Key Management Service + // key ID for the key used to encrypt the output data, if any. + // + // OutputConfig is a required field + OutputConfig *LabelingJobOutputConfig `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) that Amazon SageMaker assumes to perform tasks + // on your behalf during data labeling. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // A set of conditions for stopping a labeling job. If any of the conditions + // are met, the job is automatically stopped. + StoppingConditions *LabelingJobStoppingConditions `type:"structure"` + + // An array of key/value pairs. For more information, see Using Cost Allocation + // Tags (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) + // in the AWS Billing and Cost Management User Guide. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s DescribeLabelingJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLabelingJobOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeLabelingJobOutput) SetCreationTime(v time.Time) *DescribeLabelingJobOutput { + s.CreationTime = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DescribeLabelingJobOutput) SetFailureReason(v string) *DescribeLabelingJobOutput { + s.FailureReason = &v + return s +} + +// SetHumanTaskConfig sets the HumanTaskConfig field's value. +func (s *DescribeLabelingJobOutput) SetHumanTaskConfig(v *HumanTaskConfig) *DescribeLabelingJobOutput { + s.HumanTaskConfig = v + return s +} + +// SetInputConfig sets the InputConfig field's value. +func (s *DescribeLabelingJobOutput) SetInputConfig(v *LabelingJobInputConfig) *DescribeLabelingJobOutput { + s.InputConfig = v + return s +} + +// SetJobReferenceCode sets the JobReferenceCode field's value. +func (s *DescribeLabelingJobOutput) SetJobReferenceCode(v string) *DescribeLabelingJobOutput { + s.JobReferenceCode = &v + return s +} + +// SetLabelAttributeName sets the LabelAttributeName field's value. +func (s *DescribeLabelingJobOutput) SetLabelAttributeName(v string) *DescribeLabelingJobOutput { + s.LabelAttributeName = &v + return s +} + +// SetLabelCategoryConfigS3Uri sets the LabelCategoryConfigS3Uri field's value. +func (s *DescribeLabelingJobOutput) SetLabelCategoryConfigS3Uri(v string) *DescribeLabelingJobOutput { + s.LabelCategoryConfigS3Uri = &v + return s +} + +// SetLabelCounters sets the LabelCounters field's value. +func (s *DescribeLabelingJobOutput) SetLabelCounters(v *LabelCounters) *DescribeLabelingJobOutput { + s.LabelCounters = v + return s +} + +// SetLabelingJobAlgorithmsConfig sets the LabelingJobAlgorithmsConfig field's value. +func (s *DescribeLabelingJobOutput) SetLabelingJobAlgorithmsConfig(v *LabelingJobAlgorithmsConfig) *DescribeLabelingJobOutput { + s.LabelingJobAlgorithmsConfig = v + return s +} + +// SetLabelingJobArn sets the LabelingJobArn field's value. +func (s *DescribeLabelingJobOutput) SetLabelingJobArn(v string) *DescribeLabelingJobOutput { + s.LabelingJobArn = &v + return s +} + +// SetLabelingJobName sets the LabelingJobName field's value. +func (s *DescribeLabelingJobOutput) SetLabelingJobName(v string) *DescribeLabelingJobOutput { + s.LabelingJobName = &v + return s +} + +// SetLabelingJobOutput sets the LabelingJobOutput field's value. +func (s *DescribeLabelingJobOutput) SetLabelingJobOutput(v *LabelingJobOutput) *DescribeLabelingJobOutput { + s.LabelingJobOutput = v + return s +} + +// SetLabelingJobStatus sets the LabelingJobStatus field's value. +func (s *DescribeLabelingJobOutput) SetLabelingJobStatus(v string) *DescribeLabelingJobOutput { + s.LabelingJobStatus = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *DescribeLabelingJobOutput) SetLastModifiedTime(v time.Time) *DescribeLabelingJobOutput { + s.LastModifiedTime = &v + return s +} + +// SetOutputConfig sets the OutputConfig field's value. +func (s *DescribeLabelingJobOutput) SetOutputConfig(v *LabelingJobOutputConfig) *DescribeLabelingJobOutput { + s.OutputConfig = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DescribeLabelingJobOutput) SetRoleArn(v string) *DescribeLabelingJobOutput { + s.RoleArn = &v + return s +} + +// SetStoppingConditions sets the StoppingConditions field's value. +func (s *DescribeLabelingJobOutput) SetStoppingConditions(v *LabelingJobStoppingConditions) *DescribeLabelingJobOutput { + s.StoppingConditions = v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeLabelingJobOutput) SetTags(v []*Tag) *DescribeLabelingJobOutput { + s.Tags = v + return s +} + +type DescribeModelInput struct { + _ struct{} `type:"structure"` + + // The name of the model. + // + // ModelName is a required field + ModelName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeModelInput"} + if s.ModelName == nil { + invalidParams.Add(request.NewErrParamRequired("ModelName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetModelName sets the ModelName field's value. +func (s *DescribeModelInput) SetModelName(v string) *DescribeModelInput { + s.ModelName = &v + return s +} + +type DescribeModelOutput struct { + _ struct{} `type:"structure"` + + // The containers in the inference pipeline. + Containers []*ContainerDefinition `type:"list"` + + // A timestamp that shows when the model was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // If True, no inbound or outbound network calls can be made to or from the + // model container. + // + // The Semantic Segmentation built-in algorithm does not support network isolation. + EnableNetworkIsolation *bool `type:"boolean"` + + // The Amazon Resource Name (ARN) of the IAM role that you specified for the + // model. + // + // ExecutionRoleArn is a required field + ExecutionRoleArn *string `min:"20" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the model. + // + // ModelArn is a required field + ModelArn *string `min:"20" type:"string" required:"true"` + + // Name of the Amazon SageMaker model. + // + // ModelName is a required field + ModelName *string `type:"string" required:"true"` + + // The location of the primary inference code, associated artifacts, and custom + // environment map that the inference code uses when it is deployed in production. + PrimaryContainer *ContainerDefinition `type:"structure"` + + // A VpcConfig object that specifies the VPC that this model has access to. + // For more information, see Protect Endpoints by Using an Amazon Virtual Private + // Cloud (http://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) + VpcConfig *VpcConfig `type:"structure"` +} + +// String returns the string representation +func (s DescribeModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeModelOutput) GoString() string { + return s.String() +} + +// SetContainers sets the Containers field's value. +func (s *DescribeModelOutput) SetContainers(v []*ContainerDefinition) *DescribeModelOutput { + s.Containers = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeModelOutput) SetCreationTime(v time.Time) *DescribeModelOutput { + s.CreationTime = &v + return s +} + +// SetEnableNetworkIsolation sets the EnableNetworkIsolation field's value. +func (s *DescribeModelOutput) SetEnableNetworkIsolation(v bool) *DescribeModelOutput { + s.EnableNetworkIsolation = &v + return s +} + +// SetExecutionRoleArn sets the ExecutionRoleArn field's value. +func (s *DescribeModelOutput) SetExecutionRoleArn(v string) *DescribeModelOutput { + s.ExecutionRoleArn = &v + return s +} + +// SetModelArn sets the ModelArn field's value. +func (s *DescribeModelOutput) SetModelArn(v string) *DescribeModelOutput { + s.ModelArn = &v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *DescribeModelOutput) SetModelName(v string) *DescribeModelOutput { + s.ModelName = &v + return s +} + +// SetPrimaryContainer sets the PrimaryContainer field's value. +func (s *DescribeModelOutput) SetPrimaryContainer(v *ContainerDefinition) *DescribeModelOutput { + s.PrimaryContainer = v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *DescribeModelOutput) SetVpcConfig(v *VpcConfig) *DescribeModelOutput { + s.VpcConfig = v + return s +} + +type DescribeModelPackageInput struct { + _ struct{} `type:"structure"` + + // The name of the model package to describe. + // + // ModelPackageName is a required field + ModelPackageName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeModelPackageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeModelPackageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeModelPackageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeModelPackageInput"} + if s.ModelPackageName == nil { + invalidParams.Add(request.NewErrParamRequired("ModelPackageName")) + } + if s.ModelPackageName != nil && len(*s.ModelPackageName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelPackageName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetModelPackageName sets the ModelPackageName field's value. +func (s *DescribeModelPackageInput) SetModelPackageName(v string) *DescribeModelPackageInput { + s.ModelPackageName = &v + return s +} + +type DescribeModelPackageOutput struct { + _ struct{} `type:"structure"` + + // Whether the model package is certified for listing on AWS Marketplace. + CertifyForMarketplace *bool `type:"boolean"` + + // A timestamp specifying when the model package was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // Details about inference jobs that can be run with models based on this model + // package. + InferenceSpecification *InferenceSpecification `type:"structure"` + + // The Amazon Resource Name (ARN) of the model package. + // + // ModelPackageArn is a required field + ModelPackageArn *string `min:"1" type:"string" required:"true"` + + // A brief summary of the model package. + ModelPackageDescription *string `type:"string"` + + // The name of the model package being described. + // + // ModelPackageName is a required field + ModelPackageName *string `min:"1" type:"string" required:"true"` + + // The current status of the model package. + // + // ModelPackageStatus is a required field + ModelPackageStatus *string `type:"string" required:"true" enum:"ModelPackageStatus"` + + // Details about the current status of the model package. + // + // ModelPackageStatusDetails is a required field + ModelPackageStatusDetails *ModelPackageStatusDetails `type:"structure" required:"true"` + + // Details about the algorithm that was used to create the model package. + SourceAlgorithmSpecification *SourceAlgorithmSpecification `type:"structure"` + + // Configurations for one or more transform jobs that Amazon SageMaker runs + // to test the model package. + ValidationSpecification *ModelPackageValidationSpecification `type:"structure"` +} + +// String returns the string representation +func (s DescribeModelPackageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeModelPackageOutput) GoString() string { + return s.String() +} + +// SetCertifyForMarketplace sets the CertifyForMarketplace field's value. +func (s *DescribeModelPackageOutput) SetCertifyForMarketplace(v bool) *DescribeModelPackageOutput { + s.CertifyForMarketplace = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeModelPackageOutput) SetCreationTime(v time.Time) *DescribeModelPackageOutput { + s.CreationTime = &v + return s +} + +// SetInferenceSpecification sets the InferenceSpecification field's value. +func (s *DescribeModelPackageOutput) SetInferenceSpecification(v *InferenceSpecification) *DescribeModelPackageOutput { + s.InferenceSpecification = v + return s +} + +// SetModelPackageArn sets the ModelPackageArn field's value. +func (s *DescribeModelPackageOutput) SetModelPackageArn(v string) *DescribeModelPackageOutput { + s.ModelPackageArn = &v + return s +} + +// SetModelPackageDescription sets the ModelPackageDescription field's value. +func (s *DescribeModelPackageOutput) SetModelPackageDescription(v string) *DescribeModelPackageOutput { + s.ModelPackageDescription = &v + return s +} + +// SetModelPackageName sets the ModelPackageName field's value. +func (s *DescribeModelPackageOutput) SetModelPackageName(v string) *DescribeModelPackageOutput { + s.ModelPackageName = &v + return s +} + +// SetModelPackageStatus sets the ModelPackageStatus field's value. +func (s *DescribeModelPackageOutput) SetModelPackageStatus(v string) *DescribeModelPackageOutput { + s.ModelPackageStatus = &v + return s +} + +// SetModelPackageStatusDetails sets the ModelPackageStatusDetails field's value. +func (s *DescribeModelPackageOutput) SetModelPackageStatusDetails(v *ModelPackageStatusDetails) *DescribeModelPackageOutput { + s.ModelPackageStatusDetails = v + return s +} + +// SetSourceAlgorithmSpecification sets the SourceAlgorithmSpecification field's value. +func (s *DescribeModelPackageOutput) SetSourceAlgorithmSpecification(v *SourceAlgorithmSpecification) *DescribeModelPackageOutput { + s.SourceAlgorithmSpecification = v + return s +} + +// SetValidationSpecification sets the ValidationSpecification field's value. +func (s *DescribeModelPackageOutput) SetValidationSpecification(v *ModelPackageValidationSpecification) *DescribeModelPackageOutput { + s.ValidationSpecification = v + return s +} + +type DescribeNotebookInstanceInput struct { + _ struct{} `type:"structure"` + + // The name of the notebook instance that you want information about. + // + // NotebookInstanceName is a required field + NotebookInstanceName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeNotebookInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeNotebookInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeNotebookInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeNotebookInstanceInput"} + if s.NotebookInstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("NotebookInstanceName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNotebookInstanceName sets the NotebookInstanceName field's value. +func (s *DescribeNotebookInstanceInput) SetNotebookInstanceName(v string) *DescribeNotebookInstanceInput { + s.NotebookInstanceName = &v + return s +} + +type DescribeNotebookInstanceLifecycleConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the lifecycle configuration to describe. + // + // NotebookInstanceLifecycleConfigName is a required field + NotebookInstanceLifecycleConfigName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeNotebookInstanceLifecycleConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeNotebookInstanceLifecycleConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeNotebookInstanceLifecycleConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeNotebookInstanceLifecycleConfigInput"} + if s.NotebookInstanceLifecycleConfigName == nil { + invalidParams.Add(request.NewErrParamRequired("NotebookInstanceLifecycleConfigName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNotebookInstanceLifecycleConfigName sets the NotebookInstanceLifecycleConfigName field's value. +func (s *DescribeNotebookInstanceLifecycleConfigInput) SetNotebookInstanceLifecycleConfigName(v string) *DescribeNotebookInstanceLifecycleConfigInput { + s.NotebookInstanceLifecycleConfigName = &v + return s +} + +type DescribeNotebookInstanceLifecycleConfigOutput struct { + _ struct{} `type:"structure"` + + // A timestamp that tells when the lifecycle configuration was created. + CreationTime *time.Time `type:"timestamp"` + + // A timestamp that tells when the lifecycle configuration was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the lifecycle configuration. + NotebookInstanceLifecycleConfigArn *string `type:"string"` + + // The name of the lifecycle configuration. + NotebookInstanceLifecycleConfigName *string `type:"string"` + + // The shell script that runs only once, when you create a notebook instance. + OnCreate []*NotebookInstanceLifecycleHook `type:"list"` + + // The shell script that runs every time you start a notebook instance, including + // when you create the notebook instance. + OnStart []*NotebookInstanceLifecycleHook `type:"list"` +} + +// String returns the string representation +func (s DescribeNotebookInstanceLifecycleConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeNotebookInstanceLifecycleConfigOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeNotebookInstanceLifecycleConfigOutput) SetCreationTime(v time.Time) *DescribeNotebookInstanceLifecycleConfigOutput { + s.CreationTime = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *DescribeNotebookInstanceLifecycleConfigOutput) SetLastModifiedTime(v time.Time) *DescribeNotebookInstanceLifecycleConfigOutput { + s.LastModifiedTime = &v + return s +} + +// SetNotebookInstanceLifecycleConfigArn sets the NotebookInstanceLifecycleConfigArn field's value. +func (s *DescribeNotebookInstanceLifecycleConfigOutput) SetNotebookInstanceLifecycleConfigArn(v string) *DescribeNotebookInstanceLifecycleConfigOutput { + s.NotebookInstanceLifecycleConfigArn = &v + return s +} + +// SetNotebookInstanceLifecycleConfigName sets the NotebookInstanceLifecycleConfigName field's value. +func (s *DescribeNotebookInstanceLifecycleConfigOutput) SetNotebookInstanceLifecycleConfigName(v string) *DescribeNotebookInstanceLifecycleConfigOutput { + s.NotebookInstanceLifecycleConfigName = &v + return s +} + +// SetOnCreate sets the OnCreate field's value. +func (s *DescribeNotebookInstanceLifecycleConfigOutput) SetOnCreate(v []*NotebookInstanceLifecycleHook) *DescribeNotebookInstanceLifecycleConfigOutput { + s.OnCreate = v + return s +} + +// SetOnStart sets the OnStart field's value. +func (s *DescribeNotebookInstanceLifecycleConfigOutput) SetOnStart(v []*NotebookInstanceLifecycleHook) *DescribeNotebookInstanceLifecycleConfigOutput { + s.OnStart = v + return s +} + +type DescribeNotebookInstanceOutput struct { + _ struct{} `type:"structure"` + + // A list of the Elastic Inference (EI) instance types associated with this + // notebook instance. Currently only one EI instance type can be associated + // with a notebook instance. For more information, see Using Elastic Inference + // in Amazon SageMaker (http://docs.aws.amazon.com/sagemaker/latest/dg/ei.html). + AcceleratorTypes []*string `type:"list"` + + // An array of up to three Git repositories associated with the notebook instance. + // These can be either the names of Git repositories stored as resources in + // your account, or the URL of Git repositories in AWS CodeCommit (http://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) + // or in any other Git repository. These repositories are cloned at the same + // level as the default repository of your notebook instance. For more information, + // see Associating Git Repositories with Amazon SageMaker Notebook Instances + // (http://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html). + AdditionalCodeRepositories []*string `type:"list"` + + // A timestamp. Use this parameter to return the time when the notebook instance + // was created + CreationTime *time.Time `type:"timestamp"` + + // The Git repository associated with the notebook instance as its default code + // repository. This can be either the name of a Git repository stored as a resource + // in your account, or the URL of a Git repository in AWS CodeCommit (http://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) + // or in any other Git repository. When you open a notebook instance, it opens + // in the directory that contains this repository. For more information, see + // Associating Git Repositories with Amazon SageMaker Notebook Instances (http://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html). + DefaultCodeRepository *string `min:"1" type:"string"` + + // Describes whether Amazon SageMaker provides internet access to the notebook + // instance. If this value is set to Disabled, he notebook instance does not + // have internet access, and cannot connect to Amazon SageMaker training and + // endpoint services. + // + // For more information, see Notebook Instances Are Internet-Enabled by Default + // (http://docs.aws.amazon.com/sagemaker/latest/dg/appendix-additional-considerations.html#appendix-notebook-and-internet-access). + DirectInternetAccess *string `type:"string" enum:"DirectInternetAccess"` + + // If status is Failed, the reason it failed. + FailureReason *string `type:"string"` + + // The type of ML compute instance running on the notebook instance. + InstanceType *string `type:"string" enum:"InstanceType"` + + // The AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it + // on the ML storage volume attached to the instance. + KmsKeyId *string `type:"string"` + + // A timestamp. Use this parameter to retrieve the time when the notebook instance + // was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // The network interface IDs that Amazon SageMaker created at the time of creating + // the instance. + NetworkInterfaceId *string `type:"string"` + + // The Amazon Resource Name (ARN) of the notebook instance. + NotebookInstanceArn *string `type:"string"` + + // Returns the name of a notebook instance lifecycle configuration. + // + // For information about notebook instance lifestyle configurations, see Step + // 2.1: (Optional) Customize a Notebook Instance (http://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html) + NotebookInstanceLifecycleConfigName *string `type:"string"` + + // The name of the Amazon SageMaker notebook instance. + NotebookInstanceName *string `type:"string"` + + // The status of the notebook instance. + NotebookInstanceStatus *string `type:"string" enum:"NotebookInstanceStatus"` + + // The Amazon Resource Name (ARN) of the IAM role associated with the instance. + RoleArn *string `min:"20" type:"string"` + + // The IDs of the VPC security groups. + SecurityGroups []*string `type:"list"` + + // The ID of the VPC subnet. + SubnetId *string `type:"string"` + + // The URL that you use to connect to the Jupyter notebook that is running in + // your notebook instance. + Url *string `type:"string"` + + // The size, in GB, of the ML storage volume attached to the notebook instance. + VolumeSizeInGB *int64 `min:"5" type:"integer"` +} + +// String returns the string representation +func (s DescribeNotebookInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeNotebookInstanceOutput) GoString() string { + return s.String() +} + +// SetAcceleratorTypes sets the AcceleratorTypes field's value. +func (s *DescribeNotebookInstanceOutput) SetAcceleratorTypes(v []*string) *DescribeNotebookInstanceOutput { + s.AcceleratorTypes = v + return s +} + +// SetAdditionalCodeRepositories sets the AdditionalCodeRepositories field's value. +func (s *DescribeNotebookInstanceOutput) SetAdditionalCodeRepositories(v []*string) *DescribeNotebookInstanceOutput { + s.AdditionalCodeRepositories = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeNotebookInstanceOutput) SetCreationTime(v time.Time) *DescribeNotebookInstanceOutput { + s.CreationTime = &v + return s +} + +// SetDefaultCodeRepository sets the DefaultCodeRepository field's value. +func (s *DescribeNotebookInstanceOutput) SetDefaultCodeRepository(v string) *DescribeNotebookInstanceOutput { + s.DefaultCodeRepository = &v + return s +} + +// SetDirectInternetAccess sets the DirectInternetAccess field's value. +func (s *DescribeNotebookInstanceOutput) SetDirectInternetAccess(v string) *DescribeNotebookInstanceOutput { + s.DirectInternetAccess = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DescribeNotebookInstanceOutput) SetFailureReason(v string) *DescribeNotebookInstanceOutput { + s.FailureReason = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *DescribeNotebookInstanceOutput) SetInstanceType(v string) *DescribeNotebookInstanceOutput { + s.InstanceType = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *DescribeNotebookInstanceOutput) SetKmsKeyId(v string) *DescribeNotebookInstanceOutput { + s.KmsKeyId = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *DescribeNotebookInstanceOutput) SetLastModifiedTime(v time.Time) *DescribeNotebookInstanceOutput { + s.LastModifiedTime = &v + return s +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *DescribeNotebookInstanceOutput) SetNetworkInterfaceId(v string) *DescribeNotebookInstanceOutput { + s.NetworkInterfaceId = &v + return s +} + +// SetNotebookInstanceArn sets the NotebookInstanceArn field's value. +func (s *DescribeNotebookInstanceOutput) SetNotebookInstanceArn(v string) *DescribeNotebookInstanceOutput { + s.NotebookInstanceArn = &v + return s +} + +// SetNotebookInstanceLifecycleConfigName sets the NotebookInstanceLifecycleConfigName field's value. +func (s *DescribeNotebookInstanceOutput) SetNotebookInstanceLifecycleConfigName(v string) *DescribeNotebookInstanceOutput { + s.NotebookInstanceLifecycleConfigName = &v + return s +} + +// SetNotebookInstanceName sets the NotebookInstanceName field's value. +func (s *DescribeNotebookInstanceOutput) SetNotebookInstanceName(v string) *DescribeNotebookInstanceOutput { + s.NotebookInstanceName = &v + return s +} + +// SetNotebookInstanceStatus sets the NotebookInstanceStatus field's value. +func (s *DescribeNotebookInstanceOutput) SetNotebookInstanceStatus(v string) *DescribeNotebookInstanceOutput { + s.NotebookInstanceStatus = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DescribeNotebookInstanceOutput) SetRoleArn(v string) *DescribeNotebookInstanceOutput { + s.RoleArn = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *DescribeNotebookInstanceOutput) SetSecurityGroups(v []*string) *DescribeNotebookInstanceOutput { + s.SecurityGroups = v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *DescribeNotebookInstanceOutput) SetSubnetId(v string) *DescribeNotebookInstanceOutput { + s.SubnetId = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *DescribeNotebookInstanceOutput) SetUrl(v string) *DescribeNotebookInstanceOutput { + s.Url = &v + return s +} + +// SetVolumeSizeInGB sets the VolumeSizeInGB field's value. +func (s *DescribeNotebookInstanceOutput) SetVolumeSizeInGB(v int64) *DescribeNotebookInstanceOutput { + s.VolumeSizeInGB = &v + return s +} + +type DescribeSubscribedWorkteamInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the subscribed work team to describe. + // + // WorkteamArn is a required field + WorkteamArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeSubscribedWorkteamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSubscribedWorkteamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSubscribedWorkteamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSubscribedWorkteamInput"} + if s.WorkteamArn == nil { + invalidParams.Add(request.NewErrParamRequired("WorkteamArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWorkteamArn sets the WorkteamArn field's value. +func (s *DescribeSubscribedWorkteamInput) SetWorkteamArn(v string) *DescribeSubscribedWorkteamInput { + s.WorkteamArn = &v + return s +} + +type DescribeSubscribedWorkteamOutput struct { + _ struct{} `type:"structure"` + + // A Workteam instance that contains information about the work team. + // + // SubscribedWorkteam is a required field + SubscribedWorkteam *SubscribedWorkteam `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeSubscribedWorkteamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSubscribedWorkteamOutput) GoString() string { + return s.String() +} + +// SetSubscribedWorkteam sets the SubscribedWorkteam field's value. +func (s *DescribeSubscribedWorkteamOutput) SetSubscribedWorkteam(v *SubscribedWorkteam) *DescribeSubscribedWorkteamOutput { + s.SubscribedWorkteam = v + return s +} + +type DescribeTrainingJobInput struct { + _ struct{} `type:"structure"` + + // The name of the training job. + // + // TrainingJobName is a required field + TrainingJobName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeTrainingJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTrainingJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTrainingJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTrainingJobInput"} + if s.TrainingJobName == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingJobName")) + } + if s.TrainingJobName != nil && len(*s.TrainingJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TrainingJobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTrainingJobName sets the TrainingJobName field's value. +func (s *DescribeTrainingJobInput) SetTrainingJobName(v string) *DescribeTrainingJobInput { + s.TrainingJobName = &v + return s +} + +type DescribeTrainingJobOutput struct { + _ struct{} `type:"structure"` + + // Information about the algorithm used for training, and algorithm metadata. + // + // AlgorithmSpecification is a required field + AlgorithmSpecification *AlgorithmSpecification `type:"structure" required:"true"` + + // A timestamp that indicates when the training job was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // To encrypt all communications between ML compute instances in distributed + // training, specify True. Encryption provides greater security for distributed + // training, but training take longer because of the additional communications + // between ML compute instances. + EnableInterContainerTrafficEncryption *bool `type:"boolean"` + + // If you want to allow inbound or outbound network calls, except for calls + // between peers within a training cluster for distributed training, choose + // True. If you enable network isolation for training jobs that are configured + // to use a VPC, Amazon SageMaker downloads and uploads customer data and model + // artifacts through the specified VPC, but the training container does not + // have network access. + // + // The Semantic Segmentation built-in algorithm does not support network isolation. + EnableNetworkIsolation *bool `type:"boolean"` + + // If the training job failed, the reason it failed. + FailureReason *string `type:"string"` + + // A collection of MetricData objects that specify the names, values, and dates + // and times that the training algorithm emitted to Amazon CloudWatch. + FinalMetricDataList []*MetricData `type:"list"` + + // Algorithm-specific parameters. + HyperParameters map[string]*string `type:"map"` + + // An array of Channel objects that describes each data input channel. + InputDataConfig []*Channel `min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling + // job that created the transform or training job. + LabelingJobArn *string `type:"string"` + + // A timestamp that indicates when the status of the training job was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // Information about the Amazon S3 location that is configured for storing model + // artifacts. + // + // ModelArtifacts is a required field + ModelArtifacts *ModelArtifacts `type:"structure" required:"true"` + + // The S3 path where model artifacts that you configured when creating the job + // are stored. Amazon SageMaker creates subfolders for model artifacts. + OutputDataConfig *OutputDataConfig `type:"structure"` + + // Resources, including ML compute instances and ML storage volumes, that are + // configured for model training. + // + // ResourceConfig is a required field + ResourceConfig *ResourceConfig `type:"structure" required:"true"` + + // The AWS Identity and Access Management (IAM) role configured for the training + // job. + RoleArn *string `min:"20" type:"string"` + + // Provides detailed information about the state of the training job. For detailed + // information on the secondary status of the training job, see StatusMessage + // under SecondaryStatusTransition. + // + // Amazon SageMaker provides primary statuses and secondary statuses that apply + // to each of them: + // + // InProgressStarting - Starting the training job. + // + // Downloading - An optional stage for algorithms that support File training + // input mode. It indicates that data is being downloaded to the ML storage + // volumes. + // + // Training - Training is in progress. + // + // Uploading - Training is complete and the model artifacts are being uploaded + // to the S3 location. + // + // CompletedCompleted - The training job has completed. + // + // FailedFailed - The training job has failed. The reason for the failure is + // returned in the FailureReason field of DescribeTrainingJobResponse. + // + // StoppedMaxRuntimeExceeded - The job stopped because it exceeded the maximum + // allowed runtime. + // + // Stopped - The training job has stopped. + // + // StoppingStopping - Stopping the training job. + // + // Valid values for SecondaryStatus are subject to change. + // + // We no longer support the following secondary statuses: + // + // * LaunchingMLInstances + // + // * PreparingTrainingStack + // + // * DownloadingTrainingImage + // + // SecondaryStatus is a required field + SecondaryStatus *string `type:"string" required:"true" enum:"SecondaryStatus"` + + // A history of all of the secondary statuses that the training job has transitioned + // through. + SecondaryStatusTransitions []*SecondaryStatusTransition `type:"list"` + + // The condition under which to stop the training job. + // + // StoppingCondition is a required field + StoppingCondition *StoppingCondition `type:"structure" required:"true"` + + // Indicates the time when the training job ends on training instances. You + // are billed for the time interval between the value of TrainingStartTime and + // this time. For successful jobs and stopped jobs, this is the time after model + // artifacts are uploaded. For failed jobs, this is the time when Amazon SageMaker + // detects a job failure. + TrainingEndTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the training job. + // + // TrainingJobArn is a required field + TrainingJobArn *string `type:"string" required:"true"` + + // Name of the model training job. + // + // TrainingJobName is a required field + TrainingJobName *string `min:"1" type:"string" required:"true"` + + // The status of the training job. + // + // Amazon SageMaker provides the following training job statuses: + // + // * InProgress - The training is in progress. + // + // * Completed - The training job has completed. + // + // * Failed - The training job has failed. To see the reason for the failure, + // see the FailureReason field in the response to a DescribeTrainingJobResponse + // call. + // + // * Stopping - The training job is stopping. + // + // * Stopped - The training job has stopped. + // + // For more detailed information, see SecondaryStatus. + // + // TrainingJobStatus is a required field + TrainingJobStatus *string `type:"string" required:"true" enum:"TrainingJobStatus"` + + // Indicates the time when the training job starts on training instances. You + // are billed for the time interval between this time and the value of TrainingEndTime. + // The start time in CloudWatch Logs might be later than this time. The difference + // is due to the time it takes to download the training data and to the size + // of the training container. + TrainingStartTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the associated hyperparameter tuning job + // if the training job was launched by a hyperparameter tuning job. + TuningJobArn *string `type:"string"` + + // A VpcConfig object that specifies the VPC that this training job has access + // to. For more information, see Protect Training Jobs by Using an Amazon Virtual + // Private Cloud (http://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html). + VpcConfig *VpcConfig `type:"structure"` +} + +// String returns the string representation +func (s DescribeTrainingJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTrainingJobOutput) GoString() string { + return s.String() +} + +// SetAlgorithmSpecification sets the AlgorithmSpecification field's value. +func (s *DescribeTrainingJobOutput) SetAlgorithmSpecification(v *AlgorithmSpecification) *DescribeTrainingJobOutput { + s.AlgorithmSpecification = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeTrainingJobOutput) SetCreationTime(v time.Time) *DescribeTrainingJobOutput { + s.CreationTime = &v + return s +} + +// SetEnableInterContainerTrafficEncryption sets the EnableInterContainerTrafficEncryption field's value. +func (s *DescribeTrainingJobOutput) SetEnableInterContainerTrafficEncryption(v bool) *DescribeTrainingJobOutput { + s.EnableInterContainerTrafficEncryption = &v + return s +} + +// SetEnableNetworkIsolation sets the EnableNetworkIsolation field's value. +func (s *DescribeTrainingJobOutput) SetEnableNetworkIsolation(v bool) *DescribeTrainingJobOutput { + s.EnableNetworkIsolation = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DescribeTrainingJobOutput) SetFailureReason(v string) *DescribeTrainingJobOutput { + s.FailureReason = &v + return s +} + +// SetFinalMetricDataList sets the FinalMetricDataList field's value. +func (s *DescribeTrainingJobOutput) SetFinalMetricDataList(v []*MetricData) *DescribeTrainingJobOutput { + s.FinalMetricDataList = v + return s +} + +// SetHyperParameters sets the HyperParameters field's value. +func (s *DescribeTrainingJobOutput) SetHyperParameters(v map[string]*string) *DescribeTrainingJobOutput { + s.HyperParameters = v + return s +} + +// SetInputDataConfig sets the InputDataConfig field's value. +func (s *DescribeTrainingJobOutput) SetInputDataConfig(v []*Channel) *DescribeTrainingJobOutput { + s.InputDataConfig = v + return s +} + +// SetLabelingJobArn sets the LabelingJobArn field's value. +func (s *DescribeTrainingJobOutput) SetLabelingJobArn(v string) *DescribeTrainingJobOutput { + s.LabelingJobArn = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *DescribeTrainingJobOutput) SetLastModifiedTime(v time.Time) *DescribeTrainingJobOutput { + s.LastModifiedTime = &v + return s +} + +// SetModelArtifacts sets the ModelArtifacts field's value. +func (s *DescribeTrainingJobOutput) SetModelArtifacts(v *ModelArtifacts) *DescribeTrainingJobOutput { + s.ModelArtifacts = v + return s +} + +// SetOutputDataConfig sets the OutputDataConfig field's value. +func (s *DescribeTrainingJobOutput) SetOutputDataConfig(v *OutputDataConfig) *DescribeTrainingJobOutput { + s.OutputDataConfig = v + return s +} + +// SetResourceConfig sets the ResourceConfig field's value. +func (s *DescribeTrainingJobOutput) SetResourceConfig(v *ResourceConfig) *DescribeTrainingJobOutput { + s.ResourceConfig = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DescribeTrainingJobOutput) SetRoleArn(v string) *DescribeTrainingJobOutput { + s.RoleArn = &v + return s +} + +// SetSecondaryStatus sets the SecondaryStatus field's value. +func (s *DescribeTrainingJobOutput) SetSecondaryStatus(v string) *DescribeTrainingJobOutput { + s.SecondaryStatus = &v + return s +} + +// SetSecondaryStatusTransitions sets the SecondaryStatusTransitions field's value. +func (s *DescribeTrainingJobOutput) SetSecondaryStatusTransitions(v []*SecondaryStatusTransition) *DescribeTrainingJobOutput { + s.SecondaryStatusTransitions = v + return s +} + +// SetStoppingCondition sets the StoppingCondition field's value. +func (s *DescribeTrainingJobOutput) SetStoppingCondition(v *StoppingCondition) *DescribeTrainingJobOutput { + s.StoppingCondition = v + return s +} + +// SetTrainingEndTime sets the TrainingEndTime field's value. +func (s *DescribeTrainingJobOutput) SetTrainingEndTime(v time.Time) *DescribeTrainingJobOutput { + s.TrainingEndTime = &v + return s +} + +// SetTrainingJobArn sets the TrainingJobArn field's value. +func (s *DescribeTrainingJobOutput) SetTrainingJobArn(v string) *DescribeTrainingJobOutput { + s.TrainingJobArn = &v + return s +} + +// SetTrainingJobName sets the TrainingJobName field's value. +func (s *DescribeTrainingJobOutput) SetTrainingJobName(v string) *DescribeTrainingJobOutput { + s.TrainingJobName = &v + return s +} + +// SetTrainingJobStatus sets the TrainingJobStatus field's value. +func (s *DescribeTrainingJobOutput) SetTrainingJobStatus(v string) *DescribeTrainingJobOutput { + s.TrainingJobStatus = &v + return s +} + +// SetTrainingStartTime sets the TrainingStartTime field's value. +func (s *DescribeTrainingJobOutput) SetTrainingStartTime(v time.Time) *DescribeTrainingJobOutput { + s.TrainingStartTime = &v + return s +} + +// SetTuningJobArn sets the TuningJobArn field's value. +func (s *DescribeTrainingJobOutput) SetTuningJobArn(v string) *DescribeTrainingJobOutput { + s.TuningJobArn = &v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *DescribeTrainingJobOutput) SetVpcConfig(v *VpcConfig) *DescribeTrainingJobOutput { + s.VpcConfig = v + return s +} + +type DescribeTransformJobInput struct { + _ struct{} `type:"structure"` + + // The name of the transform job that you want to view details of. + // + // TransformJobName is a required field + TransformJobName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeTransformJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTransformJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTransformJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTransformJobInput"} + if s.TransformJobName == nil { + invalidParams.Add(request.NewErrParamRequired("TransformJobName")) + } + if s.TransformJobName != nil && len(*s.TransformJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransformJobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTransformJobName sets the TransformJobName field's value. +func (s *DescribeTransformJobInput) SetTransformJobName(v string) *DescribeTransformJobInput { + s.TransformJobName = &v + return s +} + +type DescribeTransformJobOutput struct { + _ struct{} `type:"structure"` + + // If you want to include only one record in a batch, specify SingleRecord.. + // If you want batches to contain a maximum of the number of records specified + // in the MaxPayloadInMB parameter, specify MultiRecord.S + BatchStrategy *string `type:"string" enum:"BatchStrategy"` + + // A timestamp that shows when the transform Job was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + Environment map[string]*string `type:"map"` + + // If the transform job failed, the reason that it failed. + FailureReason *string `type:"string"` + + // The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling + // job that created the transform or training job. + LabelingJobArn *string `type:"string"` + + // The maximum number of parallel requests on each instance node that can be + // launched in a transform job. The default value is 1. + MaxConcurrentTransforms *int64 `type:"integer"` + + // The maximum payload size, in MB, used in the transform job. + MaxPayloadInMB *int64 `type:"integer"` + + // The name of the model used in the transform job. + // + // ModelName is a required field + ModelName *string `type:"string" required:"true"` + + // Indicates when the transform job has been completed, or has stopped or failed. + // You are billed for the time interval between this time and the value of TransformStartTime. + TransformEndTime *time.Time `type:"timestamp"` + + // Describes the dataset to be transformed and the Amazon S3 location where + // it is stored. + // + // TransformInput is a required field + TransformInput *TransformInput `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the transform job. + // + // TransformJobArn is a required field + TransformJobArn *string `type:"string" required:"true"` + + // The name of the transform job. + // + // TransformJobName is a required field + TransformJobName *string `min:"1" type:"string" required:"true"` + + // The status of the transform job. If the transform job failed, the reason + // is returned in the FailureReason field. + // + // TransformJobStatus is a required field + TransformJobStatus *string `type:"string" required:"true" enum:"TransformJobStatus"` + + // Identifies the Amazon S3 location where you want Amazon SageMaker to save + // the results from the transform job. + TransformOutput *TransformOutput `type:"structure"` + + // Describes the resources, including ML instance types and ML instance count, + // to use for the transform job. + // + // TransformResources is a required field + TransformResources *TransformResources `type:"structure" required:"true"` + + // Indicates when the transform job starts on ML instances. You are billed for + // the time interval between this time and the value of TransformEndTime. + TransformStartTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s DescribeTransformJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTransformJobOutput) GoString() string { + return s.String() +} + +// SetBatchStrategy sets the BatchStrategy field's value. +func (s *DescribeTransformJobOutput) SetBatchStrategy(v string) *DescribeTransformJobOutput { + s.BatchStrategy = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeTransformJobOutput) SetCreationTime(v time.Time) *DescribeTransformJobOutput { + s.CreationTime = &v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *DescribeTransformJobOutput) SetEnvironment(v map[string]*string) *DescribeTransformJobOutput { + s.Environment = v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DescribeTransformJobOutput) SetFailureReason(v string) *DescribeTransformJobOutput { + s.FailureReason = &v + return s +} + +// SetLabelingJobArn sets the LabelingJobArn field's value. +func (s *DescribeTransformJobOutput) SetLabelingJobArn(v string) *DescribeTransformJobOutput { + s.LabelingJobArn = &v + return s +} + +// SetMaxConcurrentTransforms sets the MaxConcurrentTransforms field's value. +func (s *DescribeTransformJobOutput) SetMaxConcurrentTransforms(v int64) *DescribeTransformJobOutput { + s.MaxConcurrentTransforms = &v + return s +} + +// SetMaxPayloadInMB sets the MaxPayloadInMB field's value. +func (s *DescribeTransformJobOutput) SetMaxPayloadInMB(v int64) *DescribeTransformJobOutput { + s.MaxPayloadInMB = &v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *DescribeTransformJobOutput) SetModelName(v string) *DescribeTransformJobOutput { + s.ModelName = &v + return s +} + +// SetTransformEndTime sets the TransformEndTime field's value. +func (s *DescribeTransformJobOutput) SetTransformEndTime(v time.Time) *DescribeTransformJobOutput { + s.TransformEndTime = &v + return s +} + +// SetTransformInput sets the TransformInput field's value. +func (s *DescribeTransformJobOutput) SetTransformInput(v *TransformInput) *DescribeTransformJobOutput { + s.TransformInput = v + return s +} + +// SetTransformJobArn sets the TransformJobArn field's value. +func (s *DescribeTransformJobOutput) SetTransformJobArn(v string) *DescribeTransformJobOutput { + s.TransformJobArn = &v + return s +} + +// SetTransformJobName sets the TransformJobName field's value. +func (s *DescribeTransformJobOutput) SetTransformJobName(v string) *DescribeTransformJobOutput { + s.TransformJobName = &v + return s +} + +// SetTransformJobStatus sets the TransformJobStatus field's value. +func (s *DescribeTransformJobOutput) SetTransformJobStatus(v string) *DescribeTransformJobOutput { + s.TransformJobStatus = &v + return s +} + +// SetTransformOutput sets the TransformOutput field's value. +func (s *DescribeTransformJobOutput) SetTransformOutput(v *TransformOutput) *DescribeTransformJobOutput { + s.TransformOutput = v + return s +} + +// SetTransformResources sets the TransformResources field's value. +func (s *DescribeTransformJobOutput) SetTransformResources(v *TransformResources) *DescribeTransformJobOutput { + s.TransformResources = v + return s +} + +// SetTransformStartTime sets the TransformStartTime field's value. +func (s *DescribeTransformJobOutput) SetTransformStartTime(v time.Time) *DescribeTransformJobOutput { + s.TransformStartTime = &v + return s +} + +type DescribeWorkteamInput struct { + _ struct{} `type:"structure"` + + // The name of the work team to return a description of. + // + // WorkteamName is a required field + WorkteamName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeWorkteamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeWorkteamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeWorkteamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeWorkteamInput"} + if s.WorkteamName == nil { + invalidParams.Add(request.NewErrParamRequired("WorkteamName")) + } + if s.WorkteamName != nil && len(*s.WorkteamName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkteamName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWorkteamName sets the WorkteamName field's value. +func (s *DescribeWorkteamInput) SetWorkteamName(v string) *DescribeWorkteamInput { + s.WorkteamName = &v + return s +} + +type DescribeWorkteamOutput struct { + _ struct{} `type:"structure"` + + // A Workteam instance that contains information about the work team. + // + // Workteam is a required field + Workteam *Workteam `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeWorkteamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeWorkteamOutput) GoString() string { + return s.String() +} + +// SetWorkteam sets the Workteam field's value. +func (s *DescribeWorkteamOutput) SetWorkteam(v *Workteam) *DescribeWorkteamOutput { + s.Workteam = v + return s +} + +// Specifies weight and capacity values for a production variant. +type DesiredWeightAndCapacity struct { + _ struct{} `type:"structure"` + + // The variant's capacity. + DesiredInstanceCount *int64 `min:"1" type:"integer"` + + // The variant's weight. + DesiredWeight *float64 `type:"float"` + + // The name of the variant to update. + // + // VariantName is a required field + VariantName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DesiredWeightAndCapacity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DesiredWeightAndCapacity) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DesiredWeightAndCapacity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DesiredWeightAndCapacity"} + if s.DesiredInstanceCount != nil && *s.DesiredInstanceCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("DesiredInstanceCount", 1)) + } + if s.VariantName == nil { + invalidParams.Add(request.NewErrParamRequired("VariantName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDesiredInstanceCount sets the DesiredInstanceCount field's value. +func (s *DesiredWeightAndCapacity) SetDesiredInstanceCount(v int64) *DesiredWeightAndCapacity { + s.DesiredInstanceCount = &v + return s +} + +// SetDesiredWeight sets the DesiredWeight field's value. +func (s *DesiredWeightAndCapacity) SetDesiredWeight(v float64) *DesiredWeightAndCapacity { + s.DesiredWeight = &v + return s +} + +// SetVariantName sets the VariantName field's value. +func (s *DesiredWeightAndCapacity) SetVariantName(v string) *DesiredWeightAndCapacity { + s.VariantName = &v + return s +} + +// Provides summary information for an endpoint configuration. +type EndpointConfigSummary struct { + _ struct{} `type:"structure"` + + // A timestamp that shows when the endpoint configuration was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) of the endpoint configuration. + // + // EndpointConfigArn is a required field + EndpointConfigArn *string `min:"20" type:"string" required:"true"` + + // The name of the endpoint configuration. + // + // EndpointConfigName is a required field + EndpointConfigName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s EndpointConfigSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EndpointConfigSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *EndpointConfigSummary) SetCreationTime(v time.Time) *EndpointConfigSummary { + s.CreationTime = &v + return s +} + +// SetEndpointConfigArn sets the EndpointConfigArn field's value. +func (s *EndpointConfigSummary) SetEndpointConfigArn(v string) *EndpointConfigSummary { + s.EndpointConfigArn = &v + return s +} + +// SetEndpointConfigName sets the EndpointConfigName field's value. +func (s *EndpointConfigSummary) SetEndpointConfigName(v string) *EndpointConfigSummary { + s.EndpointConfigName = &v + return s +} + +// Provides summary information for an endpoint. +type EndpointSummary struct { + _ struct{} `type:"structure"` + + // A timestamp that shows when the endpoint was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) of the endpoint. + // + // EndpointArn is a required field + EndpointArn *string `min:"20" type:"string" required:"true"` + + // The name of the endpoint. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` + + // The status of the endpoint. + // + // * OutOfService: Endpoint is not available to take incoming requests. + // + // * Creating: CreateEndpoint is executing. + // + // * Updating: UpdateEndpoint or UpdateEndpointWeightsAndCapacities is executing. + // + // * SystemUpdating: Endpoint is undergoing maintenance and cannot be updated + // or deleted or re-scaled until it has completed. This mainenance operation + // does not change any customer-specified values such as VPC config, KMS + // encryption, model, instance type, or instance count. + // + // * RollingBack: Endpoint fails to scale up or down or change its variant + // weight and is in the process of rolling back to its previous configuration. + // Once the rollback completes, endpoint returns to an InService status. + // This transitional status only applies to an endpoint that has autoscaling + // enabled and is undergoing variant weight or capacity changes as part of + // an UpdateEndpointWeightsAndCapacities call or when the UpdateEndpointWeightsAndCapacities + // operation is called explicitly. + // + // * InService: Endpoint is available to process incoming requests. + // + // * Deleting: DeleteEndpoint is executing. + // + // * Failed: Endpoint could not be created, updated, or re-scaled. Use DescribeEndpointOutput$FailureReason + // for information about the failure. DeleteEndpoint is the only operation + // that can be performed on a failed endpoint. + // + // To get a list of endpoints with a specified status, use the ListEndpointsInput$StatusEquals + // filter. + // + // EndpointStatus is a required field + EndpointStatus *string `type:"string" required:"true" enum:"EndpointStatus"` + + // A timestamp that shows when the endpoint was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s EndpointSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EndpointSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *EndpointSummary) SetCreationTime(v time.Time) *EndpointSummary { + s.CreationTime = &v + return s +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *EndpointSummary) SetEndpointArn(v string) *EndpointSummary { + s.EndpointArn = &v + return s +} + +// SetEndpointName sets the EndpointName field's value. +func (s *EndpointSummary) SetEndpointName(v string) *EndpointSummary { + s.EndpointName = &v + return s +} + +// SetEndpointStatus sets the EndpointStatus field's value. +func (s *EndpointSummary) SetEndpointStatus(v string) *EndpointSummary { + s.EndpointStatus = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *EndpointSummary) SetLastModifiedTime(v time.Time) *EndpointSummary { + s.LastModifiedTime = &v + return s +} + +// A conditional statement for a search expression that includes a Boolean operator, +// a resource property, and a value. +// +// If you don't specify an Operator and a Value, the filter searches for only +// the specified property. For example, defining a Filter for the FailureReason +// for the TrainingJobResource searches for training job objects that have a +// value in the FailureReason field. +// +// If you specify a Value, but not an Operator, Amazon SageMaker uses the equals +// operator as the default. +// +// In search, there are several property types: +// +// MetricsTo define a metric filter, enter a value using the form "Metrics.", +// where is a metric name. For example, the following filter searches +// for training jobs with an "accuracy" metric greater than "0.9": +// +// { +// +// "Name": "Metrics.accuracy", +// +// "Operator": "GREATER_THAN", +// +// "Value": "0.9" +// +// } +// +// HyperParametersTo define a hyperparameter filter, enter a value with the +// form "HyperParameters.". Decimal hyperparameter values are treated +// as a decimal in a comparison if the specified Value is also a decimal value. +// If the specified Value is an integer, the decimal hyperparameter values are +// treated as integers. For example, the following filter is satisfied by training +// jobs with a "learning_rate" hyperparameter that is less than "0.5": +// +// { +// +// "Name": "HyperParameters.learning_rate", +// +// "Operator": "LESS_THAN", +// +// "Value": "0.5" +// +// } +// +// TagsTo define a tag filter, enter a value with the form "Tags.". +type Filter struct { + _ struct{} `type:"structure"` + + // A property name. For example, TrainingJobName. For the list of valid property + // names returned in a search result for each supported resource, see TrainingJob + // properties. You must specify a valid property name for the resource. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A Boolean binary operator that is used to evaluate the filter. The operator + // field contains one of the following values: + // + // EqualsThe specified resource in Name equals the specified Value. + // + // NotEqualsThe specified resource in Name does not equal the specified Value. + // + // GreaterThanThe specified resource in Name is greater than the specified Value. + // Not supported for text-based properties. + // + // GreaterThanOrEqualToThe specified resource in Name is greater than or equal + // to the specified Value. Not supported for text-based properties. + // + // LessThanThe specified resource in Name is less than the specified Value. + // Not supported for text-based properties. + // + // LessThanOrEqualToThe specified resource in Name is less than or equal to + // the specified Value. Not supported for text-based properties. + // + // ContainsOnly supported for text-based properties. The word-list of the property + // contains the specified Value. + // + // If you have specified a filter Value, the default is Equals. + Operator *string `type:"string" enum:"Operator"` + + // A value used with Resource and Operator to determine if objects satisfy the + // filter's condition. For numerical properties, Value must be an integer or + // floating-point decimal. For timestamp properties, Value must be an ISO 8601 + // date-time string of the following format: YYYY-mm-dd'T'HH:MM:SS. + Value *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + 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.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *Filter) SetOperator(v string) *Filter { + s.Operator = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Filter) SetValue(v string) *Filter { + s.Value = &v + return s +} + +// Shows the final value for the objective metric for a training job that was +// launched by a hyperparameter tuning job. You define the objective metric +// in the HyperParameterTuningJobObjective parameter of HyperParameterTuningJobConfig. +type FinalHyperParameterTuningJobObjectiveMetric struct { + _ struct{} `type:"structure"` + + // The name of the objective metric. + // + // MetricName is a required field + MetricName *string `min:"1" type:"string" required:"true"` + + // Whether to minimize or maximize the objective metric. Valid values are Minimize + // and Maximize. + Type *string `type:"string" enum:"HyperParameterTuningJobObjectiveType"` + + // The value of the objective metric. + // + // Value is a required field + Value *float64 `type:"float" required:"true"` +} + +// String returns the string representation +func (s FinalHyperParameterTuningJobObjectiveMetric) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FinalHyperParameterTuningJobObjectiveMetric) GoString() string { + return s.String() +} + +// SetMetricName sets the MetricName field's value. +func (s *FinalHyperParameterTuningJobObjectiveMetric) SetMetricName(v string) *FinalHyperParameterTuningJobObjectiveMetric { + s.MetricName = &v + return s +} + +// SetType sets the Type field's value. +func (s *FinalHyperParameterTuningJobObjectiveMetric) SetType(v string) *FinalHyperParameterTuningJobObjectiveMetric { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *FinalHyperParameterTuningJobObjectiveMetric) SetValue(v float64) *FinalHyperParameterTuningJobObjectiveMetric { + s.Value = &v + return s +} + +type GetSearchSuggestionsInput struct { + _ struct{} `type:"structure"` + + // The name of the Amazon SageMaker resource to Search for. The only valid Resource + // value is TrainingJob. + // + // Resource is a required field + Resource *string `type:"string" required:"true" enum:"ResourceType"` + + // Limits the property names that are included in the response. + SuggestionQuery *SuggestionQuery `type:"structure"` +} + +// String returns the string representation +func (s GetSearchSuggestionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSearchSuggestionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSearchSuggestionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSearchSuggestionsInput"} + if s.Resource == nil { + invalidParams.Add(request.NewErrParamRequired("Resource")) + } + if s.SuggestionQuery != nil { + if err := s.SuggestionQuery.Validate(); err != nil { + invalidParams.AddNested("SuggestionQuery", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResource sets the Resource field's value. +func (s *GetSearchSuggestionsInput) SetResource(v string) *GetSearchSuggestionsInput { + s.Resource = &v + return s +} + +// SetSuggestionQuery sets the SuggestionQuery field's value. +func (s *GetSearchSuggestionsInput) SetSuggestionQuery(v *SuggestionQuery) *GetSearchSuggestionsInput { + s.SuggestionQuery = v + return s +} + +type GetSearchSuggestionsOutput struct { + _ struct{} `type:"structure"` + + // A list of property names for a Resource that match a SuggestionQuery. + PropertyNameSuggestions []*PropertyNameSuggestion `type:"list"` +} + +// String returns the string representation +func (s GetSearchSuggestionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSearchSuggestionsOutput) GoString() string { + return s.String() +} + +// SetPropertyNameSuggestions sets the PropertyNameSuggestions field's value. +func (s *GetSearchSuggestionsOutput) SetPropertyNameSuggestions(v []*PropertyNameSuggestion) *GetSearchSuggestionsOutput { + s.PropertyNameSuggestions = v + return s +} + +// Specifies configuration details for a Git repository in your AWS account. +type GitConfig struct { + _ struct{} `type:"structure"` + + // The default branch for the Git repository. + Branch *string `min:"1" type:"string"` + + // The URL where the Git repository is located. + // + // RepositoryUrl is a required field + RepositoryUrl *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains + // the credentials used to access the git repository. The secret must have a + // staging label of AWSCURRENT and must be in the following format: + // + // {"username": UserName, "password": Password} + SecretArn *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GitConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GitConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GitConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GitConfig"} + if s.Branch != nil && len(*s.Branch) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Branch", 1)) + } + if s.RepositoryUrl == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryUrl")) + } + if s.SecretArn != nil && len(*s.SecretArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecretArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBranch sets the Branch field's value. +func (s *GitConfig) SetBranch(v string) *GitConfig { + s.Branch = &v + return s +} + +// SetRepositoryUrl sets the RepositoryUrl field's value. +func (s *GitConfig) SetRepositoryUrl(v string) *GitConfig { + s.RepositoryUrl = &v + return s +} + +// SetSecretArn sets the SecretArn field's value. +func (s *GitConfig) SetSecretArn(v string) *GitConfig { + s.SecretArn = &v + return s +} + +// Specifies configuration details for a Git repository when the repository +// is updated. +type GitConfigForUpdate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains + // the credentials used to access the git repository. The secret must have a + // staging label of AWSCURRENT and must be in the following format: + // + // {"username": UserName, "password": Password} + SecretArn *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GitConfigForUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GitConfigForUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GitConfigForUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GitConfigForUpdate"} + if s.SecretArn != nil && len(*s.SecretArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecretArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSecretArn sets the SecretArn field's value. +func (s *GitConfigForUpdate) SetSecretArn(v string) *GitConfigForUpdate { + s.SecretArn = &v + return s +} + +// Information required for human workers to complete a labeling task. +type HumanTaskConfig struct { + _ struct{} `type:"structure"` + + // Configures how labels are consolidated across human workers. + // + // AnnotationConsolidationConfig is a required field + AnnotationConsolidationConfig *AnnotationConsolidationConfig `type:"structure" required:"true"` + + // Defines the maximum number of data objects that can be labeled by human workers + // at the same time. Each object may have more than one worker at one time. + MaxConcurrentTaskCount *int64 `min:"1" type:"integer"` + + // The number of human workers that will label an object. + // + // NumberOfHumanWorkersPerDataObject is a required field + NumberOfHumanWorkersPerDataObject *int64 `min:"1" type:"integer" required:"true"` + + // The Amazon Resource Name (ARN) of a Lambda function that is run before a + // data object is sent to a human worker. Use this function to provide input + // to a custom labeling job. + // + // For the built-in bounding box, image classification, semantic segmentation, + // and text classification task types, Amazon SageMaker Ground Truth provides + // the following Lambda functions: + // + // US East (Northern Virginia) (us-east-1): + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-BoundingBox + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClass + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-SemanticSegmentation + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass + // + // US East (Ohio) (us-east-2): + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-BoundingBox + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClass + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-SemanticSegmentation + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClass + // + // US West (Oregon) (us-west-2): + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-BoundingBox + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClass + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-SemanticSegmentation + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClass + // + // EU (Ireland) (eu-west-1): + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-BoundingBox + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClass + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-SemanticSegmentation + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClass + // + // Asia Pacific (Tokyo (ap-northeast-1): + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-BoundingBox + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClass + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-SemanticSegmentation + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClass + // + // PreHumanTaskLambdaArn is a required field + PreHumanTaskLambdaArn *string `type:"string" required:"true"` + + // The price that you pay for each task performed by a public worker. + PublicWorkforceTaskPrice *PublicWorkforceTaskPrice `type:"structure"` + + // The length of time that a task remains available for labelling by human workers. + TaskAvailabilityLifetimeInSeconds *int64 `min:"1" type:"integer"` + + // A description of the task for your human workers. + // + // TaskDescription is a required field + TaskDescription *string `min:"1" type:"string" required:"true"` + + // Keywords used to describe the task so that workers on Amazon Mechanical Turk + // can discover the task. + TaskKeywords []*string `min:"1" type:"list"` + + // The amount of time that a worker has to complete a task. + // + // TaskTimeLimitInSeconds is a required field + TaskTimeLimitInSeconds *int64 `min:"1" type:"integer" required:"true"` + + // A title for the task for your human workers. + // + // TaskTitle is a required field + TaskTitle *string `min:"1" type:"string" required:"true"` + + // Information about the user interface that workers use to complete the labeling + // task. + // + // UiConfig is a required field + UiConfig *UiConfig `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the work team assigned to complete the + // tasks. + // + // WorkteamArn is a required field + WorkteamArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s HumanTaskConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HumanTaskConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HumanTaskConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HumanTaskConfig"} + if s.AnnotationConsolidationConfig == nil { + invalidParams.Add(request.NewErrParamRequired("AnnotationConsolidationConfig")) + } + if s.MaxConcurrentTaskCount != nil && *s.MaxConcurrentTaskCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxConcurrentTaskCount", 1)) + } + if s.NumberOfHumanWorkersPerDataObject == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfHumanWorkersPerDataObject")) + } + if s.NumberOfHumanWorkersPerDataObject != nil && *s.NumberOfHumanWorkersPerDataObject < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumberOfHumanWorkersPerDataObject", 1)) + } + if s.PreHumanTaskLambdaArn == nil { + invalidParams.Add(request.NewErrParamRequired("PreHumanTaskLambdaArn")) + } + if s.TaskAvailabilityLifetimeInSeconds != nil && *s.TaskAvailabilityLifetimeInSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("TaskAvailabilityLifetimeInSeconds", 1)) + } + if s.TaskDescription == nil { + invalidParams.Add(request.NewErrParamRequired("TaskDescription")) + } + if s.TaskDescription != nil && len(*s.TaskDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TaskDescription", 1)) + } + if s.TaskKeywords != nil && len(s.TaskKeywords) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TaskKeywords", 1)) + } + if s.TaskTimeLimitInSeconds == nil { + invalidParams.Add(request.NewErrParamRequired("TaskTimeLimitInSeconds")) + } + if s.TaskTimeLimitInSeconds != nil && *s.TaskTimeLimitInSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("TaskTimeLimitInSeconds", 1)) + } + if s.TaskTitle == nil { + invalidParams.Add(request.NewErrParamRequired("TaskTitle")) + } + if s.TaskTitle != nil && len(*s.TaskTitle) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TaskTitle", 1)) + } + if s.UiConfig == nil { + invalidParams.Add(request.NewErrParamRequired("UiConfig")) + } + if s.WorkteamArn == nil { + invalidParams.Add(request.NewErrParamRequired("WorkteamArn")) + } + if s.AnnotationConsolidationConfig != nil { + if err := s.AnnotationConsolidationConfig.Validate(); err != nil { + invalidParams.AddNested("AnnotationConsolidationConfig", err.(request.ErrInvalidParams)) + } + } + if s.UiConfig != nil { + if err := s.UiConfig.Validate(); err != nil { + invalidParams.AddNested("UiConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnnotationConsolidationConfig sets the AnnotationConsolidationConfig field's value. +func (s *HumanTaskConfig) SetAnnotationConsolidationConfig(v *AnnotationConsolidationConfig) *HumanTaskConfig { + s.AnnotationConsolidationConfig = v + return s +} + +// SetMaxConcurrentTaskCount sets the MaxConcurrentTaskCount field's value. +func (s *HumanTaskConfig) SetMaxConcurrentTaskCount(v int64) *HumanTaskConfig { + s.MaxConcurrentTaskCount = &v + return s +} + +// SetNumberOfHumanWorkersPerDataObject sets the NumberOfHumanWorkersPerDataObject field's value. +func (s *HumanTaskConfig) SetNumberOfHumanWorkersPerDataObject(v int64) *HumanTaskConfig { + s.NumberOfHumanWorkersPerDataObject = &v + return s +} + +// SetPreHumanTaskLambdaArn sets the PreHumanTaskLambdaArn field's value. +func (s *HumanTaskConfig) SetPreHumanTaskLambdaArn(v string) *HumanTaskConfig { + s.PreHumanTaskLambdaArn = &v + return s +} + +// SetPublicWorkforceTaskPrice sets the PublicWorkforceTaskPrice field's value. +func (s *HumanTaskConfig) SetPublicWorkforceTaskPrice(v *PublicWorkforceTaskPrice) *HumanTaskConfig { + s.PublicWorkforceTaskPrice = v + return s +} + +// SetTaskAvailabilityLifetimeInSeconds sets the TaskAvailabilityLifetimeInSeconds field's value. +func (s *HumanTaskConfig) SetTaskAvailabilityLifetimeInSeconds(v int64) *HumanTaskConfig { + s.TaskAvailabilityLifetimeInSeconds = &v + return s +} + +// SetTaskDescription sets the TaskDescription field's value. +func (s *HumanTaskConfig) SetTaskDescription(v string) *HumanTaskConfig { + s.TaskDescription = &v + return s +} + +// SetTaskKeywords sets the TaskKeywords field's value. +func (s *HumanTaskConfig) SetTaskKeywords(v []*string) *HumanTaskConfig { + s.TaskKeywords = v + return s +} + +// SetTaskTimeLimitInSeconds sets the TaskTimeLimitInSeconds field's value. +func (s *HumanTaskConfig) SetTaskTimeLimitInSeconds(v int64) *HumanTaskConfig { + s.TaskTimeLimitInSeconds = &v + return s +} + +// SetTaskTitle sets the TaskTitle field's value. +func (s *HumanTaskConfig) SetTaskTitle(v string) *HumanTaskConfig { + s.TaskTitle = &v + return s +} + +// SetUiConfig sets the UiConfig field's value. +func (s *HumanTaskConfig) SetUiConfig(v *UiConfig) *HumanTaskConfig { + s.UiConfig = v + return s +} + +// SetWorkteamArn sets the WorkteamArn field's value. +func (s *HumanTaskConfig) SetWorkteamArn(v string) *HumanTaskConfig { + s.WorkteamArn = &v + return s +} + +// Specifies which training algorithm to use for training jobs that a hyperparameter +// tuning job launches and the metrics to monitor. +type HyperParameterAlgorithmSpecification struct { + _ struct{} `type:"structure"` + + // The name of the resource algorithm to use for the hyperparameter tuning job. + // If you specify a value for this parameter, do not specify a value for TrainingImage. + AlgorithmName *string `min:"1" type:"string"` + + // An array of MetricDefinition objects that specify the metrics that the algorithm + // emits. + MetricDefinitions []*MetricDefinition `type:"list"` + + // The registry path of the Docker image that contains the training algorithm. + // For information about Docker registry paths for built-in algorithms, see + // Algorithms Provided by Amazon SageMaker: Common Parameters (http://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html). + TrainingImage *string `type:"string"` + + // The input mode that the algorithm supports: File or Pipe. In File input mode, + // Amazon SageMaker downloads the training data from Amazon S3 to the storage + // volume that is attached to the training instance and mounts the directory + // to the Docker volume for the training container. In Pipe input mode, Amazon + // SageMaker streams data directly from Amazon S3 to the container. + // + // If you specify File mode, make sure that you provision the storage volume + // that is attached to the training instance with enough capacity to accommodate + // the training data downloaded from Amazon S3, the model artifacts, and intermediate + // information. + // + // For more information about input modes, see Algorithms (http://docs.aws.amazon.com/sagemaker/latest/dg/algos.html) + // + // TrainingInputMode is a required field + TrainingInputMode *string `type:"string" required:"true" enum:"TrainingInputMode"` +} + +// String returns the string representation +func (s HyperParameterAlgorithmSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HyperParameterAlgorithmSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HyperParameterAlgorithmSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HyperParameterAlgorithmSpecification"} + if s.AlgorithmName != nil && len(*s.AlgorithmName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlgorithmName", 1)) + } + if s.TrainingInputMode == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingInputMode")) + } + if s.MetricDefinitions != nil { + for i, v := range s.MetricDefinitions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricDefinitions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlgorithmName sets the AlgorithmName field's value. +func (s *HyperParameterAlgorithmSpecification) SetAlgorithmName(v string) *HyperParameterAlgorithmSpecification { + s.AlgorithmName = &v + return s +} + +// SetMetricDefinitions sets the MetricDefinitions field's value. +func (s *HyperParameterAlgorithmSpecification) SetMetricDefinitions(v []*MetricDefinition) *HyperParameterAlgorithmSpecification { + s.MetricDefinitions = v + return s +} + +// SetTrainingImage sets the TrainingImage field's value. +func (s *HyperParameterAlgorithmSpecification) SetTrainingImage(v string) *HyperParameterAlgorithmSpecification { + s.TrainingImage = &v + return s +} + +// SetTrainingInputMode sets the TrainingInputMode field's value. +func (s *HyperParameterAlgorithmSpecification) SetTrainingInputMode(v string) *HyperParameterAlgorithmSpecification { + s.TrainingInputMode = &v + return s +} + +// Defines a hyperparameter to be used by an algorithm. +type HyperParameterSpecification struct { + _ struct{} `type:"structure"` + + // The default value for this hyperparameter. If a default value is specified, + // a hyperparameter cannot be required. + DefaultValue *string `type:"string"` + + // A brief description of the hyperparameter. + Description *string `type:"string"` + + // Indicates whether this hyperparameter is required. + IsRequired *bool `type:"boolean"` + + // Indicates whether this hyperparameter is tunable in a hyperparameter tuning + // job. + IsTunable *bool `type:"boolean"` + + // The name of this hyperparameter. The name must be unique. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The allowed range for this hyperparameter. + Range *ParameterRange `type:"structure"` + + // The type of this hyperparameter. The valid types are Integer, Continuous, + // Categorical, and FreeText. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ParameterType"` +} + +// String returns the string representation +func (s HyperParameterSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HyperParameterSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HyperParameterSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HyperParameterSpecification"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Range != nil { + if err := s.Range.Validate(); err != nil { + invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *HyperParameterSpecification) SetDefaultValue(v string) *HyperParameterSpecification { + s.DefaultValue = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *HyperParameterSpecification) SetDescription(v string) *HyperParameterSpecification { + s.Description = &v + return s +} + +// SetIsRequired sets the IsRequired field's value. +func (s *HyperParameterSpecification) SetIsRequired(v bool) *HyperParameterSpecification { + s.IsRequired = &v + return s +} + +// SetIsTunable sets the IsTunable field's value. +func (s *HyperParameterSpecification) SetIsTunable(v bool) *HyperParameterSpecification { + s.IsTunable = &v + return s +} + +// SetName sets the Name field's value. +func (s *HyperParameterSpecification) SetName(v string) *HyperParameterSpecification { + s.Name = &v + return s +} + +// SetRange sets the Range field's value. +func (s *HyperParameterSpecification) SetRange(v *ParameterRange) *HyperParameterSpecification { + s.Range = v + return s +} + +// SetType sets the Type field's value. +func (s *HyperParameterSpecification) SetType(v string) *HyperParameterSpecification { + s.Type = &v + return s +} + +// Defines the training jobs launched by a hyperparameter tuning job. +type HyperParameterTrainingJobDefinition struct { + _ struct{} `type:"structure"` + + // The HyperParameterAlgorithmSpecification object that specifies the resource + // algorithm to use for the training jobs that the tuning job launches. + // + // AlgorithmSpecification is a required field + AlgorithmSpecification *HyperParameterAlgorithmSpecification `type:"structure" required:"true"` + + // To encrypt all communications between ML compute instances in distributed + // training, specify True. Encryption provides greater security for distributed + // training, but training take longer because of the additional communications + // between ML compute instances. + EnableInterContainerTrafficEncryption *bool `type:"boolean"` + + // Isolates the training container. No inbound or outbound network calls can + // be made, except for calls between peers within a training cluster for distributed + // training. If network isolation is used for training jobs that are configured + // to use a VPC, Amazon SageMaker downloads and uploads customer data and model + // artifacts through the specified VPC, but the training container does not + // have network access. + // + // The Semantic Segmentation built-in algorithm does not support network isolation. + EnableNetworkIsolation *bool `type:"boolean"` + + // An array of Channel objects that specify the input for the training jobs + // that the tuning job launches. + InputDataConfig []*Channel `min:"1" type:"list"` + + // Specifies the path to the Amazon S3 bucket where you store model artifacts + // from the training jobs that the tuning job launches. + // + // OutputDataConfig is a required field + OutputDataConfig *OutputDataConfig `type:"structure" required:"true"` + + // The resources, including the compute instances and storage volumes, to use + // for the training jobs that the tuning job launches. + // + // Storage volumes store model artifacts and incremental states. Training algorithms + // might also use storage volumes for scratch space. If you want Amazon SageMaker + // to use the storage volume to store the training data, choose File as the + // TrainingInputMode in the algorithm specification. For distributed training + // algorithms, specify an instance count greater than 1. + // + // ResourceConfig is a required field + ResourceConfig *ResourceConfig `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the IAM role associated with the training + // jobs that the tuning job launches. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // Specifies the values of hyperparameters that do not change for the tuning + // job. + StaticHyperParameters map[string]*string `type:"map"` + + // Sets a maximum duration for the training jobs that the tuning job launches. + // Use this parameter to limit model training costs. + // + // To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal. This + // delays job termination for 120 seconds. Algorithms might use this 120-second + // window to save the model artifacts. + // + // When Amazon SageMaker terminates a job because the stopping condition has + // been met, training algorithms provided by Amazon SageMaker save the intermediate + // results of the job. + // + // StoppingCondition is a required field + StoppingCondition *StoppingCondition `type:"structure" required:"true"` + + // The VpcConfig object that specifies the VPC that you want the training jobs + // that this hyperparameter tuning job launches to connect to. Control access + // to and from your training container by configuring the VPC. For more information, + // see Protect Training Jobs by Using an Amazon Virtual Private Cloud (http://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html). + VpcConfig *VpcConfig `type:"structure"` +} + +// String returns the string representation +func (s HyperParameterTrainingJobDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HyperParameterTrainingJobDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HyperParameterTrainingJobDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HyperParameterTrainingJobDefinition"} + if s.AlgorithmSpecification == nil { + invalidParams.Add(request.NewErrParamRequired("AlgorithmSpecification")) + } + if s.InputDataConfig != nil && len(s.InputDataConfig) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputDataConfig", 1)) + } + if s.OutputDataConfig == nil { + invalidParams.Add(request.NewErrParamRequired("OutputDataConfig")) + } + if s.ResourceConfig == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceConfig")) + } + 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.StoppingCondition == nil { + invalidParams.Add(request.NewErrParamRequired("StoppingCondition")) + } + if s.AlgorithmSpecification != nil { + if err := s.AlgorithmSpecification.Validate(); err != nil { + invalidParams.AddNested("AlgorithmSpecification", err.(request.ErrInvalidParams)) + } + } + if s.InputDataConfig != nil { + for i, v := range s.InputDataConfig { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputDataConfig", i), err.(request.ErrInvalidParams)) + } + } + } + if s.OutputDataConfig != nil { + if err := s.OutputDataConfig.Validate(); err != nil { + invalidParams.AddNested("OutputDataConfig", err.(request.ErrInvalidParams)) + } + } + if s.ResourceConfig != nil { + if err := s.ResourceConfig.Validate(); err != nil { + invalidParams.AddNested("ResourceConfig", err.(request.ErrInvalidParams)) + } + } + if s.StoppingCondition != nil { + if err := s.StoppingCondition.Validate(); err != nil { + invalidParams.AddNested("StoppingCondition", err.(request.ErrInvalidParams)) + } + } + if s.VpcConfig != nil { + if err := s.VpcConfig.Validate(); err != nil { + invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlgorithmSpecification sets the AlgorithmSpecification field's value. +func (s *HyperParameterTrainingJobDefinition) SetAlgorithmSpecification(v *HyperParameterAlgorithmSpecification) *HyperParameterTrainingJobDefinition { + s.AlgorithmSpecification = v + return s +} + +// SetEnableInterContainerTrafficEncryption sets the EnableInterContainerTrafficEncryption field's value. +func (s *HyperParameterTrainingJobDefinition) SetEnableInterContainerTrafficEncryption(v bool) *HyperParameterTrainingJobDefinition { + s.EnableInterContainerTrafficEncryption = &v + return s +} + +// SetEnableNetworkIsolation sets the EnableNetworkIsolation field's value. +func (s *HyperParameterTrainingJobDefinition) SetEnableNetworkIsolation(v bool) *HyperParameterTrainingJobDefinition { + s.EnableNetworkIsolation = &v + return s +} + +// SetInputDataConfig sets the InputDataConfig field's value. +func (s *HyperParameterTrainingJobDefinition) SetInputDataConfig(v []*Channel) *HyperParameterTrainingJobDefinition { + s.InputDataConfig = v + return s +} + +// SetOutputDataConfig sets the OutputDataConfig field's value. +func (s *HyperParameterTrainingJobDefinition) SetOutputDataConfig(v *OutputDataConfig) *HyperParameterTrainingJobDefinition { + s.OutputDataConfig = v + return s +} + +// SetResourceConfig sets the ResourceConfig field's value. +func (s *HyperParameterTrainingJobDefinition) SetResourceConfig(v *ResourceConfig) *HyperParameterTrainingJobDefinition { + s.ResourceConfig = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *HyperParameterTrainingJobDefinition) SetRoleArn(v string) *HyperParameterTrainingJobDefinition { + s.RoleArn = &v + return s +} + +// SetStaticHyperParameters sets the StaticHyperParameters field's value. +func (s *HyperParameterTrainingJobDefinition) SetStaticHyperParameters(v map[string]*string) *HyperParameterTrainingJobDefinition { + s.StaticHyperParameters = v + return s +} + +// SetStoppingCondition sets the StoppingCondition field's value. +func (s *HyperParameterTrainingJobDefinition) SetStoppingCondition(v *StoppingCondition) *HyperParameterTrainingJobDefinition { + s.StoppingCondition = v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *HyperParameterTrainingJobDefinition) SetVpcConfig(v *VpcConfig) *HyperParameterTrainingJobDefinition { + s.VpcConfig = v + return s +} + +// Specifies summary information about a training job. +type HyperParameterTrainingJobSummary struct { + _ struct{} `type:"structure"` + + // The date and time that the training job was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // The reason that the training job failed. + FailureReason *string `type:"string"` + + // The FinalHyperParameterTuningJobObjectiveMetric object that specifies the + // value of the objective metric of the tuning job that launched this training + // job. + FinalHyperParameterTuningJobObjectiveMetric *FinalHyperParameterTuningJobObjectiveMetric `type:"structure"` + + // The status of the objective metric for the training job: + // + // * Succeeded: The final objective metric for the training job was evaluated + // by the hyperparameter tuning job and used in the hyperparameter tuning + // process. + // + // * Pending: The training job is in progress and evaluation of its final + // objective metric is pending. + // + // * Failed: The final objective metric for the training job was not evaluated, + // and was not used in the hyperparameter tuning process. This typically + // occurs when the training job failed or did not emit an objective metric. + ObjectiveStatus *string `type:"string" enum:"ObjectiveStatus"` + + // Specifies the time when the training job ends on training instances. You + // are billed for the time interval between the value of TrainingStartTime and + // this time. For successful jobs and stopped jobs, this is the time after model + // artifacts are uploaded. For failed jobs, this is the time when Amazon SageMaker + // detects a job failure. + TrainingEndTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the training job. + // + // TrainingJobArn is a required field + TrainingJobArn *string `type:"string" required:"true"` + + // The name of the training job. + // + // TrainingJobName is a required field + TrainingJobName *string `min:"1" type:"string" required:"true"` + + // The status of the training job. + // + // TrainingJobStatus is a required field + TrainingJobStatus *string `type:"string" required:"true" enum:"TrainingJobStatus"` + + // The date and time that the training job started. + TrainingStartTime *time.Time `type:"timestamp"` + + // A list of the hyperparameters for which you specified ranges to search. + // + // TunedHyperParameters is a required field + TunedHyperParameters map[string]*string `type:"map" required:"true"` + + // The HyperParameter tuning job that launched the training job. + TuningJobName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s HyperParameterTrainingJobSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HyperParameterTrainingJobSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *HyperParameterTrainingJobSummary) SetCreationTime(v time.Time) *HyperParameterTrainingJobSummary { + s.CreationTime = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *HyperParameterTrainingJobSummary) SetFailureReason(v string) *HyperParameterTrainingJobSummary { + s.FailureReason = &v + return s +} + +// SetFinalHyperParameterTuningJobObjectiveMetric sets the FinalHyperParameterTuningJobObjectiveMetric field's value. +func (s *HyperParameterTrainingJobSummary) SetFinalHyperParameterTuningJobObjectiveMetric(v *FinalHyperParameterTuningJobObjectiveMetric) *HyperParameterTrainingJobSummary { + s.FinalHyperParameterTuningJobObjectiveMetric = v + return s +} + +// SetObjectiveStatus sets the ObjectiveStatus field's value. +func (s *HyperParameterTrainingJobSummary) SetObjectiveStatus(v string) *HyperParameterTrainingJobSummary { + s.ObjectiveStatus = &v + return s +} + +// SetTrainingEndTime sets the TrainingEndTime field's value. +func (s *HyperParameterTrainingJobSummary) SetTrainingEndTime(v time.Time) *HyperParameterTrainingJobSummary { + s.TrainingEndTime = &v + return s +} + +// SetTrainingJobArn sets the TrainingJobArn field's value. +func (s *HyperParameterTrainingJobSummary) SetTrainingJobArn(v string) *HyperParameterTrainingJobSummary { + s.TrainingJobArn = &v + return s +} + +// SetTrainingJobName sets the TrainingJobName field's value. +func (s *HyperParameterTrainingJobSummary) SetTrainingJobName(v string) *HyperParameterTrainingJobSummary { + s.TrainingJobName = &v + return s +} + +// SetTrainingJobStatus sets the TrainingJobStatus field's value. +func (s *HyperParameterTrainingJobSummary) SetTrainingJobStatus(v string) *HyperParameterTrainingJobSummary { + s.TrainingJobStatus = &v + return s +} + +// SetTrainingStartTime sets the TrainingStartTime field's value. +func (s *HyperParameterTrainingJobSummary) SetTrainingStartTime(v time.Time) *HyperParameterTrainingJobSummary { + s.TrainingStartTime = &v + return s +} + +// SetTunedHyperParameters sets the TunedHyperParameters field's value. +func (s *HyperParameterTrainingJobSummary) SetTunedHyperParameters(v map[string]*string) *HyperParameterTrainingJobSummary { + s.TunedHyperParameters = v + return s +} + +// SetTuningJobName sets the TuningJobName field's value. +func (s *HyperParameterTrainingJobSummary) SetTuningJobName(v string) *HyperParameterTrainingJobSummary { + s.TuningJobName = &v + return s +} + +// Configures a hyperparameter tuning job. +type HyperParameterTuningJobConfig struct { + _ struct{} `type:"structure"` + + // The HyperParameterTuningJobObjective object that specifies the objective + // metric for this tuning job. + // + // HyperParameterTuningJobObjective is a required field + HyperParameterTuningJobObjective *HyperParameterTuningJobObjective `type:"structure" required:"true"` + + // The ParameterRanges object that specifies the ranges of hyperparameters that + // this tuning job searches. + // + // ParameterRanges is a required field + ParameterRanges *ParameterRanges `type:"structure" required:"true"` + + // The ResourceLimits object that specifies the maximum number of training jobs + // and parallel training jobs for this tuning job. + // + // ResourceLimits is a required field + ResourceLimits *ResourceLimits `type:"structure" required:"true"` + + // Specifies the search strategy for hyperparameters. Currently, the only valid + // value is Bayesian. + // + // Strategy is a required field + Strategy *string `type:"string" required:"true" enum:"HyperParameterTuningJobStrategyType"` + + // Specifies whether to use early stopping for training jobs launched by the + // hyperparameter tuning job. This can be one of the following values (the default + // value is OFF): + // + // OFFTraining jobs launched by the hyperparameter tuning job do not use early + // stopping. + // + // AUTOAmazon SageMaker stops training jobs launched by the hyperparameter tuning + // job when they are unlikely to perform better than previously completed training + // jobs. For more information, see Stop Training Jobs Early (http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-early-stopping.html). + TrainingJobEarlyStoppingType *string `type:"string" enum:"TrainingJobEarlyStoppingType"` +} + +// String returns the string representation +func (s HyperParameterTuningJobConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HyperParameterTuningJobConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HyperParameterTuningJobConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HyperParameterTuningJobConfig"} + if s.HyperParameterTuningJobObjective == nil { + invalidParams.Add(request.NewErrParamRequired("HyperParameterTuningJobObjective")) + } + if s.ParameterRanges == nil { + invalidParams.Add(request.NewErrParamRequired("ParameterRanges")) + } + if s.ResourceLimits == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceLimits")) + } + if s.Strategy == nil { + invalidParams.Add(request.NewErrParamRequired("Strategy")) + } + if s.HyperParameterTuningJobObjective != nil { + if err := s.HyperParameterTuningJobObjective.Validate(); err != nil { + invalidParams.AddNested("HyperParameterTuningJobObjective", err.(request.ErrInvalidParams)) + } + } + if s.ParameterRanges != nil { + if err := s.ParameterRanges.Validate(); err != nil { + invalidParams.AddNested("ParameterRanges", err.(request.ErrInvalidParams)) + } + } + if s.ResourceLimits != nil { + if err := s.ResourceLimits.Validate(); err != nil { + invalidParams.AddNested("ResourceLimits", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHyperParameterTuningJobObjective sets the HyperParameterTuningJobObjective field's value. +func (s *HyperParameterTuningJobConfig) SetHyperParameterTuningJobObjective(v *HyperParameterTuningJobObjective) *HyperParameterTuningJobConfig { + s.HyperParameterTuningJobObjective = v + return s +} + +// SetParameterRanges sets the ParameterRanges field's value. +func (s *HyperParameterTuningJobConfig) SetParameterRanges(v *ParameterRanges) *HyperParameterTuningJobConfig { + s.ParameterRanges = v + return s +} + +// SetResourceLimits sets the ResourceLimits field's value. +func (s *HyperParameterTuningJobConfig) SetResourceLimits(v *ResourceLimits) *HyperParameterTuningJobConfig { + s.ResourceLimits = v + return s +} + +// SetStrategy sets the Strategy field's value. +func (s *HyperParameterTuningJobConfig) SetStrategy(v string) *HyperParameterTuningJobConfig { + s.Strategy = &v + return s +} + +// SetTrainingJobEarlyStoppingType sets the TrainingJobEarlyStoppingType field's value. +func (s *HyperParameterTuningJobConfig) SetTrainingJobEarlyStoppingType(v string) *HyperParameterTuningJobConfig { + s.TrainingJobEarlyStoppingType = &v + return s +} + +// Defines the objective metric for a hyperparameter tuning job. Hyperparameter +// tuning uses the value of this metric to evaluate the training jobs it launches, +// and returns the training job that results in either the highest or lowest +// value for this metric, depending on the value you specify for the Type parameter. +type HyperParameterTuningJobObjective struct { + _ struct{} `type:"structure"` + + // The name of the metric to use for the objective metric. + // + // MetricName is a required field + MetricName *string `min:"1" type:"string" required:"true"` + + // Whether to minimize or maximize the objective metric. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"HyperParameterTuningJobObjectiveType"` +} + +// String returns the string representation +func (s HyperParameterTuningJobObjective) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HyperParameterTuningJobObjective) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HyperParameterTuningJobObjective) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HyperParameterTuningJobObjective"} + if s.MetricName == nil { + invalidParams.Add(request.NewErrParamRequired("MetricName")) + } + if s.MetricName != nil && len(*s.MetricName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMetricName sets the MetricName field's value. +func (s *HyperParameterTuningJobObjective) SetMetricName(v string) *HyperParameterTuningJobObjective { + s.MetricName = &v + return s +} + +// SetType sets the Type field's value. +func (s *HyperParameterTuningJobObjective) SetType(v string) *HyperParameterTuningJobObjective { + s.Type = &v + return s +} + +// Provides summary information about a hyperparameter tuning job. +type HyperParameterTuningJobSummary struct { + _ struct{} `type:"structure"` + + // The date and time that the tuning job was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // The date and time that the tuning job ended. + HyperParameterTuningEndTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the tuning job. + // + // HyperParameterTuningJobArn is a required field + HyperParameterTuningJobArn *string `type:"string" required:"true"` + + // The name of the tuning job. + // + // HyperParameterTuningJobName is a required field + HyperParameterTuningJobName *string `min:"1" type:"string" required:"true"` + + // The status of the tuning job. + // + // HyperParameterTuningJobStatus is a required field + HyperParameterTuningJobStatus *string `type:"string" required:"true" enum:"HyperParameterTuningJobStatus"` + + // The date and time that the tuning job was modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // The ObjectiveStatusCounters object that specifies the numbers of training + // jobs, categorized by objective metric status, that this tuning job launched. + // + // ObjectiveStatusCounters is a required field + ObjectiveStatusCounters *ObjectiveStatusCounters `type:"structure" required:"true"` + + // The ResourceLimits object that specifies the maximum number of training jobs + // and parallel training jobs allowed for this tuning job. + ResourceLimits *ResourceLimits `type:"structure"` + + // Specifies the search strategy hyperparameter tuning uses to choose which + // hyperparameters to use for each iteration. Currently, the only valid value + // is Bayesian. + // + // Strategy is a required field + Strategy *string `type:"string" required:"true" enum:"HyperParameterTuningJobStrategyType"` + + // The TrainingJobStatusCounters object that specifies the numbers of training + // jobs, categorized by status, that this tuning job launched. + // + // TrainingJobStatusCounters is a required field + TrainingJobStatusCounters *TrainingJobStatusCounters `type:"structure" required:"true"` +} + +// String returns the string representation +func (s HyperParameterTuningJobSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HyperParameterTuningJobSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *HyperParameterTuningJobSummary) SetCreationTime(v time.Time) *HyperParameterTuningJobSummary { + s.CreationTime = &v + return s +} + +// SetHyperParameterTuningEndTime sets the HyperParameterTuningEndTime field's value. +func (s *HyperParameterTuningJobSummary) SetHyperParameterTuningEndTime(v time.Time) *HyperParameterTuningJobSummary { + s.HyperParameterTuningEndTime = &v + return s +} + +// SetHyperParameterTuningJobArn sets the HyperParameterTuningJobArn field's value. +func (s *HyperParameterTuningJobSummary) SetHyperParameterTuningJobArn(v string) *HyperParameterTuningJobSummary { + s.HyperParameterTuningJobArn = &v + return s +} + +// SetHyperParameterTuningJobName sets the HyperParameterTuningJobName field's value. +func (s *HyperParameterTuningJobSummary) SetHyperParameterTuningJobName(v string) *HyperParameterTuningJobSummary { + s.HyperParameterTuningJobName = &v + return s +} + +// SetHyperParameterTuningJobStatus sets the HyperParameterTuningJobStatus field's value. +func (s *HyperParameterTuningJobSummary) SetHyperParameterTuningJobStatus(v string) *HyperParameterTuningJobSummary { + s.HyperParameterTuningJobStatus = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *HyperParameterTuningJobSummary) SetLastModifiedTime(v time.Time) *HyperParameterTuningJobSummary { + s.LastModifiedTime = &v + return s +} + +// SetObjectiveStatusCounters sets the ObjectiveStatusCounters field's value. +func (s *HyperParameterTuningJobSummary) SetObjectiveStatusCounters(v *ObjectiveStatusCounters) *HyperParameterTuningJobSummary { + s.ObjectiveStatusCounters = v + return s +} + +// SetResourceLimits sets the ResourceLimits field's value. +func (s *HyperParameterTuningJobSummary) SetResourceLimits(v *ResourceLimits) *HyperParameterTuningJobSummary { + s.ResourceLimits = v + return s +} + +// SetStrategy sets the Strategy field's value. +func (s *HyperParameterTuningJobSummary) SetStrategy(v string) *HyperParameterTuningJobSummary { + s.Strategy = &v + return s +} + +// SetTrainingJobStatusCounters sets the TrainingJobStatusCounters field's value. +func (s *HyperParameterTuningJobSummary) SetTrainingJobStatusCounters(v *TrainingJobStatusCounters) *HyperParameterTuningJobSummary { + s.TrainingJobStatusCounters = v + return s +} + +// Specifies the configuration for a hyperparameter tuning job that uses one +// or more previous hyperparameter tuning jobs as a starting point. The results +// of previous tuning jobs are used to inform which combinations of hyperparameters +// to search over in the new tuning job. +// +// All training jobs launched by the new hyperparameter tuning job are evaluated +// by using the objective metric, and the training job that performs the best +// is compared to the best training jobs from the parent tuning jobs. From these, +// the training job that performs the best as measured by the objective metric +// is returned as the overall best training job. +// +// All training jobs launched by parent hyperparameter tuning jobs and the new +// hyperparameter tuning jobs count against the limit of training jobs for the +// tuning job. +type HyperParameterTuningJobWarmStartConfig struct { + _ struct{} `type:"structure"` + + // An array of hyperparameter tuning jobs that are used as the starting point + // for the new hyperparameter tuning job. For more information about warm starting + // a hyperparameter tuning job, see Using a Previous Hyperparameter Tuning Job + // as a Starting Point (http://docs.aws.amazon.com/automatic-model-tuning-incremental). + // + // Hyperparameter tuning jobs created before October 1, 2018 cannot be used + // as parent jobs for warm start tuning jobs. + // + // ParentHyperParameterTuningJobs is a required field + ParentHyperParameterTuningJobs []*ParentHyperParameterTuningJob `min:"1" type:"list" required:"true"` + + // Specifies one of the following: + // + // IDENTICAL_DATA_AND_ALGORITHMThe new hyperparameter tuning job uses the same + // input data and training image as the parent tuning jobs. You can change the + // hyperparameter ranges to search and the maximum number of training jobs that + // the hyperparameter tuning job launches. You cannot use a new version of the + // training algorithm, unless the changes in the new version do not affect the + // algorithm itself. For example, changes that improve logging or adding support + // for a different data format are allowed. You can also change hyperparameters + // from tunable to static, and from static to tunable, but the total number + // of static plus tunable hyperparameters must remain the same as it is in all + // parent jobs. The objective metric for the new tuning job must be the same + // as for all parent jobs. + // + // TRANSFER_LEARNINGThe new hyperparameter tuning job can include input data, + // hyperparameter ranges, maximum number of concurrent training jobs, and maximum + // number of training jobs that are different than those of its parent hyperparameter + // tuning jobs. The training image can also be a different version from the + // version used in the parent hyperparameter tuning job. You can also change + // hyperparameters from tunable to static, and from static to tunable, but the + // total number of static plus tunable hyperparameters must remain the same + // as it is in all parent jobs. The objective metric for the new tuning job + // must be the same as for all parent jobs. + // + // WarmStartType is a required field + WarmStartType *string `type:"string" required:"true" enum:"HyperParameterTuningJobWarmStartType"` +} + +// String returns the string representation +func (s HyperParameterTuningJobWarmStartConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HyperParameterTuningJobWarmStartConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HyperParameterTuningJobWarmStartConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HyperParameterTuningJobWarmStartConfig"} + if s.ParentHyperParameterTuningJobs == nil { + invalidParams.Add(request.NewErrParamRequired("ParentHyperParameterTuningJobs")) + } + if s.ParentHyperParameterTuningJobs != nil && len(s.ParentHyperParameterTuningJobs) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ParentHyperParameterTuningJobs", 1)) + } + if s.WarmStartType == nil { + invalidParams.Add(request.NewErrParamRequired("WarmStartType")) + } + if s.ParentHyperParameterTuningJobs != nil { + for i, v := range s.ParentHyperParameterTuningJobs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParentHyperParameterTuningJobs", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetParentHyperParameterTuningJobs sets the ParentHyperParameterTuningJobs field's value. +func (s *HyperParameterTuningJobWarmStartConfig) SetParentHyperParameterTuningJobs(v []*ParentHyperParameterTuningJob) *HyperParameterTuningJobWarmStartConfig { + s.ParentHyperParameterTuningJobs = v + return s +} + +// SetWarmStartType sets the WarmStartType field's value. +func (s *HyperParameterTuningJobWarmStartConfig) SetWarmStartType(v string) *HyperParameterTuningJobWarmStartConfig { + s.WarmStartType = &v + return s +} + +// Defines how to perform inference generation after a training job is run. +type InferenceSpecification struct { + _ struct{} `type:"structure"` + + // The Amazon ECR registry path of the Docker image that contains the inference + // code. + // + // Containers is a required field + Containers []*ModelPackageContainerDefinition `min:"1" type:"list" required:"true"` + + // The supported MIME types for the input data. + // + // SupportedContentTypes is a required field + SupportedContentTypes []*string `type:"list" required:"true"` + + // A list of the instance types that are used to generate inferences in real-time. + // + // SupportedRealtimeInferenceInstanceTypes is a required field + SupportedRealtimeInferenceInstanceTypes []*string `type:"list" required:"true"` + + // The supported MIME types for the output data. + // + // SupportedResponseMIMETypes is a required field + SupportedResponseMIMETypes []*string `type:"list" required:"true"` + + // A list of the instance types on which a transformation job can be run or + // on which an endpoint can be deployed. + // + // SupportedTransformInstanceTypes is a required field + SupportedTransformInstanceTypes []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s InferenceSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InferenceSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InferenceSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InferenceSpecification"} + if s.Containers == nil { + invalidParams.Add(request.NewErrParamRequired("Containers")) + } + if s.Containers != nil && len(s.Containers) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Containers", 1)) + } + if s.SupportedContentTypes == nil { + invalidParams.Add(request.NewErrParamRequired("SupportedContentTypes")) + } + if s.SupportedRealtimeInferenceInstanceTypes == nil { + invalidParams.Add(request.NewErrParamRequired("SupportedRealtimeInferenceInstanceTypes")) + } + if s.SupportedResponseMIMETypes == nil { + invalidParams.Add(request.NewErrParamRequired("SupportedResponseMIMETypes")) + } + if s.SupportedTransformInstanceTypes == nil { + invalidParams.Add(request.NewErrParamRequired("SupportedTransformInstanceTypes")) + } + if s.SupportedTransformInstanceTypes != nil && len(s.SupportedTransformInstanceTypes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SupportedTransformInstanceTypes", 1)) + } + if s.Containers != nil { + for i, v := range s.Containers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Containers", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainers sets the Containers field's value. +func (s *InferenceSpecification) SetContainers(v []*ModelPackageContainerDefinition) *InferenceSpecification { + s.Containers = v + return s +} + +// SetSupportedContentTypes sets the SupportedContentTypes field's value. +func (s *InferenceSpecification) SetSupportedContentTypes(v []*string) *InferenceSpecification { + s.SupportedContentTypes = v + return s +} + +// SetSupportedRealtimeInferenceInstanceTypes sets the SupportedRealtimeInferenceInstanceTypes field's value. +func (s *InferenceSpecification) SetSupportedRealtimeInferenceInstanceTypes(v []*string) *InferenceSpecification { + s.SupportedRealtimeInferenceInstanceTypes = v + return s +} + +// SetSupportedResponseMIMETypes sets the SupportedResponseMIMETypes field's value. +func (s *InferenceSpecification) SetSupportedResponseMIMETypes(v []*string) *InferenceSpecification { + s.SupportedResponseMIMETypes = v + return s +} + +// SetSupportedTransformInstanceTypes sets the SupportedTransformInstanceTypes field's value. +func (s *InferenceSpecification) SetSupportedTransformInstanceTypes(v []*string) *InferenceSpecification { + s.SupportedTransformInstanceTypes = v + return s +} + +// Contains information about the location of input model artifacts, the name +// and shape of the expected data inputs, and the framework in which the model +// was trained. +type InputConfig struct { + _ struct{} `type:"structure"` + + // Specifies the name and shape of the expected data inputs for your trained + // model with a JSON dictionary form. The data inputs are InputConfig$Framework + // specific. + // + // * TensorFlow: You must specify the name and shape (NHWC format) of the + // expected data inputs using a dictionary format for your trained model. + // The dictionary formats required for the console and CLI are different. + // + // Examples for one input: + // + // If using the console, {"input":[1,1024,1024,3]} + // + // If using the CLI, {\"input\":[1,1024,1024,3]} + // + // Examples for two inputs: + // + // If using the console, {"data1": [1,28,28,1], "data2":[1,28,28,1]} + // + // If using the CLI, {\"data1\": [1,28,28,1], \"data2\":[1,28,28,1]} + // + // * MXNET/ONNX: You must specify the name and shape (NCHW format) of the + // expected data inputs in order using a dictionary format for your trained + // model. The dictionary formats required for the console and CLI are different. + // + // Examples for one input: + // + // If using the console, {"data":[1,3,1024,1024]} + // + // If using the CLI, {\"data\":[1,3,1024,1024]} + // + // Examples for two inputs: + // + // If using the console, {"var1": [1,1,28,28], "var2":[1,1,28,28]} + // + // If using the CLI, {\"var1\": [1,1,28,28], \"var2\":[1,1,28,28]} + // + // * PyTorch: You can either specify the name and shape (NCHW format) of + // expected data inputs in order using a dictionary format for your trained + // model or you can specify the shape only using a list format. The dictionary + // formats required for the console and CLI are different. The list formats + // for the console and CLI are the same. + // + // Examples for one input in dictionary format: + // + // If using the console, {"input0":[1,3,224,224]} + // + // If using the CLI, {\"input0\":[1,3,224,224]} + // + // Example for one input in list format: [[1,3,224,224]] + // + // Examples for two inputs in dictionary format: + // + // If using the console, {"input0":[1,3,224,224], "input1":[1,3,224,224]} + // + // If using the CLI, {\"input0\":[1,3,224,224], \"input1\":[1,3,224,224]} + // + // Example for two inputs in list format: [[1,3,224,224], [1,3,224,224]] + // + // * XGBOOST: input data name and shape are not needed. + // + // DataInputConfig is a required field + DataInputConfig *string `min:"1" type:"string" required:"true"` + + // Identifies the framework in which the model was trained. For example: TENSORFLOW. + // + // Framework is a required field + Framework *string `type:"string" required:"true" enum:"Framework"` + + // The S3 path where the model artifacts, which result from model training, + // are stored. This path must point to a single gzip compressed tar archive + // (.tar.gz suffix). + // + // S3Uri is a required field + S3Uri *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s InputConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputConfig"} + if s.DataInputConfig == nil { + invalidParams.Add(request.NewErrParamRequired("DataInputConfig")) + } + if s.DataInputConfig != nil && len(*s.DataInputConfig) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataInputConfig", 1)) + } + if s.Framework == nil { + invalidParams.Add(request.NewErrParamRequired("Framework")) + } + if s.S3Uri == nil { + invalidParams.Add(request.NewErrParamRequired("S3Uri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataInputConfig sets the DataInputConfig field's value. +func (s *InputConfig) SetDataInputConfig(v string) *InputConfig { + s.DataInputConfig = &v + return s +} + +// SetFramework sets the Framework field's value. +func (s *InputConfig) SetFramework(v string) *InputConfig { + s.Framework = &v + return s +} + +// SetS3Uri sets the S3Uri field's value. +func (s *InputConfig) SetS3Uri(v string) *InputConfig { + s.S3Uri = &v + return s +} + +// For a hyperparameter of the integer type, specifies the range that a hyperparameter +// tuning job searches. +type IntegerParameterRange struct { + _ struct{} `type:"structure"` + + // The maximum value of the hyperparameter to search. + // + // MaxValue is a required field + MaxValue *string `type:"string" required:"true"` + + // The minimum value of the hyperparameter to search. + // + // MinValue is a required field + MinValue *string `type:"string" required:"true"` + + // The name of the hyperparameter to search. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s IntegerParameterRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IntegerParameterRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IntegerParameterRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IntegerParameterRange"} + if s.MaxValue == nil { + invalidParams.Add(request.NewErrParamRequired("MaxValue")) + } + if s.MinValue == nil { + invalidParams.Add(request.NewErrParamRequired("MinValue")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxValue sets the MaxValue field's value. +func (s *IntegerParameterRange) SetMaxValue(v string) *IntegerParameterRange { + s.MaxValue = &v + return s +} + +// SetMinValue sets the MinValue field's value. +func (s *IntegerParameterRange) SetMinValue(v string) *IntegerParameterRange { + s.MinValue = &v + return s +} + +// SetName sets the Name field's value. +func (s *IntegerParameterRange) SetName(v string) *IntegerParameterRange { + s.Name = &v + return s +} + +// Defines the possible values for an integer hyperparameter. +type IntegerParameterRangeSpecification struct { + _ struct{} `type:"structure"` + + // The maximum integer value allowed. + // + // MaxValue is a required field + MaxValue *string `type:"string" required:"true"` + + // The minimum integer value allowed. + // + // MinValue is a required field + MinValue *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s IntegerParameterRangeSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IntegerParameterRangeSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IntegerParameterRangeSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IntegerParameterRangeSpecification"} + if s.MaxValue == nil { + invalidParams.Add(request.NewErrParamRequired("MaxValue")) + } + if s.MinValue == nil { + invalidParams.Add(request.NewErrParamRequired("MinValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxValue sets the MaxValue field's value. +func (s *IntegerParameterRangeSpecification) SetMaxValue(v string) *IntegerParameterRangeSpecification { + s.MaxValue = &v + return s +} + +// SetMinValue sets the MinValue field's value. +func (s *IntegerParameterRangeSpecification) SetMinValue(v string) *IntegerParameterRangeSpecification { + s.MinValue = &v + return s +} + +// Provides a breakdown of the number of objects labeled. +type LabelCounters struct { + _ struct{} `type:"structure"` + + // The total number of objects that could not be labeled due to an error. + FailedNonRetryableError *int64 `type:"integer"` + + // The total number of objects labeled by a human worker. + HumanLabeled *int64 `type:"integer"` + + // The total number of objects labeled by automated data labeling. + MachineLabeled *int64 `type:"integer"` + + // The total number of objects labeled. + TotalLabeled *int64 `type:"integer"` + + // The total number of objects not yet labeled. + Unlabeled *int64 `type:"integer"` +} + +// String returns the string representation +func (s LabelCounters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LabelCounters) GoString() string { + return s.String() +} + +// SetFailedNonRetryableError sets the FailedNonRetryableError field's value. +func (s *LabelCounters) SetFailedNonRetryableError(v int64) *LabelCounters { + s.FailedNonRetryableError = &v + return s +} + +// SetHumanLabeled sets the HumanLabeled field's value. +func (s *LabelCounters) SetHumanLabeled(v int64) *LabelCounters { + s.HumanLabeled = &v + return s +} + +// SetMachineLabeled sets the MachineLabeled field's value. +func (s *LabelCounters) SetMachineLabeled(v int64) *LabelCounters { + s.MachineLabeled = &v + return s +} + +// SetTotalLabeled sets the TotalLabeled field's value. +func (s *LabelCounters) SetTotalLabeled(v int64) *LabelCounters { + s.TotalLabeled = &v + return s +} + +// SetUnlabeled sets the Unlabeled field's value. +func (s *LabelCounters) SetUnlabeled(v int64) *LabelCounters { + s.Unlabeled = &v + return s +} + +// Provides counts for human-labeled tasks in the labeling job. +type LabelCountersForWorkteam struct { + _ struct{} `type:"structure"` + + // The total number of data objects labeled by a human worker. + HumanLabeled *int64 `type:"integer"` + + // The total number of data objects that need to be labeled by a human worker. + PendingHuman *int64 `type:"integer"` + + // The total number of tasks in the labeling job. + Total *int64 `type:"integer"` +} + +// String returns the string representation +func (s LabelCountersForWorkteam) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LabelCountersForWorkteam) GoString() string { + return s.String() +} + +// SetHumanLabeled sets the HumanLabeled field's value. +func (s *LabelCountersForWorkteam) SetHumanLabeled(v int64) *LabelCountersForWorkteam { + s.HumanLabeled = &v + return s +} + +// SetPendingHuman sets the PendingHuman field's value. +func (s *LabelCountersForWorkteam) SetPendingHuman(v int64) *LabelCountersForWorkteam { + s.PendingHuman = &v + return s +} + +// SetTotal sets the Total field's value. +func (s *LabelCountersForWorkteam) SetTotal(v int64) *LabelCountersForWorkteam { + s.Total = &v + return s +} + +// Provides configuration information for auto-labeling of your data objects. +// A LabelingJobAlgorithmsConfig object must be supplied in order to use auto-labeling. +type LabelingJobAlgorithmsConfig struct { + _ struct{} `type:"structure"` + + // At the end of an auto-label job Amazon SageMaker Ground Truth sends the Amazon + // Resource Nam (ARN) of the final model used for auto-labeling. You can use + // this model as the starting point for subsequent similar jobs by providing + // the ARN of the model here. + InitialActiveLearningModelArn *string `min:"20" type:"string"` + + // Specifies the Amazon Resource Name (ARN) of the algorithm used for auto-labeling. + // You must select one of the following ARNs: + // + // * Image classification + // + // arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/image-classification + // + // * Text classification + // + // arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/text-classification + // + // * Object detection + // + // arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/object-detection + // + // LabelingJobAlgorithmSpecificationArn is a required field + LabelingJobAlgorithmSpecificationArn *string `type:"string" required:"true"` + + // Provides configuration information for a labeling job. + LabelingJobResourceConfig *LabelingJobResourceConfig `type:"structure"` +} + +// String returns the string representation +func (s LabelingJobAlgorithmsConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LabelingJobAlgorithmsConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LabelingJobAlgorithmsConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LabelingJobAlgorithmsConfig"} + if s.InitialActiveLearningModelArn != nil && len(*s.InitialActiveLearningModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("InitialActiveLearningModelArn", 20)) + } + if s.LabelingJobAlgorithmSpecificationArn == nil { + invalidParams.Add(request.NewErrParamRequired("LabelingJobAlgorithmSpecificationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInitialActiveLearningModelArn sets the InitialActiveLearningModelArn field's value. +func (s *LabelingJobAlgorithmsConfig) SetInitialActiveLearningModelArn(v string) *LabelingJobAlgorithmsConfig { + s.InitialActiveLearningModelArn = &v + return s +} + +// SetLabelingJobAlgorithmSpecificationArn sets the LabelingJobAlgorithmSpecificationArn field's value. +func (s *LabelingJobAlgorithmsConfig) SetLabelingJobAlgorithmSpecificationArn(v string) *LabelingJobAlgorithmsConfig { + s.LabelingJobAlgorithmSpecificationArn = &v + return s +} + +// SetLabelingJobResourceConfig sets the LabelingJobResourceConfig field's value. +func (s *LabelingJobAlgorithmsConfig) SetLabelingJobResourceConfig(v *LabelingJobResourceConfig) *LabelingJobAlgorithmsConfig { + s.LabelingJobResourceConfig = v + return s +} + +// Attributes of the data specified by the customer. Use these to describe the +// data to be labeled. +type LabelingJobDataAttributes struct { + _ struct{} `type:"structure"` + + // Declares that your content is free of personally identifiable information + // or adult content. Amazon SageMaker may restrict the Amazon Mechanical Turk + // workers that can view your task based on this information. + ContentClassifiers []*string `type:"list"` +} + +// String returns the string representation +func (s LabelingJobDataAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LabelingJobDataAttributes) GoString() string { + return s.String() +} + +// SetContentClassifiers sets the ContentClassifiers field's value. +func (s *LabelingJobDataAttributes) SetContentClassifiers(v []*string) *LabelingJobDataAttributes { + s.ContentClassifiers = v + return s +} + +// Provides information about the location of input data. +type LabelingJobDataSource struct { + _ struct{} `type:"structure"` + + // The Amazon S3 location of the input data objects. + // + // S3DataSource is a required field + S3DataSource *LabelingJobS3DataSource `type:"structure" required:"true"` +} + +// String returns the string representation +func (s LabelingJobDataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LabelingJobDataSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LabelingJobDataSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LabelingJobDataSource"} + if s.S3DataSource == nil { + invalidParams.Add(request.NewErrParamRequired("S3DataSource")) + } + if s.S3DataSource != nil { + if err := s.S3DataSource.Validate(); err != nil { + invalidParams.AddNested("S3DataSource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3DataSource sets the S3DataSource field's value. +func (s *LabelingJobDataSource) SetS3DataSource(v *LabelingJobS3DataSource) *LabelingJobDataSource { + s.S3DataSource = v + return s +} + +// Provides summary information for a work team. +type LabelingJobForWorkteamSummary struct { + _ struct{} `type:"structure"` + + // The date and time that the labeling job was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // A unique identifier for a labeling job. You can use this to refer to a specific + // labeling job. + // + // JobReferenceCode is a required field + JobReferenceCode *string `min:"1" type:"string" required:"true"` + + // Provides information about the progress of a labeling job. + LabelCounters *LabelCountersForWorkteam `type:"structure"` + + // The name of the labeling job that the work team is assigned to. + LabelingJobName *string `min:"1" type:"string"` + + // WorkRequesterAccountId is a required field + WorkRequesterAccountId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s LabelingJobForWorkteamSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LabelingJobForWorkteamSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *LabelingJobForWorkteamSummary) SetCreationTime(v time.Time) *LabelingJobForWorkteamSummary { + s.CreationTime = &v + return s +} + +// SetJobReferenceCode sets the JobReferenceCode field's value. +func (s *LabelingJobForWorkteamSummary) SetJobReferenceCode(v string) *LabelingJobForWorkteamSummary { + s.JobReferenceCode = &v + return s +} + +// SetLabelCounters sets the LabelCounters field's value. +func (s *LabelingJobForWorkteamSummary) SetLabelCounters(v *LabelCountersForWorkteam) *LabelingJobForWorkteamSummary { + s.LabelCounters = v + return s +} + +// SetLabelingJobName sets the LabelingJobName field's value. +func (s *LabelingJobForWorkteamSummary) SetLabelingJobName(v string) *LabelingJobForWorkteamSummary { + s.LabelingJobName = &v + return s +} + +// SetWorkRequesterAccountId sets the WorkRequesterAccountId field's value. +func (s *LabelingJobForWorkteamSummary) SetWorkRequesterAccountId(v string) *LabelingJobForWorkteamSummary { + s.WorkRequesterAccountId = &v + return s +} + +// Input configuration information for a labeling job. +type LabelingJobInputConfig struct { + _ struct{} `type:"structure"` + + // Attributes of the data specified by the customer. + DataAttributes *LabelingJobDataAttributes `type:"structure"` + + // The location of the input data. + // + // DataSource is a required field + DataSource *LabelingJobDataSource `type:"structure" required:"true"` +} + +// String returns the string representation +func (s LabelingJobInputConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LabelingJobInputConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LabelingJobInputConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LabelingJobInputConfig"} + if s.DataSource == nil { + invalidParams.Add(request.NewErrParamRequired("DataSource")) + } + if s.DataSource != nil { + if err := s.DataSource.Validate(); err != nil { + invalidParams.AddNested("DataSource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataAttributes sets the DataAttributes field's value. +func (s *LabelingJobInputConfig) SetDataAttributes(v *LabelingJobDataAttributes) *LabelingJobInputConfig { + s.DataAttributes = v + return s +} + +// SetDataSource sets the DataSource field's value. +func (s *LabelingJobInputConfig) SetDataSource(v *LabelingJobDataSource) *LabelingJobInputConfig { + s.DataSource = v + return s +} + +// Specifies the location of the output produced by the labeling job. +type LabelingJobOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the most recent Amazon SageMaker model + // trained as part of automated data labeling. + FinalActiveLearningModelArn *string `min:"20" type:"string"` + + // The Amazon S3 bucket location of the manifest file for labeled data. + // + // OutputDatasetS3Uri is a required field + OutputDatasetS3Uri *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s LabelingJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LabelingJobOutput) GoString() string { + return s.String() +} + +// SetFinalActiveLearningModelArn sets the FinalActiveLearningModelArn field's value. +func (s *LabelingJobOutput) SetFinalActiveLearningModelArn(v string) *LabelingJobOutput { + s.FinalActiveLearningModelArn = &v + return s +} + +// SetOutputDatasetS3Uri sets the OutputDatasetS3Uri field's value. +func (s *LabelingJobOutput) SetOutputDatasetS3Uri(v string) *LabelingJobOutput { + s.OutputDatasetS3Uri = &v + return s +} + +// Output configuration information for a labeling job. +type LabelingJobOutputConfig struct { + _ struct{} `type:"structure"` + + // The AWS Key Management Service ID of the key used to encrypt the output data, + // if any. + KmsKeyId *string `type:"string"` + + // The Amazon S3 location to write output data. + // + // S3OutputPath is a required field + S3OutputPath *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s LabelingJobOutputConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LabelingJobOutputConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LabelingJobOutputConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LabelingJobOutputConfig"} + if s.S3OutputPath == nil { + invalidParams.Add(request.NewErrParamRequired("S3OutputPath")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *LabelingJobOutputConfig) SetKmsKeyId(v string) *LabelingJobOutputConfig { + s.KmsKeyId = &v + return s +} + +// SetS3OutputPath sets the S3OutputPath field's value. +func (s *LabelingJobOutputConfig) SetS3OutputPath(v string) *LabelingJobOutputConfig { + s.S3OutputPath = &v + return s +} + +// Provides configuration information for labeling jobs. +type LabelingJobResourceConfig struct { + _ struct{} `type:"structure"` + + // The AWS Key Management Service key ID for the key used to encrypt the output + // data, if any. + VolumeKmsKeyId *string `type:"string"` +} + +// String returns the string representation +func (s LabelingJobResourceConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LabelingJobResourceConfig) GoString() string { + return s.String() +} + +// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value. +func (s *LabelingJobResourceConfig) SetVolumeKmsKeyId(v string) *LabelingJobResourceConfig { + s.VolumeKmsKeyId = &v + return s +} + +// The Amazon S3 location of the input data objects. +type LabelingJobS3DataSource struct { + _ struct{} `type:"structure"` + + // The Amazon S3 location of the manifest file that describes the input data + // objects. + // + // ManifestS3Uri is a required field + ManifestS3Uri *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s LabelingJobS3DataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LabelingJobS3DataSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LabelingJobS3DataSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LabelingJobS3DataSource"} + if s.ManifestS3Uri == nil { + invalidParams.Add(request.NewErrParamRequired("ManifestS3Uri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetManifestS3Uri sets the ManifestS3Uri field's value. +func (s *LabelingJobS3DataSource) SetManifestS3Uri(v string) *LabelingJobS3DataSource { + s.ManifestS3Uri = &v + return s +} + +// A set of conditions for stopping a labeling job. If any of the conditions +// are met, the job is automatically stopped. You can use these conditions to +// control the cost of data labeling. +type LabelingJobStoppingConditions struct { + _ struct{} `type:"structure"` + + // The maximum number of objects that can be labeled by human workers. + MaxHumanLabeledObjectCount *int64 `min:"1" type:"integer"` + + // The maximum number of input data objects that should be labeled. + MaxPercentageOfInputDatasetLabeled *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s LabelingJobStoppingConditions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LabelingJobStoppingConditions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LabelingJobStoppingConditions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LabelingJobStoppingConditions"} + if s.MaxHumanLabeledObjectCount != nil && *s.MaxHumanLabeledObjectCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxHumanLabeledObjectCount", 1)) + } + if s.MaxPercentageOfInputDatasetLabeled != nil && *s.MaxPercentageOfInputDatasetLabeled < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxPercentageOfInputDatasetLabeled", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxHumanLabeledObjectCount sets the MaxHumanLabeledObjectCount field's value. +func (s *LabelingJobStoppingConditions) SetMaxHumanLabeledObjectCount(v int64) *LabelingJobStoppingConditions { + s.MaxHumanLabeledObjectCount = &v + return s +} + +// SetMaxPercentageOfInputDatasetLabeled sets the MaxPercentageOfInputDatasetLabeled field's value. +func (s *LabelingJobStoppingConditions) SetMaxPercentageOfInputDatasetLabeled(v int64) *LabelingJobStoppingConditions { + s.MaxPercentageOfInputDatasetLabeled = &v + return s +} + +// Provides summary information about a labeling job. +type LabelingJobSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Lambda function used to consolidate + // the annotations from individual workers into a label for a data object. For + // more information, see Annotation Consolidation (http://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html). + AnnotationConsolidationLambdaArn *string `type:"string"` + + // The date and time that the job was created (timestamp). + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // If the LabelingJobStatus field is Failed, this field contains a description + // of the error. + FailureReason *string `type:"string"` + + // Input configuration for the labeling job. + InputConfig *LabelingJobInputConfig `type:"structure"` + + // Counts showing the progress of the labeling job. + // + // LabelCounters is a required field + LabelCounters *LabelCounters `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) assigned to the labeling job when it was created. + // + // LabelingJobArn is a required field + LabelingJobArn *string `type:"string" required:"true"` + + // The name of the labeling job. + // + // LabelingJobName is a required field + LabelingJobName *string `min:"1" type:"string" required:"true"` + + // The location of the output produced by the labeling job. + LabelingJobOutput *LabelingJobOutput `type:"structure"` + + // The current status of the labeling job. + // + // LabelingJobStatus is a required field + LabelingJobStatus *string `type:"string" required:"true" enum:"LabelingJobStatus"` + + // The date and time that the job was last modified (timestamp). + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) of a Lambda function. The function is run + // before each data object is sent to a worker. + // + // PreHumanTaskLambdaArn is a required field + PreHumanTaskLambdaArn *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the work team assigned to the job. + // + // WorkteamArn is a required field + WorkteamArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s LabelingJobSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LabelingJobSummary) GoString() string { + return s.String() +} + +// SetAnnotationConsolidationLambdaArn sets the AnnotationConsolidationLambdaArn field's value. +func (s *LabelingJobSummary) SetAnnotationConsolidationLambdaArn(v string) *LabelingJobSummary { + s.AnnotationConsolidationLambdaArn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *LabelingJobSummary) SetCreationTime(v time.Time) *LabelingJobSummary { + s.CreationTime = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *LabelingJobSummary) SetFailureReason(v string) *LabelingJobSummary { + s.FailureReason = &v + return s +} + +// SetInputConfig sets the InputConfig field's value. +func (s *LabelingJobSummary) SetInputConfig(v *LabelingJobInputConfig) *LabelingJobSummary { + s.InputConfig = v + return s +} + +// SetLabelCounters sets the LabelCounters field's value. +func (s *LabelingJobSummary) SetLabelCounters(v *LabelCounters) *LabelingJobSummary { + s.LabelCounters = v + return s +} + +// SetLabelingJobArn sets the LabelingJobArn field's value. +func (s *LabelingJobSummary) SetLabelingJobArn(v string) *LabelingJobSummary { + s.LabelingJobArn = &v + return s +} + +// SetLabelingJobName sets the LabelingJobName field's value. +func (s *LabelingJobSummary) SetLabelingJobName(v string) *LabelingJobSummary { + s.LabelingJobName = &v + return s +} + +// SetLabelingJobOutput sets the LabelingJobOutput field's value. +func (s *LabelingJobSummary) SetLabelingJobOutput(v *LabelingJobOutput) *LabelingJobSummary { + s.LabelingJobOutput = v + return s +} + +// SetLabelingJobStatus sets the LabelingJobStatus field's value. +func (s *LabelingJobSummary) SetLabelingJobStatus(v string) *LabelingJobSummary { + s.LabelingJobStatus = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *LabelingJobSummary) SetLastModifiedTime(v time.Time) *LabelingJobSummary { + s.LastModifiedTime = &v + return s +} + +// SetPreHumanTaskLambdaArn sets the PreHumanTaskLambdaArn field's value. +func (s *LabelingJobSummary) SetPreHumanTaskLambdaArn(v string) *LabelingJobSummary { + s.PreHumanTaskLambdaArn = &v + return s +} + +// SetWorkteamArn sets the WorkteamArn field's value. +func (s *LabelingJobSummary) SetWorkteamArn(v string) *LabelingJobSummary { + s.WorkteamArn = &v + return s +} + +type ListAlgorithmsInput struct { + _ struct{} `type:"structure"` + + // A filter that returns only algorithms created after the specified time (timestamp). + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only algorithms created before the specified time (timestamp). + CreationTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of algorithms to return in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in the algorithm name. This filter returns only algorithms whose + // name contains the specified string. + NameContains *string `type:"string"` + + // If the response to a previous ListAlgorithms request was truncated, the response + // includes a NextToken. To retrieve the next set of algorithms, use the token + // in the next request. + NextToken *string `type:"string"` + + // The parameter by which to sort the results. The default is CreationTime. + SortBy *string `type:"string" enum:"AlgorithmSortBy"` + + // The sort order for the results. The default is Ascending. + SortOrder *string `type:"string" enum:"SortOrder"` +} + +// String returns the string representation +func (s ListAlgorithmsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAlgorithmsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAlgorithmsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAlgorithmsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListAlgorithmsInput) SetCreationTimeAfter(v time.Time) *ListAlgorithmsInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListAlgorithmsInput) SetCreationTimeBefore(v time.Time) *ListAlgorithmsInput { + s.CreationTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAlgorithmsInput) SetMaxResults(v int64) *ListAlgorithmsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListAlgorithmsInput) SetNameContains(v string) *ListAlgorithmsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAlgorithmsInput) SetNextToken(v string) *ListAlgorithmsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListAlgorithmsInput) SetSortBy(v string) *ListAlgorithmsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListAlgorithmsInput) SetSortOrder(v string) *ListAlgorithmsInput { + s.SortOrder = &v + return s +} + +type ListAlgorithmsOutput struct { + _ struct{} `type:"structure"` + + // >An array of AlgorithmSummary objects, each of which lists an algorithm. + // + // AlgorithmSummaryList is a required field + AlgorithmSummaryList []*AlgorithmSummary `type:"list" required:"true"` + + // If the response is truncated, Amazon SageMaker returns this token. To retrieve + // the next set of algorithms, use it in the subsequent request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListAlgorithmsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAlgorithmsOutput) GoString() string { + return s.String() +} + +// SetAlgorithmSummaryList sets the AlgorithmSummaryList field's value. +func (s *ListAlgorithmsOutput) SetAlgorithmSummaryList(v []*AlgorithmSummary) *ListAlgorithmsOutput { + s.AlgorithmSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAlgorithmsOutput) SetNextToken(v string) *ListAlgorithmsOutput { + s.NextToken = &v + return s +} + +type ListCodeRepositoriesInput struct { + _ struct{} `type:"structure"` + + // A filter that returns only Git repositories that were created after the specified + // time. + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only Git repositories that were created before the + // specified time. + CreationTimeBefore *time.Time `type:"timestamp"` + + // A filter that returns only Git repositories that were last modified after + // the specified time. + LastModifiedTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only Git repositories that were last modified before + // the specified time. + LastModifiedTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of Git repositories to return in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in the Git repositories name. This filter returns only repositories + // whose name contains the specified string. + NameContains *string `type:"string"` + + // If the result of a ListCodeRepositoriesOutput request was truncated, the + // response includes a NextToken. To get the next set of Git repositories, use + // the token in the next request. + NextToken *string `type:"string"` + + // The field to sort results by. The default is Name. + SortBy *string `type:"string" enum:"CodeRepositorySortBy"` + + // The sort order for results. The default is Ascending. + SortOrder *string `type:"string" enum:"CodeRepositorySortOrder"` +} + +// String returns the string representation +func (s ListCodeRepositoriesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCodeRepositoriesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCodeRepositoriesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCodeRepositoriesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListCodeRepositoriesInput) SetCreationTimeAfter(v time.Time) *ListCodeRepositoriesInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListCodeRepositoriesInput) SetCreationTimeBefore(v time.Time) *ListCodeRepositoriesInput { + s.CreationTimeBefore = &v + return s +} + +// SetLastModifiedTimeAfter sets the LastModifiedTimeAfter field's value. +func (s *ListCodeRepositoriesInput) SetLastModifiedTimeAfter(v time.Time) *ListCodeRepositoriesInput { + s.LastModifiedTimeAfter = &v + return s +} + +// SetLastModifiedTimeBefore sets the LastModifiedTimeBefore field's value. +func (s *ListCodeRepositoriesInput) SetLastModifiedTimeBefore(v time.Time) *ListCodeRepositoriesInput { + s.LastModifiedTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCodeRepositoriesInput) SetMaxResults(v int64) *ListCodeRepositoriesInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListCodeRepositoriesInput) SetNameContains(v string) *ListCodeRepositoriesInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCodeRepositoriesInput) SetNextToken(v string) *ListCodeRepositoriesInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListCodeRepositoriesInput) SetSortBy(v string) *ListCodeRepositoriesInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListCodeRepositoriesInput) SetSortOrder(v string) *ListCodeRepositoriesInput { + s.SortOrder = &v + return s +} + +type ListCodeRepositoriesOutput struct { + _ struct{} `type:"structure"` + + // Gets a list of summaries of the Git repositories. Each summary specifies + // the following values for the repository: + // + // * Name + // + // * Amazon Resource Name (ARN) + // + // * Creation time + // + // * Last modified time + // + // * Configuration information, including the URL location of the repository + // and the ARN of the AWS Secrets Manager secret that contains the credentials + // used to access the repository. + // + // CodeRepositorySummaryList is a required field + CodeRepositorySummaryList []*CodeRepositorySummary `type:"list" required:"true"` + + // If the result of a ListCodeRepositoriesOutput request was truncated, the + // response includes a NextToken. To get the next set of Git repositories, use + // the token in the next request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListCodeRepositoriesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCodeRepositoriesOutput) GoString() string { + return s.String() +} + +// SetCodeRepositorySummaryList sets the CodeRepositorySummaryList field's value. +func (s *ListCodeRepositoriesOutput) SetCodeRepositorySummaryList(v []*CodeRepositorySummary) *ListCodeRepositoriesOutput { + s.CodeRepositorySummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCodeRepositoriesOutput) SetNextToken(v string) *ListCodeRepositoriesOutput { + s.NextToken = &v + return s +} + +type ListCompilationJobsInput struct { + _ struct{} `type:"structure"` + + // A filter that returns the model compilation jobs that were created after + // a specified time. + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns the model compilation jobs that were created before + // a specified time. + CreationTimeBefore *time.Time `type:"timestamp"` + + // A filter that returns the model compilation jobs that were modified after + // a specified time. + LastModifiedTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns the model compilation jobs that were modified before + // a specified time. + LastModifiedTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of model compilation jobs to return in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A filter that returns the model compilation jobs whose name contains a specified + // string. + NameContains *string `type:"string"` + + // If the result of the previous ListCompilationJobs request was truncated, + // the response includes a NextToken. To retrieve the next set of model compilation + // jobs, use the token in the next request. + NextToken *string `type:"string"` + + // The field by which to sort results. The default is CreationTime. + SortBy *string `type:"string" enum:"ListCompilationJobsSortBy"` + + // The sort order for results. The default is Ascending. + SortOrder *string `type:"string" enum:"SortOrder"` + + // A filter that retrieves model compilation jobs with a specific DescribeCompilationJobResponse$CompilationJobStatus + // status. + StatusEquals *string `type:"string" enum:"CompilationJobStatus"` +} + +// String returns the string representation +func (s ListCompilationJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCompilationJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCompilationJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCompilationJobsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListCompilationJobsInput) SetCreationTimeAfter(v time.Time) *ListCompilationJobsInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListCompilationJobsInput) SetCreationTimeBefore(v time.Time) *ListCompilationJobsInput { + s.CreationTimeBefore = &v + return s +} + +// SetLastModifiedTimeAfter sets the LastModifiedTimeAfter field's value. +func (s *ListCompilationJobsInput) SetLastModifiedTimeAfter(v time.Time) *ListCompilationJobsInput { + s.LastModifiedTimeAfter = &v + return s +} + +// SetLastModifiedTimeBefore sets the LastModifiedTimeBefore field's value. +func (s *ListCompilationJobsInput) SetLastModifiedTimeBefore(v time.Time) *ListCompilationJobsInput { + s.LastModifiedTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCompilationJobsInput) SetMaxResults(v int64) *ListCompilationJobsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListCompilationJobsInput) SetNameContains(v string) *ListCompilationJobsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCompilationJobsInput) SetNextToken(v string) *ListCompilationJobsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListCompilationJobsInput) SetSortBy(v string) *ListCompilationJobsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListCompilationJobsInput) SetSortOrder(v string) *ListCompilationJobsInput { + s.SortOrder = &v + return s +} + +// SetStatusEquals sets the StatusEquals field's value. +func (s *ListCompilationJobsInput) SetStatusEquals(v string) *ListCompilationJobsInput { + s.StatusEquals = &v + return s +} + +type ListCompilationJobsOutput struct { + _ struct{} `type:"structure"` + + // An array of CompilationJobSummary objects, each describing a model compilation + // job. + // + // CompilationJobSummaries is a required field + CompilationJobSummaries []*CompilationJobSummary `type:"list" required:"true"` + + // If the response is truncated, Amazon SageMaker returns this NextToken. To + // retrieve the next set of model compilation jobs, use this token in the next + // request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListCompilationJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCompilationJobsOutput) GoString() string { + return s.String() +} + +// SetCompilationJobSummaries sets the CompilationJobSummaries field's value. +func (s *ListCompilationJobsOutput) SetCompilationJobSummaries(v []*CompilationJobSummary) *ListCompilationJobsOutput { + s.CompilationJobSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCompilationJobsOutput) SetNextToken(v string) *ListCompilationJobsOutput { + s.NextToken = &v + return s +} + +type ListEndpointConfigsInput struct { + _ struct{} `type:"structure"` + + // A filter that returns only endpoint configurations created after the specified + // time (timestamp). + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only endpoint configurations created before the specified + // time (timestamp). + CreationTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of training jobs to return in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in the endpoint configuration name. This filter returns only endpoint + // configurations whose name contains the specified string. + NameContains *string `type:"string"` + + // If the result of the previous ListEndpointConfig request was truncated, the + // response includes a NextToken. To retrieve the next set of endpoint configurations, + // use the token in the next request. + NextToken *string `type:"string"` + + // The field to sort results by. The default is CreationTime. + SortBy *string `type:"string" enum:"EndpointConfigSortKey"` + + // The sort order for results. The default is Ascending. + SortOrder *string `type:"string" enum:"OrderKey"` +} + +// String returns the string representation +func (s ListEndpointConfigsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEndpointConfigsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEndpointConfigsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEndpointConfigsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListEndpointConfigsInput) SetCreationTimeAfter(v time.Time) *ListEndpointConfigsInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListEndpointConfigsInput) SetCreationTimeBefore(v time.Time) *ListEndpointConfigsInput { + s.CreationTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEndpointConfigsInput) SetMaxResults(v int64) *ListEndpointConfigsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListEndpointConfigsInput) SetNameContains(v string) *ListEndpointConfigsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEndpointConfigsInput) SetNextToken(v string) *ListEndpointConfigsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListEndpointConfigsInput) SetSortBy(v string) *ListEndpointConfigsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListEndpointConfigsInput) SetSortOrder(v string) *ListEndpointConfigsInput { + s.SortOrder = &v + return s +} + +type ListEndpointConfigsOutput struct { + _ struct{} `type:"structure"` + + // An array of endpoint configurations. + // + // EndpointConfigs is a required field + EndpointConfigs []*EndpointConfigSummary `type:"list" required:"true"` + + // If the response is truncated, Amazon SageMaker returns this token. To retrieve + // the next set of endpoint configurations, use it in the subsequent request + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListEndpointConfigsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEndpointConfigsOutput) GoString() string { + return s.String() +} + +// SetEndpointConfigs sets the EndpointConfigs field's value. +func (s *ListEndpointConfigsOutput) SetEndpointConfigs(v []*EndpointConfigSummary) *ListEndpointConfigsOutput { + s.EndpointConfigs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEndpointConfigsOutput) SetNextToken(v string) *ListEndpointConfigsOutput { + s.NextToken = &v + return s +} + +type ListEndpointsInput struct { + _ struct{} `type:"structure"` + + // A filter that returns only endpoints that were created after the specified + // time (timestamp). + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only endpoints that were created before the specified + // time (timestamp). + CreationTimeBefore *time.Time `type:"timestamp"` + + // A filter that returns only endpoints that were modified after the specified + // timestamp. + LastModifiedTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only endpoints that were modified before the specified + // timestamp. + LastModifiedTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of endpoints to return in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in endpoint names. This filter returns only endpoints whose name + // contains the specified string. + NameContains *string `type:"string"` + + // If the result of a ListEndpoints request was truncated, the response includes + // a NextToken. To retrieve the next set of endpoints, use the token in the + // next request. + NextToken *string `type:"string"` + + // Sorts the list of results. The default is CreationTime. + SortBy *string `type:"string" enum:"EndpointSortKey"` + + // The sort order for results. The default is Ascending. + SortOrder *string `type:"string" enum:"OrderKey"` + + // A filter that returns only endpoints with the specified status. + StatusEquals *string `type:"string" enum:"EndpointStatus"` +} + +// String returns the string representation +func (s ListEndpointsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEndpointsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEndpointsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListEndpointsInput) SetCreationTimeAfter(v time.Time) *ListEndpointsInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListEndpointsInput) SetCreationTimeBefore(v time.Time) *ListEndpointsInput { + s.CreationTimeBefore = &v + return s +} + +// SetLastModifiedTimeAfter sets the LastModifiedTimeAfter field's value. +func (s *ListEndpointsInput) SetLastModifiedTimeAfter(v time.Time) *ListEndpointsInput { + s.LastModifiedTimeAfter = &v + return s +} + +// SetLastModifiedTimeBefore sets the LastModifiedTimeBefore field's value. +func (s *ListEndpointsInput) SetLastModifiedTimeBefore(v time.Time) *ListEndpointsInput { + s.LastModifiedTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEndpointsInput) SetMaxResults(v int64) *ListEndpointsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListEndpointsInput) SetNameContains(v string) *ListEndpointsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEndpointsInput) SetNextToken(v string) *ListEndpointsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListEndpointsInput) SetSortBy(v string) *ListEndpointsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListEndpointsInput) SetSortOrder(v string) *ListEndpointsInput { + s.SortOrder = &v + return s +} + +// SetStatusEquals sets the StatusEquals field's value. +func (s *ListEndpointsInput) SetStatusEquals(v string) *ListEndpointsInput { + s.StatusEquals = &v + return s +} + +type ListEndpointsOutput struct { + _ struct{} `type:"structure"` + + // An array or endpoint objects. + // + // Endpoints is a required field + Endpoints []*EndpointSummary `type:"list" required:"true"` + + // If the response is truncated, Amazon SageMaker returns this token. To retrieve + // the next set of training jobs, use it in the subsequent request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListEndpointsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEndpointsOutput) GoString() string { + return s.String() +} + +// SetEndpoints sets the Endpoints field's value. +func (s *ListEndpointsOutput) SetEndpoints(v []*EndpointSummary) *ListEndpointsOutput { + s.Endpoints = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEndpointsOutput) SetNextToken(v string) *ListEndpointsOutput { + s.NextToken = &v + return s +} + +type ListHyperParameterTuningJobsInput struct { + _ struct{} `type:"structure"` + + // A filter that returns only tuning jobs that were created after the specified + // time. + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only tuning jobs that were created before the specified + // time. + CreationTimeBefore *time.Time `type:"timestamp"` + + // A filter that returns only tuning jobs that were modified after the specified + // time. + LastModifiedTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only tuning jobs that were modified before the specified + // time. + LastModifiedTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of tuning jobs to return. The default value is 10. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in the tuning job name. This filter returns only tuning jobs whose + // name contains the specified string. + NameContains *string `type:"string"` + + // If the result of the previous ListHyperParameterTuningJobs request was truncated, + // the response includes a NextToken. To retrieve the next set of tuning jobs, + // use the token in the next request. + NextToken *string `type:"string"` + + // The field to sort results by. The default is Name. + SortBy *string `type:"string" enum:"HyperParameterTuningJobSortByOptions"` + + // The sort order for results. The default is Ascending. + SortOrder *string `type:"string" enum:"SortOrder"` + + // A filter that returns only tuning jobs with the specified status. + StatusEquals *string `type:"string" enum:"HyperParameterTuningJobStatus"` +} + +// String returns the string representation +func (s ListHyperParameterTuningJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListHyperParameterTuningJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListHyperParameterTuningJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListHyperParameterTuningJobsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListHyperParameterTuningJobsInput) SetCreationTimeAfter(v time.Time) *ListHyperParameterTuningJobsInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListHyperParameterTuningJobsInput) SetCreationTimeBefore(v time.Time) *ListHyperParameterTuningJobsInput { + s.CreationTimeBefore = &v + return s +} + +// SetLastModifiedTimeAfter sets the LastModifiedTimeAfter field's value. +func (s *ListHyperParameterTuningJobsInput) SetLastModifiedTimeAfter(v time.Time) *ListHyperParameterTuningJobsInput { + s.LastModifiedTimeAfter = &v + return s +} + +// SetLastModifiedTimeBefore sets the LastModifiedTimeBefore field's value. +func (s *ListHyperParameterTuningJobsInput) SetLastModifiedTimeBefore(v time.Time) *ListHyperParameterTuningJobsInput { + s.LastModifiedTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListHyperParameterTuningJobsInput) SetMaxResults(v int64) *ListHyperParameterTuningJobsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListHyperParameterTuningJobsInput) SetNameContains(v string) *ListHyperParameterTuningJobsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListHyperParameterTuningJobsInput) SetNextToken(v string) *ListHyperParameterTuningJobsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListHyperParameterTuningJobsInput) SetSortBy(v string) *ListHyperParameterTuningJobsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListHyperParameterTuningJobsInput) SetSortOrder(v string) *ListHyperParameterTuningJobsInput { + s.SortOrder = &v + return s +} + +// SetStatusEquals sets the StatusEquals field's value. +func (s *ListHyperParameterTuningJobsInput) SetStatusEquals(v string) *ListHyperParameterTuningJobsInput { + s.StatusEquals = &v + return s +} + +type ListHyperParameterTuningJobsOutput struct { + _ struct{} `type:"structure"` + + // A list of HyperParameterTuningJobSummary objects that describe the tuning + // jobs that the ListHyperParameterTuningJobs request returned. + // + // HyperParameterTuningJobSummaries is a required field + HyperParameterTuningJobSummaries []*HyperParameterTuningJobSummary `type:"list" required:"true"` + + // If the result of this ListHyperParameterTuningJobs request was truncated, + // the response includes a NextToken. To retrieve the next set of tuning jobs, + // use the token in the next request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListHyperParameterTuningJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListHyperParameterTuningJobsOutput) GoString() string { + return s.String() +} + +// SetHyperParameterTuningJobSummaries sets the HyperParameterTuningJobSummaries field's value. +func (s *ListHyperParameterTuningJobsOutput) SetHyperParameterTuningJobSummaries(v []*HyperParameterTuningJobSummary) *ListHyperParameterTuningJobsOutput { + s.HyperParameterTuningJobSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListHyperParameterTuningJobsOutput) SetNextToken(v string) *ListHyperParameterTuningJobsOutput { + s.NextToken = &v + return s +} + +type ListLabelingJobsForWorkteamInput struct { + _ struct{} `type:"structure"` + + // A filter that returns only labeling jobs created after the specified time + // (timestamp). + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only labeling jobs created before the specified time + // (timestamp). + CreationTimeBefore *time.Time `type:"timestamp"` + + // A filter the limits jobs to only the ones whose job reference code contains + // the specified string. + JobReferenceCodeContains *string `min:"1" type:"string"` + + // The maximum number of labeling jobs to return in each page of the response. + MaxResults *int64 `min:"1" type:"integer"` + + // If the result of the previous ListLabelingJobsForWorkteam request was truncated, + // the response includes a NextToken. To retrieve the next set of labeling jobs, + // use the token in the next request. + NextToken *string `type:"string"` + + // The field to sort results by. The default is CreationTime. + SortBy *string `type:"string" enum:"ListLabelingJobsForWorkteamSortByOptions"` + + // The sort order for results. The default is Ascending. + SortOrder *string `type:"string" enum:"SortOrder"` + + // The Amazon Resource Name (ARN) of the work team for which you want to see + // labeling jobs for. + // + // WorkteamArn is a required field + WorkteamArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListLabelingJobsForWorkteamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLabelingJobsForWorkteamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListLabelingJobsForWorkteamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLabelingJobsForWorkteamInput"} + if s.JobReferenceCodeContains != nil && len(*s.JobReferenceCodeContains) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobReferenceCodeContains", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.WorkteamArn == nil { + invalidParams.Add(request.NewErrParamRequired("WorkteamArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListLabelingJobsForWorkteamInput) SetCreationTimeAfter(v time.Time) *ListLabelingJobsForWorkteamInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListLabelingJobsForWorkteamInput) SetCreationTimeBefore(v time.Time) *ListLabelingJobsForWorkteamInput { + s.CreationTimeBefore = &v + return s +} + +// SetJobReferenceCodeContains sets the JobReferenceCodeContains field's value. +func (s *ListLabelingJobsForWorkteamInput) SetJobReferenceCodeContains(v string) *ListLabelingJobsForWorkteamInput { + s.JobReferenceCodeContains = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListLabelingJobsForWorkteamInput) SetMaxResults(v int64) *ListLabelingJobsForWorkteamInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLabelingJobsForWorkteamInput) SetNextToken(v string) *ListLabelingJobsForWorkteamInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListLabelingJobsForWorkteamInput) SetSortBy(v string) *ListLabelingJobsForWorkteamInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListLabelingJobsForWorkteamInput) SetSortOrder(v string) *ListLabelingJobsForWorkteamInput { + s.SortOrder = &v + return s +} + +// SetWorkteamArn sets the WorkteamArn field's value. +func (s *ListLabelingJobsForWorkteamInput) SetWorkteamArn(v string) *ListLabelingJobsForWorkteamInput { + s.WorkteamArn = &v + return s +} + +type ListLabelingJobsForWorkteamOutput struct { + _ struct{} `type:"structure"` + + // An array of LabelingJobSummary objects, each describing a labeling job. + // + // LabelingJobSummaryList is a required field + LabelingJobSummaryList []*LabelingJobForWorkteamSummary `type:"list" required:"true"` + + // If the response is truncated, Amazon SageMaker returns this token. To retrieve + // the next set of labeling jobs, use it in the subsequent request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListLabelingJobsForWorkteamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLabelingJobsForWorkteamOutput) GoString() string { + return s.String() +} + +// SetLabelingJobSummaryList sets the LabelingJobSummaryList field's value. +func (s *ListLabelingJobsForWorkteamOutput) SetLabelingJobSummaryList(v []*LabelingJobForWorkteamSummary) *ListLabelingJobsForWorkteamOutput { + s.LabelingJobSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLabelingJobsForWorkteamOutput) SetNextToken(v string) *ListLabelingJobsForWorkteamOutput { + s.NextToken = &v + return s +} + +type ListLabelingJobsInput struct { + _ struct{} `type:"structure"` + + // A filter that returns only labeling jobs created after the specified time + // (timestamp). + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only labeling jobs created before the specified time + // (timestamp). + CreationTimeBefore *time.Time `type:"timestamp"` + + // A filter that returns only labeling jobs modified after the specified time + // (timestamp). + LastModifiedTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only labeling jobs modified before the specified time + // (timestamp). + LastModifiedTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of labeling jobs to return in each page of the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in the labeling job name. This filter returns only labeling jobs + // whose name contains the specified string. + NameContains *string `type:"string"` + + // If the result of the previous ListLabelingJobs request was truncated, the + // response includes a NextToken. To retrieve the next set of labeling jobs, + // use the token in the next request. + NextToken *string `type:"string"` + + // The field to sort results by. The default is CreationTime. + SortBy *string `type:"string" enum:"SortBy"` + + // The sort order for results. The default is Ascending. + SortOrder *string `type:"string" enum:"SortOrder"` + + // A filter that retrieves only labeling jobs with a specific status. + StatusEquals *string `type:"string" enum:"LabelingJobStatus"` +} + +// String returns the string representation +func (s ListLabelingJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLabelingJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListLabelingJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLabelingJobsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListLabelingJobsInput) SetCreationTimeAfter(v time.Time) *ListLabelingJobsInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListLabelingJobsInput) SetCreationTimeBefore(v time.Time) *ListLabelingJobsInput { + s.CreationTimeBefore = &v + return s +} + +// SetLastModifiedTimeAfter sets the LastModifiedTimeAfter field's value. +func (s *ListLabelingJobsInput) SetLastModifiedTimeAfter(v time.Time) *ListLabelingJobsInput { + s.LastModifiedTimeAfter = &v + return s +} + +// SetLastModifiedTimeBefore sets the LastModifiedTimeBefore field's value. +func (s *ListLabelingJobsInput) SetLastModifiedTimeBefore(v time.Time) *ListLabelingJobsInput { + s.LastModifiedTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListLabelingJobsInput) SetMaxResults(v int64) *ListLabelingJobsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListLabelingJobsInput) SetNameContains(v string) *ListLabelingJobsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLabelingJobsInput) SetNextToken(v string) *ListLabelingJobsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListLabelingJobsInput) SetSortBy(v string) *ListLabelingJobsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListLabelingJobsInput) SetSortOrder(v string) *ListLabelingJobsInput { + s.SortOrder = &v + return s +} + +// SetStatusEquals sets the StatusEquals field's value. +func (s *ListLabelingJobsInput) SetStatusEquals(v string) *ListLabelingJobsInput { + s.StatusEquals = &v + return s +} + +type ListLabelingJobsOutput struct { + _ struct{} `type:"structure"` + + // An array of LabelingJobSummary objects, each describing a labeling job. + LabelingJobSummaryList []*LabelingJobSummary `type:"list"` + + // If the response is truncated, Amazon SageMaker returns this token. To retrieve + // the next set of labeling jobs, use it in the subsequent request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListLabelingJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLabelingJobsOutput) GoString() string { + return s.String() +} + +// SetLabelingJobSummaryList sets the LabelingJobSummaryList field's value. +func (s *ListLabelingJobsOutput) SetLabelingJobSummaryList(v []*LabelingJobSummary) *ListLabelingJobsOutput { + s.LabelingJobSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLabelingJobsOutput) SetNextToken(v string) *ListLabelingJobsOutput { + s.NextToken = &v + return s +} + +type ListModelPackagesInput struct { + _ struct{} `type:"structure"` + + // A filter that returns only model packages created after the specified time + // (timestamp). + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only model packages created before the specified time + // (timestamp). + CreationTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of model packages to return in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in the model package name. This filter returns only model packages + // whose name contains the specified string. + NameContains *string `type:"string"` + + // If the response to a previous ListModelPackages request was truncated, the + // response includes a NextToken. To retrieve the next set of model packages, + // use the token in the next request. + NextToken *string `type:"string"` + + // The parameter by which to sort the results. The default is CreationTime. + SortBy *string `type:"string" enum:"ModelPackageSortBy"` + + // The sort order for the results. The default is Ascending. + SortOrder *string `type:"string" enum:"SortOrder"` +} + +// String returns the string representation +func (s ListModelPackagesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListModelPackagesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListModelPackagesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListModelPackagesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListModelPackagesInput) SetCreationTimeAfter(v time.Time) *ListModelPackagesInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListModelPackagesInput) SetCreationTimeBefore(v time.Time) *ListModelPackagesInput { + s.CreationTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListModelPackagesInput) SetMaxResults(v int64) *ListModelPackagesInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListModelPackagesInput) SetNameContains(v string) *ListModelPackagesInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListModelPackagesInput) SetNextToken(v string) *ListModelPackagesInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListModelPackagesInput) SetSortBy(v string) *ListModelPackagesInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListModelPackagesInput) SetSortOrder(v string) *ListModelPackagesInput { + s.SortOrder = &v + return s +} + +type ListModelPackagesOutput struct { + _ struct{} `type:"structure"` + + // An array of ModelPackageSummary objects, each of which lists a model package. + // + // ModelPackageSummaryList is a required field + ModelPackageSummaryList []*ModelPackageSummary `type:"list" required:"true"` + + // If the response is truncated, Amazon SageMaker returns this token. To retrieve + // the next set of model packages, use it in the subsequent request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListModelPackagesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListModelPackagesOutput) GoString() string { + return s.String() +} + +// SetModelPackageSummaryList sets the ModelPackageSummaryList field's value. +func (s *ListModelPackagesOutput) SetModelPackageSummaryList(v []*ModelPackageSummary) *ListModelPackagesOutput { + s.ModelPackageSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListModelPackagesOutput) SetNextToken(v string) *ListModelPackagesOutput { + s.NextToken = &v + return s +} + +type ListModelsInput struct { + _ struct{} `type:"structure"` + + // A filter that returns only models created after the specified time (timestamp). + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only models created before the specified time (timestamp). + CreationTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of models to return in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in the training job name. This filter returns only models in the + // training job whose name contains the specified string. + NameContains *string `type:"string"` + + // If the response to a previous ListModels request was truncated, the response + // includes a NextToken. To retrieve the next set of models, use the token in + // the next request. + NextToken *string `type:"string"` + + // Sorts the list of results. The default is CreationTime. + SortBy *string `type:"string" enum:"ModelSortKey"` + + // The sort order for results. The default is Ascending. + SortOrder *string `type:"string" enum:"OrderKey"` +} + +// String returns the string representation +func (s ListModelsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListModelsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListModelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListModelsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListModelsInput) SetCreationTimeAfter(v time.Time) *ListModelsInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListModelsInput) SetCreationTimeBefore(v time.Time) *ListModelsInput { + s.CreationTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListModelsInput) SetMaxResults(v int64) *ListModelsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListModelsInput) SetNameContains(v string) *ListModelsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListModelsInput) SetNextToken(v string) *ListModelsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListModelsInput) SetSortBy(v string) *ListModelsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListModelsInput) SetSortOrder(v string) *ListModelsInput { + s.SortOrder = &v + return s +} + +type ListModelsOutput struct { + _ struct{} `type:"structure"` + + // An array of ModelSummary objects, each of which lists a model. + // + // Models is a required field + Models []*ModelSummary `type:"list" required:"true"` + + // If the response is truncated, Amazon SageMaker returns this token. To retrieve + // the next set of models, use it in the subsequent request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListModelsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListModelsOutput) GoString() string { + return s.String() +} + +// SetModels sets the Models field's value. +func (s *ListModelsOutput) SetModels(v []*ModelSummary) *ListModelsOutput { + s.Models = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListModelsOutput) SetNextToken(v string) *ListModelsOutput { + s.NextToken = &v + return s +} + +type ListNotebookInstanceLifecycleConfigsInput struct { + _ struct{} `type:"structure"` + + // A filter that returns only lifecycle configurations that were created after + // the specified time (timestamp). + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only lifecycle configurations that were created before + // the specified time (timestamp). + CreationTimeBefore *time.Time `type:"timestamp"` + + // A filter that returns only lifecycle configurations that were modified after + // the specified time (timestamp). + LastModifiedTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only lifecycle configurations that were modified before + // the specified time (timestamp). + LastModifiedTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of lifecycle configurations to return in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in the lifecycle configuration name. This filter returns only lifecycle + // configurations whose name contains the specified string. + NameContains *string `type:"string"` + + // If the result of a ListNotebookInstanceLifecycleConfigs request was truncated, + // the response includes a NextToken. To get the next set of lifecycle configurations, + // use the token in the next request. + NextToken *string `type:"string"` + + // Sorts the list of results. The default is CreationTime. + SortBy *string `type:"string" enum:"NotebookInstanceLifecycleConfigSortKey"` + + // The sort order for results. + SortOrder *string `type:"string" enum:"NotebookInstanceLifecycleConfigSortOrder"` +} + +// String returns the string representation +func (s ListNotebookInstanceLifecycleConfigsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListNotebookInstanceLifecycleConfigsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListNotebookInstanceLifecycleConfigsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListNotebookInstanceLifecycleConfigsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListNotebookInstanceLifecycleConfigsInput) SetCreationTimeAfter(v time.Time) *ListNotebookInstanceLifecycleConfigsInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListNotebookInstanceLifecycleConfigsInput) SetCreationTimeBefore(v time.Time) *ListNotebookInstanceLifecycleConfigsInput { + s.CreationTimeBefore = &v + return s +} + +// SetLastModifiedTimeAfter sets the LastModifiedTimeAfter field's value. +func (s *ListNotebookInstanceLifecycleConfigsInput) SetLastModifiedTimeAfter(v time.Time) *ListNotebookInstanceLifecycleConfigsInput { + s.LastModifiedTimeAfter = &v + return s +} + +// SetLastModifiedTimeBefore sets the LastModifiedTimeBefore field's value. +func (s *ListNotebookInstanceLifecycleConfigsInput) SetLastModifiedTimeBefore(v time.Time) *ListNotebookInstanceLifecycleConfigsInput { + s.LastModifiedTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListNotebookInstanceLifecycleConfigsInput) SetMaxResults(v int64) *ListNotebookInstanceLifecycleConfigsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListNotebookInstanceLifecycleConfigsInput) SetNameContains(v string) *ListNotebookInstanceLifecycleConfigsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListNotebookInstanceLifecycleConfigsInput) SetNextToken(v string) *ListNotebookInstanceLifecycleConfigsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListNotebookInstanceLifecycleConfigsInput) SetSortBy(v string) *ListNotebookInstanceLifecycleConfigsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListNotebookInstanceLifecycleConfigsInput) SetSortOrder(v string) *ListNotebookInstanceLifecycleConfigsInput { + s.SortOrder = &v + return s +} + +type ListNotebookInstanceLifecycleConfigsOutput struct { + _ struct{} `type:"structure"` + + // If the response is truncated, Amazon SageMaker returns this token. To get + // the next set of lifecycle configurations, use it in the next request. + NextToken *string `type:"string"` + + // An array of NotebookInstanceLifecycleConfiguration objects, each listing + // a lifecycle configuration. + NotebookInstanceLifecycleConfigs []*NotebookInstanceLifecycleConfigSummary `type:"list"` +} + +// String returns the string representation +func (s ListNotebookInstanceLifecycleConfigsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListNotebookInstanceLifecycleConfigsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListNotebookInstanceLifecycleConfigsOutput) SetNextToken(v string) *ListNotebookInstanceLifecycleConfigsOutput { + s.NextToken = &v + return s +} + +// SetNotebookInstanceLifecycleConfigs sets the NotebookInstanceLifecycleConfigs field's value. +func (s *ListNotebookInstanceLifecycleConfigsOutput) SetNotebookInstanceLifecycleConfigs(v []*NotebookInstanceLifecycleConfigSummary) *ListNotebookInstanceLifecycleConfigsOutput { + s.NotebookInstanceLifecycleConfigs = v + return s +} + +type ListNotebookInstancesInput struct { + _ struct{} `type:"structure"` + + // A filter that returns only notebook instances with associated with the specified + // git repository. + AdditionalCodeRepositoryEquals *string `min:"1" type:"string"` + + // A filter that returns only notebook instances that were created after the + // specified time (timestamp). + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only notebook instances that were created before the + // specified time (timestamp). + CreationTimeBefore *time.Time `type:"timestamp"` + + // A string in the name or URL of a Git repository associated with this notebook + // instance. This filter returns only notebook instances associated with a git + // repository with a name that contains the specified string. + DefaultCodeRepositoryContains *string `type:"string"` + + // A filter that returns only notebook instances that were modified after the + // specified time (timestamp). + LastModifiedTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only notebook instances that were modified before the + // specified time (timestamp). + LastModifiedTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of notebook instances to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in the notebook instances' name. This filter returns only notebook + // instances whose name contains the specified string. + NameContains *string `type:"string"` + + // If the previous call to the ListNotebookInstances is truncated, the response + // includes a NextToken. You can use this token in your subsequent ListNotebookInstances + // request to fetch the next set of notebook instances. + // + // You might specify a filter or a sort order in your request. When response + // is truncated, you must use the same values for the filer and sort order in + // the next request. + NextToken *string `type:"string"` + + // A string in the name of a notebook instances lifecycle configuration associated + // with this notebook instance. This filter returns only notebook instances + // associated with a lifecycle configuration with a name that contains the specified + // string. + NotebookInstanceLifecycleConfigNameContains *string `type:"string"` + + // The field to sort results by. The default is Name. + SortBy *string `type:"string" enum:"NotebookInstanceSortKey"` + + // The sort order for results. + SortOrder *string `type:"string" enum:"NotebookInstanceSortOrder"` + + // A filter that returns only notebook instances with the specified status. + StatusEquals *string `type:"string" enum:"NotebookInstanceStatus"` +} + +// String returns the string representation +func (s ListNotebookInstancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListNotebookInstancesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListNotebookInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListNotebookInstancesInput"} + if s.AdditionalCodeRepositoryEquals != nil && len(*s.AdditionalCodeRepositoryEquals) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AdditionalCodeRepositoryEquals", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdditionalCodeRepositoryEquals sets the AdditionalCodeRepositoryEquals field's value. +func (s *ListNotebookInstancesInput) SetAdditionalCodeRepositoryEquals(v string) *ListNotebookInstancesInput { + s.AdditionalCodeRepositoryEquals = &v + return s +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListNotebookInstancesInput) SetCreationTimeAfter(v time.Time) *ListNotebookInstancesInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListNotebookInstancesInput) SetCreationTimeBefore(v time.Time) *ListNotebookInstancesInput { + s.CreationTimeBefore = &v + return s +} + +// SetDefaultCodeRepositoryContains sets the DefaultCodeRepositoryContains field's value. +func (s *ListNotebookInstancesInput) SetDefaultCodeRepositoryContains(v string) *ListNotebookInstancesInput { + s.DefaultCodeRepositoryContains = &v + return s +} + +// SetLastModifiedTimeAfter sets the LastModifiedTimeAfter field's value. +func (s *ListNotebookInstancesInput) SetLastModifiedTimeAfter(v time.Time) *ListNotebookInstancesInput { + s.LastModifiedTimeAfter = &v + return s +} + +// SetLastModifiedTimeBefore sets the LastModifiedTimeBefore field's value. +func (s *ListNotebookInstancesInput) SetLastModifiedTimeBefore(v time.Time) *ListNotebookInstancesInput { + s.LastModifiedTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListNotebookInstancesInput) SetMaxResults(v int64) *ListNotebookInstancesInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListNotebookInstancesInput) SetNameContains(v string) *ListNotebookInstancesInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListNotebookInstancesInput) SetNextToken(v string) *ListNotebookInstancesInput { + s.NextToken = &v + return s +} + +// SetNotebookInstanceLifecycleConfigNameContains sets the NotebookInstanceLifecycleConfigNameContains field's value. +func (s *ListNotebookInstancesInput) SetNotebookInstanceLifecycleConfigNameContains(v string) *ListNotebookInstancesInput { + s.NotebookInstanceLifecycleConfigNameContains = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListNotebookInstancesInput) SetSortBy(v string) *ListNotebookInstancesInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListNotebookInstancesInput) SetSortOrder(v string) *ListNotebookInstancesInput { + s.SortOrder = &v + return s +} + +// SetStatusEquals sets the StatusEquals field's value. +func (s *ListNotebookInstancesInput) SetStatusEquals(v string) *ListNotebookInstancesInput { + s.StatusEquals = &v + return s +} + +type ListNotebookInstancesOutput struct { + _ struct{} `type:"structure"` + + // If the response to the previous ListNotebookInstances request was truncated, + // Amazon SageMaker returns this token. To retrieve the next set of notebook + // instances, use the token in the next request. + NextToken *string `type:"string"` + + // An array of NotebookInstanceSummary objects, one for each notebook instance. + NotebookInstances []*NotebookInstanceSummary `type:"list"` +} + +// String returns the string representation +func (s ListNotebookInstancesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListNotebookInstancesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListNotebookInstancesOutput) SetNextToken(v string) *ListNotebookInstancesOutput { + s.NextToken = &v + return s +} + +// SetNotebookInstances sets the NotebookInstances field's value. +func (s *ListNotebookInstancesOutput) SetNotebookInstances(v []*NotebookInstanceSummary) *ListNotebookInstancesOutput { + s.NotebookInstances = v + return s +} + +type ListSubscribedWorkteamsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of work teams to return in each page of the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in the work team name. This filter returns only work teams whose + // name contains the specified string. + NameContains *string `min:"1" type:"string"` + + // If the result of the previous ListSubscribedWorkteams request was truncated, + // the response includes a NextToken. To retrieve the next set of labeling jobs, + // use the token in the next request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListSubscribedWorkteamsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSubscribedWorkteamsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSubscribedWorkteamsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSubscribedWorkteamsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NameContains != nil && len(*s.NameContains) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NameContains", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListSubscribedWorkteamsInput) SetMaxResults(v int64) *ListSubscribedWorkteamsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListSubscribedWorkteamsInput) SetNameContains(v string) *ListSubscribedWorkteamsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSubscribedWorkteamsInput) SetNextToken(v string) *ListSubscribedWorkteamsInput { + s.NextToken = &v + return s +} + +type ListSubscribedWorkteamsOutput struct { + _ struct{} `type:"structure"` + + // If the response is truncated, Amazon SageMaker returns this token. To retrieve + // the next set of work teams, use it in the subsequent request. + NextToken *string `type:"string"` + + // An array of Workteam objects, each describing a work team. + // + // SubscribedWorkteams is a required field + SubscribedWorkteams []*SubscribedWorkteam `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListSubscribedWorkteamsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSubscribedWorkteamsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSubscribedWorkteamsOutput) SetNextToken(v string) *ListSubscribedWorkteamsOutput { + s.NextToken = &v + return s +} + +// SetSubscribedWorkteams sets the SubscribedWorkteams field's value. +func (s *ListSubscribedWorkteamsOutput) SetSubscribedWorkteams(v []*SubscribedWorkteam) *ListSubscribedWorkteamsOutput { + s.SubscribedWorkteams = v + return s +} + +type ListTagsInput struct { + _ struct{} `type:"structure"` + + // Maximum number of tags to return. + MaxResults *int64 `min:"50" type:"integer"` + + // If the response to the previous ListTags request is truncated, Amazon SageMaker + // returns this token. To retrieve the next set of tags, use it in the subsequent + // request. + NextToken *string `type:"string"` + + // The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"} + if s.MaxResults != nil && *s.MaxResults < 50 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 50)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTagsInput) SetMaxResults(v int64) *ListTagsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput { + s.NextToken = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsInput) SetResourceArn(v string) *ListTagsInput { + s.ResourceArn = &v + return s +} + +type ListTagsOutput struct { + _ struct{} `type:"structure"` + + // If response is truncated, Amazon SageMaker includes a token in the response. + // You can use this token in your subsequent request to fetch next set of tokens. + NextToken *string `type:"string"` + + // An array of Tag objects, each with a tag key and a value. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s ListTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput { + s.NextToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ListTagsOutput) SetTags(v []*Tag) *ListTagsOutput { + s.Tags = v + return s +} + +type ListTrainingJobsForHyperParameterTuningJobInput struct { + _ struct{} `type:"structure"` + + // The name of the tuning job whose training jobs you want to list. + // + // HyperParameterTuningJobName is a required field + HyperParameterTuningJobName *string `min:"1" type:"string" required:"true"` + + // The maximum number of training jobs to return. The default value is 10. + MaxResults *int64 `min:"1" type:"integer"` + + // If the result of the previous ListTrainingJobsForHyperParameterTuningJob + // request was truncated, the response includes a NextToken. To retrieve the + // next set of training jobs, use the token in the next request. + NextToken *string `type:"string"` + + // The field to sort results by. The default is Name. + // + // If the value of this field is FinalObjectiveMetricValue, any training jobs + // that did not return an objective metric are not listed. + SortBy *string `type:"string" enum:"TrainingJobSortByOptions"` + + // The sort order for results. The default is Ascending. + SortOrder *string `type:"string" enum:"SortOrder"` + + // A filter that returns only training jobs with the specified status. + StatusEquals *string `type:"string" enum:"TrainingJobStatus"` +} + +// String returns the string representation +func (s ListTrainingJobsForHyperParameterTuningJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTrainingJobsForHyperParameterTuningJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTrainingJobsForHyperParameterTuningJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTrainingJobsForHyperParameterTuningJobInput"} + if s.HyperParameterTuningJobName == nil { + invalidParams.Add(request.NewErrParamRequired("HyperParameterTuningJobName")) + } + if s.HyperParameterTuningJobName != nil && len(*s.HyperParameterTuningJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HyperParameterTuningJobName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHyperParameterTuningJobName sets the HyperParameterTuningJobName field's value. +func (s *ListTrainingJobsForHyperParameterTuningJobInput) SetHyperParameterTuningJobName(v string) *ListTrainingJobsForHyperParameterTuningJobInput { + s.HyperParameterTuningJobName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTrainingJobsForHyperParameterTuningJobInput) SetMaxResults(v int64) *ListTrainingJobsForHyperParameterTuningJobInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrainingJobsForHyperParameterTuningJobInput) SetNextToken(v string) *ListTrainingJobsForHyperParameterTuningJobInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListTrainingJobsForHyperParameterTuningJobInput) SetSortBy(v string) *ListTrainingJobsForHyperParameterTuningJobInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListTrainingJobsForHyperParameterTuningJobInput) SetSortOrder(v string) *ListTrainingJobsForHyperParameterTuningJobInput { + s.SortOrder = &v + return s +} + +// SetStatusEquals sets the StatusEquals field's value. +func (s *ListTrainingJobsForHyperParameterTuningJobInput) SetStatusEquals(v string) *ListTrainingJobsForHyperParameterTuningJobInput { + s.StatusEquals = &v + return s +} + +type ListTrainingJobsForHyperParameterTuningJobOutput struct { + _ struct{} `type:"structure"` + + // If the result of this ListTrainingJobsForHyperParameterTuningJob request + // was truncated, the response includes a NextToken. To retrieve the next set + // of training jobs, use the token in the next request. + NextToken *string `type:"string"` + + // A list of TrainingJobSummary objects that describe the training jobs that + // the ListTrainingJobsForHyperParameterTuningJob request returned. + // + // TrainingJobSummaries is a required field + TrainingJobSummaries []*HyperParameterTrainingJobSummary `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListTrainingJobsForHyperParameterTuningJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTrainingJobsForHyperParameterTuningJobOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrainingJobsForHyperParameterTuningJobOutput) SetNextToken(v string) *ListTrainingJobsForHyperParameterTuningJobOutput { + s.NextToken = &v + return s +} + +// SetTrainingJobSummaries sets the TrainingJobSummaries field's value. +func (s *ListTrainingJobsForHyperParameterTuningJobOutput) SetTrainingJobSummaries(v []*HyperParameterTrainingJobSummary) *ListTrainingJobsForHyperParameterTuningJobOutput { + s.TrainingJobSummaries = v + return s +} + +type ListTrainingJobsInput struct { + _ struct{} `type:"structure"` + + // A filter that returns only training jobs created after the specified time + // (timestamp). + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only training jobs created before the specified time + // (timestamp). + CreationTimeBefore *time.Time `type:"timestamp"` + + // A filter that returns only training jobs modified after the specified time + // (timestamp). + LastModifiedTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only training jobs modified before the specified time + // (timestamp). + LastModifiedTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of training jobs to return in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in the training job name. This filter returns only training jobs + // whose name contains the specified string. + NameContains *string `type:"string"` + + // If the result of the previous ListTrainingJobs request was truncated, the + // response includes a NextToken. To retrieve the next set of training jobs, + // use the token in the next request. + NextToken *string `type:"string"` + + // The field to sort results by. The default is CreationTime. + SortBy *string `type:"string" enum:"SortBy"` + + // The sort order for results. The default is Ascending. + SortOrder *string `type:"string" enum:"SortOrder"` + + // A filter that retrieves only training jobs with a specific status. + StatusEquals *string `type:"string" enum:"TrainingJobStatus"` +} + +// String returns the string representation +func (s ListTrainingJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTrainingJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTrainingJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTrainingJobsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListTrainingJobsInput) SetCreationTimeAfter(v time.Time) *ListTrainingJobsInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListTrainingJobsInput) SetCreationTimeBefore(v time.Time) *ListTrainingJobsInput { + s.CreationTimeBefore = &v + return s +} + +// SetLastModifiedTimeAfter sets the LastModifiedTimeAfter field's value. +func (s *ListTrainingJobsInput) SetLastModifiedTimeAfter(v time.Time) *ListTrainingJobsInput { + s.LastModifiedTimeAfter = &v + return s +} + +// SetLastModifiedTimeBefore sets the LastModifiedTimeBefore field's value. +func (s *ListTrainingJobsInput) SetLastModifiedTimeBefore(v time.Time) *ListTrainingJobsInput { + s.LastModifiedTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTrainingJobsInput) SetMaxResults(v int64) *ListTrainingJobsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListTrainingJobsInput) SetNameContains(v string) *ListTrainingJobsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrainingJobsInput) SetNextToken(v string) *ListTrainingJobsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListTrainingJobsInput) SetSortBy(v string) *ListTrainingJobsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListTrainingJobsInput) SetSortOrder(v string) *ListTrainingJobsInput { + s.SortOrder = &v + return s +} + +// SetStatusEquals sets the StatusEquals field's value. +func (s *ListTrainingJobsInput) SetStatusEquals(v string) *ListTrainingJobsInput { + s.StatusEquals = &v + return s +} + +type ListTrainingJobsOutput struct { + _ struct{} `type:"structure"` + + // If the response is truncated, Amazon SageMaker returns this token. To retrieve + // the next set of training jobs, use it in the subsequent request. + NextToken *string `type:"string"` + + // An array of TrainingJobSummary objects, each listing a training job. + // + // TrainingJobSummaries is a required field + TrainingJobSummaries []*TrainingJobSummary `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListTrainingJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTrainingJobsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrainingJobsOutput) SetNextToken(v string) *ListTrainingJobsOutput { + s.NextToken = &v + return s +} + +// SetTrainingJobSummaries sets the TrainingJobSummaries field's value. +func (s *ListTrainingJobsOutput) SetTrainingJobSummaries(v []*TrainingJobSummary) *ListTrainingJobsOutput { + s.TrainingJobSummaries = v + return s +} + +type ListTransformJobsInput struct { + _ struct{} `type:"structure"` + + // A filter that returns only transform jobs created after the specified time. + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only transform jobs created before the specified time. + CreationTimeBefore *time.Time `type:"timestamp"` + + // A filter that returns only transform jobs modified after the specified time. + LastModifiedTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns only transform jobs modified before the specified time. + LastModifiedTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of transform jobs to return in the response. The default + // value is 10. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in the transform job name. This filter returns only transform jobs + // whose name contains the specified string. + NameContains *string `type:"string"` + + // If the result of the previous ListTransformJobs request was truncated, the + // response includes a NextToken. To retrieve the next set of transform jobs, + // use the token in the next request. + NextToken *string `type:"string"` + + // The field to sort results by. The default is CreationTime. + SortBy *string `type:"string" enum:"SortBy"` + + // The sort order for results. The default is Descending. + SortOrder *string `type:"string" enum:"SortOrder"` + + // A filter that retrieves only transform jobs with a specific status. + StatusEquals *string `type:"string" enum:"TransformJobStatus"` +} + +// String returns the string representation +func (s ListTransformJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTransformJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTransformJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTransformJobsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListTransformJobsInput) SetCreationTimeAfter(v time.Time) *ListTransformJobsInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListTransformJobsInput) SetCreationTimeBefore(v time.Time) *ListTransformJobsInput { + s.CreationTimeBefore = &v + return s +} + +// SetLastModifiedTimeAfter sets the LastModifiedTimeAfter field's value. +func (s *ListTransformJobsInput) SetLastModifiedTimeAfter(v time.Time) *ListTransformJobsInput { + s.LastModifiedTimeAfter = &v + return s +} + +// SetLastModifiedTimeBefore sets the LastModifiedTimeBefore field's value. +func (s *ListTransformJobsInput) SetLastModifiedTimeBefore(v time.Time) *ListTransformJobsInput { + s.LastModifiedTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTransformJobsInput) SetMaxResults(v int64) *ListTransformJobsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListTransformJobsInput) SetNameContains(v string) *ListTransformJobsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTransformJobsInput) SetNextToken(v string) *ListTransformJobsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListTransformJobsInput) SetSortBy(v string) *ListTransformJobsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListTransformJobsInput) SetSortOrder(v string) *ListTransformJobsInput { + s.SortOrder = &v + return s +} + +// SetStatusEquals sets the StatusEquals field's value. +func (s *ListTransformJobsInput) SetStatusEquals(v string) *ListTransformJobsInput { + s.StatusEquals = &v + return s +} + +type ListTransformJobsOutput struct { + _ struct{} `type:"structure"` + + // If the response is truncated, Amazon SageMaker returns this token. To retrieve + // the next set of transform jobs, use it in the next request. + NextToken *string `type:"string"` + + // An array of TransformJobSummary objects. + // + // TransformJobSummaries is a required field + TransformJobSummaries []*TransformJobSummary `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListTransformJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTransformJobsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTransformJobsOutput) SetNextToken(v string) *ListTransformJobsOutput { + s.NextToken = &v + return s +} + +// SetTransformJobSummaries sets the TransformJobSummaries field's value. +func (s *ListTransformJobsOutput) SetTransformJobSummaries(v []*TransformJobSummary) *ListTransformJobsOutput { + s.TransformJobSummaries = v + return s +} + +type ListWorkteamsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of work teams to return in each page of the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A string in the work team's name. This filter returns only work teams whose + // name contains the specified string. + NameContains *string `min:"1" type:"string"` + + // If the result of the previous ListWorkteams request was truncated, the response + // includes a NextToken. To retrieve the next set of labeling jobs, use the + // token in the next request. + NextToken *string `type:"string"` + + // The field to sort results by. The default is CreationTime. + SortBy *string `type:"string" enum:"ListWorkteamsSortByOptions"` + + // The sort order for results. The default is Ascending. + SortOrder *string `type:"string" enum:"SortOrder"` +} + +// String returns the string representation +func (s ListWorkteamsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWorkteamsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListWorkteamsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWorkteamsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NameContains != nil && len(*s.NameContains) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NameContains", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListWorkteamsInput) SetMaxResults(v int64) *ListWorkteamsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListWorkteamsInput) SetNameContains(v string) *ListWorkteamsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkteamsInput) SetNextToken(v string) *ListWorkteamsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListWorkteamsInput) SetSortBy(v string) *ListWorkteamsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListWorkteamsInput) SetSortOrder(v string) *ListWorkteamsInput { + s.SortOrder = &v + return s +} + +type ListWorkteamsOutput struct { + _ struct{} `type:"structure"` + + // If the response is truncated, Amazon SageMaker returns this token. To retrieve + // the next set of work teams, use it in the subsequent request. + NextToken *string `type:"string"` + + // An array of Workteam objects, each describing a work team. + // + // Workteams is a required field + Workteams []*Workteam `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListWorkteamsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWorkteamsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkteamsOutput) SetNextToken(v string) *ListWorkteamsOutput { + s.NextToken = &v + return s +} + +// SetWorkteams sets the Workteams field's value. +func (s *ListWorkteamsOutput) SetWorkteams(v []*Workteam) *ListWorkteamsOutput { + s.Workteams = v + return s +} + +// Defines the Amazon Cognito user group that is part of a work team. +type MemberDefinition struct { + _ struct{} `type:"structure"` + + // The Amazon Cognito user group that is part of the work team. + CognitoMemberDefinition *CognitoMemberDefinition `type:"structure"` +} + +// String returns the string representation +func (s MemberDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MemberDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MemberDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MemberDefinition"} + if s.CognitoMemberDefinition != nil { + if err := s.CognitoMemberDefinition.Validate(); err != nil { + invalidParams.AddNested("CognitoMemberDefinition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCognitoMemberDefinition sets the CognitoMemberDefinition field's value. +func (s *MemberDefinition) SetCognitoMemberDefinition(v *CognitoMemberDefinition) *MemberDefinition { + s.CognitoMemberDefinition = v + return s +} + +// The name, value, and date and time of a metric that was emitted to Amazon +// CloudWatch. +type MetricData struct { + _ struct{} `type:"structure"` + + // The name of the metric. + MetricName *string `min:"1" type:"string"` + + // The date and time that the algorithm emitted the metric. + Timestamp *time.Time `type:"timestamp"` + + // The value of the metric. + Value *float64 `type:"float"` +} + +// String returns the string representation +func (s MetricData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MetricData) GoString() string { + return s.String() +} + +// SetMetricName sets the MetricName field's value. +func (s *MetricData) SetMetricName(v string) *MetricData { + s.MetricName = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *MetricData) SetTimestamp(v time.Time) *MetricData { + s.Timestamp = &v + return s +} + +// SetValue sets the Value field's value. +func (s *MetricData) SetValue(v float64) *MetricData { + s.Value = &v + return s +} + +// Specifies a metric that the training algorithm writes to stderr or stdout. +// Amazon SageMakerhyperparameter tuning captures all defined metrics. You specify +// one metric that a hyperparameter tuning job uses as its objective metric +// to choose the best training job. +type MetricDefinition struct { + _ struct{} `type:"structure"` + + // The name of the metric. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A regular expression that searches the output of a training job and gets + // the value of the metric. For more information about using regular expressions + // to define metrics, see Defining Objective Metrics (http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-metrics.html). + // + // Regex is a required field + Regex *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s MetricDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MetricDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MetricDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MetricDefinition"} + 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.Regex == nil { + invalidParams.Add(request.NewErrParamRequired("Regex")) + } + if s.Regex != nil && len(*s.Regex) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *MetricDefinition) SetName(v string) *MetricDefinition { + s.Name = &v + return s +} + +// SetRegex sets the Regex field's value. +func (s *MetricDefinition) SetRegex(v string) *MetricDefinition { + s.Regex = &v + return s +} + +// Provides information about the location that is configured for storing model +// artifacts. +type ModelArtifacts struct { + _ struct{} `type:"structure"` + + // The path of the S3 object that contains the model artifacts. For example, + // s3://bucket-name/keynameprefix/model.tar.gz. + // + // S3ModelArtifacts is a required field + S3ModelArtifacts *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ModelArtifacts) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModelArtifacts) GoString() string { + return s.String() +} + +// SetS3ModelArtifacts sets the S3ModelArtifacts field's value. +func (s *ModelArtifacts) SetS3ModelArtifacts(v string) *ModelArtifacts { + s.S3ModelArtifacts = &v + return s +} + +// Describes the Docker container for the model package. +type ModelPackageContainerDefinition struct { + _ struct{} `type:"structure"` + + // The DNS host name for the Docker container. + ContainerHostname *string `type:"string"` + + // The Amazon EC2 Container Registry (Amazon ECR) path where inference code + // is stored. + // + // If you are using your own custom algorithm instead of an algorithm provided + // by Amazon SageMaker, the inference code must meet Amazon SageMaker requirements. + // Amazon SageMaker supports both registry/repository[:tag] and registry/repository[@digest] + // image path formats. For more information, see Using Your Own Algorithms with + // Amazon SageMaker (http://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html). + // + // Image is a required field + Image *string `type:"string" required:"true"` + + // An MD5 hash of the training algorithm that identifies the Docker image used + // for training. + ImageDigest *string `type:"string"` + + // The Amazon S3 path where the model artifacts, which result from model training, + // are stored. This path must point to a single gzip compressed tar archive + // (.tar.gz suffix). + ModelDataUrl *string `type:"string"` + + // The AWS Marketplace product ID of the model package. + ProductId *string `type:"string"` +} + +// String returns the string representation +func (s ModelPackageContainerDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModelPackageContainerDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModelPackageContainerDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModelPackageContainerDefinition"} + if s.Image == nil { + invalidParams.Add(request.NewErrParamRequired("Image")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainerHostname sets the ContainerHostname field's value. +func (s *ModelPackageContainerDefinition) SetContainerHostname(v string) *ModelPackageContainerDefinition { + s.ContainerHostname = &v + return s +} + +// SetImage sets the Image field's value. +func (s *ModelPackageContainerDefinition) SetImage(v string) *ModelPackageContainerDefinition { + s.Image = &v + return s +} + +// SetImageDigest sets the ImageDigest field's value. +func (s *ModelPackageContainerDefinition) SetImageDigest(v string) *ModelPackageContainerDefinition { + s.ImageDigest = &v + return s +} + +// SetModelDataUrl sets the ModelDataUrl field's value. +func (s *ModelPackageContainerDefinition) SetModelDataUrl(v string) *ModelPackageContainerDefinition { + s.ModelDataUrl = &v + return s +} + +// SetProductId sets the ProductId field's value. +func (s *ModelPackageContainerDefinition) SetProductId(v string) *ModelPackageContainerDefinition { + s.ProductId = &v + return s +} + +// Specifies the validation and image scan statuses of the model package. +type ModelPackageStatusDetails struct { + _ struct{} `type:"structure"` + + // The status of the scan of the Docker image container for the model package. + ImageScanStatuses []*ModelPackageStatusItem `type:"list"` + + // The validation status of the model package. + // + // ValidationStatuses is a required field + ValidationStatuses []*ModelPackageStatusItem `type:"list" required:"true"` +} + +// String returns the string representation +func (s ModelPackageStatusDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModelPackageStatusDetails) GoString() string { + return s.String() +} + +// SetImageScanStatuses sets the ImageScanStatuses field's value. +func (s *ModelPackageStatusDetails) SetImageScanStatuses(v []*ModelPackageStatusItem) *ModelPackageStatusDetails { + s.ImageScanStatuses = v + return s +} + +// SetValidationStatuses sets the ValidationStatuses field's value. +func (s *ModelPackageStatusDetails) SetValidationStatuses(v []*ModelPackageStatusItem) *ModelPackageStatusDetails { + s.ValidationStatuses = v + return s +} + +// Represents the overall status of a model package. +type ModelPackageStatusItem struct { + _ struct{} `type:"structure"` + + // if the overall status is Failed, the reason for the failure. + FailureReason *string `type:"string"` + + // The name of the model package for which the overall status is being reported. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The current status. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"DetailedModelPackageStatus"` +} + +// String returns the string representation +func (s ModelPackageStatusItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModelPackageStatusItem) GoString() string { + return s.String() +} + +// SetFailureReason sets the FailureReason field's value. +func (s *ModelPackageStatusItem) SetFailureReason(v string) *ModelPackageStatusItem { + s.FailureReason = &v + return s +} + +// SetName sets the Name field's value. +func (s *ModelPackageStatusItem) SetName(v string) *ModelPackageStatusItem { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ModelPackageStatusItem) SetStatus(v string) *ModelPackageStatusItem { + s.Status = &v + return s +} + +// Provides summary information about a model package. +type ModelPackageSummary struct { + _ struct{} `type:"structure"` + + // A timestamp that shows when the model package was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) of the model package. + // + // ModelPackageArn is a required field + ModelPackageArn *string `min:"1" type:"string" required:"true"` + + // A brief description of the model package. + ModelPackageDescription *string `type:"string"` + + // The name of the model package. + // + // ModelPackageName is a required field + ModelPackageName *string `min:"1" type:"string" required:"true"` + + // The overall status of the model package. + // + // ModelPackageStatus is a required field + ModelPackageStatus *string `type:"string" required:"true" enum:"ModelPackageStatus"` +} + +// String returns the string representation +func (s ModelPackageSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModelPackageSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ModelPackageSummary) SetCreationTime(v time.Time) *ModelPackageSummary { + s.CreationTime = &v + return s +} + +// SetModelPackageArn sets the ModelPackageArn field's value. +func (s *ModelPackageSummary) SetModelPackageArn(v string) *ModelPackageSummary { + s.ModelPackageArn = &v + return s +} + +// SetModelPackageDescription sets the ModelPackageDescription field's value. +func (s *ModelPackageSummary) SetModelPackageDescription(v string) *ModelPackageSummary { + s.ModelPackageDescription = &v + return s +} + +// SetModelPackageName sets the ModelPackageName field's value. +func (s *ModelPackageSummary) SetModelPackageName(v string) *ModelPackageSummary { + s.ModelPackageName = &v + return s +} + +// SetModelPackageStatus sets the ModelPackageStatus field's value. +func (s *ModelPackageSummary) SetModelPackageStatus(v string) *ModelPackageSummary { + s.ModelPackageStatus = &v + return s +} + +// Contains data, such as the inputs and targeted instance types that are used +// in the process of validating the model package. +// +// The data provided in the validation profile is made available to your buyers +// on AWS Marketplace. +type ModelPackageValidationProfile struct { + _ struct{} `type:"structure"` + + // The name of the profile for the model package. + // + // ProfileName is a required field + ProfileName *string `min:"1" type:"string" required:"true"` + + // The TransformJobDefinition object that describes the transform job used for + // the validation of the model package. + // + // TransformJobDefinition is a required field + TransformJobDefinition *TransformJobDefinition `type:"structure" required:"true"` +} + +// String returns the string representation +func (s ModelPackageValidationProfile) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModelPackageValidationProfile) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModelPackageValidationProfile) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModelPackageValidationProfile"} + if s.ProfileName == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileName")) + } + if s.ProfileName != nil && len(*s.ProfileName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileName", 1)) + } + if s.TransformJobDefinition == nil { + invalidParams.Add(request.NewErrParamRequired("TransformJobDefinition")) + } + if s.TransformJobDefinition != nil { + if err := s.TransformJobDefinition.Validate(); err != nil { + invalidParams.AddNested("TransformJobDefinition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProfileName sets the ProfileName field's value. +func (s *ModelPackageValidationProfile) SetProfileName(v string) *ModelPackageValidationProfile { + s.ProfileName = &v + return s +} + +// SetTransformJobDefinition sets the TransformJobDefinition field's value. +func (s *ModelPackageValidationProfile) SetTransformJobDefinition(v *TransformJobDefinition) *ModelPackageValidationProfile { + s.TransformJobDefinition = v + return s +} + +// Specifies batch transform jobs that Amazon SageMaker runs to validate your +// model package. +type ModelPackageValidationSpecification struct { + _ struct{} `type:"structure"` + + // An array of ModelPackageValidationProfile objects, each of which specifies + // a batch transform job that Amazon SageMaker runs to validate your model package. + // + // ValidationProfiles is a required field + ValidationProfiles []*ModelPackageValidationProfile `min:"1" type:"list" required:"true"` + + // The IAM roles to be used for the validation of the model package. + // + // ValidationRole is a required field + ValidationRole *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s ModelPackageValidationSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModelPackageValidationSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModelPackageValidationSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModelPackageValidationSpecification"} + if s.ValidationProfiles == nil { + invalidParams.Add(request.NewErrParamRequired("ValidationProfiles")) + } + if s.ValidationProfiles != nil && len(s.ValidationProfiles) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValidationProfiles", 1)) + } + if s.ValidationRole == nil { + invalidParams.Add(request.NewErrParamRequired("ValidationRole")) + } + if s.ValidationRole != nil && len(*s.ValidationRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ValidationRole", 20)) + } + if s.ValidationProfiles != nil { + for i, v := range s.ValidationProfiles { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ValidationProfiles", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValidationProfiles sets the ValidationProfiles field's value. +func (s *ModelPackageValidationSpecification) SetValidationProfiles(v []*ModelPackageValidationProfile) *ModelPackageValidationSpecification { + s.ValidationProfiles = v + return s +} + +// SetValidationRole sets the ValidationRole field's value. +func (s *ModelPackageValidationSpecification) SetValidationRole(v string) *ModelPackageValidationSpecification { + s.ValidationRole = &v + return s +} + +// Provides summary information about a model. +type ModelSummary struct { + _ struct{} `type:"structure"` + + // A timestamp that indicates when the model was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) of the model. + // + // ModelArn is a required field + ModelArn *string `min:"20" type:"string" required:"true"` + + // The name of the model that you want a summary for. + // + // ModelName is a required field + ModelName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ModelSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModelSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ModelSummary) SetCreationTime(v time.Time) *ModelSummary { + s.CreationTime = &v + return s +} + +// SetModelArn sets the ModelArn field's value. +func (s *ModelSummary) SetModelArn(v string) *ModelSummary { + s.ModelArn = &v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *ModelSummary) SetModelName(v string) *ModelSummary { + s.ModelName = &v + return s +} + +// Defines a list of NestedFilters objects. To satisfy the conditions specified +// in the NestedFilters call, a resource must satisfy the conditions of all +// of the filters. +// +// For example, you could define a NestedFilters using the training job's InputDataConfig +// property to filter on Channel objects. +// +// A NestedFilters object contains multiple filters. For example, to find all +// training jobs whose name contains train and that have cat/data in their S3Uri +// (specified in InputDataConfig), you need to create a NestedFilters object +// that specifies the InputDataConfig property with the following Filter objects: +// +// * '{Name:"InputDataConfig.ChannelName", "Operator":"EQUALS", "Value":"train"}', +// +// * '{Name:"InputDataConfig.DataSource.S3DataSource.S3Uri", "Operator":"CONTAINS", +// "Value":"cat/data"}' +type NestedFilters struct { + _ struct{} `type:"structure"` + + // A list of filters. Each filter acts on a property. Filters must contain at + // least one Filters value. For example, a NestedFilters call might include + // a filter on the PropertyName parameter of the InputDataConfig property: InputDataConfig.DataSource.S3DataSource.S3Uri. + // + // Filters is a required field + Filters []*Filter `min:"1" type:"list" required:"true"` + + // The name of the property to use in the nested filters. The value must match + // a listed property name, such as InputDataConfig. + // + // NestedPropertyName is a required field + NestedPropertyName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s NestedFilters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NestedFilters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NestedFilters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NestedFilters"} + 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.NestedPropertyName == nil { + invalidParams.Add(request.NewErrParamRequired("NestedPropertyName")) + } + if s.NestedPropertyName != nil && len(*s.NestedPropertyName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NestedPropertyName", 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 *NestedFilters) SetFilters(v []*Filter) *NestedFilters { + s.Filters = v + return s +} + +// SetNestedPropertyName sets the NestedPropertyName field's value. +func (s *NestedFilters) SetNestedPropertyName(v string) *NestedFilters { + s.NestedPropertyName = &v + return s +} + +// Provides a summary of a notebook instance lifecycle configuration. +type NotebookInstanceLifecycleConfigSummary struct { + _ struct{} `type:"structure"` + + // A timestamp that tells when the lifecycle configuration was created. + CreationTime *time.Time `type:"timestamp"` + + // A timestamp that tells when the lifecycle configuration was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the lifecycle configuration. + // + // NotebookInstanceLifecycleConfigArn is a required field + NotebookInstanceLifecycleConfigArn *string `type:"string" required:"true"` + + // The name of the lifecycle configuration. + // + // NotebookInstanceLifecycleConfigName is a required field + NotebookInstanceLifecycleConfigName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s NotebookInstanceLifecycleConfigSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotebookInstanceLifecycleConfigSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *NotebookInstanceLifecycleConfigSummary) SetCreationTime(v time.Time) *NotebookInstanceLifecycleConfigSummary { + s.CreationTime = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *NotebookInstanceLifecycleConfigSummary) SetLastModifiedTime(v time.Time) *NotebookInstanceLifecycleConfigSummary { + s.LastModifiedTime = &v + return s +} + +// SetNotebookInstanceLifecycleConfigArn sets the NotebookInstanceLifecycleConfigArn field's value. +func (s *NotebookInstanceLifecycleConfigSummary) SetNotebookInstanceLifecycleConfigArn(v string) *NotebookInstanceLifecycleConfigSummary { + s.NotebookInstanceLifecycleConfigArn = &v + return s +} + +// SetNotebookInstanceLifecycleConfigName sets the NotebookInstanceLifecycleConfigName field's value. +func (s *NotebookInstanceLifecycleConfigSummary) SetNotebookInstanceLifecycleConfigName(v string) *NotebookInstanceLifecycleConfigSummary { + s.NotebookInstanceLifecycleConfigName = &v + return s +} + +// Contains the notebook instance lifecycle configuration script. +// +// Each lifecycle configuration script has a limit of 16384 characters. +// +// The value of the $PATH environment variable that is available to both scripts +// is /sbin:bin:/usr/sbin:/usr/bin. +// +// View CloudWatch Logs for notebook instance lifecycle configurations in log +// group /aws/sagemaker/NotebookInstances in log stream [notebook-instance-name]/[LifecycleConfigHook]. +// +// Lifecycle configuration scripts cannot run for longer than 5 minutes. If +// a script runs for longer than 5 minutes, it fails and the notebook instance +// is not created or started. +// +// For information about notebook instance lifestyle configurations, see Step +// 2.1: (Optional) Customize a Notebook Instance (http://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html). +type NotebookInstanceLifecycleHook struct { + _ struct{} `type:"structure"` + + // A base64-encoded string that contains a shell script for a notebook instance + // lifecycle configuration. + Content *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s NotebookInstanceLifecycleHook) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotebookInstanceLifecycleHook) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NotebookInstanceLifecycleHook) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NotebookInstanceLifecycleHook"} + if s.Content != nil && len(*s.Content) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Content", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContent sets the Content field's value. +func (s *NotebookInstanceLifecycleHook) SetContent(v string) *NotebookInstanceLifecycleHook { + s.Content = &v + return s +} + +// Provides summary information for an Amazon SageMaker notebook instance. +type NotebookInstanceSummary struct { + _ struct{} `type:"structure"` + + // An array of up to three Git repositories associated with the notebook instance. + // These can be either the names of Git repositories stored as resources in + // your account, or the URL of Git repositories in AWS CodeCommit (http://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) + // or in any other Git repository. These repositories are cloned at the same + // level as the default repository of your notebook instance. For more information, + // see Associating Git Repositories with Amazon SageMaker Notebook Instances + // (http://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html). + AdditionalCodeRepositories []*string `type:"list"` + + // A timestamp that shows when the notebook instance was created. + CreationTime *time.Time `type:"timestamp"` + + // The Git repository associated with the notebook instance as its default code + // repository. This can be either the name of a Git repository stored as a resource + // in your account, or the URL of a Git repository in AWS CodeCommit (http://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) + // or in any other Git repository. When you open a notebook instance, it opens + // in the directory that contains this repository. For more information, see + // Associating Git Repositories with Amazon SageMaker Notebook Instances (http://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html). + DefaultCodeRepository *string `min:"1" type:"string"` + + // The type of ML compute instance that the notebook instance is running on. + InstanceType *string `type:"string" enum:"InstanceType"` + + // A timestamp that shows when the notebook instance was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the notebook instance. + // + // NotebookInstanceArn is a required field + NotebookInstanceArn *string `type:"string" required:"true"` + + // The name of a notebook instance lifecycle configuration associated with this + // notebook instance. + // + // For information about notebook instance lifestyle configurations, see Step + // 2.1: (Optional) Customize a Notebook Instance (http://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html). + NotebookInstanceLifecycleConfigName *string `type:"string"` + + // The name of the notebook instance that you want a summary for. + // + // NotebookInstanceName is a required field + NotebookInstanceName *string `type:"string" required:"true"` + + // The status of the notebook instance. + NotebookInstanceStatus *string `type:"string" enum:"NotebookInstanceStatus"` + + // The URL that you use to connect to the Jupyter instance running in your notebook + // instance. + Url *string `type:"string"` +} + +// String returns the string representation +func (s NotebookInstanceSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotebookInstanceSummary) GoString() string { + return s.String() +} + +// SetAdditionalCodeRepositories sets the AdditionalCodeRepositories field's value. +func (s *NotebookInstanceSummary) SetAdditionalCodeRepositories(v []*string) *NotebookInstanceSummary { + s.AdditionalCodeRepositories = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *NotebookInstanceSummary) SetCreationTime(v time.Time) *NotebookInstanceSummary { + s.CreationTime = &v + return s +} + +// SetDefaultCodeRepository sets the DefaultCodeRepository field's value. +func (s *NotebookInstanceSummary) SetDefaultCodeRepository(v string) *NotebookInstanceSummary { + s.DefaultCodeRepository = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *NotebookInstanceSummary) SetInstanceType(v string) *NotebookInstanceSummary { + s.InstanceType = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *NotebookInstanceSummary) SetLastModifiedTime(v time.Time) *NotebookInstanceSummary { + s.LastModifiedTime = &v + return s +} + +// SetNotebookInstanceArn sets the NotebookInstanceArn field's value. +func (s *NotebookInstanceSummary) SetNotebookInstanceArn(v string) *NotebookInstanceSummary { + s.NotebookInstanceArn = &v + return s +} + +// SetNotebookInstanceLifecycleConfigName sets the NotebookInstanceLifecycleConfigName field's value. +func (s *NotebookInstanceSummary) SetNotebookInstanceLifecycleConfigName(v string) *NotebookInstanceSummary { + s.NotebookInstanceLifecycleConfigName = &v + return s +} + +// SetNotebookInstanceName sets the NotebookInstanceName field's value. +func (s *NotebookInstanceSummary) SetNotebookInstanceName(v string) *NotebookInstanceSummary { + s.NotebookInstanceName = &v + return s +} + +// SetNotebookInstanceStatus sets the NotebookInstanceStatus field's value. +func (s *NotebookInstanceSummary) SetNotebookInstanceStatus(v string) *NotebookInstanceSummary { + s.NotebookInstanceStatus = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *NotebookInstanceSummary) SetUrl(v string) *NotebookInstanceSummary { + s.Url = &v + return s +} + +// Specifies the number of training jobs that this hyperparameter tuning job +// launched, categorized by the status of their objective metric. The objective +// metric status shows whether the final objective metric for the training job +// has been evaluated by the tuning job and used in the hyperparameter tuning +// process. +type ObjectiveStatusCounters struct { + _ struct{} `type:"structure"` + + // The number of training jobs whose final objective metric was not evaluated + // and used in the hyperparameter tuning process. This typically occurs when + // the training job failed or did not emit an objective metric. + Failed *int64 `type:"integer"` + + // The number of training jobs that are in progress and pending evaluation of + // their final objective metric. + Pending *int64 `type:"integer"` + + // The number of training jobs whose final objective metric was evaluated by + // the hyperparameter tuning job and used in the hyperparameter tuning process. + Succeeded *int64 `type:"integer"` +} + +// String returns the string representation +func (s ObjectiveStatusCounters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ObjectiveStatusCounters) GoString() string { + return s.String() +} + +// SetFailed sets the Failed field's value. +func (s *ObjectiveStatusCounters) SetFailed(v int64) *ObjectiveStatusCounters { + s.Failed = &v + return s +} + +// SetPending sets the Pending field's value. +func (s *ObjectiveStatusCounters) SetPending(v int64) *ObjectiveStatusCounters { + s.Pending = &v + return s +} + +// SetSucceeded sets the Succeeded field's value. +func (s *ObjectiveStatusCounters) SetSucceeded(v int64) *ObjectiveStatusCounters { + s.Succeeded = &v + return s +} + +// Contains information about the output location for the compiled model and +// the device (target) that the model runs on. +type OutputConfig struct { + _ struct{} `type:"structure"` + + // Identifies the S3 path where you want Amazon SageMaker to store the model + // artifacts. For example, s3://bucket-name/key-name-prefix. + // + // S3OutputLocation is a required field + S3OutputLocation *string `type:"string" required:"true"` + + // Identifies the device that you want to run your model on after it has been + // compiled. For example: ml_c5. + // + // TargetDevice is a required field + TargetDevice *string `type:"string" required:"true" enum:"TargetDevice"` +} + +// String returns the string representation +func (s OutputConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OutputConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OutputConfig"} + if s.S3OutputLocation == nil { + invalidParams.Add(request.NewErrParamRequired("S3OutputLocation")) + } + if s.TargetDevice == nil { + invalidParams.Add(request.NewErrParamRequired("TargetDevice")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3OutputLocation sets the S3OutputLocation field's value. +func (s *OutputConfig) SetS3OutputLocation(v string) *OutputConfig { + s.S3OutputLocation = &v + return s +} + +// SetTargetDevice sets the TargetDevice field's value. +func (s *OutputConfig) SetTargetDevice(v string) *OutputConfig { + s.TargetDevice = &v + return s +} + +// Provides information about how to store model training results (model artifacts). +type OutputDataConfig struct { + _ struct{} `type:"structure"` + + // The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to + // encrypt the model artifacts at rest using Amazon S3 server-side encryption. + // The KmsKeyId can be any of the following formats: + // + // * // KMS Key ID + // + // "1234abcd-12ab-34cd-56ef-1234567890ab" + // + // * // Amazon Resource Name (ARN) of a KMS Key + // + // "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + // + // * // KMS Key Alias + // + // "alias/ExampleAlias" + // + // * // Amazon Resource Name (ARN) of a KMS Key Alias + // + // "arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias" + // + // If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS + // key for Amazon S3 for your role's account. For more information, see KMS-Managed + // Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) + // in the Amazon Simple Storage Service Developer Guide. + // + // The KMS key policy must grant permission to the IAM role that you specify + // in your CreateTramsformJob request. For more information, see Using Key Policies + // in AWS KMS (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) + // in the AWS Key Management Service Developer Guide. + KmsKeyId *string `type:"string"` + + // Identifies the S3 path where you want Amazon SageMaker to store the model + // artifacts. For example, s3://bucket-name/key-name-prefix. + // + // S3OutputPath is a required field + S3OutputPath *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s OutputDataConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputDataConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OutputDataConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OutputDataConfig"} + if s.S3OutputPath == nil { + invalidParams.Add(request.NewErrParamRequired("S3OutputPath")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *OutputDataConfig) SetKmsKeyId(v string) *OutputDataConfig { + s.KmsKeyId = &v + return s +} + +// SetS3OutputPath sets the S3OutputPath field's value. +func (s *OutputDataConfig) SetS3OutputPath(v string) *OutputDataConfig { + s.S3OutputPath = &v + return s +} + +// Defines the possible values for categorical, continuous, and integer hyperparameters +// to be used by an algorithm. +type ParameterRange struct { + _ struct{} `type:"structure"` + + // A CategoricalParameterRangeSpecification object that defines the possible + // values for a categorical hyperparameter. + CategoricalParameterRangeSpecification *CategoricalParameterRangeSpecification `type:"structure"` + + // A ContinuousParameterRangeSpecification object that defines the possible + // values for a continuous hyperparameter. + ContinuousParameterRangeSpecification *ContinuousParameterRangeSpecification `type:"structure"` + + // A IntegerParameterRangeSpecification object that defines the possible values + // for an integer hyperparameter. + IntegerParameterRangeSpecification *IntegerParameterRangeSpecification `type:"structure"` +} + +// String returns the string representation +func (s ParameterRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParameterRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParameterRange"} + if s.CategoricalParameterRangeSpecification != nil { + if err := s.CategoricalParameterRangeSpecification.Validate(); err != nil { + invalidParams.AddNested("CategoricalParameterRangeSpecification", err.(request.ErrInvalidParams)) + } + } + if s.ContinuousParameterRangeSpecification != nil { + if err := s.ContinuousParameterRangeSpecification.Validate(); err != nil { + invalidParams.AddNested("ContinuousParameterRangeSpecification", err.(request.ErrInvalidParams)) + } + } + if s.IntegerParameterRangeSpecification != nil { + if err := s.IntegerParameterRangeSpecification.Validate(); err != nil { + invalidParams.AddNested("IntegerParameterRangeSpecification", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCategoricalParameterRangeSpecification sets the CategoricalParameterRangeSpecification field's value. +func (s *ParameterRange) SetCategoricalParameterRangeSpecification(v *CategoricalParameterRangeSpecification) *ParameterRange { + s.CategoricalParameterRangeSpecification = v + return s +} + +// SetContinuousParameterRangeSpecification sets the ContinuousParameterRangeSpecification field's value. +func (s *ParameterRange) SetContinuousParameterRangeSpecification(v *ContinuousParameterRangeSpecification) *ParameterRange { + s.ContinuousParameterRangeSpecification = v + return s +} + +// SetIntegerParameterRangeSpecification sets the IntegerParameterRangeSpecification field's value. +func (s *ParameterRange) SetIntegerParameterRangeSpecification(v *IntegerParameterRangeSpecification) *ParameterRange { + s.IntegerParameterRangeSpecification = v + return s +} + +// Specifies ranges of integer, continuous, and categorical hyperparameters +// that a hyperparameter tuning job searches. The hyperparameter tuning job +// launches training jobs with hyperparameter values within these ranges to +// find the combination of values that result in the training job with the best +// performance as measured by the objective metric of the hyperparameter tuning +// job. +// +// You can specify a maximum of 20 hyperparameters that a hyperparameter tuning +// job can search over. Every possible value of a categorical parameter range +// counts against this limit. +type ParameterRanges struct { + _ struct{} `type:"structure"` + + // The array of CategoricalParameterRange objects that specify ranges of categorical + // hyperparameters that a hyperparameter tuning job searches. + CategoricalParameterRanges []*CategoricalParameterRange `type:"list"` + + // The array of ContinuousParameterRange objects that specify ranges of continuous + // hyperparameters that a hyperparameter tuning job searches. + ContinuousParameterRanges []*ContinuousParameterRange `type:"list"` + + // The array of IntegerParameterRange objects that specify ranges of integer + // hyperparameters that a hyperparameter tuning job searches. + IntegerParameterRanges []*IntegerParameterRange `type:"list"` +} + +// String returns the string representation +func (s ParameterRanges) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterRanges) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParameterRanges) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParameterRanges"} + if s.CategoricalParameterRanges != nil { + for i, v := range s.CategoricalParameterRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CategoricalParameterRanges", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ContinuousParameterRanges != nil { + for i, v := range s.ContinuousParameterRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContinuousParameterRanges", i), err.(request.ErrInvalidParams)) + } + } + } + if s.IntegerParameterRanges != nil { + for i, v := range s.IntegerParameterRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IntegerParameterRanges", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCategoricalParameterRanges sets the CategoricalParameterRanges field's value. +func (s *ParameterRanges) SetCategoricalParameterRanges(v []*CategoricalParameterRange) *ParameterRanges { + s.CategoricalParameterRanges = v + return s +} + +// SetContinuousParameterRanges sets the ContinuousParameterRanges field's value. +func (s *ParameterRanges) SetContinuousParameterRanges(v []*ContinuousParameterRange) *ParameterRanges { + s.ContinuousParameterRanges = v + return s +} + +// SetIntegerParameterRanges sets the IntegerParameterRanges field's value. +func (s *ParameterRanges) SetIntegerParameterRanges(v []*IntegerParameterRange) *ParameterRanges { + s.IntegerParameterRanges = v + return s +} + +// A previously completed or stopped hyperparameter tuning job to be used as +// a starting point for a new hyperparameter tuning job. +type ParentHyperParameterTuningJob struct { + _ struct{} `type:"structure"` + + // The name of the hyperparameter tuning job to be used as a starting point + // for a new hyperparameter tuning job. + HyperParameterTuningJobName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ParentHyperParameterTuningJob) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParentHyperParameterTuningJob) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParentHyperParameterTuningJob) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParentHyperParameterTuningJob"} + if s.HyperParameterTuningJobName != nil && len(*s.HyperParameterTuningJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HyperParameterTuningJobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHyperParameterTuningJobName sets the HyperParameterTuningJobName field's value. +func (s *ParentHyperParameterTuningJob) SetHyperParameterTuningJobName(v string) *ParentHyperParameterTuningJob { + s.HyperParameterTuningJobName = &v + return s +} + +// Identifies a model that you want to host and the resources to deploy for +// hosting it. If you are deploying multiple models, tell Amazon SageMaker how +// to distribute traffic among the models by specifying variant weights. +type ProductionVariant struct { + _ struct{} `type:"structure"` + + // The size of the Elastic Inference (EI) instance to use for the production + // variant. EI instances provide on-demand GPU computing for inference. For + // more information, see Using Elastic Inference in Amazon SageMaker (http://docs.aws.amazon.com/sagemaker/latest/dg/ei.html). + // For more information, see Using Elastic Inference in Amazon SageMaker (http://docs.aws.amazon.com/sagemaker/latest/dg/ei.html). + AcceleratorType *string `type:"string" enum:"ProductionVariantAcceleratorType"` + + // Number of instances to launch initially. + // + // InitialInstanceCount is a required field + InitialInstanceCount *int64 `min:"1" type:"integer" required:"true"` + + // Determines initial traffic distribution among all of the models that you + // specify in the endpoint configuration. The traffic to a production variant + // is determined by the ratio of the VariantWeight to the sum of all VariantWeight + // values across all ProductionVariants. If unspecified, it defaults to 1.0. + InitialVariantWeight *float64 `type:"float"` + + // The ML compute instance type. + // + // InstanceType is a required field + InstanceType *string `type:"string" required:"true" enum:"ProductionVariantInstanceType"` + + // The name of the model that you want to host. This is the name that you specified + // when creating the model. + // + // ModelName is a required field + ModelName *string `type:"string" required:"true"` + + // The name of the production variant. + // + // VariantName is a required field + VariantName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ProductionVariant) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProductionVariant) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProductionVariant) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProductionVariant"} + if s.InitialInstanceCount == nil { + invalidParams.Add(request.NewErrParamRequired("InitialInstanceCount")) + } + if s.InitialInstanceCount != nil && *s.InitialInstanceCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("InitialInstanceCount", 1)) + } + if s.InstanceType == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceType")) + } + if s.ModelName == nil { + invalidParams.Add(request.NewErrParamRequired("ModelName")) + } + if s.VariantName == nil { + invalidParams.Add(request.NewErrParamRequired("VariantName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorType sets the AcceleratorType field's value. +func (s *ProductionVariant) SetAcceleratorType(v string) *ProductionVariant { + s.AcceleratorType = &v + return s +} + +// SetInitialInstanceCount sets the InitialInstanceCount field's value. +func (s *ProductionVariant) SetInitialInstanceCount(v int64) *ProductionVariant { + s.InitialInstanceCount = &v + return s +} + +// SetInitialVariantWeight sets the InitialVariantWeight field's value. +func (s *ProductionVariant) SetInitialVariantWeight(v float64) *ProductionVariant { + s.InitialVariantWeight = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *ProductionVariant) SetInstanceType(v string) *ProductionVariant { + s.InstanceType = &v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *ProductionVariant) SetModelName(v string) *ProductionVariant { + s.ModelName = &v + return s +} + +// SetVariantName sets the VariantName field's value. +func (s *ProductionVariant) SetVariantName(v string) *ProductionVariant { + s.VariantName = &v + return s +} + +// Describes weight and capacities for a production variant associated with +// an endpoint. If you sent a request to the UpdateEndpointWeightsAndCapacities +// API and the endpoint status is Updating, you get different desired and current +// values. +type ProductionVariantSummary struct { + _ struct{} `type:"structure"` + + // The number of instances associated with the variant. + CurrentInstanceCount *int64 `min:"1" type:"integer"` + + // The weight associated with the variant. + CurrentWeight *float64 `type:"float"` + + // An array of DeployedImage objects that specify the Amazon EC2 Container Registry + // paths of the inference images deployed on instances of this ProductionVariant. + DeployedImages []*DeployedImage `type:"list"` + + // The number of instances requested in the UpdateEndpointWeightsAndCapacities + // request. + DesiredInstanceCount *int64 `min:"1" type:"integer"` + + // The requested weight, as specified in the UpdateEndpointWeightsAndCapacities + // request. + DesiredWeight *float64 `type:"float"` + + // The name of the variant. + // + // VariantName is a required field + VariantName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ProductionVariantSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProductionVariantSummary) GoString() string { + return s.String() +} + +// SetCurrentInstanceCount sets the CurrentInstanceCount field's value. +func (s *ProductionVariantSummary) SetCurrentInstanceCount(v int64) *ProductionVariantSummary { + s.CurrentInstanceCount = &v + return s +} + +// SetCurrentWeight sets the CurrentWeight field's value. +func (s *ProductionVariantSummary) SetCurrentWeight(v float64) *ProductionVariantSummary { + s.CurrentWeight = &v + return s +} + +// SetDeployedImages sets the DeployedImages field's value. +func (s *ProductionVariantSummary) SetDeployedImages(v []*DeployedImage) *ProductionVariantSummary { + s.DeployedImages = v + return s +} + +// SetDesiredInstanceCount sets the DesiredInstanceCount field's value. +func (s *ProductionVariantSummary) SetDesiredInstanceCount(v int64) *ProductionVariantSummary { + s.DesiredInstanceCount = &v + return s +} + +// SetDesiredWeight sets the DesiredWeight field's value. +func (s *ProductionVariantSummary) SetDesiredWeight(v float64) *ProductionVariantSummary { + s.DesiredWeight = &v + return s +} + +// SetVariantName sets the VariantName field's value. +func (s *ProductionVariantSummary) SetVariantName(v string) *ProductionVariantSummary { + s.VariantName = &v + return s +} + +// A type of SuggestionQuery. A suggestion query for retrieving property names +// that match the specified hint. +type PropertyNameQuery struct { + _ struct{} `type:"structure"` + + // Text that is part of a property's name. The property names of hyperparameter, + // metric, and tag key names that begin with the specified text in the PropertyNameHint. + // + // PropertyNameHint is a required field + PropertyNameHint *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s PropertyNameQuery) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PropertyNameQuery) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PropertyNameQuery) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PropertyNameQuery"} + if s.PropertyNameHint == nil { + invalidParams.Add(request.NewErrParamRequired("PropertyNameHint")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPropertyNameHint sets the PropertyNameHint field's value. +func (s *PropertyNameQuery) SetPropertyNameHint(v string) *PropertyNameQuery { + s.PropertyNameHint = &v + return s +} + +// A property name returned from a GetSearchSuggestions call that specifies +// a value in the PropertyNameQuery field. +type PropertyNameSuggestion struct { + _ struct{} `type:"structure"` + + // A suggested property name based on what you entered in the search textbox + // in the Amazon SageMaker console. + PropertyName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s PropertyNameSuggestion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PropertyNameSuggestion) GoString() string { + return s.String() +} + +// SetPropertyName sets the PropertyName field's value. +func (s *PropertyNameSuggestion) SetPropertyName(v string) *PropertyNameSuggestion { + s.PropertyName = &v + return s +} + +// Defines the amount of money paid to an Amazon Mechanical Turk worker for +// each task performed. +// +// Use one of the following prices for bounding box tasks. Prices are in US +// dollars. +// +// * 0.036 +// +// * 0.048 +// +// * 0.060 +// +// * 0.072 +// +// * 0.120 +// +// * 0.240 +// +// * 0.360 +// +// * 0.480 +// +// * 0.600 +// +// * 0.720 +// +// * 0.840 +// +// * 0.960 +// +// * 1.080 +// +// * 1.200 +// +// Use one of the following prices for image classification, text classification, +// and custom tasks. Prices are in US dollars. +// +// * 0.012 +// +// * 0.024 +// +// * 0.036 +// +// * 0.048 +// +// * 0.060 +// +// * 0.072 +// +// * 0.120 +// +// * 0.240 +// +// * 0.360 +// +// * 0.480 +// +// * 0.600 +// +// * 0.720 +// +// * 0.840 +// +// * 0.960 +// +// * 1.080 +// +// * 1.200 +// +// Use one of the following prices for semantic segmentation tasks. Prices are +// in US dollars. +// +// * 0.840 +// +// * 0.960 +// +// * 1.080 +// +// * 1.200 +type PublicWorkforceTaskPrice struct { + _ struct{} `type:"structure"` + + // Defines the amount of money paid to a worker in United States dollars. + AmountInUsd *USD `type:"structure"` +} + +// String returns the string representation +func (s PublicWorkforceTaskPrice) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PublicWorkforceTaskPrice) GoString() string { + return s.String() +} + +// SetAmountInUsd sets the AmountInUsd field's value. +func (s *PublicWorkforceTaskPrice) SetAmountInUsd(v *USD) *PublicWorkforceTaskPrice { + s.AmountInUsd = v + return s +} + +type RenderUiTemplateInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) that has access to the S3 objects that are + // used by the template. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // A RenderableTask object containing a representative task to render. + // + // Task is a required field + Task *RenderableTask `type:"structure" required:"true"` + + // A Template object containing the worker UI template to render. + // + // UiTemplate is a required field + UiTemplate *UiTemplate `type:"structure" required:"true"` +} + +// String returns the string representation +func (s RenderUiTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RenderUiTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RenderUiTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RenderUiTemplateInput"} + 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.Task == nil { + invalidParams.Add(request.NewErrParamRequired("Task")) + } + if s.UiTemplate == nil { + invalidParams.Add(request.NewErrParamRequired("UiTemplate")) + } + if s.Task != nil { + if err := s.Task.Validate(); err != nil { + invalidParams.AddNested("Task", err.(request.ErrInvalidParams)) + } + } + if s.UiTemplate != nil { + if err := s.UiTemplate.Validate(); err != nil { + invalidParams.AddNested("UiTemplate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRoleArn sets the RoleArn field's value. +func (s *RenderUiTemplateInput) SetRoleArn(v string) *RenderUiTemplateInput { + s.RoleArn = &v + return s +} + +// SetTask sets the Task field's value. +func (s *RenderUiTemplateInput) SetTask(v *RenderableTask) *RenderUiTemplateInput { + s.Task = v + return s +} + +// SetUiTemplate sets the UiTemplate field's value. +func (s *RenderUiTemplateInput) SetUiTemplate(v *UiTemplate) *RenderUiTemplateInput { + s.UiTemplate = v + return s +} + +type RenderUiTemplateOutput struct { + _ struct{} `type:"structure"` + + // A list of one or more RenderingError objects if any were encountered while + // rendering the template. If there were no errors, the list is empty. + // + // Errors is a required field + Errors []*RenderingError `type:"list" required:"true"` + + // A Liquid template that renders the HTML for the worker UI. + // + // RenderedContent is a required field + RenderedContent *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RenderUiTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RenderUiTemplateOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *RenderUiTemplateOutput) SetErrors(v []*RenderingError) *RenderUiTemplateOutput { + s.Errors = v + return s +} + +// SetRenderedContent sets the RenderedContent field's value. +func (s *RenderUiTemplateOutput) SetRenderedContent(v string) *RenderUiTemplateOutput { + s.RenderedContent = &v + return s +} + +// Contains input values for a task. +type RenderableTask struct { + _ struct{} `type:"structure"` + + // A JSON object that contains values for the variables defined in the template. + // It is made available to the template under the substitution variable task.input. + // For example, if you define a variable task.input.text in your template, you + // can supply the variable in the JSON object as "text": "sample text". + // + // Input is a required field + Input *string `min:"2" type:"string" required:"true"` +} + +// String returns the string representation +func (s RenderableTask) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RenderableTask) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RenderableTask) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RenderableTask"} + if s.Input == nil { + invalidParams.Add(request.NewErrParamRequired("Input")) + } + if s.Input != nil && len(*s.Input) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Input", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInput sets the Input field's value. +func (s *RenderableTask) SetInput(v string) *RenderableTask { + s.Input = &v + return s +} + +// A description of an error that occurred while rendering the template. +type RenderingError struct { + _ struct{} `type:"structure"` + + // A unique identifier for a specific class of errors. + // + // Code is a required field + Code *string `type:"string" required:"true"` + + // A human-readable message describing the error. + // + // Message is a required field + Message *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RenderingError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RenderingError) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *RenderingError) SetCode(v string) *RenderingError { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *RenderingError) SetMessage(v string) *RenderingError { + s.Message = &v + return s +} + +// Describes the resources, including ML compute instances and ML storage volumes, +// to use for model training. +type ResourceConfig struct { + _ struct{} `type:"structure"` + + // The number of ML compute instances to use. For distributed training, provide + // a value greater than 1. + // + // InstanceCount is a required field + InstanceCount *int64 `min:"1" type:"integer" required:"true"` + + // The ML compute instance type. + // + // InstanceType is a required field + InstanceType *string `type:"string" required:"true" enum:"TrainingInstanceType"` + + // The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to + // encrypt data on the storage volume attached to the ML compute instance(s) + // that run the training job. The VolumeKmsKeyId can be any of the following + // formats: + // + // * // KMS Key ID + // + // "1234abcd-12ab-34cd-56ef-1234567890ab" + // + // * // Amazon Resource Name (ARN) of a KMS Key + // + // "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + VolumeKmsKeyId *string `type:"string"` + + // The size of the ML storage volume that you want to provision. + // + // ML storage volumes store model artifacts and incremental states. Training + // algorithms might also use the ML storage volume for scratch space. If you + // want to store the training data in the ML storage volume, choose File as + // the TrainingInputMode in the algorithm specification. + // + // You must specify sufficient ML storage for your scenario. + // + // Amazon SageMaker supports only the General Purpose SSD (gp2) ML storage volume + // type. + // + // VolumeSizeInGB is a required field + VolumeSizeInGB *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s ResourceConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceConfig"} + if s.InstanceCount == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceCount")) + } + if s.InstanceCount != nil && *s.InstanceCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("InstanceCount", 1)) + } + if s.InstanceType == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceType")) + } + if s.VolumeSizeInGB == nil { + invalidParams.Add(request.NewErrParamRequired("VolumeSizeInGB")) + } + if s.VolumeSizeInGB != nil && *s.VolumeSizeInGB < 1 { + invalidParams.Add(request.NewErrParamMinValue("VolumeSizeInGB", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceCount sets the InstanceCount field's value. +func (s *ResourceConfig) SetInstanceCount(v int64) *ResourceConfig { + s.InstanceCount = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *ResourceConfig) SetInstanceType(v string) *ResourceConfig { + s.InstanceType = &v + return s +} + +// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value. +func (s *ResourceConfig) SetVolumeKmsKeyId(v string) *ResourceConfig { + s.VolumeKmsKeyId = &v + return s +} + +// SetVolumeSizeInGB sets the VolumeSizeInGB field's value. +func (s *ResourceConfig) SetVolumeSizeInGB(v int64) *ResourceConfig { + s.VolumeSizeInGB = &v + return s +} + +// Specifies the maximum number of training jobs and parallel training jobs +// that a hyperparameter tuning job can launch. +type ResourceLimits struct { + _ struct{} `type:"structure"` + + // The maximum number of training jobs that a hyperparameter tuning job can + // launch. + // + // MaxNumberOfTrainingJobs is a required field + MaxNumberOfTrainingJobs *int64 `min:"1" type:"integer" required:"true"` + + // The maximum number of concurrent training jobs that a hyperparameter tuning + // job can launch. + // + // MaxParallelTrainingJobs is a required field + MaxParallelTrainingJobs *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s ResourceLimits) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceLimits) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceLimits) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceLimits"} + if s.MaxNumberOfTrainingJobs == nil { + invalidParams.Add(request.NewErrParamRequired("MaxNumberOfTrainingJobs")) + } + if s.MaxNumberOfTrainingJobs != nil && *s.MaxNumberOfTrainingJobs < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxNumberOfTrainingJobs", 1)) + } + if s.MaxParallelTrainingJobs == nil { + invalidParams.Add(request.NewErrParamRequired("MaxParallelTrainingJobs")) + } + if s.MaxParallelTrainingJobs != nil && *s.MaxParallelTrainingJobs < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxParallelTrainingJobs", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxNumberOfTrainingJobs sets the MaxNumberOfTrainingJobs field's value. +func (s *ResourceLimits) SetMaxNumberOfTrainingJobs(v int64) *ResourceLimits { + s.MaxNumberOfTrainingJobs = &v + return s +} + +// SetMaxParallelTrainingJobs sets the MaxParallelTrainingJobs field's value. +func (s *ResourceLimits) SetMaxParallelTrainingJobs(v int64) *ResourceLimits { + s.MaxParallelTrainingJobs = &v + return s +} + +// Describes the S3 data source. +type S3DataSource struct { + _ struct{} `type:"structure"` + + // A list of one or more attribute names to use that are found in a specified + // augmented manifest file. + AttributeNames []*string `type:"list"` + + // If you want Amazon SageMaker to replicate the entire dataset on each ML compute + // instance that is launched for model training, specify FullyReplicated. + // + // If you want Amazon SageMaker to replicate a subset of data on each ML compute + // instance that is launched for model training, specify ShardedByS3Key. If + // there are n ML compute instances launched for a training job, each instance + // gets approximately 1/n of the number of S3 objects. In this case, model training + // on each machine uses only the subset of training data. + // + // Don't choose more ML compute instances for training than available S3 objects. + // If you do, some nodes won't get any data and you will pay for nodes that + // aren't getting any training data. This applies in both File and Pipe modes. + // Keep this in mind when developing algorithms. + // + // In distributed training, where you use multiple ML compute EC2 instances, + // you might choose ShardedByS3Key. If the algorithm requires copying training + // data to the ML storage volume (when TrainingInputMode is set to File), this + // copies 1/n of the number of objects. + S3DataDistributionType *string `type:"string" enum:"S3DataDistribution"` + + // If you choose S3Prefix, S3Uri identifies a key name prefix. Amazon SageMaker + // uses all objects that match the specified key name prefix for model training. + // + // If you choose ManifestFile, S3Uri identifies an object that is a manifest + // file containing a list of object keys that you want Amazon SageMaker to use + // for model training. + // + // If you choose AugmentedManifestFile, S3Uri identifies an object that is an + // augmented manifest file in JSON lines format. This file contains the data + // you want to use for model training. AugmentedManifestFile can only be used + // if the Channel's input mode is Pipe. + // + // S3DataType is a required field + S3DataType *string `type:"string" required:"true" enum:"S3DataType"` + + // Depending on the value specified for the S3DataType, identifies either a + // key name prefix or a manifest. For example: + // + // * A key name prefix might look like this: s3://bucketname/exampleprefix. + // + // + // * A manifest might look like this: s3://bucketname/example.manifest + // + // The manifest is an S3 object which is a JSON file with the following format: + // + // + // [ + // + // {"prefix": "s3://customer_bucket/some/prefix/"}, + // + // "relative/path/to/custdata-1", + // + // "relative/path/custdata-2", + // + // ... + // + // ] + // + // The preceding JSON matches the following s3Uris: + // + // s3://customer_bucket/some/prefix/relative/path/to/custdata-1 + // + // s3://customer_bucket/some/prefix/relative/path/custdata-2 + // + // ... + // + // The complete set of s3uris in this manifest is the input data for the channel + // for this datasource. The object that each s3uris points to must be readable + // by the IAM role that Amazon SageMaker uses to perform tasks on your behalf. + // + // S3Uri is a required field + S3Uri *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s S3DataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3DataSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3DataSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3DataSource"} + if s.S3DataType == nil { + invalidParams.Add(request.NewErrParamRequired("S3DataType")) + } + if s.S3Uri == nil { + invalidParams.Add(request.NewErrParamRequired("S3Uri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributeNames sets the AttributeNames field's value. +func (s *S3DataSource) SetAttributeNames(v []*string) *S3DataSource { + s.AttributeNames = v + return s +} + +// SetS3DataDistributionType sets the S3DataDistributionType field's value. +func (s *S3DataSource) SetS3DataDistributionType(v string) *S3DataSource { + s.S3DataDistributionType = &v + return s +} + +// SetS3DataType sets the S3DataType field's value. +func (s *S3DataSource) SetS3DataType(v string) *S3DataSource { + s.S3DataType = &v + return s +} + +// SetS3Uri sets the S3Uri field's value. +func (s *S3DataSource) SetS3Uri(v string) *S3DataSource { + s.S3Uri = &v + return s +} + +// A multi-expression that searches for the specified resource or resources +// in a search. All resource objects that satisfy the expression's condition +// are included in the search results. You must specify at least one subexpression, +// filter, or nested filter. A SearchExpression can contain up to twenty elements. +// +// A SearchExpression contains the following components: +// +// * A list of Filter objects. Each filter defines a simple Boolean expression +// comprised of a resource property name, Boolean operator, and value. +// +// * A list of NestedFilter objects. Each nested filter defines a list of +// Boolean expressions using a list of resource properties. A nested filter +// is satisfied if a single object in the list satisfies all Boolean expressions. +// +// * A list of SearchExpression objects. A search expression object can be +// nested in a list of search expression objects. +// +// * A Boolean operator: And or Or. +type SearchExpression struct { + _ struct{} `type:"structure"` + + // A list of filter objects. + Filters []*Filter `min:"1" type:"list"` + + // A list of nested filter objects. + NestedFilters []*NestedFilters `min:"1" type:"list"` + + // A Boolean operator used to evaluate the search expression. If you want every + // conditional statement in all lists to be satisfied for the entire search + // expression to be true, specify And. If only a single conditional statement + // needs to be true for the entire search expression to be true, specify Or. + // The default value is And. + Operator *string `type:"string" enum:"BooleanOperator"` + + // A list of search expression objects. + SubExpressions []*SearchExpression `min:"1" type:"list"` +} + +// String returns the string representation +func (s SearchExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchExpression"} + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) + } + if s.NestedFilters != nil && len(s.NestedFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NestedFilters", 1)) + } + if s.SubExpressions != nil && len(s.SubExpressions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubExpressions", 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.NestedFilters != nil { + for i, v := range s.NestedFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NestedFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SubExpressions != nil { + for i, v := range s.SubExpressions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SubExpressions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *SearchExpression) SetFilters(v []*Filter) *SearchExpression { + s.Filters = v + return s +} + +// SetNestedFilters sets the NestedFilters field's value. +func (s *SearchExpression) SetNestedFilters(v []*NestedFilters) *SearchExpression { + s.NestedFilters = v + return s +} + +// SetOperator sets the Operator field's value. +func (s *SearchExpression) SetOperator(v string) *SearchExpression { + s.Operator = &v + return s +} + +// SetSubExpressions sets the SubExpressions field's value. +func (s *SearchExpression) SetSubExpressions(v []*SearchExpression) *SearchExpression { + s.SubExpressions = v + return s +} + +type SearchInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return in a SearchResponse. + MaxResults *int64 `min:"1" type:"integer"` + + // If more than MaxResults resource objects match the specified SearchExpression, + // the SearchResponse includes a NextToken. The NextToken can be passed to the + // next SearchRequest to continue retrieving results for the specified SearchExpression + // and Sort parameters. + NextToken *string `type:"string"` + + // The name of the Amazon SageMaker resource to search for. Currently, the only + // valid Resource value is TrainingJob. + // + // Resource is a required field + Resource *string `type:"string" required:"true" enum:"ResourceType"` + + // A Boolean conditional statement. Resource objects must satisfy this condition + // to be included in search results. You must provide at least one subexpression, + // filter, or nested filter. The maximum number of recursive SubExpressions, + // NestedFilters, and Filters that can be included in a SearchExpression object + // is 50. + SearchExpression *SearchExpression `type:"structure"` + + // The name of the resource property used to sort the SearchResults. The default + // is LastModifiedTime. + SortBy *string `min:"1" type:"string"` + + // How SearchResults are ordered. Valid values are Ascending or Descending. + // The default is Descending. + SortOrder *string `type:"string" enum:"SearchSortOrder"` +} + +// String returns the string representation +func (s SearchInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Resource == nil { + invalidParams.Add(request.NewErrParamRequired("Resource")) + } + if s.SortBy != nil && len(*s.SortBy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SortBy", 1)) + } + if s.SearchExpression != nil { + if err := s.SearchExpression.Validate(); err != nil { + invalidParams.AddNested("SearchExpression", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *SearchInput) SetMaxResults(v int64) *SearchInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchInput) SetNextToken(v string) *SearchInput { + s.NextToken = &v + return s +} + +// SetResource sets the Resource field's value. +func (s *SearchInput) SetResource(v string) *SearchInput { + s.Resource = &v + return s +} + +// SetSearchExpression sets the SearchExpression field's value. +func (s *SearchInput) SetSearchExpression(v *SearchExpression) *SearchInput { + s.SearchExpression = v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *SearchInput) SetSortBy(v string) *SearchInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *SearchInput) SetSortOrder(v string) *SearchInput { + s.SortOrder = &v + return s +} + +type SearchOutput struct { + _ struct{} `type:"structure"` + + // If the result of the previous Search request was truncated, the response + // includes a NextToken. To retrieve the next set of results, use the token + // in the next request. + NextToken *string `type:"string"` + + // A list of SearchResult objects. + Results []*SearchRecord `type:"list"` +} + +// String returns the string representation +func (s SearchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchOutput) SetNextToken(v string) *SearchOutput { + s.NextToken = &v + return s +} + +// SetResults sets the Results field's value. +func (s *SearchOutput) SetResults(v []*SearchRecord) *SearchOutput { + s.Results = v + return s +} + +// An individual search result record that contains a single resource object. +type SearchRecord struct { + _ struct{} `type:"structure"` + + // A TrainingJob object that is returned as part of a Search request. + TrainingJob *TrainingJob `type:"structure"` +} + +// String returns the string representation +func (s SearchRecord) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchRecord) GoString() string { + return s.String() +} + +// SetTrainingJob sets the TrainingJob field's value. +func (s *SearchRecord) SetTrainingJob(v *TrainingJob) *SearchRecord { + s.TrainingJob = v + return s +} + +// An array element of DescribeTrainingJobResponse$SecondaryStatusTransitions. +// It provides additional details about a status that the training job has transitioned +// through. A training job can be in one of several states, for example, starting, +// downloading, training, or uploading. Within each state, there are a number +// of intermediate states. For example, within the starting state, Amazon SageMaker +// could be starting the training job or launching the ML instances. These transitional +// states are referred to as the job's secondary status. +type SecondaryStatusTransition struct { + _ struct{} `type:"structure"` + + // A timestamp that shows when the training job transitioned out of this secondary + // status state into another secondary status state or when the training job + // has ended. + EndTime *time.Time `type:"timestamp"` + + // A timestamp that shows when the training job transitioned to the current + // secondary status state. + // + // StartTime is a required field + StartTime *time.Time `type:"timestamp" required:"true"` + + // Contains a secondary status information from a training job. + // + // Status might be one of the following secondary statuses: + // + // InProgressStarting - Starting the training job. + // + // Downloading - An optional stage for algorithms that support File training + // input mode. It indicates that data is being downloaded to the ML storage + // volumes. + // + // Training - Training is in progress. + // + // Uploading - Training is complete and the model artifacts are being uploaded + // to the S3 location. + // + // CompletedCompleted - The training job has completed. + // + // FailedFailed - The training job has failed. The reason for the failure is + // returned in the FailureReason field of DescribeTrainingJobResponse. + // + // StoppedMaxRuntimeExceeded - The job stopped because it exceeded the maximum + // allowed runtime. + // + // Stopped - The training job has stopped. + // + // StoppingStopping - Stopping the training job. + // + // We no longer support the following secondary statuses: + // + // * LaunchingMLInstances + // + // * PreparingTrainingStack + // + // * DownloadingTrainingImage + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"SecondaryStatus"` + + // A detailed description of the progress within a secondary status. + // + // Amazon SageMaker provides secondary statuses and status messages that apply + // to each of them: + // + // StartingStarting the training job. + // + // Launching requested ML instances. + // + // Insufficient capacity error from EC2 while launching instances, retrying! + // + // Launched instance was unhealthy, replacing it! + // + // Preparing the instances for training. + // + // TrainingDownloading the training image. + // + // Training image download completed. Training in progress. + // + // Status messages are subject to change. Therefore, we recommend not including + // them in code that programmatically initiates actions. For examples, don't + // use status messages in if statements. + // + // To have an overview of your training job's progress, view TrainingJobStatus + // and SecondaryStatus in DescribeTrainingJobResponse, and StatusMessage together. + // For example, at the start of a training job, you might see the following: + // + // * TrainingJobStatus - InProgress + // + // * SecondaryStatus - Training + // + // * StatusMessage - Downloading the training image + StatusMessage *string `type:"string"` +} + +// String returns the string representation +func (s SecondaryStatusTransition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SecondaryStatusTransition) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *SecondaryStatusTransition) SetEndTime(v time.Time) *SecondaryStatusTransition { + s.EndTime = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *SecondaryStatusTransition) SetStartTime(v time.Time) *SecondaryStatusTransition { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SecondaryStatusTransition) SetStatus(v string) *SecondaryStatusTransition { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *SecondaryStatusTransition) SetStatusMessage(v string) *SecondaryStatusTransition { + s.StatusMessage = &v + return s +} + +// A configuration for a shuffle option for input data in a channel. If you +// use S3Prefix for S3DataType, the results of the S3 key prefix matches are +// shuffled. If you use ManifestFile, the order of the S3 object references +// in the ManifestFile is shuffled. If you use AugmentedManifestFile, the order +// of the JSON lines in the AugmentedManifestFile is shuffled. The shuffling +// order is determined using the Seed value. +// +// For Pipe input mode, shuffling is done at the start of every epoch. With +// large datasets, this ensures that the order of the training data is different +// for each epoch, and it helps reduce bias and possible overfitting. In a multi-node +// training job when ShuffleConfig is combined with S3DataDistributionType of +// ShardedByS3Key, the data is shuffled across nodes so that the content sent +// to a particular node on the first epoch might be sent to a different node +// on the second epoch. +type ShuffleConfig struct { + _ struct{} `type:"structure"` + + // Determines the shuffling order in ShuffleConfig value. + // + // Seed is a required field + Seed *int64 `type:"long" required:"true"` +} + +// String returns the string representation +func (s ShuffleConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ShuffleConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ShuffleConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ShuffleConfig"} + if s.Seed == nil { + invalidParams.Add(request.NewErrParamRequired("Seed")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSeed sets the Seed field's value. +func (s *ShuffleConfig) SetSeed(v int64) *ShuffleConfig { + s.Seed = &v + return s +} + +// Specifies an algorithm that was used to create the model package. The algorithm +// must be either an algorithm resource in your Amazon SageMaker account or +// an algorithm in AWS Marketplace that you are subscribed to. +type SourceAlgorithm struct { + _ struct{} `type:"structure"` + + // The name of an algorithm that was used to create the model package. The algorithm + // must be either an algorithm resource in your Amazon SageMaker account or + // an algorithm in AWS Marketplace that you are subscribed to. + // + // AlgorithmName is a required field + AlgorithmName *string `min:"1" type:"string" required:"true"` + + // The Amazon S3 path where the model artifacts, which result from model training, + // are stored. This path must point to a single gzip compressed tar archive + // (.tar.gz suffix). + ModelDataUrl *string `type:"string"` +} + +// String returns the string representation +func (s SourceAlgorithm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SourceAlgorithm) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SourceAlgorithm) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SourceAlgorithm"} + if s.AlgorithmName == nil { + invalidParams.Add(request.NewErrParamRequired("AlgorithmName")) + } + if s.AlgorithmName != nil && len(*s.AlgorithmName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlgorithmName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlgorithmName sets the AlgorithmName field's value. +func (s *SourceAlgorithm) SetAlgorithmName(v string) *SourceAlgorithm { + s.AlgorithmName = &v + return s +} + +// SetModelDataUrl sets the ModelDataUrl field's value. +func (s *SourceAlgorithm) SetModelDataUrl(v string) *SourceAlgorithm { + s.ModelDataUrl = &v + return s +} + +// A list of algorithms that were used to create a model package. +type SourceAlgorithmSpecification struct { + _ struct{} `type:"structure"` + + // A list of the algorithms that were used to create a model package. + // + // SourceAlgorithms is a required field + SourceAlgorithms []*SourceAlgorithm `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s SourceAlgorithmSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SourceAlgorithmSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SourceAlgorithmSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SourceAlgorithmSpecification"} + if s.SourceAlgorithms == nil { + invalidParams.Add(request.NewErrParamRequired("SourceAlgorithms")) + } + if s.SourceAlgorithms != nil && len(s.SourceAlgorithms) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceAlgorithms", 1)) + } + if s.SourceAlgorithms != nil { + for i, v := range s.SourceAlgorithms { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceAlgorithms", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceAlgorithms sets the SourceAlgorithms field's value. +func (s *SourceAlgorithmSpecification) SetSourceAlgorithms(v []*SourceAlgorithm) *SourceAlgorithmSpecification { + s.SourceAlgorithms = v + return s +} + +type StartNotebookInstanceInput struct { + _ struct{} `type:"structure"` + + // The name of the notebook instance to start. + // + // NotebookInstanceName is a required field + NotebookInstanceName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s StartNotebookInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartNotebookInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartNotebookInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartNotebookInstanceInput"} + if s.NotebookInstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("NotebookInstanceName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNotebookInstanceName sets the NotebookInstanceName field's value. +func (s *StartNotebookInstanceInput) SetNotebookInstanceName(v string) *StartNotebookInstanceInput { + s.NotebookInstanceName = &v + return s +} + +type StartNotebookInstanceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StartNotebookInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartNotebookInstanceOutput) GoString() string { + return s.String() +} + +type StopCompilationJobInput struct { + _ struct{} `type:"structure"` + + // The name of the model compilation job to stop. + // + // CompilationJobName is a required field + CompilationJobName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopCompilationJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopCompilationJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopCompilationJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopCompilationJobInput"} + if s.CompilationJobName == nil { + invalidParams.Add(request.NewErrParamRequired("CompilationJobName")) + } + if s.CompilationJobName != nil && len(*s.CompilationJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CompilationJobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCompilationJobName sets the CompilationJobName field's value. +func (s *StopCompilationJobInput) SetCompilationJobName(v string) *StopCompilationJobInput { + s.CompilationJobName = &v + return s +} + +type StopCompilationJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopCompilationJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopCompilationJobOutput) GoString() string { + return s.String() +} + +type StopHyperParameterTuningJobInput struct { + _ struct{} `type:"structure"` + + // The name of the tuning job to stop. + // + // HyperParameterTuningJobName is a required field + HyperParameterTuningJobName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopHyperParameterTuningJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopHyperParameterTuningJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopHyperParameterTuningJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopHyperParameterTuningJobInput"} + if s.HyperParameterTuningJobName == nil { + invalidParams.Add(request.NewErrParamRequired("HyperParameterTuningJobName")) + } + if s.HyperParameterTuningJobName != nil && len(*s.HyperParameterTuningJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HyperParameterTuningJobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHyperParameterTuningJobName sets the HyperParameterTuningJobName field's value. +func (s *StopHyperParameterTuningJobInput) SetHyperParameterTuningJobName(v string) *StopHyperParameterTuningJobInput { + s.HyperParameterTuningJobName = &v + return s +} + +type StopHyperParameterTuningJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopHyperParameterTuningJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopHyperParameterTuningJobOutput) GoString() string { + return s.String() +} + +type StopLabelingJobInput struct { + _ struct{} `type:"structure"` + + // The name of the labeling job to stop. + // + // LabelingJobName is a required field + LabelingJobName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopLabelingJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopLabelingJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopLabelingJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopLabelingJobInput"} + if s.LabelingJobName == nil { + invalidParams.Add(request.NewErrParamRequired("LabelingJobName")) + } + if s.LabelingJobName != nil && len(*s.LabelingJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LabelingJobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLabelingJobName sets the LabelingJobName field's value. +func (s *StopLabelingJobInput) SetLabelingJobName(v string) *StopLabelingJobInput { + s.LabelingJobName = &v + return s +} + +type StopLabelingJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopLabelingJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopLabelingJobOutput) GoString() string { + return s.String() +} + +type StopNotebookInstanceInput struct { + _ struct{} `type:"structure"` + + // The name of the notebook instance to terminate. + // + // NotebookInstanceName is a required field + NotebookInstanceName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s StopNotebookInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopNotebookInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopNotebookInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopNotebookInstanceInput"} + if s.NotebookInstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("NotebookInstanceName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNotebookInstanceName sets the NotebookInstanceName field's value. +func (s *StopNotebookInstanceInput) SetNotebookInstanceName(v string) *StopNotebookInstanceInput { + s.NotebookInstanceName = &v + return s +} + +type StopNotebookInstanceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopNotebookInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopNotebookInstanceOutput) GoString() string { + return s.String() +} + +type StopTrainingJobInput struct { + _ struct{} `type:"structure"` + + // The name of the training job to stop. + // + // TrainingJobName is a required field + TrainingJobName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopTrainingJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopTrainingJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopTrainingJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopTrainingJobInput"} + if s.TrainingJobName == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingJobName")) + } + if s.TrainingJobName != nil && len(*s.TrainingJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TrainingJobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTrainingJobName sets the TrainingJobName field's value. +func (s *StopTrainingJobInput) SetTrainingJobName(v string) *StopTrainingJobInput { + s.TrainingJobName = &v + return s +} + +type StopTrainingJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopTrainingJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopTrainingJobOutput) GoString() string { + return s.String() +} + +type StopTransformJobInput struct { + _ struct{} `type:"structure"` + + // The name of the transform job to stop. + // + // TransformJobName is a required field + TransformJobName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopTransformJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopTransformJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopTransformJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopTransformJobInput"} + if s.TransformJobName == nil { + invalidParams.Add(request.NewErrParamRequired("TransformJobName")) + } + if s.TransformJobName != nil && len(*s.TransformJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransformJobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTransformJobName sets the TransformJobName field's value. +func (s *StopTransformJobInput) SetTransformJobName(v string) *StopTransformJobInput { + s.TransformJobName = &v + return s +} + +type StopTransformJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopTransformJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopTransformJobOutput) GoString() string { + return s.String() +} + +// Specifies how long model training can run. When model training reaches the +// limit, Amazon SageMaker ends the training job. Use this API to cap model +// training cost. +// +// To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which +// delays job termination for120 seconds. Algorithms might use this 120-second +// window to save the model artifacts, so the results of training is not lost. +// +// Training algorithms provided by Amazon SageMaker automatically saves the +// intermediate results of a model training job (it is best effort case, as +// model might not be ready to save as some stages, for example training just +// started). This intermediate data is a valid model artifact. You can use it +// to create a model (CreateModel). +type StoppingCondition struct { + _ struct{} `type:"structure"` + + // The maximum length of time, in seconds, that the training job can run. If + // model training does not complete during this time, Amazon SageMaker ends + // the job. If value is not specified, default value is 1 day. Maximum value + // is 28 days. + MaxRuntimeInSeconds *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s StoppingCondition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StoppingCondition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StoppingCondition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StoppingCondition"} + if s.MaxRuntimeInSeconds != nil && *s.MaxRuntimeInSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxRuntimeInSeconds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxRuntimeInSeconds sets the MaxRuntimeInSeconds field's value. +func (s *StoppingCondition) SetMaxRuntimeInSeconds(v int64) *StoppingCondition { + s.MaxRuntimeInSeconds = &v + return s +} + +// Describes a work team of a vendor that does the a labelling job. +type SubscribedWorkteam struct { + _ struct{} `type:"structure"` + + ListingId *string `type:"string"` + + // The description of the vendor from the Amazon Marketplace. + MarketplaceDescription *string `min:"1" type:"string"` + + // The title of the service provided by the vendor in the Amazon Marketplace. + MarketplaceTitle *string `min:"1" type:"string"` + + // The name of the vendor in the Amazon Marketplace. + SellerName *string `type:"string"` + + // The Amazon Resource Name (ARN) of the vendor that you have subscribed. + // + // WorkteamArn is a required field + WorkteamArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SubscribedWorkteam) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubscribedWorkteam) GoString() string { + return s.String() +} + +// SetListingId sets the ListingId field's value. +func (s *SubscribedWorkteam) SetListingId(v string) *SubscribedWorkteam { + s.ListingId = &v + return s +} + +// SetMarketplaceDescription sets the MarketplaceDescription field's value. +func (s *SubscribedWorkteam) SetMarketplaceDescription(v string) *SubscribedWorkteam { + s.MarketplaceDescription = &v + return s +} + +// SetMarketplaceTitle sets the MarketplaceTitle field's value. +func (s *SubscribedWorkteam) SetMarketplaceTitle(v string) *SubscribedWorkteam { + s.MarketplaceTitle = &v + return s +} + +// SetSellerName sets the SellerName field's value. +func (s *SubscribedWorkteam) SetSellerName(v string) *SubscribedWorkteam { + s.SellerName = &v + return s +} + +// SetWorkteamArn sets the WorkteamArn field's value. +func (s *SubscribedWorkteam) SetWorkteamArn(v string) *SubscribedWorkteam { + s.WorkteamArn = &v + return s +} + +// Limits the property names that are included in the response. +type SuggestionQuery struct { + _ struct{} `type:"structure"` + + // A type of SuggestionQuery. Defines a property name hint. Only property names + // that match the specified hint are included in the response. + PropertyNameQuery *PropertyNameQuery `type:"structure"` +} + +// String returns the string representation +func (s SuggestionQuery) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuggestionQuery) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SuggestionQuery) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SuggestionQuery"} + if s.PropertyNameQuery != nil { + if err := s.PropertyNameQuery.Validate(); err != nil { + invalidParams.AddNested("PropertyNameQuery", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPropertyNameQuery sets the PropertyNameQuery field's value. +func (s *SuggestionQuery) SetPropertyNameQuery(v *PropertyNameQuery) *SuggestionQuery { + s.PropertyNameQuery = v + return s +} + +// Describes a tag. +type Tag struct { + _ struct{} `type:"structure"` + + // The tag key. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The tag value. + // + // Value is a required field + Value *string `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 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 +} + +// Contains information about a training job. +type TrainingJob struct { + _ struct{} `type:"structure"` + + // Information about the algorithm used for training, and algorithm metadata. + AlgorithmSpecification *AlgorithmSpecification `type:"structure"` + + // A timestamp that indicates when the training job was created. + CreationTime *time.Time `type:"timestamp"` + + // If the TrainingJob was created with network isolation, the value is set to + // true. If network isolation is enabled, nodes can't communicate beyond the + // VPC they run in. + EnableNetworkIsolation *bool `type:"boolean"` + + // If the training job failed, the reason it failed. + FailureReason *string `type:"string"` + + // A list of final metric values that are set when the training job completes. + // Used only if the training job was configured to use metrics. + FinalMetricDataList []*MetricData `type:"list"` + + // Algorithm-specific parameters. + HyperParameters map[string]*string `type:"map"` + + // An array of Channel objects that describes each data input channel. + InputDataConfig []*Channel `min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the labeling job. + LabelingJobArn *string `type:"string"` + + // A timestamp that indicates when the status of the training job was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // Information about the Amazon S3 location that is configured for storing model + // artifacts. + ModelArtifacts *ModelArtifacts `type:"structure"` + + // The S3 path where model artifacts that you configured when creating the job + // are stored. Amazon SageMaker creates subfolders for model artifacts. + OutputDataConfig *OutputDataConfig `type:"structure"` + + // Resources, including ML compute instances and ML storage volumes, that are + // configured for model training. + ResourceConfig *ResourceConfig `type:"structure"` + + // The AWS Identity and Access Management (IAM) role configured for the training + // job. + RoleArn *string `min:"20" type:"string"` + + // Provides detailed information about the state of the training job. For detailed + // information about the secondary status of the training job, see StatusMessage + // under SecondaryStatusTransition. + // + // Amazon SageMaker provides primary statuses and secondary statuses that apply + // to each of them: + // + // InProgressStarting - Starting the training job. + // + // Downloading - An optional stage for algorithms that support File training + // input mode. It indicates that data is being downloaded to the ML storage + // volumes. + // + // Training - Training is in progress. + // + // Uploading - Training is complete and the model artifacts are being uploaded + // to the S3 location. + // + // CompletedCompleted - The training job has completed. + // + // FailedFailed - The training job has failed. The reason for the failure is + // returned in the FailureReason field of DescribeTrainingJobResponse. + // + // StoppedMaxRuntimeExceeded - The job stopped because it exceeded the maximum + // allowed runtime. + // + // Stopped - The training job has stopped. + // + // StoppingStopping - Stopping the training job. + // + // Valid values for SecondaryStatus are subject to change. + // + // We no longer support the following secondary statuses: + // + // * LaunchingMLInstances + // + // * PreparingTrainingStack + // + // * DownloadingTrainingImage + SecondaryStatus *string `type:"string" enum:"SecondaryStatus"` + + // A history of all of the secondary statuses that the training job has transitioned + // through. + SecondaryStatusTransitions []*SecondaryStatusTransition `type:"list"` + + // The condition under which to stop the training job. + StoppingCondition *StoppingCondition `type:"structure"` + + // An array of key-value pairs. For more information, see Using Cost Allocation + // Tags (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) + // in the AWS Billing and Cost Management User Guide. + Tags []*Tag `type:"list"` + + // Indicates the time when the training job ends on training instances. You + // are billed for the time interval between the value of TrainingStartTime and + // this time. For successful jobs and stopped jobs, this is the time after model + // artifacts are uploaded. For failed jobs, this is the time when Amazon SageMaker + // detects a job failure. + TrainingEndTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the training job. + TrainingJobArn *string `type:"string"` + + // The name of the training job. + TrainingJobName *string `min:"1" type:"string"` + + // The status of the training job. + // + // Training job statuses are: + // + // * InProgress - The training is in progress. + // + // * Completed - The training job has completed. + // + // * Failed - The training job has failed. To see the reason for the failure, + // see the FailureReason field in the response to a DescribeTrainingJobResponse + // call. + // + // * Stopping - The training job is stopping. + // + // * Stopped - The training job has stopped. + // + // For more detailed information, see SecondaryStatus. + TrainingJobStatus *string `type:"string" enum:"TrainingJobStatus"` + + // Indicates the time when the training job starts on training instances. You + // are billed for the time interval between this time and the value of TrainingEndTime. + // The start time in CloudWatch Logs might be later than this time. The difference + // is due to the time it takes to download the training data and to the size + // of the training container. + TrainingStartTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the associated hyperparameter tuning job + // if the training job was launched by a hyperparameter tuning job. + TuningJobArn *string `type:"string"` + + // A VpcConfig object that specifies the VPC that this training job has access + // to. For more information, see Protect Training Jobs by Using an Amazon Virtual + // Private Cloud (http://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html). + VpcConfig *VpcConfig `type:"structure"` +} + +// String returns the string representation +func (s TrainingJob) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrainingJob) GoString() string { + return s.String() +} + +// SetAlgorithmSpecification sets the AlgorithmSpecification field's value. +func (s *TrainingJob) SetAlgorithmSpecification(v *AlgorithmSpecification) *TrainingJob { + s.AlgorithmSpecification = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *TrainingJob) SetCreationTime(v time.Time) *TrainingJob { + s.CreationTime = &v + return s +} + +// SetEnableNetworkIsolation sets the EnableNetworkIsolation field's value. +func (s *TrainingJob) SetEnableNetworkIsolation(v bool) *TrainingJob { + s.EnableNetworkIsolation = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *TrainingJob) SetFailureReason(v string) *TrainingJob { + s.FailureReason = &v + return s +} + +// SetFinalMetricDataList sets the FinalMetricDataList field's value. +func (s *TrainingJob) SetFinalMetricDataList(v []*MetricData) *TrainingJob { + s.FinalMetricDataList = v + return s +} + +// SetHyperParameters sets the HyperParameters field's value. +func (s *TrainingJob) SetHyperParameters(v map[string]*string) *TrainingJob { + s.HyperParameters = v + return s +} + +// SetInputDataConfig sets the InputDataConfig field's value. +func (s *TrainingJob) SetInputDataConfig(v []*Channel) *TrainingJob { + s.InputDataConfig = v + return s +} + +// SetLabelingJobArn sets the LabelingJobArn field's value. +func (s *TrainingJob) SetLabelingJobArn(v string) *TrainingJob { + s.LabelingJobArn = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *TrainingJob) SetLastModifiedTime(v time.Time) *TrainingJob { + s.LastModifiedTime = &v + return s +} + +// SetModelArtifacts sets the ModelArtifacts field's value. +func (s *TrainingJob) SetModelArtifacts(v *ModelArtifacts) *TrainingJob { + s.ModelArtifacts = v + return s +} + +// SetOutputDataConfig sets the OutputDataConfig field's value. +func (s *TrainingJob) SetOutputDataConfig(v *OutputDataConfig) *TrainingJob { + s.OutputDataConfig = v + return s +} + +// SetResourceConfig sets the ResourceConfig field's value. +func (s *TrainingJob) SetResourceConfig(v *ResourceConfig) *TrainingJob { + s.ResourceConfig = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *TrainingJob) SetRoleArn(v string) *TrainingJob { + s.RoleArn = &v + return s +} + +// SetSecondaryStatus sets the SecondaryStatus field's value. +func (s *TrainingJob) SetSecondaryStatus(v string) *TrainingJob { + s.SecondaryStatus = &v + return s +} + +// SetSecondaryStatusTransitions sets the SecondaryStatusTransitions field's value. +func (s *TrainingJob) SetSecondaryStatusTransitions(v []*SecondaryStatusTransition) *TrainingJob { + s.SecondaryStatusTransitions = v + return s +} + +// SetStoppingCondition sets the StoppingCondition field's value. +func (s *TrainingJob) SetStoppingCondition(v *StoppingCondition) *TrainingJob { + s.StoppingCondition = v + return s +} + +// SetTags sets the Tags field's value. +func (s *TrainingJob) SetTags(v []*Tag) *TrainingJob { + s.Tags = v + return s +} + +// SetTrainingEndTime sets the TrainingEndTime field's value. +func (s *TrainingJob) SetTrainingEndTime(v time.Time) *TrainingJob { + s.TrainingEndTime = &v + return s +} + +// SetTrainingJobArn sets the TrainingJobArn field's value. +func (s *TrainingJob) SetTrainingJobArn(v string) *TrainingJob { + s.TrainingJobArn = &v + return s +} + +// SetTrainingJobName sets the TrainingJobName field's value. +func (s *TrainingJob) SetTrainingJobName(v string) *TrainingJob { + s.TrainingJobName = &v + return s +} + +// SetTrainingJobStatus sets the TrainingJobStatus field's value. +func (s *TrainingJob) SetTrainingJobStatus(v string) *TrainingJob { + s.TrainingJobStatus = &v + return s +} + +// SetTrainingStartTime sets the TrainingStartTime field's value. +func (s *TrainingJob) SetTrainingStartTime(v time.Time) *TrainingJob { + s.TrainingStartTime = &v + return s +} + +// SetTuningJobArn sets the TuningJobArn field's value. +func (s *TrainingJob) SetTuningJobArn(v string) *TrainingJob { + s.TuningJobArn = &v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *TrainingJob) SetVpcConfig(v *VpcConfig) *TrainingJob { + s.VpcConfig = v + return s +} + +// Defines the input needed to run a training job using the algorithm. +type TrainingJobDefinition struct { + _ struct{} `type:"structure"` + + // The hyperparameters used for the training job. + HyperParameters map[string]*string `type:"map"` + + // An array of Channel objects, each of which specifies an input source. + // + // InputDataConfig is a required field + InputDataConfig []*Channel `min:"1" type:"list" required:"true"` + + // the path to the S3 bucket where you want to store model artifacts. Amazon + // SageMaker creates subfolders for the artifacts. + // + // OutputDataConfig is a required field + OutputDataConfig *OutputDataConfig `type:"structure" required:"true"` + + // The resources, including the ML compute instances and ML storage volumes, + // to use for model training. + // + // ResourceConfig is a required field + ResourceConfig *ResourceConfig `type:"structure" required:"true"` + + // Sets a duration for training. Use this parameter to cap model training costs. + // + // To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which + // delays job termination for 120 seconds. Algorithms might use this 120-second + // window to save the model artifacts. + // + // StoppingCondition is a required field + StoppingCondition *StoppingCondition `type:"structure" required:"true"` + + // The input mode used by the algorithm for the training job. For the input + // modes that Amazon SageMaker algorithms support, see Algorithms (http://docs.aws.amazon.com/sagemaker/latest/dg/algos.html). + // + // If an algorithm supports the File input mode, Amazon SageMaker downloads + // the training data from S3 to the provisioned ML storage Volume, and mounts + // the directory to docker volume for training container. If an algorithm supports + // the Pipe input mode, Amazon SageMaker streams data directly from S3 to the + // container. + // + // TrainingInputMode is a required field + TrainingInputMode *string `type:"string" required:"true" enum:"TrainingInputMode"` +} + +// String returns the string representation +func (s TrainingJobDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrainingJobDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TrainingJobDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TrainingJobDefinition"} + if s.InputDataConfig == nil { + invalidParams.Add(request.NewErrParamRequired("InputDataConfig")) + } + if s.InputDataConfig != nil && len(s.InputDataConfig) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputDataConfig", 1)) + } + if s.OutputDataConfig == nil { + invalidParams.Add(request.NewErrParamRequired("OutputDataConfig")) + } + if s.ResourceConfig == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceConfig")) + } + if s.StoppingCondition == nil { + invalidParams.Add(request.NewErrParamRequired("StoppingCondition")) + } + if s.TrainingInputMode == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingInputMode")) + } + if s.InputDataConfig != nil { + for i, v := range s.InputDataConfig { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputDataConfig", i), err.(request.ErrInvalidParams)) + } + } + } + if s.OutputDataConfig != nil { + if err := s.OutputDataConfig.Validate(); err != nil { + invalidParams.AddNested("OutputDataConfig", err.(request.ErrInvalidParams)) + } + } + if s.ResourceConfig != nil { + if err := s.ResourceConfig.Validate(); err != nil { + invalidParams.AddNested("ResourceConfig", err.(request.ErrInvalidParams)) + } + } + if s.StoppingCondition != nil { + if err := s.StoppingCondition.Validate(); err != nil { + invalidParams.AddNested("StoppingCondition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHyperParameters sets the HyperParameters field's value. +func (s *TrainingJobDefinition) SetHyperParameters(v map[string]*string) *TrainingJobDefinition { + s.HyperParameters = v + return s +} + +// SetInputDataConfig sets the InputDataConfig field's value. +func (s *TrainingJobDefinition) SetInputDataConfig(v []*Channel) *TrainingJobDefinition { + s.InputDataConfig = v + return s +} + +// SetOutputDataConfig sets the OutputDataConfig field's value. +func (s *TrainingJobDefinition) SetOutputDataConfig(v *OutputDataConfig) *TrainingJobDefinition { + s.OutputDataConfig = v + return s +} + +// SetResourceConfig sets the ResourceConfig field's value. +func (s *TrainingJobDefinition) SetResourceConfig(v *ResourceConfig) *TrainingJobDefinition { + s.ResourceConfig = v + return s +} + +// SetStoppingCondition sets the StoppingCondition field's value. +func (s *TrainingJobDefinition) SetStoppingCondition(v *StoppingCondition) *TrainingJobDefinition { + s.StoppingCondition = v + return s +} + +// SetTrainingInputMode sets the TrainingInputMode field's value. +func (s *TrainingJobDefinition) SetTrainingInputMode(v string) *TrainingJobDefinition { + s.TrainingInputMode = &v + return s +} + +// The numbers of training jobs launched by a hyperparameter tuning job, categorized +// by status. +type TrainingJobStatusCounters struct { + _ struct{} `type:"structure"` + + // The number of completed training jobs launched by the hyperparameter tuning + // job. + Completed *int64 `type:"integer"` + + // The number of in-progress training jobs launched by a hyperparameter tuning + // job. + InProgress *int64 `type:"integer"` + + // The number of training jobs that failed and can't be retried. A failed training + // job can't be retried if it failed because a client error occurred. + NonRetryableError *int64 `type:"integer"` + + // The number of training jobs that failed, but can be retried. A failed training + // job can be retried only if it failed because an internal service error occurred. + RetryableError *int64 `type:"integer"` + + // The number of training jobs launched by a hyperparameter tuning job that + // were manually stopped. + Stopped *int64 `type:"integer"` +} + +// String returns the string representation +func (s TrainingJobStatusCounters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrainingJobStatusCounters) GoString() string { + return s.String() +} + +// SetCompleted sets the Completed field's value. +func (s *TrainingJobStatusCounters) SetCompleted(v int64) *TrainingJobStatusCounters { + s.Completed = &v + return s +} + +// SetInProgress sets the InProgress field's value. +func (s *TrainingJobStatusCounters) SetInProgress(v int64) *TrainingJobStatusCounters { + s.InProgress = &v + return s +} + +// SetNonRetryableError sets the NonRetryableError field's value. +func (s *TrainingJobStatusCounters) SetNonRetryableError(v int64) *TrainingJobStatusCounters { + s.NonRetryableError = &v + return s +} + +// SetRetryableError sets the RetryableError field's value. +func (s *TrainingJobStatusCounters) SetRetryableError(v int64) *TrainingJobStatusCounters { + s.RetryableError = &v + return s +} + +// SetStopped sets the Stopped field's value. +func (s *TrainingJobStatusCounters) SetStopped(v int64) *TrainingJobStatusCounters { + s.Stopped = &v + return s +} + +// Provides summary information about a training job. +type TrainingJobSummary struct { + _ struct{} `type:"structure"` + + // A timestamp that shows when the training job was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // Timestamp when the training job was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // A timestamp that shows when the training job ended. This field is set only + // if the training job has one of the terminal statuses (Completed, Failed, + // or Stopped). + TrainingEndTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the training job. + // + // TrainingJobArn is a required field + TrainingJobArn *string `type:"string" required:"true"` + + // The name of the training job that you want a summary for. + // + // TrainingJobName is a required field + TrainingJobName *string `min:"1" type:"string" required:"true"` + + // The status of the training job. + // + // TrainingJobStatus is a required field + TrainingJobStatus *string `type:"string" required:"true" enum:"TrainingJobStatus"` +} + +// String returns the string representation +func (s TrainingJobSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrainingJobSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *TrainingJobSummary) SetCreationTime(v time.Time) *TrainingJobSummary { + s.CreationTime = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *TrainingJobSummary) SetLastModifiedTime(v time.Time) *TrainingJobSummary { + s.LastModifiedTime = &v + return s +} + +// SetTrainingEndTime sets the TrainingEndTime field's value. +func (s *TrainingJobSummary) SetTrainingEndTime(v time.Time) *TrainingJobSummary { + s.TrainingEndTime = &v + return s +} + +// SetTrainingJobArn sets the TrainingJobArn field's value. +func (s *TrainingJobSummary) SetTrainingJobArn(v string) *TrainingJobSummary { + s.TrainingJobArn = &v + return s +} + +// SetTrainingJobName sets the TrainingJobName field's value. +func (s *TrainingJobSummary) SetTrainingJobName(v string) *TrainingJobSummary { + s.TrainingJobName = &v + return s +} + +// SetTrainingJobStatus sets the TrainingJobStatus field's value. +func (s *TrainingJobSummary) SetTrainingJobStatus(v string) *TrainingJobSummary { + s.TrainingJobStatus = &v + return s +} + +// Defines how the algorithm is used for a training job. +type TrainingSpecification struct { + _ struct{} `type:"structure"` + + // A list of MetricDefinition objects, which are used for parsing metrics generated + // by the algorithm. + MetricDefinitions []*MetricDefinition `type:"list"` + + // A list of the HyperParameterSpecification objects, that define the supported + // hyperparameters. This is required if the algorithm supports automatic model + // tuning.> + SupportedHyperParameters []*HyperParameterSpecification `type:"list"` + + // A list of the instance types that this algorithm can use for training. + // + // SupportedTrainingInstanceTypes is a required field + SupportedTrainingInstanceTypes []*string `type:"list" required:"true"` + + // A list of the metrics that the algorithm emits that can be used as the objective + // metric in a hyperparameter tuning job. + SupportedTuningJobObjectiveMetrics []*HyperParameterTuningJobObjective `type:"list"` + + // Indicates whether the algorithm supports distributed training. If set to + // false, buyers can’t request more than one instance during training. + SupportsDistributedTraining *bool `type:"boolean"` + + // A list of ChannelSpecification objects, which specify the input sources to + // be used by the algorithm. + // + // TrainingChannels is a required field + TrainingChannels []*ChannelSpecification `min:"1" type:"list" required:"true"` + + // The Amazon ECR registry path of the Docker image that contains the training + // algorithm. + // + // TrainingImage is a required field + TrainingImage *string `type:"string" required:"true"` + + // An MD5 hash of the training algorithm that identifies the Docker image used + // for training. + TrainingImageDigest *string `type:"string"` +} + +// String returns the string representation +func (s TrainingSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrainingSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TrainingSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TrainingSpecification"} + if s.SupportedTrainingInstanceTypes == nil { + invalidParams.Add(request.NewErrParamRequired("SupportedTrainingInstanceTypes")) + } + if s.TrainingChannels == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingChannels")) + } + if s.TrainingChannels != nil && len(s.TrainingChannels) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TrainingChannels", 1)) + } + if s.TrainingImage == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingImage")) + } + if s.MetricDefinitions != nil { + for i, v := range s.MetricDefinitions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricDefinitions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SupportedHyperParameters != nil { + for i, v := range s.SupportedHyperParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SupportedHyperParameters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SupportedTuningJobObjectiveMetrics != nil { + for i, v := range s.SupportedTuningJobObjectiveMetrics { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SupportedTuningJobObjectiveMetrics", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TrainingChannels != nil { + for i, v := range s.TrainingChannels { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TrainingChannels", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMetricDefinitions sets the MetricDefinitions field's value. +func (s *TrainingSpecification) SetMetricDefinitions(v []*MetricDefinition) *TrainingSpecification { + s.MetricDefinitions = v + return s +} + +// SetSupportedHyperParameters sets the SupportedHyperParameters field's value. +func (s *TrainingSpecification) SetSupportedHyperParameters(v []*HyperParameterSpecification) *TrainingSpecification { + s.SupportedHyperParameters = v + return s +} + +// SetSupportedTrainingInstanceTypes sets the SupportedTrainingInstanceTypes field's value. +func (s *TrainingSpecification) SetSupportedTrainingInstanceTypes(v []*string) *TrainingSpecification { + s.SupportedTrainingInstanceTypes = v + return s +} + +// SetSupportedTuningJobObjectiveMetrics sets the SupportedTuningJobObjectiveMetrics field's value. +func (s *TrainingSpecification) SetSupportedTuningJobObjectiveMetrics(v []*HyperParameterTuningJobObjective) *TrainingSpecification { + s.SupportedTuningJobObjectiveMetrics = v + return s +} + +// SetSupportsDistributedTraining sets the SupportsDistributedTraining field's value. +func (s *TrainingSpecification) SetSupportsDistributedTraining(v bool) *TrainingSpecification { + s.SupportsDistributedTraining = &v + return s +} + +// SetTrainingChannels sets the TrainingChannels field's value. +func (s *TrainingSpecification) SetTrainingChannels(v []*ChannelSpecification) *TrainingSpecification { + s.TrainingChannels = v + return s +} + +// SetTrainingImage sets the TrainingImage field's value. +func (s *TrainingSpecification) SetTrainingImage(v string) *TrainingSpecification { + s.TrainingImage = &v + return s +} + +// SetTrainingImageDigest sets the TrainingImageDigest field's value. +func (s *TrainingSpecification) SetTrainingImageDigest(v string) *TrainingSpecification { + s.TrainingImageDigest = &v + return s +} + +// Describes the location of the channel data. +type TransformDataSource struct { + _ struct{} `type:"structure"` + + // The S3 location of the data source that is associated with a channel. + // + // S3DataSource is a required field + S3DataSource *TransformS3DataSource `type:"structure" required:"true"` +} + +// String returns the string representation +func (s TransformDataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TransformDataSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TransformDataSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TransformDataSource"} + if s.S3DataSource == nil { + invalidParams.Add(request.NewErrParamRequired("S3DataSource")) + } + if s.S3DataSource != nil { + if err := s.S3DataSource.Validate(); err != nil { + invalidParams.AddNested("S3DataSource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3DataSource sets the S3DataSource field's value. +func (s *TransformDataSource) SetS3DataSource(v *TransformS3DataSource) *TransformDataSource { + s.S3DataSource = v + return s +} + +// Describes the input source of a transform job and the way the transform job +// consumes it. +type TransformInput struct { + _ struct{} `type:"structure"` + + // If your transform data is compressed, specify the compression type. Amazon + // SageMaker automatically decompresses the data for the transform job accordingly. + // The default value is None. + CompressionType *string `type:"string" enum:"CompressionType"` + + // The multipurpose internet mail extension (MIME) type of the data. Amazon + // SageMaker uses the MIME type with each http call to transfer data to the + // transform job. + ContentType *string `type:"string"` + + // Describes the location of the channel data, which is, the S3 location of + // the input data that the model can consume. + // + // DataSource is a required field + DataSource *TransformDataSource `type:"structure" required:"true"` + + // The method to use to split the transform job's data into smaller batches. + // If you don't want to split the data, specify None. If you want to split records + // on a newline character boundary, specify Line. To split records according + // to the RecordIO format, specify RecordIO. The default value is None. + // + // Amazon SageMaker sends the maximum number of records per batch in each request + // up to the MaxPayloadInMB limit. For more information, see RecordIO data format + // (http://mxnet.io/architecture/note_data_loading.html#data-format). + // + // For information about the RecordIO format, see Data Format (http://mxnet.io/architecture/note_data_loading.html#data-format). + SplitType *string `type:"string" enum:"SplitType"` +} + +// String returns the string representation +func (s TransformInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TransformInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TransformInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TransformInput"} + if s.DataSource == nil { + invalidParams.Add(request.NewErrParamRequired("DataSource")) + } + if s.DataSource != nil { + if err := s.DataSource.Validate(); err != nil { + invalidParams.AddNested("DataSource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCompressionType sets the CompressionType field's value. +func (s *TransformInput) SetCompressionType(v string) *TransformInput { + s.CompressionType = &v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *TransformInput) SetContentType(v string) *TransformInput { + s.ContentType = &v + return s +} + +// SetDataSource sets the DataSource field's value. +func (s *TransformInput) SetDataSource(v *TransformDataSource) *TransformInput { + s.DataSource = v + return s +} + +// SetSplitType sets the SplitType field's value. +func (s *TransformInput) SetSplitType(v string) *TransformInput { + s.SplitType = &v + return s +} + +// Defines the input needed to run a transform job using the inference specification +// specified in the algorithm. +type TransformJobDefinition struct { + _ struct{} `type:"structure"` + + // A string that determines the number of records included in a single mini-batch. + // + // SingleRecord means only one record is used per mini-batch. MultiRecord means + // a mini-batch is set to contain as many records that can fit within the MaxPayloadInMB + // limit. + BatchStrategy *string `type:"string" enum:"BatchStrategy"` + + // The environment variables to set in the Docker container. We support up to + // 16 key and values entries in the map. + Environment map[string]*string `type:"map"` + + // The maximum number of parallel requests that can be sent to each instance + // in a transform job. The default value is 1. + MaxConcurrentTransforms *int64 `type:"integer"` + + // The maximum payload size allowed, in MB. A payload is the data portion of + // a record (without metadata). + MaxPayloadInMB *int64 `type:"integer"` + + // A description of the input source and the way the transform job consumes + // it. + // + // TransformInput is a required field + TransformInput *TransformInput `type:"structure" required:"true"` + + // Identifies the Amazon S3 location where you want Amazon SageMaker to save + // the results from the transform job. + // + // TransformOutput is a required field + TransformOutput *TransformOutput `type:"structure" required:"true"` + + // Identifies the ML compute instances for the transform job. + // + // TransformResources is a required field + TransformResources *TransformResources `type:"structure" required:"true"` +} + +// String returns the string representation +func (s TransformJobDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TransformJobDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TransformJobDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TransformJobDefinition"} + if s.TransformInput == nil { + invalidParams.Add(request.NewErrParamRequired("TransformInput")) + } + if s.TransformOutput == nil { + invalidParams.Add(request.NewErrParamRequired("TransformOutput")) + } + if s.TransformResources == nil { + invalidParams.Add(request.NewErrParamRequired("TransformResources")) + } + if s.TransformInput != nil { + if err := s.TransformInput.Validate(); err != nil { + invalidParams.AddNested("TransformInput", err.(request.ErrInvalidParams)) + } + } + if s.TransformOutput != nil { + if err := s.TransformOutput.Validate(); err != nil { + invalidParams.AddNested("TransformOutput", err.(request.ErrInvalidParams)) + } + } + if s.TransformResources != nil { + if err := s.TransformResources.Validate(); err != nil { + invalidParams.AddNested("TransformResources", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBatchStrategy sets the BatchStrategy field's value. +func (s *TransformJobDefinition) SetBatchStrategy(v string) *TransformJobDefinition { + s.BatchStrategy = &v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *TransformJobDefinition) SetEnvironment(v map[string]*string) *TransformJobDefinition { + s.Environment = v + return s +} + +// SetMaxConcurrentTransforms sets the MaxConcurrentTransforms field's value. +func (s *TransformJobDefinition) SetMaxConcurrentTransforms(v int64) *TransformJobDefinition { + s.MaxConcurrentTransforms = &v + return s +} + +// SetMaxPayloadInMB sets the MaxPayloadInMB field's value. +func (s *TransformJobDefinition) SetMaxPayloadInMB(v int64) *TransformJobDefinition { + s.MaxPayloadInMB = &v + return s +} + +// SetTransformInput sets the TransformInput field's value. +func (s *TransformJobDefinition) SetTransformInput(v *TransformInput) *TransformJobDefinition { + s.TransformInput = v + return s +} + +// SetTransformOutput sets the TransformOutput field's value. +func (s *TransformJobDefinition) SetTransformOutput(v *TransformOutput) *TransformJobDefinition { + s.TransformOutput = v + return s +} + +// SetTransformResources sets the TransformResources field's value. +func (s *TransformJobDefinition) SetTransformResources(v *TransformResources) *TransformJobDefinition { + s.TransformResources = v + return s +} + +// Provides a summary of a transform job. Multiple TransformJobSummary objects +// are returned as a list after in response to a ListTransformJobs call. +type TransformJobSummary struct { + _ struct{} `type:"structure"` + + // A timestamp that shows when the transform Job was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // If the transform job failed, the reason it failed. + FailureReason *string `type:"string"` + + // Indicates when the transform job was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // Indicates when the transform job ends on compute instances. For successful + // jobs and stopped jobs, this is the exact time recorded after the results + // are uploaded. For failed jobs, this is when Amazon SageMaker detected that + // the job failed. + TransformEndTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the transform job. + // + // TransformJobArn is a required field + TransformJobArn *string `type:"string" required:"true"` + + // The name of the transform job. + // + // TransformJobName is a required field + TransformJobName *string `min:"1" type:"string" required:"true"` + + // The status of the transform job. + // + // TransformJobStatus is a required field + TransformJobStatus *string `type:"string" required:"true" enum:"TransformJobStatus"` +} + +// String returns the string representation +func (s TransformJobSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TransformJobSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *TransformJobSummary) SetCreationTime(v time.Time) *TransformJobSummary { + s.CreationTime = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *TransformJobSummary) SetFailureReason(v string) *TransformJobSummary { + s.FailureReason = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *TransformJobSummary) SetLastModifiedTime(v time.Time) *TransformJobSummary { + s.LastModifiedTime = &v + return s +} + +// SetTransformEndTime sets the TransformEndTime field's value. +func (s *TransformJobSummary) SetTransformEndTime(v time.Time) *TransformJobSummary { + s.TransformEndTime = &v + return s +} + +// SetTransformJobArn sets the TransformJobArn field's value. +func (s *TransformJobSummary) SetTransformJobArn(v string) *TransformJobSummary { + s.TransformJobArn = &v + return s +} + +// SetTransformJobName sets the TransformJobName field's value. +func (s *TransformJobSummary) SetTransformJobName(v string) *TransformJobSummary { + s.TransformJobName = &v + return s +} + +// SetTransformJobStatus sets the TransformJobStatus field's value. +func (s *TransformJobSummary) SetTransformJobStatus(v string) *TransformJobSummary { + s.TransformJobStatus = &v + return s +} + +// Describes the results of a transform job output. +type TransformOutput struct { + _ struct{} `type:"structure"` + + // The MIME type used to specify the output data. Amazon SageMaker uses the + // MIME type with each http call to transfer data from the transform job. + Accept *string `type:"string"` + + // Defines how to assemble the results of the transform job as a single S3 object. + // Choose a format that is most convenient to you. To concatenate the results + // in binary format, specify None. To add a newline character at the end of + // every transformed record, specify Line. + AssembleWith *string `type:"string" enum:"AssemblyType"` + + // The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to + // encrypt the model artifacts at rest using Amazon S3 server-side encryption. + // The KmsKeyId can be any of the following formats: + // + // * // KMS Key ID + // + // "1234abcd-12ab-34cd-56ef-1234567890ab" + // + // * // Amazon Resource Name (ARN) of a KMS Key + // + // "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + // + // * // KMS Key Alias + // + // "alias/ExampleAlias" + // + // * // Amazon Resource Name (ARN) of a KMS Key Alias + // + // "arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias" + // + // If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS + // key for Amazon S3 for your role's account. For more information, see KMS-Managed + // Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) + // in the Amazon Simple Storage Service Developer Guide. + // + // The KMS key policy must grant permission to the IAM role that you specify + // in your CreateTramsformJob request. For more information, see Using Key Policies + // in AWS KMS (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) + // in the AWS Key Management Service Developer Guide. + KmsKeyId *string `type:"string"` + + // The Amazon S3 path where you want Amazon SageMaker to store the results of + // the transform job. For example, s3://bucket-name/key-name-prefix. + // + // For every S3 object used as input for the transform job, the transformed + // data is stored in a corresponding subfolder in the location under the output + // prefix. For example, for the input data s3://bucket-name/input-name-prefix/dataset01/data.csv + // the transformed data is stored at s3://bucket-name/key-name-prefix/dataset01/. + // This is based on the original name, as a series of .part files (.part0001, + // part0002, etc.). + // + // S3OutputPath is a required field + S3OutputPath *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s TransformOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TransformOutput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TransformOutput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TransformOutput"} + if s.S3OutputPath == nil { + invalidParams.Add(request.NewErrParamRequired("S3OutputPath")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccept sets the Accept field's value. +func (s *TransformOutput) SetAccept(v string) *TransformOutput { + s.Accept = &v + return s +} + +// SetAssembleWith sets the AssembleWith field's value. +func (s *TransformOutput) SetAssembleWith(v string) *TransformOutput { + s.AssembleWith = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *TransformOutput) SetKmsKeyId(v string) *TransformOutput { + s.KmsKeyId = &v + return s +} + +// SetS3OutputPath sets the S3OutputPath field's value. +func (s *TransformOutput) SetS3OutputPath(v string) *TransformOutput { + s.S3OutputPath = &v + return s +} + +// Describes the resources, including ML instance types and ML instance count, +// to use for transform job. +type TransformResources struct { + _ struct{} `type:"structure"` + + // The number of ML compute instances to use in the transform job. For distributed + // transform, provide a value greater than 1. The default value is 1. + // + // InstanceCount is a required field + InstanceCount *int64 `min:"1" type:"integer" required:"true"` + + // The ML compute instance type for the transform job. For using built-in algorithms + // to transform moderately sized datasets, ml.m4.xlarge or ml.m5.large should + // suffice. There is no default value for InstanceType. + // + // InstanceType is a required field + InstanceType *string `type:"string" required:"true" enum:"TransformInstanceType"` + + // The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to + // encrypt data on the storage volume attached to the ML compute instance(s) + // that run the batch transform job. The VolumeKmsKeyId can be any of the following + // formats: + // + // * // KMS Key ID + // + // "1234abcd-12ab-34cd-56ef-1234567890ab" + // + // * // Amazon Resource Name (ARN) of a KMS Key + // + // "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + VolumeKmsKeyId *string `type:"string"` +} + +// String returns the string representation +func (s TransformResources) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TransformResources) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TransformResources) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TransformResources"} + if s.InstanceCount == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceCount")) + } + if s.InstanceCount != nil && *s.InstanceCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("InstanceCount", 1)) + } + if s.InstanceType == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceCount sets the InstanceCount field's value. +func (s *TransformResources) SetInstanceCount(v int64) *TransformResources { + s.InstanceCount = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *TransformResources) SetInstanceType(v string) *TransformResources { + s.InstanceType = &v + return s +} + +// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value. +func (s *TransformResources) SetVolumeKmsKeyId(v string) *TransformResources { + s.VolumeKmsKeyId = &v + return s +} + +// Describes the S3 data source. +type TransformS3DataSource struct { + _ struct{} `type:"structure"` + + // If you choose S3Prefix, S3Uri identifies a key name prefix. Amazon SageMaker + // uses all objects with the specified key name prefix for batch transform. + // + // If you choose ManifestFile, S3Uri identifies an object that is a manifest + // file containing a list of object keys that you want Amazon SageMaker to use + // for batch transform. + // + // S3DataType is a required field + S3DataType *string `type:"string" required:"true" enum:"S3DataType"` + + // Depending on the value specified for the S3DataType, identifies either a + // key name prefix or a manifest. For example: + // + // * A key name prefix might look like this: s3://bucketname/exampleprefix. + // + // + // * A manifest might look like this: s3://bucketname/example.manifest + // + // The manifest is an S3 object which is a JSON file with the following format: + // + // + // [ + // + // {"prefix": "s3://customer_bucket/some/prefix/"}, + // + // "relative/path/to/custdata-1", + // + // "relative/path/custdata-2", + // + // ... + // + // ] + // + // The preceding JSON matches the following S3Uris: + // + // s3://customer_bucket/some/prefix/relative/path/to/custdata-1 + // + // s3://customer_bucket/some/prefix/relative/path/custdata-1 + // + // ... + // + // The complete set of S3Uris in this manifest constitutes the input data for + // the channel for this datasource. The object that each S3Uris points to + // must be readable by the IAM role that Amazon SageMaker uses to perform + // tasks on your behalf. + // + // S3Uri is a required field + S3Uri *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s TransformS3DataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TransformS3DataSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TransformS3DataSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TransformS3DataSource"} + if s.S3DataType == nil { + invalidParams.Add(request.NewErrParamRequired("S3DataType")) + } + if s.S3Uri == nil { + invalidParams.Add(request.NewErrParamRequired("S3Uri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3DataType sets the S3DataType field's value. +func (s *TransformS3DataSource) SetS3DataType(v string) *TransformS3DataSource { + s.S3DataType = &v + return s +} + +// SetS3Uri sets the S3Uri field's value. +func (s *TransformS3DataSource) SetS3Uri(v string) *TransformS3DataSource { + s.S3Uri = &v + return s +} + +// Represents an amount of money in United States dollars/ +type USD struct { + _ struct{} `type:"structure"` + + // The fractional portion, in cents, of the amount. + Cents *int64 `type:"integer"` + + // The whole number of dollars in the amount. + Dollars *int64 `type:"integer"` + + // Fractions of a cent, in tenths. + TenthFractionsOfACent *int64 `type:"integer"` +} + +// String returns the string representation +func (s USD) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s USD) GoString() string { + return s.String() +} + +// SetCents sets the Cents field's value. +func (s *USD) SetCents(v int64) *USD { + s.Cents = &v + return s +} + +// SetDollars sets the Dollars field's value. +func (s *USD) SetDollars(v int64) *USD { + s.Dollars = &v + return s +} + +// SetTenthFractionsOfACent sets the TenthFractionsOfACent field's value. +func (s *USD) SetTenthFractionsOfACent(v int64) *USD { + s.TenthFractionsOfACent = &v + return s +} + +// Provided configuration information for the worker UI for a labeling job. +type UiConfig struct { + _ struct{} `type:"structure"` + + // The Amazon S3 bucket location of the UI template. For more information about + // the contents of a UI template, see Creating Your Custom Labeling Task Template + // (http://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step2.html). + // + // UiTemplateS3Uri is a required field + UiTemplateS3Uri *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UiConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UiConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UiConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UiConfig"} + if s.UiTemplateS3Uri == nil { + invalidParams.Add(request.NewErrParamRequired("UiTemplateS3Uri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetUiTemplateS3Uri sets the UiTemplateS3Uri field's value. +func (s *UiConfig) SetUiTemplateS3Uri(v string) *UiConfig { + s.UiTemplateS3Uri = &v + return s +} + +// The Liquid template for the worker user interface. +type UiTemplate struct { + _ struct{} `type:"structure"` + + // The content of the Liquid template for the worker user interface. + // + // Content is a required field + Content *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UiTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UiTemplate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UiTemplate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UiTemplate"} + if s.Content == nil { + invalidParams.Add(request.NewErrParamRequired("Content")) + } + if s.Content != nil && len(*s.Content) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Content", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContent sets the Content field's value. +func (s *UiTemplate) SetContent(v string) *UiTemplate { + s.Content = &v + return s +} + +type UpdateCodeRepositoryInput struct { + _ struct{} `type:"structure"` + + // The name of the Git repository to update. + // + // CodeRepositoryName is a required field + CodeRepositoryName *string `min:"1" type:"string" required:"true"` + + // The configuration of the git repository, including the URL and the Amazon + // Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials + // used to access the repository. The secret must have a staging label of AWSCURRENT + // and must be in the following format: + // + // {"username": UserName, "password": Password} + GitConfig *GitConfigForUpdate `type:"structure"` +} + +// String returns the string representation +func (s UpdateCodeRepositoryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCodeRepositoryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCodeRepositoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCodeRepositoryInput"} + if s.CodeRepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("CodeRepositoryName")) + } + if s.CodeRepositoryName != nil && len(*s.CodeRepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CodeRepositoryName", 1)) + } + if s.GitConfig != nil { + if err := s.GitConfig.Validate(); err != nil { + invalidParams.AddNested("GitConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodeRepositoryName sets the CodeRepositoryName field's value. +func (s *UpdateCodeRepositoryInput) SetCodeRepositoryName(v string) *UpdateCodeRepositoryInput { + s.CodeRepositoryName = &v + return s +} + +// SetGitConfig sets the GitConfig field's value. +func (s *UpdateCodeRepositoryInput) SetGitConfig(v *GitConfigForUpdate) *UpdateCodeRepositoryInput { + s.GitConfig = v + return s +} + +type UpdateCodeRepositoryOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the Git repository. + // + // CodeRepositoryArn is a required field + CodeRepositoryArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateCodeRepositoryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCodeRepositoryOutput) GoString() string { + return s.String() +} + +// SetCodeRepositoryArn sets the CodeRepositoryArn field's value. +func (s *UpdateCodeRepositoryOutput) SetCodeRepositoryArn(v string) *UpdateCodeRepositoryOutput { + s.CodeRepositoryArn = &v + return s +} + +type UpdateEndpointInput struct { + _ struct{} `type:"structure"` + + // The name of the new endpoint configuration. + // + // EndpointConfigName is a required field + EndpointConfigName *string `type:"string" required:"true"` + + // The name of the endpoint whose configuration you want to update. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointInput"} + if s.EndpointConfigName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointConfigName")) + } + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointConfigName sets the EndpointConfigName field's value. +func (s *UpdateEndpointInput) SetEndpointConfigName(v string) *UpdateEndpointInput { + s.EndpointConfigName = &v + return s +} + +// SetEndpointName sets the EndpointName field's value. +func (s *UpdateEndpointInput) SetEndpointName(v string) *UpdateEndpointInput { + s.EndpointName = &v + return s +} + +type UpdateEndpointOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the endpoint. + // + // EndpointArn is a required field + EndpointArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEndpointOutput) GoString() string { + return s.String() +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *UpdateEndpointOutput) SetEndpointArn(v string) *UpdateEndpointOutput { + s.EndpointArn = &v + return s +} + +type UpdateEndpointWeightsAndCapacitiesInput struct { + _ struct{} `type:"structure"` + + // An object that provides new capacity and weight values for a variant. + // + // DesiredWeightsAndCapacities is a required field + DesiredWeightsAndCapacities []*DesiredWeightAndCapacity `min:"1" type:"list" required:"true"` + + // The name of an existing Amazon SageMaker endpoint. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateEndpointWeightsAndCapacitiesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEndpointWeightsAndCapacitiesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateEndpointWeightsAndCapacitiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointWeightsAndCapacitiesInput"} + if s.DesiredWeightsAndCapacities == nil { + invalidParams.Add(request.NewErrParamRequired("DesiredWeightsAndCapacities")) + } + if s.DesiredWeightsAndCapacities != nil && len(s.DesiredWeightsAndCapacities) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DesiredWeightsAndCapacities", 1)) + } + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) + } + if s.DesiredWeightsAndCapacities != nil { + for i, v := range s.DesiredWeightsAndCapacities { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DesiredWeightsAndCapacities", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDesiredWeightsAndCapacities sets the DesiredWeightsAndCapacities field's value. +func (s *UpdateEndpointWeightsAndCapacitiesInput) SetDesiredWeightsAndCapacities(v []*DesiredWeightAndCapacity) *UpdateEndpointWeightsAndCapacitiesInput { + s.DesiredWeightsAndCapacities = v + return s +} + +// SetEndpointName sets the EndpointName field's value. +func (s *UpdateEndpointWeightsAndCapacitiesInput) SetEndpointName(v string) *UpdateEndpointWeightsAndCapacitiesInput { + s.EndpointName = &v + return s +} + +type UpdateEndpointWeightsAndCapacitiesOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the updated endpoint. + // + // EndpointArn is a required field + EndpointArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateEndpointWeightsAndCapacitiesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEndpointWeightsAndCapacitiesOutput) GoString() string { + return s.String() +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *UpdateEndpointWeightsAndCapacitiesOutput) SetEndpointArn(v string) *UpdateEndpointWeightsAndCapacitiesOutput { + s.EndpointArn = &v + return s +} + +type UpdateNotebookInstanceInput struct { + _ struct{} `type:"structure"` + + // A list of the Elastic Inference (EI) instance types to associate with this + // notebook instance. Currently only one EI instance type can be associated + // with a notebook instance. For more information, see Using Elastic Inference + // in Amazon SageMaker (http://docs.aws.amazon.com/sagemaker/latest/dg/ei.html). + AcceleratorTypes []*string `type:"list"` + + // An array of up to three Git repositories to associate with the notebook instance. + // These can be either the names of Git repositories stored as resources in + // your account, or the URL of Git repositories in AWS CodeCommit (http://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) + // or in any other Git repository.. These repositories are cloned at the same + // level as the default repository of your notebook instance. For more information, + // see Associating Git Repositories with Amazon SageMaker Notebook Instances + // (http://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html). + AdditionalCodeRepositories []*string `type:"list"` + + // The Git repository to associate with the notebook instance as its default + // code repository. This can be either the name of a Git repository stored as + // a resource in your account, or the URL of a Git repository in AWS CodeCommit + // (http://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or + // in any other Git repository. When you open a notebook instance, it opens + // in the directory that contains this repository. For more information, see + // Associating Git Repositories with Amazon SageMaker Notebook Instances (http://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html). + DefaultCodeRepository *string `min:"1" type:"string"` + + // A list of the Elastic Inference (EI) instance types to remove from this notebook + // instance. + DisassociateAcceleratorTypes *bool `type:"boolean"` + + // A list of names or URLs of the default Git repositories to remove from this + // notebook instance. + DisassociateAdditionalCodeRepositories *bool `type:"boolean"` + + // The name or URL of the default Git repository to remove from this notebook + // instance. + DisassociateDefaultCodeRepository *bool `type:"boolean"` + + // Set to true to remove the notebook instance lifecycle configuration currently + // associated with the notebook instance. + DisassociateLifecycleConfig *bool `type:"boolean"` + + // The Amazon ML compute instance type. + InstanceType *string `type:"string" enum:"InstanceType"` + + // The name of a lifecycle configuration to associate with the notebook instance. + // For information about lifestyle configurations, see Step 2.1: (Optional) + // Customize a Notebook Instance (http://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html). + LifecycleConfigName *string `type:"string"` + + // The name of the notebook instance to update. + // + // NotebookInstanceName is a required field + NotebookInstanceName *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can + // assume to access the notebook instance. For more information, see Amazon + // SageMaker Roles (http://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html). + // + // To be able to pass this role to Amazon SageMaker, the caller of this API + // must have the iam:PassRole permission. + RoleArn *string `min:"20" type:"string"` + + // The size, in GB, of the ML storage volume to attach to the notebook instance. + // The default value is 5 GB. + VolumeSizeInGB *int64 `min:"5" type:"integer"` +} + +// String returns the string representation +func (s UpdateNotebookInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateNotebookInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateNotebookInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateNotebookInstanceInput"} + if s.DefaultCodeRepository != nil && len(*s.DefaultCodeRepository) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DefaultCodeRepository", 1)) + } + if s.NotebookInstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("NotebookInstanceName")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + if s.VolumeSizeInGB != nil && *s.VolumeSizeInGB < 5 { + invalidParams.Add(request.NewErrParamMinValue("VolumeSizeInGB", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorTypes sets the AcceleratorTypes field's value. +func (s *UpdateNotebookInstanceInput) SetAcceleratorTypes(v []*string) *UpdateNotebookInstanceInput { + s.AcceleratorTypes = v + return s +} + +// SetAdditionalCodeRepositories sets the AdditionalCodeRepositories field's value. +func (s *UpdateNotebookInstanceInput) SetAdditionalCodeRepositories(v []*string) *UpdateNotebookInstanceInput { + s.AdditionalCodeRepositories = v + return s +} + +// SetDefaultCodeRepository sets the DefaultCodeRepository field's value. +func (s *UpdateNotebookInstanceInput) SetDefaultCodeRepository(v string) *UpdateNotebookInstanceInput { + s.DefaultCodeRepository = &v + return s +} + +// SetDisassociateAcceleratorTypes sets the DisassociateAcceleratorTypes field's value. +func (s *UpdateNotebookInstanceInput) SetDisassociateAcceleratorTypes(v bool) *UpdateNotebookInstanceInput { + s.DisassociateAcceleratorTypes = &v + return s +} + +// SetDisassociateAdditionalCodeRepositories sets the DisassociateAdditionalCodeRepositories field's value. +func (s *UpdateNotebookInstanceInput) SetDisassociateAdditionalCodeRepositories(v bool) *UpdateNotebookInstanceInput { + s.DisassociateAdditionalCodeRepositories = &v + return s +} + +// SetDisassociateDefaultCodeRepository sets the DisassociateDefaultCodeRepository field's value. +func (s *UpdateNotebookInstanceInput) SetDisassociateDefaultCodeRepository(v bool) *UpdateNotebookInstanceInput { + s.DisassociateDefaultCodeRepository = &v + return s +} + +// SetDisassociateLifecycleConfig sets the DisassociateLifecycleConfig field's value. +func (s *UpdateNotebookInstanceInput) SetDisassociateLifecycleConfig(v bool) *UpdateNotebookInstanceInput { + s.DisassociateLifecycleConfig = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *UpdateNotebookInstanceInput) SetInstanceType(v string) *UpdateNotebookInstanceInput { + s.InstanceType = &v + return s +} + +// SetLifecycleConfigName sets the LifecycleConfigName field's value. +func (s *UpdateNotebookInstanceInput) SetLifecycleConfigName(v string) *UpdateNotebookInstanceInput { + s.LifecycleConfigName = &v + return s +} + +// SetNotebookInstanceName sets the NotebookInstanceName field's value. +func (s *UpdateNotebookInstanceInput) SetNotebookInstanceName(v string) *UpdateNotebookInstanceInput { + s.NotebookInstanceName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *UpdateNotebookInstanceInput) SetRoleArn(v string) *UpdateNotebookInstanceInput { + s.RoleArn = &v + return s +} + +// SetVolumeSizeInGB sets the VolumeSizeInGB field's value. +func (s *UpdateNotebookInstanceInput) SetVolumeSizeInGB(v int64) *UpdateNotebookInstanceInput { + s.VolumeSizeInGB = &v + return s +} + +type UpdateNotebookInstanceLifecycleConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the lifecycle configuration. + // + // NotebookInstanceLifecycleConfigName is a required field + NotebookInstanceLifecycleConfigName *string `type:"string" required:"true"` + + // The shell script that runs only once, when you create a notebook instance + OnCreate []*NotebookInstanceLifecycleHook `type:"list"` + + // The shell script that runs every time you start a notebook instance, including + // when you create the notebook instance. + OnStart []*NotebookInstanceLifecycleHook `type:"list"` +} + +// String returns the string representation +func (s UpdateNotebookInstanceLifecycleConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateNotebookInstanceLifecycleConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateNotebookInstanceLifecycleConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateNotebookInstanceLifecycleConfigInput"} + if s.NotebookInstanceLifecycleConfigName == nil { + invalidParams.Add(request.NewErrParamRequired("NotebookInstanceLifecycleConfigName")) + } + if s.OnCreate != nil { + for i, v := range s.OnCreate { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OnCreate", i), err.(request.ErrInvalidParams)) + } + } + } + if s.OnStart != nil { + for i, v := range s.OnStart { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OnStart", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNotebookInstanceLifecycleConfigName sets the NotebookInstanceLifecycleConfigName field's value. +func (s *UpdateNotebookInstanceLifecycleConfigInput) SetNotebookInstanceLifecycleConfigName(v string) *UpdateNotebookInstanceLifecycleConfigInput { + s.NotebookInstanceLifecycleConfigName = &v + return s +} + +// SetOnCreate sets the OnCreate field's value. +func (s *UpdateNotebookInstanceLifecycleConfigInput) SetOnCreate(v []*NotebookInstanceLifecycleHook) *UpdateNotebookInstanceLifecycleConfigInput { + s.OnCreate = v + return s +} + +// SetOnStart sets the OnStart field's value. +func (s *UpdateNotebookInstanceLifecycleConfigInput) SetOnStart(v []*NotebookInstanceLifecycleHook) *UpdateNotebookInstanceLifecycleConfigInput { + s.OnStart = v + return s +} + +type UpdateNotebookInstanceLifecycleConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateNotebookInstanceLifecycleConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateNotebookInstanceLifecycleConfigOutput) GoString() string { + return s.String() +} + +type UpdateNotebookInstanceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateNotebookInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateNotebookInstanceOutput) GoString() string { + return s.String() +} + +type UpdateWorkteamInput struct { + _ struct{} `type:"structure"` + + // An updated description for the work team. + Description *string `min:"1" type:"string"` + + // A list of MemberDefinition objects that contain the updated work team members. + MemberDefinitions []*MemberDefinition `min:"1" type:"list"` + + // The name of the work team to update. + // + // WorkteamName is a required field + WorkteamName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateWorkteamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWorkteamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateWorkteamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateWorkteamInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.MemberDefinitions != nil && len(s.MemberDefinitions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MemberDefinitions", 1)) + } + if s.WorkteamName == nil { + invalidParams.Add(request.NewErrParamRequired("WorkteamName")) + } + if s.WorkteamName != nil && len(*s.WorkteamName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkteamName", 1)) + } + if s.MemberDefinitions != nil { + for i, v := range s.MemberDefinitions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MemberDefinitions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateWorkteamInput) SetDescription(v string) *UpdateWorkteamInput { + s.Description = &v + return s +} + +// SetMemberDefinitions sets the MemberDefinitions field's value. +func (s *UpdateWorkteamInput) SetMemberDefinitions(v []*MemberDefinition) *UpdateWorkteamInput { + s.MemberDefinitions = v + return s +} + +// SetWorkteamName sets the WorkteamName field's value. +func (s *UpdateWorkteamInput) SetWorkteamName(v string) *UpdateWorkteamInput { + s.WorkteamName = &v + return s +} + +type UpdateWorkteamOutput struct { + _ struct{} `type:"structure"` + + // A Workteam object that describes the updated work team. + // + // Workteam is a required field + Workteam *Workteam `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateWorkteamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWorkteamOutput) GoString() string { + return s.String() +} + +// SetWorkteam sets the Workteam field's value. +func (s *UpdateWorkteamOutput) SetWorkteam(v *Workteam) *UpdateWorkteamOutput { + s.Workteam = v + return s +} + +// Specifies a VPC that your training jobs and hosted models have access to. +// Control access to and from your training and model containers by configuring +// the VPC. For more information, see Protect Endpoints by Using an Amazon Virtual +// Private Cloud (http://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) +// and Protect Training Jobs by Using an Amazon Virtual Private Cloud (http://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html). +type VpcConfig struct { + _ struct{} `type:"structure"` + + // The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security + // groups for the VPC that is specified in the Subnets field. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `min:"1" type:"list" required:"true"` + + // The ID of the subnets in the VPC to which you want to connect your training + // job or model. + // + // Subnets is a required field + Subnets []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s VpcConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VpcConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VpcConfig"} + if s.SecurityGroupIds == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) + } + if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1)) + } + if s.Subnets == nil { + invalidParams.Add(request.NewErrParamRequired("Subnets")) + } + if s.Subnets != nil && len(s.Subnets) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Subnets", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *VpcConfig) SetSecurityGroupIds(v []*string) *VpcConfig { + s.SecurityGroupIds = v + return s +} + +// SetSubnets sets the Subnets field's value. +func (s *VpcConfig) SetSubnets(v []*string) *VpcConfig { + s.Subnets = v + return s +} + +// Provides details about a labeling work team. +type Workteam struct { + _ struct{} `type:"structure"` + + // The date and time that the work team was created (timestamp). + CreateDate *time.Time `type:"timestamp"` + + // A description of the work team. + // + // Description is a required field + Description *string `min:"1" type:"string" required:"true"` + + // The date and time that the work team was last updated (timestamp). + LastUpdatedDate *time.Time `type:"timestamp"` + + // The Amazon Cognito user groups that make up the work team. + // + // MemberDefinitions is a required field + MemberDefinitions []*MemberDefinition `min:"1" type:"list" required:"true"` + + // The Amazon Marketplace identifier for a vendor's work team. + ProductListingIds []*string `type:"list"` + + // The URI of the labeling job's user interface. Workers open this URI to start + // labeling your data objects. + SubDomain *string `type:"string"` + + // The Amazon Resource Name (ARN) that identifies the work team. + // + // WorkteamArn is a required field + WorkteamArn *string `type:"string" required:"true"` + + // The name of the work team. + // + // WorkteamName is a required field + WorkteamName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s Workteam) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Workteam) GoString() string { + return s.String() +} + +// SetCreateDate sets the CreateDate field's value. +func (s *Workteam) SetCreateDate(v time.Time) *Workteam { + s.CreateDate = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Workteam) SetDescription(v string) *Workteam { + s.Description = &v + return s +} + +// SetLastUpdatedDate sets the LastUpdatedDate field's value. +func (s *Workteam) SetLastUpdatedDate(v time.Time) *Workteam { + s.LastUpdatedDate = &v + return s +} + +// SetMemberDefinitions sets the MemberDefinitions field's value. +func (s *Workteam) SetMemberDefinitions(v []*MemberDefinition) *Workteam { + s.MemberDefinitions = v + return s +} + +// SetProductListingIds sets the ProductListingIds field's value. +func (s *Workteam) SetProductListingIds(v []*string) *Workteam { + s.ProductListingIds = v + return s +} + +// SetSubDomain sets the SubDomain field's value. +func (s *Workteam) SetSubDomain(v string) *Workteam { + s.SubDomain = &v + return s +} + +// SetWorkteamArn sets the WorkteamArn field's value. +func (s *Workteam) SetWorkteamArn(v string) *Workteam { + s.WorkteamArn = &v + return s +} + +// SetWorkteamName sets the WorkteamName field's value. +func (s *Workteam) SetWorkteamName(v string) *Workteam { + s.WorkteamName = &v + return s +} + +const ( + // AlgorithmSortByName is a AlgorithmSortBy enum value + AlgorithmSortByName = "Name" + + // AlgorithmSortByCreationTime is a AlgorithmSortBy enum value + AlgorithmSortByCreationTime = "CreationTime" +) + +const ( + // AlgorithmStatusPending is a AlgorithmStatus enum value + AlgorithmStatusPending = "Pending" + + // AlgorithmStatusInProgress is a AlgorithmStatus enum value + AlgorithmStatusInProgress = "InProgress" + + // AlgorithmStatusCompleted is a AlgorithmStatus enum value + AlgorithmStatusCompleted = "Completed" + + // AlgorithmStatusFailed is a AlgorithmStatus enum value + AlgorithmStatusFailed = "Failed" + + // AlgorithmStatusDeleting is a AlgorithmStatus enum value + AlgorithmStatusDeleting = "Deleting" +) + +const ( + // AssemblyTypeNone is a AssemblyType enum value + AssemblyTypeNone = "None" + + // AssemblyTypeLine is a AssemblyType enum value + AssemblyTypeLine = "Line" +) + +const ( + // BatchStrategyMultiRecord is a BatchStrategy enum value + BatchStrategyMultiRecord = "MultiRecord" + + // BatchStrategySingleRecord is a BatchStrategy enum value + BatchStrategySingleRecord = "SingleRecord" +) + +const ( + // BooleanOperatorAnd is a BooleanOperator enum value + BooleanOperatorAnd = "And" + + // BooleanOperatorOr is a BooleanOperator enum value + BooleanOperatorOr = "Or" +) + +const ( + // CodeRepositorySortByName is a CodeRepositorySortBy enum value + CodeRepositorySortByName = "Name" + + // CodeRepositorySortByCreationTime is a CodeRepositorySortBy enum value + CodeRepositorySortByCreationTime = "CreationTime" + + // CodeRepositorySortByLastModifiedTime is a CodeRepositorySortBy enum value + CodeRepositorySortByLastModifiedTime = "LastModifiedTime" +) + +const ( + // CodeRepositorySortOrderAscending is a CodeRepositorySortOrder enum value + CodeRepositorySortOrderAscending = "Ascending" + + // CodeRepositorySortOrderDescending is a CodeRepositorySortOrder enum value + CodeRepositorySortOrderDescending = "Descending" +) + +const ( + // CompilationJobStatusInprogress is a CompilationJobStatus enum value + CompilationJobStatusInprogress = "INPROGRESS" + + // CompilationJobStatusCompleted is a CompilationJobStatus enum value + CompilationJobStatusCompleted = "COMPLETED" + + // CompilationJobStatusFailed is a CompilationJobStatus enum value + CompilationJobStatusFailed = "FAILED" + + // CompilationJobStatusStarting is a CompilationJobStatus enum value + CompilationJobStatusStarting = "STARTING" + + // CompilationJobStatusStopping is a CompilationJobStatus enum value + CompilationJobStatusStopping = "STOPPING" + + // CompilationJobStatusStopped is a CompilationJobStatus enum value + CompilationJobStatusStopped = "STOPPED" +) + +const ( + // CompressionTypeNone is a CompressionType enum value + CompressionTypeNone = "None" + + // CompressionTypeGzip is a CompressionType enum value + CompressionTypeGzip = "Gzip" +) + +const ( + // ContentClassifierFreeOfPersonallyIdentifiableInformation is a ContentClassifier enum value + ContentClassifierFreeOfPersonallyIdentifiableInformation = "FreeOfPersonallyIdentifiableInformation" + + // ContentClassifierFreeOfAdultContent is a ContentClassifier enum value + ContentClassifierFreeOfAdultContent = "FreeOfAdultContent" +) + +const ( + // DetailedAlgorithmStatusNotStarted is a DetailedAlgorithmStatus enum value + DetailedAlgorithmStatusNotStarted = "NotStarted" + + // DetailedAlgorithmStatusInProgress is a DetailedAlgorithmStatus enum value + DetailedAlgorithmStatusInProgress = "InProgress" + + // DetailedAlgorithmStatusCompleted is a DetailedAlgorithmStatus enum value + DetailedAlgorithmStatusCompleted = "Completed" + + // DetailedAlgorithmStatusFailed is a DetailedAlgorithmStatus enum value + DetailedAlgorithmStatusFailed = "Failed" +) + +const ( + // DetailedModelPackageStatusNotStarted is a DetailedModelPackageStatus enum value + DetailedModelPackageStatusNotStarted = "NotStarted" + + // DetailedModelPackageStatusInProgress is a DetailedModelPackageStatus enum value + DetailedModelPackageStatusInProgress = "InProgress" + + // DetailedModelPackageStatusCompleted is a DetailedModelPackageStatus enum value + DetailedModelPackageStatusCompleted = "Completed" + + // DetailedModelPackageStatusFailed is a DetailedModelPackageStatus enum value + DetailedModelPackageStatusFailed = "Failed" +) + +const ( + // DirectInternetAccessEnabled is a DirectInternetAccess enum value + DirectInternetAccessEnabled = "Enabled" + + // DirectInternetAccessDisabled is a DirectInternetAccess enum value + DirectInternetAccessDisabled = "Disabled" +) + +const ( + // EndpointConfigSortKeyName is a EndpointConfigSortKey enum value + EndpointConfigSortKeyName = "Name" + + // EndpointConfigSortKeyCreationTime is a EndpointConfigSortKey enum value + EndpointConfigSortKeyCreationTime = "CreationTime" +) + +const ( + // EndpointSortKeyName is a EndpointSortKey enum value + EndpointSortKeyName = "Name" + + // EndpointSortKeyCreationTime is a EndpointSortKey enum value + EndpointSortKeyCreationTime = "CreationTime" + + // EndpointSortKeyStatus is a EndpointSortKey enum value + EndpointSortKeyStatus = "Status" +) + +const ( + // EndpointStatusOutOfService is a EndpointStatus enum value + EndpointStatusOutOfService = "OutOfService" + + // EndpointStatusCreating is a EndpointStatus enum value + EndpointStatusCreating = "Creating" + + // EndpointStatusUpdating is a EndpointStatus enum value + EndpointStatusUpdating = "Updating" + + // EndpointStatusSystemUpdating is a EndpointStatus enum value + EndpointStatusSystemUpdating = "SystemUpdating" + + // EndpointStatusRollingBack is a EndpointStatus enum value + EndpointStatusRollingBack = "RollingBack" + + // EndpointStatusInService is a EndpointStatus enum value + EndpointStatusInService = "InService" + + // EndpointStatusDeleting is a EndpointStatus enum value + EndpointStatusDeleting = "Deleting" + + // EndpointStatusFailed is a EndpointStatus enum value + EndpointStatusFailed = "Failed" +) + +const ( + // FrameworkTensorflow is a Framework enum value + FrameworkTensorflow = "TENSORFLOW" + + // FrameworkMxnet is a Framework enum value + FrameworkMxnet = "MXNET" + + // FrameworkOnnx is a Framework enum value + FrameworkOnnx = "ONNX" + + // FrameworkPytorch is a Framework enum value + FrameworkPytorch = "PYTORCH" + + // FrameworkXgboost is a Framework enum value + FrameworkXgboost = "XGBOOST" +) + +const ( + // HyperParameterTuningJobObjectiveTypeMaximize is a HyperParameterTuningJobObjectiveType enum value + HyperParameterTuningJobObjectiveTypeMaximize = "Maximize" + + // HyperParameterTuningJobObjectiveTypeMinimize is a HyperParameterTuningJobObjectiveType enum value + HyperParameterTuningJobObjectiveTypeMinimize = "Minimize" +) + +const ( + // HyperParameterTuningJobSortByOptionsName is a HyperParameterTuningJobSortByOptions enum value + HyperParameterTuningJobSortByOptionsName = "Name" + + // HyperParameterTuningJobSortByOptionsStatus is a HyperParameterTuningJobSortByOptions enum value + HyperParameterTuningJobSortByOptionsStatus = "Status" + + // HyperParameterTuningJobSortByOptionsCreationTime is a HyperParameterTuningJobSortByOptions enum value + HyperParameterTuningJobSortByOptionsCreationTime = "CreationTime" +) + +const ( + // HyperParameterTuningJobStatusCompleted is a HyperParameterTuningJobStatus enum value + HyperParameterTuningJobStatusCompleted = "Completed" + + // HyperParameterTuningJobStatusInProgress is a HyperParameterTuningJobStatus enum value + HyperParameterTuningJobStatusInProgress = "InProgress" + + // HyperParameterTuningJobStatusFailed is a HyperParameterTuningJobStatus enum value + HyperParameterTuningJobStatusFailed = "Failed" + + // HyperParameterTuningJobStatusStopped is a HyperParameterTuningJobStatus enum value + HyperParameterTuningJobStatusStopped = "Stopped" + + // HyperParameterTuningJobStatusStopping is a HyperParameterTuningJobStatus enum value + HyperParameterTuningJobStatusStopping = "Stopping" +) + +// The strategy hyperparameter tuning uses to find the best combination of hyperparameters +// for your model. Currently, the only supported value is Bayesian. +const ( + // HyperParameterTuningJobStrategyTypeBayesian is a HyperParameterTuningJobStrategyType enum value + HyperParameterTuningJobStrategyTypeBayesian = "Bayesian" +) + +const ( + // HyperParameterTuningJobWarmStartTypeIdenticalDataAndAlgorithm is a HyperParameterTuningJobWarmStartType enum value + HyperParameterTuningJobWarmStartTypeIdenticalDataAndAlgorithm = "IdenticalDataAndAlgorithm" + + // HyperParameterTuningJobWarmStartTypeTransferLearning is a HyperParameterTuningJobWarmStartType enum value + HyperParameterTuningJobWarmStartTypeTransferLearning = "TransferLearning" +) + +const ( + // InstanceTypeMlT2Medium is a InstanceType enum value + InstanceTypeMlT2Medium = "ml.t2.medium" + + // InstanceTypeMlT2Large is a InstanceType enum value + InstanceTypeMlT2Large = "ml.t2.large" + + // InstanceTypeMlT2Xlarge is a InstanceType enum value + InstanceTypeMlT2Xlarge = "ml.t2.xlarge" + + // InstanceTypeMlT22xlarge is a InstanceType enum value + InstanceTypeMlT22xlarge = "ml.t2.2xlarge" + + // InstanceTypeMlT3Medium is a InstanceType enum value + InstanceTypeMlT3Medium = "ml.t3.medium" + + // InstanceTypeMlT3Large is a InstanceType enum value + InstanceTypeMlT3Large = "ml.t3.large" + + // InstanceTypeMlT3Xlarge is a InstanceType enum value + InstanceTypeMlT3Xlarge = "ml.t3.xlarge" + + // InstanceTypeMlT32xlarge is a InstanceType enum value + InstanceTypeMlT32xlarge = "ml.t3.2xlarge" + + // InstanceTypeMlM4Xlarge is a InstanceType enum value + InstanceTypeMlM4Xlarge = "ml.m4.xlarge" + + // InstanceTypeMlM42xlarge is a InstanceType enum value + InstanceTypeMlM42xlarge = "ml.m4.2xlarge" + + // InstanceTypeMlM44xlarge is a InstanceType enum value + InstanceTypeMlM44xlarge = "ml.m4.4xlarge" + + // InstanceTypeMlM410xlarge is a InstanceType enum value + InstanceTypeMlM410xlarge = "ml.m4.10xlarge" + + // InstanceTypeMlM416xlarge is a InstanceType enum value + InstanceTypeMlM416xlarge = "ml.m4.16xlarge" + + // InstanceTypeMlM5Xlarge is a InstanceType enum value + InstanceTypeMlM5Xlarge = "ml.m5.xlarge" + + // InstanceTypeMlM52xlarge is a InstanceType enum value + InstanceTypeMlM52xlarge = "ml.m5.2xlarge" + + // InstanceTypeMlM54xlarge is a InstanceType enum value + InstanceTypeMlM54xlarge = "ml.m5.4xlarge" + + // InstanceTypeMlM512xlarge is a InstanceType enum value + InstanceTypeMlM512xlarge = "ml.m5.12xlarge" + + // InstanceTypeMlM524xlarge is a InstanceType enum value + InstanceTypeMlM524xlarge = "ml.m5.24xlarge" + + // InstanceTypeMlC4Xlarge is a InstanceType enum value + InstanceTypeMlC4Xlarge = "ml.c4.xlarge" + + // InstanceTypeMlC42xlarge is a InstanceType enum value + InstanceTypeMlC42xlarge = "ml.c4.2xlarge" + + // InstanceTypeMlC44xlarge is a InstanceType enum value + InstanceTypeMlC44xlarge = "ml.c4.4xlarge" + + // InstanceTypeMlC48xlarge is a InstanceType enum value + InstanceTypeMlC48xlarge = "ml.c4.8xlarge" + + // InstanceTypeMlC5Xlarge is a InstanceType enum value + InstanceTypeMlC5Xlarge = "ml.c5.xlarge" + + // InstanceTypeMlC52xlarge is a InstanceType enum value + InstanceTypeMlC52xlarge = "ml.c5.2xlarge" + + // InstanceTypeMlC54xlarge is a InstanceType enum value + InstanceTypeMlC54xlarge = "ml.c5.4xlarge" + + // InstanceTypeMlC59xlarge is a InstanceType enum value + InstanceTypeMlC59xlarge = "ml.c5.9xlarge" + + // InstanceTypeMlC518xlarge is a InstanceType enum value + InstanceTypeMlC518xlarge = "ml.c5.18xlarge" + + // InstanceTypeMlC5dXlarge is a InstanceType enum value + InstanceTypeMlC5dXlarge = "ml.c5d.xlarge" + + // InstanceTypeMlC5d2xlarge is a InstanceType enum value + InstanceTypeMlC5d2xlarge = "ml.c5d.2xlarge" + + // InstanceTypeMlC5d4xlarge is a InstanceType enum value + InstanceTypeMlC5d4xlarge = "ml.c5d.4xlarge" + + // InstanceTypeMlC5d9xlarge is a InstanceType enum value + InstanceTypeMlC5d9xlarge = "ml.c5d.9xlarge" + + // InstanceTypeMlC5d18xlarge is a InstanceType enum value + InstanceTypeMlC5d18xlarge = "ml.c5d.18xlarge" + + // InstanceTypeMlP2Xlarge is a InstanceType enum value + InstanceTypeMlP2Xlarge = "ml.p2.xlarge" + + // InstanceTypeMlP28xlarge is a InstanceType enum value + InstanceTypeMlP28xlarge = "ml.p2.8xlarge" + + // InstanceTypeMlP216xlarge is a InstanceType enum value + InstanceTypeMlP216xlarge = "ml.p2.16xlarge" + + // InstanceTypeMlP32xlarge is a InstanceType enum value + InstanceTypeMlP32xlarge = "ml.p3.2xlarge" + + // InstanceTypeMlP38xlarge is a InstanceType enum value + InstanceTypeMlP38xlarge = "ml.p3.8xlarge" + + // InstanceTypeMlP316xlarge is a InstanceType enum value + InstanceTypeMlP316xlarge = "ml.p3.16xlarge" +) + +const ( + // LabelingJobStatusInProgress is a LabelingJobStatus enum value + LabelingJobStatusInProgress = "InProgress" + + // LabelingJobStatusCompleted is a LabelingJobStatus enum value + LabelingJobStatusCompleted = "Completed" + + // LabelingJobStatusFailed is a LabelingJobStatus enum value + LabelingJobStatusFailed = "Failed" + + // LabelingJobStatusStopping is a LabelingJobStatus enum value + LabelingJobStatusStopping = "Stopping" + + // LabelingJobStatusStopped is a LabelingJobStatus enum value + LabelingJobStatusStopped = "Stopped" +) + +const ( + // ListCompilationJobsSortByName is a ListCompilationJobsSortBy enum value + ListCompilationJobsSortByName = "Name" + + // ListCompilationJobsSortByCreationTime is a ListCompilationJobsSortBy enum value + ListCompilationJobsSortByCreationTime = "CreationTime" + + // ListCompilationJobsSortByStatus is a ListCompilationJobsSortBy enum value + ListCompilationJobsSortByStatus = "Status" +) + +const ( + // ListLabelingJobsForWorkteamSortByOptionsCreationTime is a ListLabelingJobsForWorkteamSortByOptions enum value + ListLabelingJobsForWorkteamSortByOptionsCreationTime = "CreationTime" +) + +const ( + // ListWorkteamsSortByOptionsName is a ListWorkteamsSortByOptions enum value + ListWorkteamsSortByOptionsName = "Name" + + // ListWorkteamsSortByOptionsCreateDate is a ListWorkteamsSortByOptions enum value + ListWorkteamsSortByOptionsCreateDate = "CreateDate" +) + +const ( + // ModelPackageSortByName is a ModelPackageSortBy enum value + ModelPackageSortByName = "Name" + + // ModelPackageSortByCreationTime is a ModelPackageSortBy enum value + ModelPackageSortByCreationTime = "CreationTime" +) + +const ( + // ModelPackageStatusPending is a ModelPackageStatus enum value + ModelPackageStatusPending = "Pending" + + // ModelPackageStatusInProgress is a ModelPackageStatus enum value + ModelPackageStatusInProgress = "InProgress" + + // ModelPackageStatusCompleted is a ModelPackageStatus enum value + ModelPackageStatusCompleted = "Completed" + + // ModelPackageStatusFailed is a ModelPackageStatus enum value + ModelPackageStatusFailed = "Failed" + + // ModelPackageStatusDeleting is a ModelPackageStatus enum value + ModelPackageStatusDeleting = "Deleting" +) + +const ( + // ModelSortKeyName is a ModelSortKey enum value + ModelSortKeyName = "Name" + + // ModelSortKeyCreationTime is a ModelSortKey enum value + ModelSortKeyCreationTime = "CreationTime" +) + +const ( + // NotebookInstanceAcceleratorTypeMlEia1Medium is a NotebookInstanceAcceleratorType enum value + NotebookInstanceAcceleratorTypeMlEia1Medium = "ml.eia1.medium" + + // NotebookInstanceAcceleratorTypeMlEia1Large is a NotebookInstanceAcceleratorType enum value + NotebookInstanceAcceleratorTypeMlEia1Large = "ml.eia1.large" + + // NotebookInstanceAcceleratorTypeMlEia1Xlarge is a NotebookInstanceAcceleratorType enum value + NotebookInstanceAcceleratorTypeMlEia1Xlarge = "ml.eia1.xlarge" +) + +const ( + // NotebookInstanceLifecycleConfigSortKeyName is a NotebookInstanceLifecycleConfigSortKey enum value + NotebookInstanceLifecycleConfigSortKeyName = "Name" + + // NotebookInstanceLifecycleConfigSortKeyCreationTime is a NotebookInstanceLifecycleConfigSortKey enum value + NotebookInstanceLifecycleConfigSortKeyCreationTime = "CreationTime" + + // NotebookInstanceLifecycleConfigSortKeyLastModifiedTime is a NotebookInstanceLifecycleConfigSortKey enum value + NotebookInstanceLifecycleConfigSortKeyLastModifiedTime = "LastModifiedTime" +) + +const ( + // NotebookInstanceLifecycleConfigSortOrderAscending is a NotebookInstanceLifecycleConfigSortOrder enum value + NotebookInstanceLifecycleConfigSortOrderAscending = "Ascending" + + // NotebookInstanceLifecycleConfigSortOrderDescending is a NotebookInstanceLifecycleConfigSortOrder enum value + NotebookInstanceLifecycleConfigSortOrderDescending = "Descending" +) + +const ( + // NotebookInstanceSortKeyName is a NotebookInstanceSortKey enum value + NotebookInstanceSortKeyName = "Name" + + // NotebookInstanceSortKeyCreationTime is a NotebookInstanceSortKey enum value + NotebookInstanceSortKeyCreationTime = "CreationTime" + + // NotebookInstanceSortKeyStatus is a NotebookInstanceSortKey enum value + NotebookInstanceSortKeyStatus = "Status" +) + +const ( + // NotebookInstanceSortOrderAscending is a NotebookInstanceSortOrder enum value + NotebookInstanceSortOrderAscending = "Ascending" + + // NotebookInstanceSortOrderDescending is a NotebookInstanceSortOrder enum value + NotebookInstanceSortOrderDescending = "Descending" +) + +const ( + // NotebookInstanceStatusPending is a NotebookInstanceStatus enum value + NotebookInstanceStatusPending = "Pending" + + // NotebookInstanceStatusInService is a NotebookInstanceStatus enum value + NotebookInstanceStatusInService = "InService" + + // NotebookInstanceStatusStopping is a NotebookInstanceStatus enum value + NotebookInstanceStatusStopping = "Stopping" + + // NotebookInstanceStatusStopped is a NotebookInstanceStatus enum value + NotebookInstanceStatusStopped = "Stopped" + + // NotebookInstanceStatusFailed is a NotebookInstanceStatus enum value + NotebookInstanceStatusFailed = "Failed" + + // NotebookInstanceStatusDeleting is a NotebookInstanceStatus enum value + NotebookInstanceStatusDeleting = "Deleting" + + // NotebookInstanceStatusUpdating is a NotebookInstanceStatus enum value + NotebookInstanceStatusUpdating = "Updating" +) + +const ( + // ObjectiveStatusSucceeded is a ObjectiveStatus enum value + ObjectiveStatusSucceeded = "Succeeded" + + // ObjectiveStatusPending is a ObjectiveStatus enum value + ObjectiveStatusPending = "Pending" + + // ObjectiveStatusFailed is a ObjectiveStatus enum value + ObjectiveStatusFailed = "Failed" +) + +const ( + // OperatorEquals is a Operator enum value + OperatorEquals = "Equals" + + // OperatorNotEquals is a Operator enum value + OperatorNotEquals = "NotEquals" + + // OperatorGreaterThan is a Operator enum value + OperatorGreaterThan = "GreaterThan" + + // OperatorGreaterThanOrEqualTo is a Operator enum value + OperatorGreaterThanOrEqualTo = "GreaterThanOrEqualTo" + + // OperatorLessThan is a Operator enum value + OperatorLessThan = "LessThan" + + // OperatorLessThanOrEqualTo is a Operator enum value + OperatorLessThanOrEqualTo = "LessThanOrEqualTo" + + // OperatorContains is a Operator enum value + OperatorContains = "Contains" +) + +const ( + // OrderKeyAscending is a OrderKey enum value + OrderKeyAscending = "Ascending" + + // OrderKeyDescending is a OrderKey enum value + OrderKeyDescending = "Descending" +) + +const ( + // ParameterTypeInteger is a ParameterType enum value + ParameterTypeInteger = "Integer" + + // ParameterTypeContinuous is a ParameterType enum value + ParameterTypeContinuous = "Continuous" + + // ParameterTypeCategorical is a ParameterType enum value + ParameterTypeCategorical = "Categorical" + + // ParameterTypeFreeText is a ParameterType enum value + ParameterTypeFreeText = "FreeText" +) + +const ( + // ProductionVariantAcceleratorTypeMlEia1Medium is a ProductionVariantAcceleratorType enum value + ProductionVariantAcceleratorTypeMlEia1Medium = "ml.eia1.medium" + + // ProductionVariantAcceleratorTypeMlEia1Large is a ProductionVariantAcceleratorType enum value + ProductionVariantAcceleratorTypeMlEia1Large = "ml.eia1.large" + + // ProductionVariantAcceleratorTypeMlEia1Xlarge is a ProductionVariantAcceleratorType enum value + ProductionVariantAcceleratorTypeMlEia1Xlarge = "ml.eia1.xlarge" +) + +const ( + // ProductionVariantInstanceTypeMlT2Medium is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlT2Medium = "ml.t2.medium" + + // ProductionVariantInstanceTypeMlT2Large is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlT2Large = "ml.t2.large" + + // ProductionVariantInstanceTypeMlT2Xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlT2Xlarge = "ml.t2.xlarge" + + // ProductionVariantInstanceTypeMlT22xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlT22xlarge = "ml.t2.2xlarge" + + // ProductionVariantInstanceTypeMlM4Xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM4Xlarge = "ml.m4.xlarge" + + // ProductionVariantInstanceTypeMlM42xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM42xlarge = "ml.m4.2xlarge" + + // ProductionVariantInstanceTypeMlM44xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM44xlarge = "ml.m4.4xlarge" + + // ProductionVariantInstanceTypeMlM410xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM410xlarge = "ml.m4.10xlarge" + + // ProductionVariantInstanceTypeMlM416xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM416xlarge = "ml.m4.16xlarge" + + // ProductionVariantInstanceTypeMlM5Large is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM5Large = "ml.m5.large" + + // ProductionVariantInstanceTypeMlM5Xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM5Xlarge = "ml.m5.xlarge" + + // ProductionVariantInstanceTypeMlM52xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM52xlarge = "ml.m5.2xlarge" + + // ProductionVariantInstanceTypeMlM54xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM54xlarge = "ml.m5.4xlarge" + + // ProductionVariantInstanceTypeMlM512xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM512xlarge = "ml.m5.12xlarge" + + // ProductionVariantInstanceTypeMlM524xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlM524xlarge = "ml.m5.24xlarge" + + // ProductionVariantInstanceTypeMlC4Large is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC4Large = "ml.c4.large" + + // ProductionVariantInstanceTypeMlC4Xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC4Xlarge = "ml.c4.xlarge" + + // ProductionVariantInstanceTypeMlC42xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC42xlarge = "ml.c4.2xlarge" + + // ProductionVariantInstanceTypeMlC44xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC44xlarge = "ml.c4.4xlarge" + + // ProductionVariantInstanceTypeMlC48xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC48xlarge = "ml.c4.8xlarge" + + // ProductionVariantInstanceTypeMlP2Xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlP2Xlarge = "ml.p2.xlarge" + + // ProductionVariantInstanceTypeMlP28xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlP28xlarge = "ml.p2.8xlarge" + + // ProductionVariantInstanceTypeMlP216xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlP216xlarge = "ml.p2.16xlarge" + + // ProductionVariantInstanceTypeMlP32xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlP32xlarge = "ml.p3.2xlarge" + + // ProductionVariantInstanceTypeMlP38xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlP38xlarge = "ml.p3.8xlarge" + + // ProductionVariantInstanceTypeMlP316xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlP316xlarge = "ml.p3.16xlarge" + + // ProductionVariantInstanceTypeMlC5Large is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC5Large = "ml.c5.large" + + // ProductionVariantInstanceTypeMlC5Xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC5Xlarge = "ml.c5.xlarge" + + // ProductionVariantInstanceTypeMlC52xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC52xlarge = "ml.c5.2xlarge" + + // ProductionVariantInstanceTypeMlC54xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC54xlarge = "ml.c5.4xlarge" + + // ProductionVariantInstanceTypeMlC59xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC59xlarge = "ml.c5.9xlarge" + + // ProductionVariantInstanceTypeMlC518xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlC518xlarge = "ml.c5.18xlarge" +) + +const ( + // RecordWrapperNone is a RecordWrapper enum value + RecordWrapperNone = "None" + + // RecordWrapperRecordIo is a RecordWrapper enum value + RecordWrapperRecordIo = "RecordIO" +) + +const ( + // ResourceTypeTrainingJob is a ResourceType enum value + ResourceTypeTrainingJob = "TrainingJob" +) + +const ( + // S3DataDistributionFullyReplicated is a S3DataDistribution enum value + S3DataDistributionFullyReplicated = "FullyReplicated" + + // S3DataDistributionShardedByS3key is a S3DataDistribution enum value + S3DataDistributionShardedByS3key = "ShardedByS3Key" +) + +const ( + // S3DataTypeManifestFile is a S3DataType enum value + S3DataTypeManifestFile = "ManifestFile" + + // S3DataTypeS3prefix is a S3DataType enum value + S3DataTypeS3prefix = "S3Prefix" + + // S3DataTypeAugmentedManifestFile is a S3DataType enum value + S3DataTypeAugmentedManifestFile = "AugmentedManifestFile" +) + +const ( + // SearchSortOrderAscending is a SearchSortOrder enum value + SearchSortOrderAscending = "Ascending" + + // SearchSortOrderDescending is a SearchSortOrder enum value + SearchSortOrderDescending = "Descending" +) + +const ( + // SecondaryStatusStarting is a SecondaryStatus enum value + SecondaryStatusStarting = "Starting" + + // SecondaryStatusLaunchingMlinstances is a SecondaryStatus enum value + SecondaryStatusLaunchingMlinstances = "LaunchingMLInstances" + + // SecondaryStatusPreparingTrainingStack is a SecondaryStatus enum value + SecondaryStatusPreparingTrainingStack = "PreparingTrainingStack" + + // SecondaryStatusDownloading is a SecondaryStatus enum value + SecondaryStatusDownloading = "Downloading" + + // SecondaryStatusDownloadingTrainingImage is a SecondaryStatus enum value + SecondaryStatusDownloadingTrainingImage = "DownloadingTrainingImage" + + // SecondaryStatusTraining is a SecondaryStatus enum value + SecondaryStatusTraining = "Training" + + // SecondaryStatusUploading is a SecondaryStatus enum value + SecondaryStatusUploading = "Uploading" + + // SecondaryStatusStopping is a SecondaryStatus enum value + SecondaryStatusStopping = "Stopping" + + // SecondaryStatusStopped is a SecondaryStatus enum value + SecondaryStatusStopped = "Stopped" + + // SecondaryStatusMaxRuntimeExceeded is a SecondaryStatus enum value + SecondaryStatusMaxRuntimeExceeded = "MaxRuntimeExceeded" + + // SecondaryStatusCompleted is a SecondaryStatus enum value + SecondaryStatusCompleted = "Completed" + + // SecondaryStatusFailed is a SecondaryStatus enum value + SecondaryStatusFailed = "Failed" +) + +const ( + // SortByName is a SortBy enum value + SortByName = "Name" + + // SortByCreationTime is a SortBy enum value + SortByCreationTime = "CreationTime" + + // SortByStatus is a SortBy enum value + SortByStatus = "Status" +) + +const ( + // SortOrderAscending is a SortOrder enum value + SortOrderAscending = "Ascending" + + // SortOrderDescending is a SortOrder enum value + SortOrderDescending = "Descending" +) + +const ( + // SplitTypeNone is a SplitType enum value + SplitTypeNone = "None" + + // SplitTypeLine is a SplitType enum value + SplitTypeLine = "Line" + + // SplitTypeRecordIo is a SplitType enum value + SplitTypeRecordIo = "RecordIO" + + // SplitTypeTfrecord is a SplitType enum value + SplitTypeTfrecord = "TFRecord" +) + +const ( + // TargetDeviceMlM4 is a TargetDevice enum value + TargetDeviceMlM4 = "ml_m4" + + // TargetDeviceMlM5 is a TargetDevice enum value + TargetDeviceMlM5 = "ml_m5" + + // TargetDeviceMlC4 is a TargetDevice enum value + TargetDeviceMlC4 = "ml_c4" + + // TargetDeviceMlC5 is a TargetDevice enum value + TargetDeviceMlC5 = "ml_c5" + + // TargetDeviceMlP2 is a TargetDevice enum value + TargetDeviceMlP2 = "ml_p2" + + // TargetDeviceMlP3 is a TargetDevice enum value + TargetDeviceMlP3 = "ml_p3" + + // TargetDeviceJetsonTx1 is a TargetDevice enum value + TargetDeviceJetsonTx1 = "jetson_tx1" + + // TargetDeviceJetsonTx2 is a TargetDevice enum value + TargetDeviceJetsonTx2 = "jetson_tx2" + + // TargetDeviceRasp3b is a TargetDevice enum value + TargetDeviceRasp3b = "rasp3b" + + // TargetDeviceDeeplens is a TargetDevice enum value + TargetDeviceDeeplens = "deeplens" +) + +const ( + // TrainingInputModePipe is a TrainingInputMode enum value + TrainingInputModePipe = "Pipe" + + // TrainingInputModeFile is a TrainingInputMode enum value + TrainingInputModeFile = "File" +) + +const ( + // TrainingInstanceTypeMlM4Xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlM4Xlarge = "ml.m4.xlarge" + + // TrainingInstanceTypeMlM42xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlM42xlarge = "ml.m4.2xlarge" + + // TrainingInstanceTypeMlM44xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlM44xlarge = "ml.m4.4xlarge" + + // TrainingInstanceTypeMlM410xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlM410xlarge = "ml.m4.10xlarge" + + // TrainingInstanceTypeMlM416xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlM416xlarge = "ml.m4.16xlarge" + + // TrainingInstanceTypeMlM5Large is a TrainingInstanceType enum value + TrainingInstanceTypeMlM5Large = "ml.m5.large" + + // TrainingInstanceTypeMlM5Xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlM5Xlarge = "ml.m5.xlarge" + + // TrainingInstanceTypeMlM52xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlM52xlarge = "ml.m5.2xlarge" + + // TrainingInstanceTypeMlM54xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlM54xlarge = "ml.m5.4xlarge" + + // TrainingInstanceTypeMlM512xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlM512xlarge = "ml.m5.12xlarge" + + // TrainingInstanceTypeMlM524xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlM524xlarge = "ml.m5.24xlarge" + + // TrainingInstanceTypeMlC4Xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlC4Xlarge = "ml.c4.xlarge" + + // TrainingInstanceTypeMlC42xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlC42xlarge = "ml.c4.2xlarge" + + // TrainingInstanceTypeMlC44xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlC44xlarge = "ml.c4.4xlarge" + + // TrainingInstanceTypeMlC48xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlC48xlarge = "ml.c4.8xlarge" + + // TrainingInstanceTypeMlP2Xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlP2Xlarge = "ml.p2.xlarge" + + // TrainingInstanceTypeMlP28xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlP28xlarge = "ml.p2.8xlarge" + + // TrainingInstanceTypeMlP216xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlP216xlarge = "ml.p2.16xlarge" + + // TrainingInstanceTypeMlP32xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlP32xlarge = "ml.p3.2xlarge" + + // TrainingInstanceTypeMlP38xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlP38xlarge = "ml.p3.8xlarge" + + // TrainingInstanceTypeMlP316xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlP316xlarge = "ml.p3.16xlarge" + + // TrainingInstanceTypeMlC5Xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlC5Xlarge = "ml.c5.xlarge" + + // TrainingInstanceTypeMlC52xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlC52xlarge = "ml.c5.2xlarge" + + // TrainingInstanceTypeMlC54xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlC54xlarge = "ml.c5.4xlarge" + + // TrainingInstanceTypeMlC59xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlC59xlarge = "ml.c5.9xlarge" + + // TrainingInstanceTypeMlC518xlarge is a TrainingInstanceType enum value + TrainingInstanceTypeMlC518xlarge = "ml.c5.18xlarge" +) + +const ( + // TrainingJobEarlyStoppingTypeOff is a TrainingJobEarlyStoppingType enum value + TrainingJobEarlyStoppingTypeOff = "Off" + + // TrainingJobEarlyStoppingTypeAuto is a TrainingJobEarlyStoppingType enum value + TrainingJobEarlyStoppingTypeAuto = "Auto" +) + +const ( + // TrainingJobSortByOptionsName is a TrainingJobSortByOptions enum value + TrainingJobSortByOptionsName = "Name" + + // TrainingJobSortByOptionsCreationTime is a TrainingJobSortByOptions enum value + TrainingJobSortByOptionsCreationTime = "CreationTime" + + // TrainingJobSortByOptionsStatus is a TrainingJobSortByOptions enum value + TrainingJobSortByOptionsStatus = "Status" + + // TrainingJobSortByOptionsFinalObjectiveMetricValue is a TrainingJobSortByOptions enum value + TrainingJobSortByOptionsFinalObjectiveMetricValue = "FinalObjectiveMetricValue" +) + +const ( + // TrainingJobStatusInProgress is a TrainingJobStatus enum value + TrainingJobStatusInProgress = "InProgress" + + // TrainingJobStatusCompleted is a TrainingJobStatus enum value + TrainingJobStatusCompleted = "Completed" + + // TrainingJobStatusFailed is a TrainingJobStatus enum value + TrainingJobStatusFailed = "Failed" + + // TrainingJobStatusStopping is a TrainingJobStatus enum value + TrainingJobStatusStopping = "Stopping" + + // TrainingJobStatusStopped is a TrainingJobStatus enum value + TrainingJobStatusStopped = "Stopped" +) + +const ( + // TransformInstanceTypeMlM4Xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlM4Xlarge = "ml.m4.xlarge" + + // TransformInstanceTypeMlM42xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlM42xlarge = "ml.m4.2xlarge" + + // TransformInstanceTypeMlM44xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlM44xlarge = "ml.m4.4xlarge" + + // TransformInstanceTypeMlM410xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlM410xlarge = "ml.m4.10xlarge" + + // TransformInstanceTypeMlM416xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlM416xlarge = "ml.m4.16xlarge" + + // TransformInstanceTypeMlC4Xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlC4Xlarge = "ml.c4.xlarge" + + // TransformInstanceTypeMlC42xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlC42xlarge = "ml.c4.2xlarge" + + // TransformInstanceTypeMlC44xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlC44xlarge = "ml.c4.4xlarge" + + // TransformInstanceTypeMlC48xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlC48xlarge = "ml.c4.8xlarge" + + // TransformInstanceTypeMlP2Xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlP2Xlarge = "ml.p2.xlarge" + + // TransformInstanceTypeMlP28xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlP28xlarge = "ml.p2.8xlarge" + + // TransformInstanceTypeMlP216xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlP216xlarge = "ml.p2.16xlarge" + + // TransformInstanceTypeMlP32xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlP32xlarge = "ml.p3.2xlarge" + + // TransformInstanceTypeMlP38xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlP38xlarge = "ml.p3.8xlarge" + + // TransformInstanceTypeMlP316xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlP316xlarge = "ml.p3.16xlarge" + + // TransformInstanceTypeMlC5Xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlC5Xlarge = "ml.c5.xlarge" + + // TransformInstanceTypeMlC52xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlC52xlarge = "ml.c5.2xlarge" + + // TransformInstanceTypeMlC54xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlC54xlarge = "ml.c5.4xlarge" + + // TransformInstanceTypeMlC59xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlC59xlarge = "ml.c5.9xlarge" + + // TransformInstanceTypeMlC518xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlC518xlarge = "ml.c5.18xlarge" + + // TransformInstanceTypeMlM5Large is a TransformInstanceType enum value + TransformInstanceTypeMlM5Large = "ml.m5.large" + + // TransformInstanceTypeMlM5Xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlM5Xlarge = "ml.m5.xlarge" + + // TransformInstanceTypeMlM52xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlM52xlarge = "ml.m5.2xlarge" + + // TransformInstanceTypeMlM54xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlM54xlarge = "ml.m5.4xlarge" + + // TransformInstanceTypeMlM512xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlM512xlarge = "ml.m5.12xlarge" + + // TransformInstanceTypeMlM524xlarge is a TransformInstanceType enum value + TransformInstanceTypeMlM524xlarge = "ml.m5.24xlarge" +) + +const ( + // TransformJobStatusInProgress is a TransformJobStatus enum value + TransformJobStatusInProgress = "InProgress" + + // TransformJobStatusCompleted is a TransformJobStatus enum value + TransformJobStatusCompleted = "Completed" + + // TransformJobStatusFailed is a TransformJobStatus enum value + TransformJobStatusFailed = "Failed" + + // TransformJobStatusStopping is a TransformJobStatus enum value + TransformJobStatusStopping = "Stopping" + + // TransformJobStatusStopped is a TransformJobStatus enum value + TransformJobStatusStopped = "Stopped" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/doc.go new file mode 100644 index 00000000000..d74f40297cc --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package sagemaker provides the client and types for making API +// requests to Amazon SageMaker Service. +// +// Definition of the public APIs exposed by SageMaker +// +// See https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24 for more information on this service. +// +// See sagemaker package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/sagemaker/ +// +// Using the Client +// +// To contact Amazon SageMaker 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 Amazon SageMaker Service client SageMaker for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/sagemaker/#New +package sagemaker diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/errors.go new file mode 100644 index 00000000000..d7fd2c45754 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/errors.go @@ -0,0 +1,25 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package sagemaker + +const ( + + // ErrCodeResourceInUse for service response error code + // "ResourceInUse". + // + // Resource being accessed is in use. + ErrCodeResourceInUse = "ResourceInUse" + + // ErrCodeResourceLimitExceeded for service response error code + // "ResourceLimitExceeded". + // + // You have exceeded an Amazon SageMaker resource limit. For example, you might + // have too many training jobs created. + ErrCodeResourceLimitExceeded = "ResourceLimitExceeded" + + // ErrCodeResourceNotFound for service response error code + // "ResourceNotFound". + // + // Resource being access is not found. + ErrCodeResourceNotFound = "ResourceNotFound" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/service.go new file mode 100644 index 00000000000..7ae1df73414 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/service.go @@ -0,0 +1,100 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package sagemaker + +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" +) + +// SageMaker provides the API operation methods for making requests to +// Amazon SageMaker Service. See this package's package overview docs +// for details on the service. +// +// SageMaker methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type SageMaker 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 = "sagemaker" // Name of service. + EndpointsID = "api.sagemaker" // ID to lookup a service endpoint with. + ServiceID = "SageMaker" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the SageMaker 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 SageMaker client from just a session. +// svc := sagemaker.New(mySession) +// +// // Create a SageMaker client with additional configuration +// svc := sagemaker.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *SageMaker { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "sagemaker" + } + 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) *SageMaker { + svc := &SageMaker{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2017-07-24", + JSONVersion: "1.1", + TargetPrefix: "SageMaker", + }, + 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 SageMaker operation and runs any +// custom request initialization. +func (c *SageMaker) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/waiters.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/waiters.go new file mode 100644 index 00000000000..e4054f0ffaf --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sagemaker/waiters.go @@ -0,0 +1,392 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package sagemaker + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" +) + +// WaitUntilEndpointDeleted uses the SageMaker API operation +// DescribeEndpoint to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *SageMaker) WaitUntilEndpointDeleted(input *DescribeEndpointInput) error { + return c.WaitUntilEndpointDeletedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilEndpointDeletedWithContext is an extended version of WaitUntilEndpointDeleted. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) WaitUntilEndpointDeletedWithContext(ctx aws.Context, input *DescribeEndpointInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilEndpointDeleted", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(30 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "ValidationException", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "EndpointStatus", + Expected: "Failed", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeEndpointInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEndpointRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilEndpointInService uses the SageMaker API operation +// DescribeEndpoint to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *SageMaker) WaitUntilEndpointInService(input *DescribeEndpointInput) error { + return c.WaitUntilEndpointInServiceWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilEndpointInServiceWithContext is an extended version of WaitUntilEndpointInService. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) WaitUntilEndpointInServiceWithContext(ctx aws.Context, input *DescribeEndpointInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilEndpointInService", + MaxAttempts: 120, + Delay: request.ConstantWaiterDelay(30 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "EndpointStatus", + Expected: "InService", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "EndpointStatus", + Expected: "Failed", + }, + { + State: request.FailureWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "ValidationException", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeEndpointInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEndpointRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilNotebookInstanceDeleted uses the SageMaker API operation +// DescribeNotebookInstance to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *SageMaker) WaitUntilNotebookInstanceDeleted(input *DescribeNotebookInstanceInput) error { + return c.WaitUntilNotebookInstanceDeletedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilNotebookInstanceDeletedWithContext is an extended version of WaitUntilNotebookInstanceDeleted. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) WaitUntilNotebookInstanceDeletedWithContext(ctx aws.Context, input *DescribeNotebookInstanceInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilNotebookInstanceDeleted", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(30 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "ValidationException", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "NotebookInstanceStatus", + Expected: "Failed", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeNotebookInstanceInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeNotebookInstanceRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilNotebookInstanceInService uses the SageMaker API operation +// DescribeNotebookInstance to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *SageMaker) WaitUntilNotebookInstanceInService(input *DescribeNotebookInstanceInput) error { + return c.WaitUntilNotebookInstanceInServiceWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilNotebookInstanceInServiceWithContext is an extended version of WaitUntilNotebookInstanceInService. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) WaitUntilNotebookInstanceInServiceWithContext(ctx aws.Context, input *DescribeNotebookInstanceInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilNotebookInstanceInService", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(30 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "NotebookInstanceStatus", + Expected: "InService", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "NotebookInstanceStatus", + Expected: "Failed", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeNotebookInstanceInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeNotebookInstanceRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilNotebookInstanceStopped uses the SageMaker API operation +// DescribeNotebookInstance to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *SageMaker) WaitUntilNotebookInstanceStopped(input *DescribeNotebookInstanceInput) error { + return c.WaitUntilNotebookInstanceStoppedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilNotebookInstanceStoppedWithContext is an extended version of WaitUntilNotebookInstanceStopped. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) WaitUntilNotebookInstanceStoppedWithContext(ctx aws.Context, input *DescribeNotebookInstanceInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilNotebookInstanceStopped", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(30 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "NotebookInstanceStatus", + Expected: "Stopped", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "NotebookInstanceStatus", + Expected: "Failed", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeNotebookInstanceInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeNotebookInstanceRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilTrainingJobCompletedOrStopped uses the SageMaker API operation +// DescribeTrainingJob to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *SageMaker) WaitUntilTrainingJobCompletedOrStopped(input *DescribeTrainingJobInput) error { + return c.WaitUntilTrainingJobCompletedOrStoppedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilTrainingJobCompletedOrStoppedWithContext is an extended version of WaitUntilTrainingJobCompletedOrStopped. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) WaitUntilTrainingJobCompletedOrStoppedWithContext(ctx aws.Context, input *DescribeTrainingJobInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilTrainingJobCompletedOrStopped", + MaxAttempts: 180, + Delay: request.ConstantWaiterDelay(120 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "TrainingJobStatus", + Expected: "Completed", + }, + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "TrainingJobStatus", + Expected: "Stopped", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "TrainingJobStatus", + Expected: "Failed", + }, + { + State: request.FailureWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "ValidationException", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeTrainingJobInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTrainingJobRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilTransformJobCompletedOrStopped uses the SageMaker API operation +// DescribeTransformJob to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *SageMaker) WaitUntilTransformJobCompletedOrStopped(input *DescribeTransformJobInput) error { + return c.WaitUntilTransformJobCompletedOrStoppedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilTransformJobCompletedOrStoppedWithContext is an extended version of WaitUntilTransformJobCompletedOrStopped. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) WaitUntilTransformJobCompletedOrStoppedWithContext(ctx aws.Context, input *DescribeTransformJobInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilTransformJobCompletedOrStopped", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(60 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "TransformJobStatus", + Expected: "Completed", + }, + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "TransformJobStatus", + Expected: "Stopped", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "TransformJobStatus", + Expected: "Failed", + }, + { + State: request.FailureWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "ValidationException", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeTransformJobInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTransformJobRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/api.go index 1019d6f65ff..9ff532ab77d 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/api.go @@ -1394,7 +1394,7 @@ func (c *SecretsManager) PutResourcePolicyRequest(input *PutResourcePolicyInput) // For more information, see Using Resource-Based Policies for AWS Secrets Manager // (http://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-based-policies.html). // For the complete description of the AWS policy syntax and grammar, see IAM -// JSON Policy Reference (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) +// JSON Policy Reference (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) // in the IAM User Guide. // // Minimum permissions @@ -1815,7 +1815,7 @@ func (c *SecretsManager) RotateSecretRequest(input *RotateSecretInput) (req *req // clients all immediately begin to use the new version. For more information // about rotating secrets and how to configure a Lambda function to rotate the // secrets for your protected service, see Rotating Secrets in AWS Secrets Manager -// (http://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) // in the AWS Secrets Manager User Guide. // // Secrets Manager schedules the next rotation when the previous one is complete. @@ -2400,7 +2400,7 @@ func (c *SecretsManager) UpdateSecretVersionStageRequest(input *UpdateSecretVers // a time. If a staging label to be added is already attached to another version, // then it is moved--removed from the other version first and then attached // to this one. For more information about staging labels, see Staging Labels -// (http://docs.aws.amazon.com/secretsmanager/latest/userguide/terms-concepts.html#term_staging-label) +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/terms-concepts.html#term_staging-label) // in the AWS Secrets Manager User Guide. // // The staging labels that you specify in the VersionStage parameter are added @@ -2682,7 +2682,7 @@ type CreateSecretInput struct { // For storing multiple values, we recommend that you use a JSON text string // argument and specify key/value pairs. For information on how to format a // JSON parameter for the various command line tool environments, see Using - // JSON for Parameters (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) + // JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) // in the AWS CLI User Guide. For example: // // [{"username":"bob"},{"password":"abc123xyz456"}] @@ -2707,7 +2707,7 @@ type CreateSecretInput struct { // // This parameter requires a JSON text string argument. For information on how // to format a JSON parameter for the various command line tool environments, - // see Using JSON for Parameters (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) + // see Using JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) // in the AWS CLI User Guide. For example: // // [{"Key":"CostCenter","Value":"12345"},{"Key":"environment","Value":"production"}] @@ -4182,7 +4182,7 @@ type PutSecretValueInput struct { // For storing multiple values, we recommend that you use a JSON text string // argument and specify key/value pairs. For information on how to format a // JSON parameter for the various command line tool environments, see Using - // JSON for Parameters (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) + // JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) // in the AWS CLI User Guide. // // For example: @@ -4612,7 +4612,7 @@ type SecretListEntry struct { // The Amazon Resource Name (ARN) of the secret. // // For more information about ARNs in Secrets Manager, see Policy Resources - // (http://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#iam-resources) + // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#iam-resources) // in the AWS Secrets Manager User Guide. ARN *string `min:"20" type:"string"` @@ -4885,7 +4885,7 @@ type TagResourceInput struct { // // This parameter to the API requires a JSON text string argument. For information // on how to format a JSON parameter for the various command line tool environments, - // see Using JSON for Parameters (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) + // see Using JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) // in the AWS CLI User Guide. For the AWS CLI, you can also use the syntax: // --Tags Key="Key1",Value="Value1",Key="Key2",Value="Value2"[,…] // @@ -4985,7 +4985,7 @@ type UntagResourceInput struct { // // This parameter to the API requires a JSON text string argument. For information // on how to format a JSON parameter for the various command line tool environments, - // see Using JSON for Parameters (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) + // see Using JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) // in the AWS CLI User Guide. // // TagKeys is a required field @@ -5141,7 +5141,7 @@ type UpdateSecretInput struct { // For storing multiple values, we recommend that you use a JSON text string // argument and specify key/value pairs. For information on how to format a // JSON parameter for the various command line tool environments, see Using - // JSON for Parameters (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) + // JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) // in the AWS CLI User Guide. For example: // // [{"username":"bob"},{"password":"abc123xyz456"}] diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/doc.go index 0379c436595..b931ba87c0a 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/doc.go @@ -7,7 +7,7 @@ // retrieve, secrets. // // This guide provides descriptions of the Secrets Manager API. For more information -// about using this service, see the AWS Secrets Manager User Guide (http://docs.aws.amazon.com/secretsmanager/latest/userguide/introduction.html). +// about using this service, see the AWS Secrets Manager User Guide (https://docs.aws.amazon.com/secretsmanager/latest/userguide/introduction.html). // // API Version // @@ -26,7 +26,7 @@ // We recommend that you use the AWS SDKs to make programmatic API calls to // Secrets Manager. However, you also can use the Secrets Manager HTTP Query // API to make direct calls to the Secrets Manager web service. To learn more -// about the Secrets Manager HTTP Query API, see Making Query Requests (http://docs.aws.amazon.com/secretsmanager/latest/userguide/query-requests.html) +// about the Secrets Manager HTTP Query API, see Making Query Requests (https://docs.aws.amazon.com/secretsmanager/latest/userguide/query-requests.html) // in the AWS Secrets Manager User Guide. // // Secrets Manager supports GET and POST requests for all actions. That is, @@ -62,7 +62,7 @@ // (http://docs.aws.amazon.com/secretsmanager/latest/userguide/monitoring.html#monitoring_cloudtrail) // in the AWS Secrets Manager User Guide. 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). +// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html). // // See https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17 for more information on this service. // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/serverlessapplicationrepository/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/serverlessapplicationrepository/api.go new file mode 100644 index 00000000000..d8331c988bb --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/serverlessapplicationrepository/api.go @@ -0,0 +1,3900 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package serverlessapplicationrepository + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreateApplication = "CreateApplication" + +// CreateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the CreateApplication 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 CreateApplication for more information on using the CreateApplication +// 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 CreateApplicationRequest method. +// req, resp := client.CreateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateApplication +func (c *ServerlessApplicationRepository) CreateApplicationRequest(input *CreateApplicationRequest) (req *request.Request, output *CreateApplicationOutput) { + op := &request.Operation{ + Name: opCreateApplication, + HTTPMethod: "POST", + HTTPPath: "/applications", + } + + if input == nil { + input = &CreateApplicationRequest{} + } + + output = &CreateApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateApplication API operation for AWSServerlessApplicationRepository. +// +// Creates an application, optionally including an AWS SAM file to create the +// first application version in the same 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 AWSServerlessApplicationRepository's +// API operation CreateApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The client is sending more than the allowed number of requests per unit of +// time. +// +// * ErrCodeBadRequestException "BadRequestException" +// One of the parameters in the request is invalid. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The AWS Serverless Application Repository service encountered an internal +// error. +// +// * ErrCodeConflictException "ConflictException" +// The resource already exists. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The client is not authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateApplication +func (c *ServerlessApplicationRepository) CreateApplication(input *CreateApplicationRequest) (*CreateApplicationOutput, error) { + req, out := c.CreateApplicationRequest(input) + return out, req.Send() +} + +// CreateApplicationWithContext is the same as CreateApplication with the addition of +// the ability to pass a context and additional request options. +// +// See CreateApplication 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 *ServerlessApplicationRepository) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationRequest, opts ...request.Option) (*CreateApplicationOutput, error) { + req, out := c.CreateApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateApplicationVersion = "CreateApplicationVersion" + +// CreateApplicationVersionRequest generates a "aws/request.Request" representing the +// client's request for the CreateApplicationVersion 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 CreateApplicationVersion for more information on using the CreateApplicationVersion +// 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 CreateApplicationVersionRequest method. +// req, resp := client.CreateApplicationVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateApplicationVersion +func (c *ServerlessApplicationRepository) CreateApplicationVersionRequest(input *CreateApplicationVersionRequest) (req *request.Request, output *CreateApplicationVersionOutput) { + op := &request.Operation{ + Name: opCreateApplicationVersion, + HTTPMethod: "PUT", + HTTPPath: "/applications/{applicationId}/versions/{semanticVersion}", + } + + if input == nil { + input = &CreateApplicationVersionRequest{} + } + + output = &CreateApplicationVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateApplicationVersion API operation for AWSServerlessApplicationRepository. +// +// Creates an application version. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSServerlessApplicationRepository's +// API operation CreateApplicationVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The client is sending more than the allowed number of requests per unit of +// time. +// +// * ErrCodeBadRequestException "BadRequestException" +// One of the parameters in the request is invalid. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The AWS Serverless Application Repository service encountered an internal +// error. +// +// * ErrCodeConflictException "ConflictException" +// The resource already exists. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The client is not authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateApplicationVersion +func (c *ServerlessApplicationRepository) CreateApplicationVersion(input *CreateApplicationVersionRequest) (*CreateApplicationVersionOutput, error) { + req, out := c.CreateApplicationVersionRequest(input) + return out, req.Send() +} + +// CreateApplicationVersionWithContext is the same as CreateApplicationVersion with the addition of +// the ability to pass a context and additional request options. +// +// See CreateApplicationVersion 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 *ServerlessApplicationRepository) CreateApplicationVersionWithContext(ctx aws.Context, input *CreateApplicationVersionRequest, opts ...request.Option) (*CreateApplicationVersionOutput, error) { + req, out := c.CreateApplicationVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateCloudFormationChangeSet = "CreateCloudFormationChangeSet" + +// CreateCloudFormationChangeSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateCloudFormationChangeSet 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 CreateCloudFormationChangeSet for more information on using the CreateCloudFormationChangeSet +// 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 CreateCloudFormationChangeSetRequest method. +// req, resp := client.CreateCloudFormationChangeSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateCloudFormationChangeSet +func (c *ServerlessApplicationRepository) CreateCloudFormationChangeSetRequest(input *CreateCloudFormationChangeSetRequest) (req *request.Request, output *CreateCloudFormationChangeSetOutput) { + op := &request.Operation{ + Name: opCreateCloudFormationChangeSet, + HTTPMethod: "POST", + HTTPPath: "/applications/{applicationId}/changesets", + } + + if input == nil { + input = &CreateCloudFormationChangeSetRequest{} + } + + output = &CreateCloudFormationChangeSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCloudFormationChangeSet API operation for AWSServerlessApplicationRepository. +// +// Creates an AWS CloudFormation change set for the given application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSServerlessApplicationRepository's +// API operation CreateCloudFormationChangeSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The client is sending more than the allowed number of requests per unit of +// time. +// +// * ErrCodeBadRequestException "BadRequestException" +// One of the parameters in the request is invalid. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The AWS Serverless Application Repository service encountered an internal +// error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The client is not authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateCloudFormationChangeSet +func (c *ServerlessApplicationRepository) CreateCloudFormationChangeSet(input *CreateCloudFormationChangeSetRequest) (*CreateCloudFormationChangeSetOutput, error) { + req, out := c.CreateCloudFormationChangeSetRequest(input) + return out, req.Send() +} + +// CreateCloudFormationChangeSetWithContext is the same as CreateCloudFormationChangeSet with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCloudFormationChangeSet 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 *ServerlessApplicationRepository) CreateCloudFormationChangeSetWithContext(ctx aws.Context, input *CreateCloudFormationChangeSetRequest, opts ...request.Option) (*CreateCloudFormationChangeSetOutput, error) { + req, out := c.CreateCloudFormationChangeSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateCloudFormationTemplate = "CreateCloudFormationTemplate" + +// CreateCloudFormationTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateCloudFormationTemplate 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 CreateCloudFormationTemplate for more information on using the CreateCloudFormationTemplate +// 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 CreateCloudFormationTemplateRequest method. +// req, resp := client.CreateCloudFormationTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateCloudFormationTemplate +func (c *ServerlessApplicationRepository) CreateCloudFormationTemplateRequest(input *CreateCloudFormationTemplateInput) (req *request.Request, output *CreateCloudFormationTemplateOutput) { + op := &request.Operation{ + Name: opCreateCloudFormationTemplate, + HTTPMethod: "POST", + HTTPPath: "/applications/{applicationId}/templates", + } + + if input == nil { + input = &CreateCloudFormationTemplateInput{} + } + + output = &CreateCloudFormationTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCloudFormationTemplate API operation for AWSServerlessApplicationRepository. +// +// Creates an AWS CloudFormation template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSServerlessApplicationRepository's +// API operation CreateCloudFormationTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource (for example, an access policy statement) specified in the request +// doesn't exist. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The client is sending more than the allowed number of requests per unit of +// time. +// +// * ErrCodeBadRequestException "BadRequestException" +// One of the parameters in the request is invalid. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The AWS Serverless Application Repository service encountered an internal +// error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The client is not authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateCloudFormationTemplate +func (c *ServerlessApplicationRepository) CreateCloudFormationTemplate(input *CreateCloudFormationTemplateInput) (*CreateCloudFormationTemplateOutput, error) { + req, out := c.CreateCloudFormationTemplateRequest(input) + return out, req.Send() +} + +// CreateCloudFormationTemplateWithContext is the same as CreateCloudFormationTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCloudFormationTemplate 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 *ServerlessApplicationRepository) CreateCloudFormationTemplateWithContext(ctx aws.Context, input *CreateCloudFormationTemplateInput, opts ...request.Option) (*CreateCloudFormationTemplateOutput, error) { + req, out := c.CreateCloudFormationTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteApplication = "DeleteApplication" + +// DeleteApplicationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplication 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 DeleteApplication for more information on using the DeleteApplication +// 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 DeleteApplicationRequest method. +// req, resp := client.DeleteApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/DeleteApplication +func (c *ServerlessApplicationRepository) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) { + op := &request.Operation{ + Name: opDeleteApplication, + HTTPMethod: "DELETE", + HTTPPath: "/applications/{applicationId}", + } + + if input == nil { + input = &DeleteApplicationInput{} + } + + output = &DeleteApplicationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteApplication API operation for AWSServerlessApplicationRepository. +// +// Deletes the specified application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSServerlessApplicationRepository's +// API operation DeleteApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// One of the parameters in the request is invalid. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The AWS Serverless Application Repository service encountered an internal +// error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The client is not authenticated. +// +// * ErrCodeNotFoundException "NotFoundException" +// The resource (for example, an access policy statement) specified in the request +// doesn't exist. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The client is sending more than the allowed number of requests per unit of +// time. +// +// * ErrCodeConflictException "ConflictException" +// The resource already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/DeleteApplication +func (c *ServerlessApplicationRepository) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) { + req, out := c.DeleteApplicationRequest(input) + return out, req.Send() +} + +// DeleteApplicationWithContext is the same as DeleteApplication with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApplication 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 *ServerlessApplicationRepository) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) { + req, out := c.DeleteApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetApplication = "GetApplication" + +// GetApplicationRequest generates a "aws/request.Request" representing the +// client's request for the GetApplication 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 GetApplication for more information on using the GetApplication +// 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 GetApplicationRequest method. +// req, resp := client.GetApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetApplication +func (c *ServerlessApplicationRepository) GetApplicationRequest(input *GetApplicationInput) (req *request.Request, output *GetApplicationOutput) { + op := &request.Operation{ + Name: opGetApplication, + HTTPMethod: "GET", + HTTPPath: "/applications/{applicationId}", + } + + if input == nil { + input = &GetApplicationInput{} + } + + output = &GetApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetApplication API operation for AWSServerlessApplicationRepository. +// +// Gets the specified application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSServerlessApplicationRepository's +// API operation GetApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource (for example, an access policy statement) specified in the request +// doesn't exist. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The client is sending more than the allowed number of requests per unit of +// time. +// +// * ErrCodeBadRequestException "BadRequestException" +// One of the parameters in the request is invalid. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The AWS Serverless Application Repository service encountered an internal +// error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The client is not authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetApplication +func (c *ServerlessApplicationRepository) GetApplication(input *GetApplicationInput) (*GetApplicationOutput, error) { + req, out := c.GetApplicationRequest(input) + return out, req.Send() +} + +// GetApplicationWithContext is the same as GetApplication with the addition of +// the ability to pass a context and additional request options. +// +// See GetApplication 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 *ServerlessApplicationRepository) GetApplicationWithContext(ctx aws.Context, input *GetApplicationInput, opts ...request.Option) (*GetApplicationOutput, error) { + req, out := c.GetApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetApplicationPolicy = "GetApplicationPolicy" + +// GetApplicationPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetApplicationPolicy 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 GetApplicationPolicy for more information on using the GetApplicationPolicy +// 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 GetApplicationPolicyRequest method. +// req, resp := client.GetApplicationPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetApplicationPolicy +func (c *ServerlessApplicationRepository) GetApplicationPolicyRequest(input *GetApplicationPolicyInput) (req *request.Request, output *GetApplicationPolicyOutput) { + op := &request.Operation{ + Name: opGetApplicationPolicy, + HTTPMethod: "GET", + HTTPPath: "/applications/{applicationId}/policy", + } + + if input == nil { + input = &GetApplicationPolicyInput{} + } + + output = &GetApplicationPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetApplicationPolicy API operation for AWSServerlessApplicationRepository. +// +// Retrieves the policy for the application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSServerlessApplicationRepository's +// API operation GetApplicationPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource (for example, an access policy statement) specified in the request +// doesn't exist. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The client is sending more than the allowed number of requests per unit of +// time. +// +// * ErrCodeBadRequestException "BadRequestException" +// One of the parameters in the request is invalid. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The AWS Serverless Application Repository service encountered an internal +// error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The client is not authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetApplicationPolicy +func (c *ServerlessApplicationRepository) GetApplicationPolicy(input *GetApplicationPolicyInput) (*GetApplicationPolicyOutput, error) { + req, out := c.GetApplicationPolicyRequest(input) + return out, req.Send() +} + +// GetApplicationPolicyWithContext is the same as GetApplicationPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetApplicationPolicy 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 *ServerlessApplicationRepository) GetApplicationPolicyWithContext(ctx aws.Context, input *GetApplicationPolicyInput, opts ...request.Option) (*GetApplicationPolicyOutput, error) { + req, out := c.GetApplicationPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCloudFormationTemplate = "GetCloudFormationTemplate" + +// GetCloudFormationTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetCloudFormationTemplate 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 GetCloudFormationTemplate for more information on using the GetCloudFormationTemplate +// 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 GetCloudFormationTemplateRequest method. +// req, resp := client.GetCloudFormationTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetCloudFormationTemplate +func (c *ServerlessApplicationRepository) GetCloudFormationTemplateRequest(input *GetCloudFormationTemplateInput) (req *request.Request, output *GetCloudFormationTemplateOutput) { + op := &request.Operation{ + Name: opGetCloudFormationTemplate, + HTTPMethod: "GET", + HTTPPath: "/applications/{applicationId}/templates/{templateId}", + } + + if input == nil { + input = &GetCloudFormationTemplateInput{} + } + + output = &GetCloudFormationTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCloudFormationTemplate API operation for AWSServerlessApplicationRepository. +// +// Gets the specified AWS CloudFormation template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSServerlessApplicationRepository's +// API operation GetCloudFormationTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource (for example, an access policy statement) specified in the request +// doesn't exist. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The client is sending more than the allowed number of requests per unit of +// time. +// +// * ErrCodeBadRequestException "BadRequestException" +// One of the parameters in the request is invalid. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The AWS Serverless Application Repository service encountered an internal +// error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The client is not authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetCloudFormationTemplate +func (c *ServerlessApplicationRepository) GetCloudFormationTemplate(input *GetCloudFormationTemplateInput) (*GetCloudFormationTemplateOutput, error) { + req, out := c.GetCloudFormationTemplateRequest(input) + return out, req.Send() +} + +// GetCloudFormationTemplateWithContext is the same as GetCloudFormationTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetCloudFormationTemplate 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 *ServerlessApplicationRepository) GetCloudFormationTemplateWithContext(ctx aws.Context, input *GetCloudFormationTemplateInput, opts ...request.Option) (*GetCloudFormationTemplateOutput, error) { + req, out := c.GetCloudFormationTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListApplicationDependencies = "ListApplicationDependencies" + +// ListApplicationDependenciesRequest generates a "aws/request.Request" representing the +// client's request for the ListApplicationDependencies 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 ListApplicationDependencies for more information on using the ListApplicationDependencies +// 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 ListApplicationDependenciesRequest method. +// req, resp := client.ListApplicationDependenciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/ListApplicationDependencies +func (c *ServerlessApplicationRepository) ListApplicationDependenciesRequest(input *ListApplicationDependenciesInput) (req *request.Request, output *ListApplicationDependenciesOutput) { + op := &request.Operation{ + Name: opListApplicationDependencies, + HTTPMethod: "GET", + HTTPPath: "/applications/{applicationId}/dependencies", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxItems", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListApplicationDependenciesInput{} + } + + output = &ListApplicationDependenciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListApplicationDependencies API operation for AWSServerlessApplicationRepository. +// +// Retrieves the list of applications nested in the containing application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSServerlessApplicationRepository's +// API operation ListApplicationDependencies for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource (for example, an access policy statement) specified in the request +// doesn't exist. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The client is sending more than the allowed number of requests per unit of +// time. +// +// * ErrCodeBadRequestException "BadRequestException" +// One of the parameters in the request is invalid. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The AWS Serverless Application Repository service encountered an internal +// error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The client is not authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/ListApplicationDependencies +func (c *ServerlessApplicationRepository) ListApplicationDependencies(input *ListApplicationDependenciesInput) (*ListApplicationDependenciesOutput, error) { + req, out := c.ListApplicationDependenciesRequest(input) + return out, req.Send() +} + +// ListApplicationDependenciesWithContext is the same as ListApplicationDependencies with the addition of +// the ability to pass a context and additional request options. +// +// See ListApplicationDependencies 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 *ServerlessApplicationRepository) ListApplicationDependenciesWithContext(ctx aws.Context, input *ListApplicationDependenciesInput, opts ...request.Option) (*ListApplicationDependenciesOutput, error) { + req, out := c.ListApplicationDependenciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListApplicationDependenciesPages iterates over the pages of a ListApplicationDependencies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListApplicationDependencies 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 ListApplicationDependencies operation. +// pageNum := 0 +// err := client.ListApplicationDependenciesPages(params, +// func(page *ListApplicationDependenciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ServerlessApplicationRepository) ListApplicationDependenciesPages(input *ListApplicationDependenciesInput, fn func(*ListApplicationDependenciesOutput, bool) bool) error { + return c.ListApplicationDependenciesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListApplicationDependenciesPagesWithContext same as ListApplicationDependenciesPages 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 *ServerlessApplicationRepository) ListApplicationDependenciesPagesWithContext(ctx aws.Context, input *ListApplicationDependenciesInput, fn func(*ListApplicationDependenciesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListApplicationDependenciesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListApplicationDependenciesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListApplicationDependenciesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListApplicationVersions = "ListApplicationVersions" + +// ListApplicationVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListApplicationVersions 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 ListApplicationVersions for more information on using the ListApplicationVersions +// 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 ListApplicationVersionsRequest method. +// req, resp := client.ListApplicationVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/ListApplicationVersions +func (c *ServerlessApplicationRepository) ListApplicationVersionsRequest(input *ListApplicationVersionsInput) (req *request.Request, output *ListApplicationVersionsOutput) { + op := &request.Operation{ + Name: opListApplicationVersions, + HTTPMethod: "GET", + HTTPPath: "/applications/{applicationId}/versions", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxItems", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListApplicationVersionsInput{} + } + + output = &ListApplicationVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListApplicationVersions API operation for AWSServerlessApplicationRepository. +// +// Lists versions for the specified application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSServerlessApplicationRepository's +// API operation ListApplicationVersions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource (for example, an access policy statement) specified in the request +// doesn't exist. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The client is sending more than the allowed number of requests per unit of +// time. +// +// * ErrCodeBadRequestException "BadRequestException" +// One of the parameters in the request is invalid. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The AWS Serverless Application Repository service encountered an internal +// error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The client is not authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/ListApplicationVersions +func (c *ServerlessApplicationRepository) ListApplicationVersions(input *ListApplicationVersionsInput) (*ListApplicationVersionsOutput, error) { + req, out := c.ListApplicationVersionsRequest(input) + return out, req.Send() +} + +// ListApplicationVersionsWithContext is the same as ListApplicationVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListApplicationVersions 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 *ServerlessApplicationRepository) ListApplicationVersionsWithContext(ctx aws.Context, input *ListApplicationVersionsInput, opts ...request.Option) (*ListApplicationVersionsOutput, error) { + req, out := c.ListApplicationVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListApplicationVersionsPages iterates over the pages of a ListApplicationVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListApplicationVersions 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 ListApplicationVersions operation. +// pageNum := 0 +// err := client.ListApplicationVersionsPages(params, +// func(page *ListApplicationVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ServerlessApplicationRepository) ListApplicationVersionsPages(input *ListApplicationVersionsInput, fn func(*ListApplicationVersionsOutput, bool) bool) error { + return c.ListApplicationVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListApplicationVersionsPagesWithContext same as ListApplicationVersionsPages 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 *ServerlessApplicationRepository) ListApplicationVersionsPagesWithContext(ctx aws.Context, input *ListApplicationVersionsInput, fn func(*ListApplicationVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListApplicationVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListApplicationVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListApplicationVersionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListApplications = "ListApplications" + +// ListApplicationsRequest generates a "aws/request.Request" representing the +// client's request for the ListApplications 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 ListApplications for more information on using the ListApplications +// 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 ListApplicationsRequest method. +// req, resp := client.ListApplicationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/ListApplications +func (c *ServerlessApplicationRepository) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) { + op := &request.Operation{ + Name: opListApplications, + HTTPMethod: "GET", + HTTPPath: "/applications", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxItems", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListApplicationsInput{} + } + + output = &ListApplicationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListApplications API operation for AWSServerlessApplicationRepository. +// +// Lists applications owned by the requester. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSServerlessApplicationRepository's +// API operation ListApplications for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource (for example, an access policy statement) specified in the request +// doesn't exist. +// +// * ErrCodeBadRequestException "BadRequestException" +// One of the parameters in the request is invalid. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The AWS Serverless Application Repository service encountered an internal +// error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The client is not authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/ListApplications +func (c *ServerlessApplicationRepository) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) { + req, out := c.ListApplicationsRequest(input) + return out, req.Send() +} + +// ListApplicationsWithContext is the same as ListApplications with the addition of +// the ability to pass a context and additional request options. +// +// See ListApplications 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 *ServerlessApplicationRepository) ListApplicationsWithContext(ctx aws.Context, input *ListApplicationsInput, opts ...request.Option) (*ListApplicationsOutput, error) { + req, out := c.ListApplicationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListApplicationsPages iterates over the pages of a ListApplications operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListApplications 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 ListApplications operation. +// pageNum := 0 +// err := client.ListApplicationsPages(params, +// func(page *ListApplicationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ServerlessApplicationRepository) ListApplicationsPages(input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool) error { + return c.ListApplicationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListApplicationsPagesWithContext same as ListApplicationsPages 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 *ServerlessApplicationRepository) ListApplicationsPagesWithContext(ctx aws.Context, input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListApplicationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListApplicationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListApplicationsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opPutApplicationPolicy = "PutApplicationPolicy" + +// PutApplicationPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutApplicationPolicy 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 PutApplicationPolicy for more information on using the PutApplicationPolicy +// 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 PutApplicationPolicyRequest method. +// req, resp := client.PutApplicationPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/PutApplicationPolicy +func (c *ServerlessApplicationRepository) PutApplicationPolicyRequest(input *PutApplicationPolicyInput) (req *request.Request, output *PutApplicationPolicyOutput) { + op := &request.Operation{ + Name: opPutApplicationPolicy, + HTTPMethod: "PUT", + HTTPPath: "/applications/{applicationId}/policy", + } + + if input == nil { + input = &PutApplicationPolicyInput{} + } + + output = &PutApplicationPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutApplicationPolicy API operation for AWSServerlessApplicationRepository. +// +// Sets the permission policy for an application. For the list of actions supported +// for this operation, see Application Permissions (https://docs.aws.amazon.com/serverlessrepo/latest/devguide/access-control-resource-based.html#application-permissions) +// . +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSServerlessApplicationRepository's +// API operation PutApplicationPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource (for example, an access policy statement) specified in the request +// doesn't exist. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The client is sending more than the allowed number of requests per unit of +// time. +// +// * ErrCodeBadRequestException "BadRequestException" +// One of the parameters in the request is invalid. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The AWS Serverless Application Repository service encountered an internal +// error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The client is not authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/PutApplicationPolicy +func (c *ServerlessApplicationRepository) PutApplicationPolicy(input *PutApplicationPolicyInput) (*PutApplicationPolicyOutput, error) { + req, out := c.PutApplicationPolicyRequest(input) + return out, req.Send() +} + +// PutApplicationPolicyWithContext is the same as PutApplicationPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutApplicationPolicy 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 *ServerlessApplicationRepository) PutApplicationPolicyWithContext(ctx aws.Context, input *PutApplicationPolicyInput, opts ...request.Option) (*PutApplicationPolicyOutput, error) { + req, out := c.PutApplicationPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateApplication = "UpdateApplication" + +// UpdateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApplication 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 UpdateApplication for more information on using the UpdateApplication +// 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 UpdateApplicationRequest method. +// req, resp := client.UpdateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/UpdateApplication +func (c *ServerlessApplicationRepository) UpdateApplicationRequest(input *UpdateApplicationRequest) (req *request.Request, output *UpdateApplicationOutput) { + op := &request.Operation{ + Name: opUpdateApplication, + HTTPMethod: "PATCH", + HTTPPath: "/applications/{applicationId}", + } + + if input == nil { + input = &UpdateApplicationRequest{} + } + + output = &UpdateApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateApplication API operation for AWSServerlessApplicationRepository. +// +// Updates the specified application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSServerlessApplicationRepository's +// API operation UpdateApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// One of the parameters in the request is invalid. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The AWS Serverless Application Repository service encountered an internal +// error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// The client is not authenticated. +// +// * ErrCodeNotFoundException "NotFoundException" +// The resource (for example, an access policy statement) specified in the request +// doesn't exist. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The client is sending more than the allowed number of requests per unit of +// time. +// +// * ErrCodeConflictException "ConflictException" +// The resource already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/UpdateApplication +func (c *ServerlessApplicationRepository) UpdateApplication(input *UpdateApplicationRequest) (*UpdateApplicationOutput, error) { + req, out := c.UpdateApplicationRequest(input) + return out, req.Send() +} + +// UpdateApplicationWithContext is the same as UpdateApplication with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateApplication 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 *ServerlessApplicationRepository) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationRequest, opts ...request.Option) (*UpdateApplicationOutput, error) { + req, out := c.UpdateApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// A nested application summary. +type ApplicationDependencySummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the nested application. + // + // ApplicationId is a required field + ApplicationId *string `locationName:"applicationId" type:"string" required:"true"` + + // The semantic version of the nested application. + // + // SemanticVersion is a required field + SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` +} + +// String returns the string representation +func (s ApplicationDependencySummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationDependencySummary) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ApplicationDependencySummary) SetApplicationId(v string) *ApplicationDependencySummary { + s.ApplicationId = &v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *ApplicationDependencySummary) SetSemanticVersion(v string) *ApplicationDependencySummary { + s.SemanticVersion = &v + return s +} + +// Policy statement applied to the application. +type ApplicationPolicyStatement struct { + _ struct{} `type:"structure"` + + // For the list of actions supported for this operation, see Application Permissions + // (https://docs.aws.amazon.com/serverlessrepo/latest/devguide/access-control-resource-based.html#application-permissions). + // + // Actions is a required field + Actions []*string `locationName:"actions" type:"list" required:"true"` + + // An AWS account ID, or * to make the application public. + // + // Principals is a required field + Principals []*string `locationName:"principals" type:"list" required:"true"` + + // A unique ID for the statement. + StatementId *string `locationName:"statementId" type:"string"` +} + +// String returns the string representation +func (s ApplicationPolicyStatement) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationPolicyStatement) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ApplicationPolicyStatement) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ApplicationPolicyStatement"} + if s.Actions == nil { + invalidParams.Add(request.NewErrParamRequired("Actions")) + } + if s.Principals == nil { + invalidParams.Add(request.NewErrParamRequired("Principals")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActions sets the Actions field's value. +func (s *ApplicationPolicyStatement) SetActions(v []*string) *ApplicationPolicyStatement { + s.Actions = v + return s +} + +// SetPrincipals sets the Principals field's value. +func (s *ApplicationPolicyStatement) SetPrincipals(v []*string) *ApplicationPolicyStatement { + s.Principals = v + return s +} + +// SetStatementId sets the StatementId field's value. +func (s *ApplicationPolicyStatement) SetStatementId(v string) *ApplicationPolicyStatement { + s.StatementId = &v + return s +} + +// Summary of details about the application. +type ApplicationSummary struct { + _ struct{} `type:"structure"` + + // The application Amazon Resource Name (ARN). + // + // ApplicationId is a required field + ApplicationId *string `locationName:"applicationId" type:"string" required:"true"` + + // The name of the author publishing the app. + // + // Minimum length=1. Maximum length=127. + // + // Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$"; + // + // Author is a required field + Author *string `locationName:"author" type:"string" required:"true"` + + // The date and time this resource was created. + CreationTime *string `locationName:"creationTime" type:"string"` + + // The description of the application. + // + // Minimum length=1. Maximum length=256 + // + // Description is a required field + Description *string `locationName:"description" type:"string" required:"true"` + + // A URL with more information about the application, for example the location + // of your GitHub repository for the application. + HomePageUrl *string `locationName:"homePageUrl" type:"string"` + + // Labels to improve discovery of apps in search results. + // + // Minimum length=1. Maximum length=127. Maximum number of labels: 10 + // + // Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$"; + Labels []*string `locationName:"labels" type:"list"` + + // The name of the application. + // + // Minimum length=1. Maximum length=140 + // + // Pattern: "[a-zA-Z0-9\\-]+"; + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // A valid identifier from https://spdx.org/licenses/ (https://spdx.org/licenses/). + SpdxLicenseId *string `locationName:"spdxLicenseId" type:"string"` +} + +// String returns the string representation +func (s ApplicationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationSummary) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ApplicationSummary) SetApplicationId(v string) *ApplicationSummary { + s.ApplicationId = &v + return s +} + +// SetAuthor sets the Author field's value. +func (s *ApplicationSummary) SetAuthor(v string) *ApplicationSummary { + s.Author = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ApplicationSummary) SetCreationTime(v string) *ApplicationSummary { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ApplicationSummary) SetDescription(v string) *ApplicationSummary { + s.Description = &v + return s +} + +// SetHomePageUrl sets the HomePageUrl field's value. +func (s *ApplicationSummary) SetHomePageUrl(v string) *ApplicationSummary { + s.HomePageUrl = &v + return s +} + +// SetLabels sets the Labels field's value. +func (s *ApplicationSummary) SetLabels(v []*string) *ApplicationSummary { + s.Labels = v + return s +} + +// SetName sets the Name field's value. +func (s *ApplicationSummary) SetName(v string) *ApplicationSummary { + s.Name = &v + return s +} + +// SetSpdxLicenseId sets the SpdxLicenseId field's value. +func (s *ApplicationSummary) SetSpdxLicenseId(v string) *ApplicationSummary { + s.SpdxLicenseId = &v + return s +} + +type CreateApplicationOutput struct { + _ struct{} `type:"structure"` + + ApplicationId *string `locationName:"applicationId" type:"string"` + + Author *string `locationName:"author" type:"string"` + + CreationTime *string `locationName:"creationTime" type:"string"` + + Description *string `locationName:"description" type:"string"` + + HomePageUrl *string `locationName:"homePageUrl" type:"string"` + + Labels []*string `locationName:"labels" type:"list"` + + LicenseUrl *string `locationName:"licenseUrl" type:"string"` + + Name *string `locationName:"name" type:"string"` + + ReadmeUrl *string `locationName:"readmeUrl" type:"string"` + + SpdxLicenseId *string `locationName:"spdxLicenseId" type:"string"` + + // Application version details. + Version *Version `locationName:"version" type:"structure"` +} + +// String returns the string representation +func (s CreateApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApplicationOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateApplicationOutput) SetApplicationId(v string) *CreateApplicationOutput { + s.ApplicationId = &v + return s +} + +// SetAuthor sets the Author field's value. +func (s *CreateApplicationOutput) SetAuthor(v string) *CreateApplicationOutput { + s.Author = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *CreateApplicationOutput) SetCreationTime(v string) *CreateApplicationOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateApplicationOutput) SetDescription(v string) *CreateApplicationOutput { + s.Description = &v + return s +} + +// SetHomePageUrl sets the HomePageUrl field's value. +func (s *CreateApplicationOutput) SetHomePageUrl(v string) *CreateApplicationOutput { + s.HomePageUrl = &v + return s +} + +// SetLabels sets the Labels field's value. +func (s *CreateApplicationOutput) SetLabels(v []*string) *CreateApplicationOutput { + s.Labels = v + return s +} + +// SetLicenseUrl sets the LicenseUrl field's value. +func (s *CreateApplicationOutput) SetLicenseUrl(v string) *CreateApplicationOutput { + s.LicenseUrl = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateApplicationOutput) SetName(v string) *CreateApplicationOutput { + s.Name = &v + return s +} + +// SetReadmeUrl sets the ReadmeUrl field's value. +func (s *CreateApplicationOutput) SetReadmeUrl(v string) *CreateApplicationOutput { + s.ReadmeUrl = &v + return s +} + +// SetSpdxLicenseId sets the SpdxLicenseId field's value. +func (s *CreateApplicationOutput) SetSpdxLicenseId(v string) *CreateApplicationOutput { + s.SpdxLicenseId = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *CreateApplicationOutput) SetVersion(v *Version) *CreateApplicationOutput { + s.Version = v + return s +} + +type CreateApplicationRequest struct { + _ struct{} `type:"structure"` + + // Author is a required field + Author *string `locationName:"author" type:"string" required:"true"` + + // Description is a required field + Description *string `locationName:"description" type:"string" required:"true"` + + HomePageUrl *string `locationName:"homePageUrl" type:"string"` + + Labels []*string `locationName:"labels" type:"list"` + + LicenseBody *string `locationName:"licenseBody" type:"string"` + + LicenseUrl *string `locationName:"licenseUrl" type:"string"` + + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + ReadmeBody *string `locationName:"readmeBody" type:"string"` + + ReadmeUrl *string `locationName:"readmeUrl" type:"string"` + + SemanticVersion *string `locationName:"semanticVersion" type:"string"` + + SourceCodeUrl *string `locationName:"sourceCodeUrl" type:"string"` + + SpdxLicenseId *string `locationName:"spdxLicenseId" type:"string"` + + TemplateBody *string `locationName:"templateBody" type:"string"` + + TemplateUrl *string `locationName:"templateUrl" type:"string"` +} + +// String returns the string representation +func (s CreateApplicationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApplicationRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateApplicationRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateApplicationRequest"} + if s.Author == nil { + invalidParams.Add(request.NewErrParamRequired("Author")) + } + if s.Description == nil { + invalidParams.Add(request.NewErrParamRequired("Description")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthor sets the Author field's value. +func (s *CreateApplicationRequest) SetAuthor(v string) *CreateApplicationRequest { + s.Author = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateApplicationRequest) SetDescription(v string) *CreateApplicationRequest { + s.Description = &v + return s +} + +// SetHomePageUrl sets the HomePageUrl field's value. +func (s *CreateApplicationRequest) SetHomePageUrl(v string) *CreateApplicationRequest { + s.HomePageUrl = &v + return s +} + +// SetLabels sets the Labels field's value. +func (s *CreateApplicationRequest) SetLabels(v []*string) *CreateApplicationRequest { + s.Labels = v + return s +} + +// SetLicenseBody sets the LicenseBody field's value. +func (s *CreateApplicationRequest) SetLicenseBody(v string) *CreateApplicationRequest { + s.LicenseBody = &v + return s +} + +// SetLicenseUrl sets the LicenseUrl field's value. +func (s *CreateApplicationRequest) SetLicenseUrl(v string) *CreateApplicationRequest { + s.LicenseUrl = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateApplicationRequest) SetName(v string) *CreateApplicationRequest { + s.Name = &v + return s +} + +// SetReadmeBody sets the ReadmeBody field's value. +func (s *CreateApplicationRequest) SetReadmeBody(v string) *CreateApplicationRequest { + s.ReadmeBody = &v + return s +} + +// SetReadmeUrl sets the ReadmeUrl field's value. +func (s *CreateApplicationRequest) SetReadmeUrl(v string) *CreateApplicationRequest { + s.ReadmeUrl = &v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *CreateApplicationRequest) SetSemanticVersion(v string) *CreateApplicationRequest { + s.SemanticVersion = &v + return s +} + +// SetSourceCodeUrl sets the SourceCodeUrl field's value. +func (s *CreateApplicationRequest) SetSourceCodeUrl(v string) *CreateApplicationRequest { + s.SourceCodeUrl = &v + return s +} + +// SetSpdxLicenseId sets the SpdxLicenseId field's value. +func (s *CreateApplicationRequest) SetSpdxLicenseId(v string) *CreateApplicationRequest { + s.SpdxLicenseId = &v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *CreateApplicationRequest) SetTemplateBody(v string) *CreateApplicationRequest { + s.TemplateBody = &v + return s +} + +// SetTemplateUrl sets the TemplateUrl field's value. +func (s *CreateApplicationRequest) SetTemplateUrl(v string) *CreateApplicationRequest { + s.TemplateUrl = &v + return s +} + +type CreateApplicationVersionOutput struct { + _ struct{} `type:"structure"` + + ApplicationId *string `locationName:"applicationId" type:"string"` + + CreationTime *string `locationName:"creationTime" type:"string"` + + ParameterDefinitions []*ParameterDefinition `locationName:"parameterDefinitions" type:"list"` + + RequiredCapabilities []*string `locationName:"requiredCapabilities" type:"list"` + + ResourcesSupported *bool `locationName:"resourcesSupported" type:"boolean"` + + SemanticVersion *string `locationName:"semanticVersion" type:"string"` + + SourceCodeUrl *string `locationName:"sourceCodeUrl" type:"string"` + + TemplateUrl *string `locationName:"templateUrl" type:"string"` +} + +// String returns the string representation +func (s CreateApplicationVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApplicationVersionOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateApplicationVersionOutput) SetApplicationId(v string) *CreateApplicationVersionOutput { + s.ApplicationId = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *CreateApplicationVersionOutput) SetCreationTime(v string) *CreateApplicationVersionOutput { + s.CreationTime = &v + return s +} + +// SetParameterDefinitions sets the ParameterDefinitions field's value. +func (s *CreateApplicationVersionOutput) SetParameterDefinitions(v []*ParameterDefinition) *CreateApplicationVersionOutput { + s.ParameterDefinitions = v + return s +} + +// SetRequiredCapabilities sets the RequiredCapabilities field's value. +func (s *CreateApplicationVersionOutput) SetRequiredCapabilities(v []*string) *CreateApplicationVersionOutput { + s.RequiredCapabilities = v + return s +} + +// SetResourcesSupported sets the ResourcesSupported field's value. +func (s *CreateApplicationVersionOutput) SetResourcesSupported(v bool) *CreateApplicationVersionOutput { + s.ResourcesSupported = &v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *CreateApplicationVersionOutput) SetSemanticVersion(v string) *CreateApplicationVersionOutput { + s.SemanticVersion = &v + return s +} + +// SetSourceCodeUrl sets the SourceCodeUrl field's value. +func (s *CreateApplicationVersionOutput) SetSourceCodeUrl(v string) *CreateApplicationVersionOutput { + s.SourceCodeUrl = &v + return s +} + +// SetTemplateUrl sets the TemplateUrl field's value. +func (s *CreateApplicationVersionOutput) SetTemplateUrl(v string) *CreateApplicationVersionOutput { + s.TemplateUrl = &v + return s +} + +type CreateApplicationVersionRequest struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"` + + // SemanticVersion is a required field + SemanticVersion *string `location:"uri" locationName:"semanticVersion" type:"string" required:"true"` + + SourceCodeUrl *string `locationName:"sourceCodeUrl" type:"string"` + + TemplateBody *string `locationName:"templateBody" type:"string"` + + TemplateUrl *string `locationName:"templateUrl" type:"string"` +} + +// String returns the string representation +func (s CreateApplicationVersionRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApplicationVersionRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateApplicationVersionRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateApplicationVersionRequest"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.SemanticVersion == nil { + invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) + } + if s.SemanticVersion != nil && len(*s.SemanticVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SemanticVersion", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateApplicationVersionRequest) SetApplicationId(v string) *CreateApplicationVersionRequest { + s.ApplicationId = &v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *CreateApplicationVersionRequest) SetSemanticVersion(v string) *CreateApplicationVersionRequest { + s.SemanticVersion = &v + return s +} + +// SetSourceCodeUrl sets the SourceCodeUrl field's value. +func (s *CreateApplicationVersionRequest) SetSourceCodeUrl(v string) *CreateApplicationVersionRequest { + s.SourceCodeUrl = &v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *CreateApplicationVersionRequest) SetTemplateBody(v string) *CreateApplicationVersionRequest { + s.TemplateBody = &v + return s +} + +// SetTemplateUrl sets the TemplateUrl field's value. +func (s *CreateApplicationVersionRequest) SetTemplateUrl(v string) *CreateApplicationVersionRequest { + s.TemplateUrl = &v + return s +} + +type CreateCloudFormationChangeSetOutput struct { + _ struct{} `type:"structure"` + + ApplicationId *string `locationName:"applicationId" type:"string"` + + ChangeSetId *string `locationName:"changeSetId" type:"string"` + + SemanticVersion *string `locationName:"semanticVersion" type:"string"` + + StackId *string `locationName:"stackId" type:"string"` +} + +// String returns the string representation +func (s CreateCloudFormationChangeSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCloudFormationChangeSetOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateCloudFormationChangeSetOutput) SetApplicationId(v string) *CreateCloudFormationChangeSetOutput { + s.ApplicationId = &v + return s +} + +// SetChangeSetId sets the ChangeSetId field's value. +func (s *CreateCloudFormationChangeSetOutput) SetChangeSetId(v string) *CreateCloudFormationChangeSetOutput { + s.ChangeSetId = &v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *CreateCloudFormationChangeSetOutput) SetSemanticVersion(v string) *CreateCloudFormationChangeSetOutput { + s.SemanticVersion = &v + return s +} + +// SetStackId sets the StackId field's value. +func (s *CreateCloudFormationChangeSetOutput) SetStackId(v string) *CreateCloudFormationChangeSetOutput { + s.StackId = &v + return s +} + +type CreateCloudFormationChangeSetRequest struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"` + + Capabilities []*string `locationName:"capabilities" type:"list"` + + ChangeSetName *string `locationName:"changeSetName" type:"string"` + + ClientToken *string `locationName:"clientToken" type:"string"` + + Description *string `locationName:"description" type:"string"` + + NotificationArns []*string `locationName:"notificationArns" type:"list"` + + ParameterOverrides []*ParameterValue `locationName:"parameterOverrides" type:"list"` + + ResourceTypes []*string `locationName:"resourceTypes" type:"list"` + + // This property corresponds to the AWS CloudFormation RollbackConfiguration + // (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackConfiguration) + // Data Type. + RollbackConfiguration *RollbackConfiguration `locationName:"rollbackConfiguration" type:"structure"` + + SemanticVersion *string `locationName:"semanticVersion" type:"string"` + + // StackName is a required field + StackName *string `locationName:"stackName" type:"string" required:"true"` + + Tags []*Tag `locationName:"tags" type:"list"` + + TemplateId *string `locationName:"templateId" type:"string"` +} + +// String returns the string representation +func (s CreateCloudFormationChangeSetRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCloudFormationChangeSetRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCloudFormationChangeSetRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationChangeSetRequest"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.StackName == nil { + invalidParams.Add(request.NewErrParamRequired("StackName")) + } + if s.ParameterOverrides != nil { + for i, v := range s.ParameterOverrides { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterOverrides", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RollbackConfiguration != nil { + if err := s.RollbackConfiguration.Validate(); err != nil { + invalidParams.AddNested("RollbackConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateCloudFormationChangeSetRequest) SetApplicationId(v string) *CreateCloudFormationChangeSetRequest { + s.ApplicationId = &v + return s +} + +// SetCapabilities sets the Capabilities field's value. +func (s *CreateCloudFormationChangeSetRequest) SetCapabilities(v []*string) *CreateCloudFormationChangeSetRequest { + s.Capabilities = v + return s +} + +// SetChangeSetName sets the ChangeSetName field's value. +func (s *CreateCloudFormationChangeSetRequest) SetChangeSetName(v string) *CreateCloudFormationChangeSetRequest { + s.ChangeSetName = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateCloudFormationChangeSetRequest) SetClientToken(v string) *CreateCloudFormationChangeSetRequest { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateCloudFormationChangeSetRequest) SetDescription(v string) *CreateCloudFormationChangeSetRequest { + s.Description = &v + return s +} + +// SetNotificationArns sets the NotificationArns field's value. +func (s *CreateCloudFormationChangeSetRequest) SetNotificationArns(v []*string) *CreateCloudFormationChangeSetRequest { + s.NotificationArns = v + return s +} + +// SetParameterOverrides sets the ParameterOverrides field's value. +func (s *CreateCloudFormationChangeSetRequest) SetParameterOverrides(v []*ParameterValue) *CreateCloudFormationChangeSetRequest { + s.ParameterOverrides = v + return s +} + +// SetResourceTypes sets the ResourceTypes field's value. +func (s *CreateCloudFormationChangeSetRequest) SetResourceTypes(v []*string) *CreateCloudFormationChangeSetRequest { + s.ResourceTypes = v + return s +} + +// SetRollbackConfiguration sets the RollbackConfiguration field's value. +func (s *CreateCloudFormationChangeSetRequest) SetRollbackConfiguration(v *RollbackConfiguration) *CreateCloudFormationChangeSetRequest { + s.RollbackConfiguration = v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *CreateCloudFormationChangeSetRequest) SetSemanticVersion(v string) *CreateCloudFormationChangeSetRequest { + s.SemanticVersion = &v + return s +} + +// SetStackName sets the StackName field's value. +func (s *CreateCloudFormationChangeSetRequest) SetStackName(v string) *CreateCloudFormationChangeSetRequest { + s.StackName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateCloudFormationChangeSetRequest) SetTags(v []*Tag) *CreateCloudFormationChangeSetRequest { + s.Tags = v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *CreateCloudFormationChangeSetRequest) SetTemplateId(v string) *CreateCloudFormationChangeSetRequest { + s.TemplateId = &v + return s +} + +type CreateCloudFormationTemplateInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"` + + SemanticVersion *string `locationName:"semanticVersion" type:"string"` +} + +// String returns the string representation +func (s CreateCloudFormationTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCloudFormationTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCloudFormationTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationTemplateInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateCloudFormationTemplateInput) SetApplicationId(v string) *CreateCloudFormationTemplateInput { + s.ApplicationId = &v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *CreateCloudFormationTemplateInput) SetSemanticVersion(v string) *CreateCloudFormationTemplateInput { + s.SemanticVersion = &v + return s +} + +type CreateCloudFormationTemplateOutput struct { + _ struct{} `type:"structure"` + + ApplicationId *string `locationName:"applicationId" type:"string"` + + CreationTime *string `locationName:"creationTime" type:"string"` + + ExpirationTime *string `locationName:"expirationTime" type:"string"` + + SemanticVersion *string `locationName:"semanticVersion" type:"string"` + + Status *string `locationName:"status" type:"string" enum:"Status"` + + TemplateId *string `locationName:"templateId" type:"string"` + + TemplateUrl *string `locationName:"templateUrl" type:"string"` +} + +// String returns the string representation +func (s CreateCloudFormationTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCloudFormationTemplateOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateCloudFormationTemplateOutput) SetApplicationId(v string) *CreateCloudFormationTemplateOutput { + s.ApplicationId = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *CreateCloudFormationTemplateOutput) SetCreationTime(v string) *CreateCloudFormationTemplateOutput { + s.CreationTime = &v + return s +} + +// SetExpirationTime sets the ExpirationTime field's value. +func (s *CreateCloudFormationTemplateOutput) SetExpirationTime(v string) *CreateCloudFormationTemplateOutput { + s.ExpirationTime = &v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *CreateCloudFormationTemplateOutput) SetSemanticVersion(v string) *CreateCloudFormationTemplateOutput { + s.SemanticVersion = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateCloudFormationTemplateOutput) SetStatus(v string) *CreateCloudFormationTemplateOutput { + s.Status = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *CreateCloudFormationTemplateOutput) SetTemplateId(v string) *CreateCloudFormationTemplateOutput { + s.TemplateId = &v + return s +} + +// SetTemplateUrl sets the TemplateUrl field's value. +func (s *CreateCloudFormationTemplateOutput) SetTemplateUrl(v string) *CreateCloudFormationTemplateOutput { + s.TemplateUrl = &v + return s +} + +type DeleteApplicationInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteApplicationInput) SetApplicationId(v string) *DeleteApplicationInput { + s.ApplicationId = &v + return s +} + +type DeleteApplicationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationOutput) GoString() string { + return s.String() +} + +type GetApplicationInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"` + + SemanticVersion *string `location:"querystring" locationName:"semanticVersion" type:"string"` +} + +// String returns the string representation +func (s GetApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApplicationInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetApplicationInput) SetApplicationId(v string) *GetApplicationInput { + s.ApplicationId = &v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *GetApplicationInput) SetSemanticVersion(v string) *GetApplicationInput { + s.SemanticVersion = &v + return s +} + +type GetApplicationOutput struct { + _ struct{} `type:"structure"` + + ApplicationId *string `locationName:"applicationId" type:"string"` + + Author *string `locationName:"author" type:"string"` + + CreationTime *string `locationName:"creationTime" type:"string"` + + Description *string `locationName:"description" type:"string"` + + HomePageUrl *string `locationName:"homePageUrl" type:"string"` + + Labels []*string `locationName:"labels" type:"list"` + + LicenseUrl *string `locationName:"licenseUrl" type:"string"` + + Name *string `locationName:"name" type:"string"` + + ReadmeUrl *string `locationName:"readmeUrl" type:"string"` + + SpdxLicenseId *string `locationName:"spdxLicenseId" type:"string"` + + // Application version details. + Version *Version `locationName:"version" type:"structure"` +} + +// String returns the string representation +func (s GetApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApplicationOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetApplicationOutput) SetApplicationId(v string) *GetApplicationOutput { + s.ApplicationId = &v + return s +} + +// SetAuthor sets the Author field's value. +func (s *GetApplicationOutput) SetAuthor(v string) *GetApplicationOutput { + s.Author = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *GetApplicationOutput) SetCreationTime(v string) *GetApplicationOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetApplicationOutput) SetDescription(v string) *GetApplicationOutput { + s.Description = &v + return s +} + +// SetHomePageUrl sets the HomePageUrl field's value. +func (s *GetApplicationOutput) SetHomePageUrl(v string) *GetApplicationOutput { + s.HomePageUrl = &v + return s +} + +// SetLabels sets the Labels field's value. +func (s *GetApplicationOutput) SetLabels(v []*string) *GetApplicationOutput { + s.Labels = v + return s +} + +// SetLicenseUrl sets the LicenseUrl field's value. +func (s *GetApplicationOutput) SetLicenseUrl(v string) *GetApplicationOutput { + s.LicenseUrl = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetApplicationOutput) SetName(v string) *GetApplicationOutput { + s.Name = &v + return s +} + +// SetReadmeUrl sets the ReadmeUrl field's value. +func (s *GetApplicationOutput) SetReadmeUrl(v string) *GetApplicationOutput { + s.ReadmeUrl = &v + return s +} + +// SetSpdxLicenseId sets the SpdxLicenseId field's value. +func (s *GetApplicationOutput) SetSpdxLicenseId(v string) *GetApplicationOutput { + s.SpdxLicenseId = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *GetApplicationOutput) SetVersion(v *Version) *GetApplicationOutput { + s.Version = v + return s +} + +type GetApplicationPolicyInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetApplicationPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApplicationPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApplicationPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApplicationPolicyInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetApplicationPolicyInput) SetApplicationId(v string) *GetApplicationPolicyInput { + s.ApplicationId = &v + return s +} + +type GetApplicationPolicyOutput struct { + _ struct{} `type:"structure"` + + Statements []*ApplicationPolicyStatement `locationName:"statements" type:"list"` +} + +// String returns the string representation +func (s GetApplicationPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApplicationPolicyOutput) GoString() string { + return s.String() +} + +// SetStatements sets the Statements field's value. +func (s *GetApplicationPolicyOutput) SetStatements(v []*ApplicationPolicyStatement) *GetApplicationPolicyOutput { + s.Statements = v + return s +} + +type GetCloudFormationTemplateInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"` + + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"templateId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetCloudFormationTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCloudFormationTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCloudFormationTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCloudFormationTemplateInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetCloudFormationTemplateInput) SetApplicationId(v string) *GetCloudFormationTemplateInput { + s.ApplicationId = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *GetCloudFormationTemplateInput) SetTemplateId(v string) *GetCloudFormationTemplateInput { + s.TemplateId = &v + return s +} + +type GetCloudFormationTemplateOutput struct { + _ struct{} `type:"structure"` + + ApplicationId *string `locationName:"applicationId" type:"string"` + + CreationTime *string `locationName:"creationTime" type:"string"` + + ExpirationTime *string `locationName:"expirationTime" type:"string"` + + SemanticVersion *string `locationName:"semanticVersion" type:"string"` + + Status *string `locationName:"status" type:"string" enum:"Status"` + + TemplateId *string `locationName:"templateId" type:"string"` + + TemplateUrl *string `locationName:"templateUrl" type:"string"` +} + +// String returns the string representation +func (s GetCloudFormationTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCloudFormationTemplateOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetCloudFormationTemplateOutput) SetApplicationId(v string) *GetCloudFormationTemplateOutput { + s.ApplicationId = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *GetCloudFormationTemplateOutput) SetCreationTime(v string) *GetCloudFormationTemplateOutput { + s.CreationTime = &v + return s +} + +// SetExpirationTime sets the ExpirationTime field's value. +func (s *GetCloudFormationTemplateOutput) SetExpirationTime(v string) *GetCloudFormationTemplateOutput { + s.ExpirationTime = &v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *GetCloudFormationTemplateOutput) SetSemanticVersion(v string) *GetCloudFormationTemplateOutput { + s.SemanticVersion = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetCloudFormationTemplateOutput) SetStatus(v string) *GetCloudFormationTemplateOutput { + s.Status = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *GetCloudFormationTemplateOutput) SetTemplateId(v string) *GetCloudFormationTemplateOutput { + s.TemplateId = &v + return s +} + +// SetTemplateUrl sets the TemplateUrl field's value. +func (s *GetCloudFormationTemplateOutput) SetTemplateUrl(v string) *GetCloudFormationTemplateOutput { + s.TemplateUrl = &v + return s +} + +type ListApplicationDependenciesInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"` + + MaxItems *int64 `location:"querystring" locationName:"maxItems" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + SemanticVersion *string `location:"querystring" locationName:"semanticVersion" type:"string"` +} + +// String returns the string representation +func (s ListApplicationDependenciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationDependenciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListApplicationDependenciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListApplicationDependenciesInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.MaxItems != nil && *s.MaxItems < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ListApplicationDependenciesInput) SetApplicationId(v string) *ListApplicationDependenciesInput { + s.ApplicationId = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *ListApplicationDependenciesInput) SetMaxItems(v int64) *ListApplicationDependenciesInput { + s.MaxItems = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationDependenciesInput) SetNextToken(v string) *ListApplicationDependenciesInput { + s.NextToken = &v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *ListApplicationDependenciesInput) SetSemanticVersion(v string) *ListApplicationDependenciesInput { + s.SemanticVersion = &v + return s +} + +type ListApplicationDependenciesOutput struct { + _ struct{} `type:"structure"` + + Dependencies []*ApplicationDependencySummary `locationName:"dependencies" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListApplicationDependenciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationDependenciesOutput) GoString() string { + return s.String() +} + +// SetDependencies sets the Dependencies field's value. +func (s *ListApplicationDependenciesOutput) SetDependencies(v []*ApplicationDependencySummary) *ListApplicationDependenciesOutput { + s.Dependencies = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationDependenciesOutput) SetNextToken(v string) *ListApplicationDependenciesOutput { + s.NextToken = &v + return s +} + +type ListApplicationVersionsInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"` + + MaxItems *int64 `location:"querystring" locationName:"maxItems" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListApplicationVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListApplicationVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListApplicationVersionsInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.MaxItems != nil && *s.MaxItems < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ListApplicationVersionsInput) SetApplicationId(v string) *ListApplicationVersionsInput { + s.ApplicationId = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *ListApplicationVersionsInput) SetMaxItems(v int64) *ListApplicationVersionsInput { + s.MaxItems = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationVersionsInput) SetNextToken(v string) *ListApplicationVersionsInput { + s.NextToken = &v + return s +} + +type ListApplicationVersionsOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` + + Versions []*VersionSummary `locationName:"versions" type:"list"` +} + +// String returns the string representation +func (s ListApplicationVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationVersionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationVersionsOutput) SetNextToken(v string) *ListApplicationVersionsOutput { + s.NextToken = &v + return s +} + +// SetVersions sets the Versions field's value. +func (s *ListApplicationVersionsOutput) SetVersions(v []*VersionSummary) *ListApplicationVersionsOutput { + s.Versions = v + return s +} + +type ListApplicationsInput struct { + _ struct{} `type:"structure"` + + MaxItems *int64 `location:"querystring" locationName:"maxItems" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListApplicationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListApplicationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"} + if s.MaxItems != nil && *s.MaxItems < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxItems sets the MaxItems field's value. +func (s *ListApplicationsInput) SetMaxItems(v int64) *ListApplicationsInput { + s.MaxItems = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput { + s.NextToken = &v + return s +} + +type ListApplicationsOutput struct { + _ struct{} `type:"structure"` + + Applications []*ApplicationSummary `locationName:"applications" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListApplicationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationsOutput) GoString() string { + return s.String() +} + +// SetApplications sets the Applications field's value. +func (s *ListApplicationsOutput) SetApplications(v []*ApplicationSummary) *ListApplicationsOutput { + s.Applications = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput { + s.NextToken = &v + return s +} + +// Parameters supported by the application. +type ParameterDefinition struct { + _ struct{} `type:"structure"` + + // A regular expression that represents the patterns to allow for String types. + AllowedPattern *string `locationName:"allowedPattern" type:"string"` + + // An array containing the list of values allowed for the parameter. + AllowedValues []*string `locationName:"allowedValues" type:"list"` + + // A string that explains a constraint when the constraint is violated. For + // example, without a constraint description, a parameter that has an allowed + // pattern of [A-Za-z0-9]+ displays the following error message when the user + // specifies an invalid value: + // + // Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+ + // + // By adding a constraint description, such as "must contain only uppercase + // and lowercase letters and numbers," you can display the following customized + // error message: + // + // Malformed input-Parameter MyParameter must contain only uppercase and lowercase + // letters and numbers. + ConstraintDescription *string `locationName:"constraintDescription" type:"string"` + + // A value of the appropriate type for the template to use if no value is specified + // when a stack is created. If you define constraints for the parameter, you + // must specify a value that adheres to those constraints. + DefaultValue *string `locationName:"defaultValue" type:"string"` + + // A string of up to 4,000 characters that describes the parameter. + Description *string `locationName:"description" type:"string"` + + // An integer value that determines the largest number of characters that you + // want to allow for String types. + MaxLength *int64 `locationName:"maxLength" type:"integer"` + + // A numeric value that determines the largest numeric value that you want to + // allow for Number types. + MaxValue *int64 `locationName:"maxValue" type:"integer"` + + // An integer value that determines the smallest number of characters that you + // want to allow for String types. + MinLength *int64 `locationName:"minLength" type:"integer"` + + // A numeric value that determines the smallest numeric value that you want + // to allow for Number types. + MinValue *int64 `locationName:"minValue" type:"integer"` + + // The name of the parameter. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Whether to mask the parameter value whenever anyone makes a call that describes + // the stack. If you set the value to true, the parameter value is masked with + // asterisks (*****). + NoEcho *bool `locationName:"noEcho" type:"boolean"` + + // A list of AWS SAM resources that use this parameter. + // + // ReferencedByResources is a required field + ReferencedByResources []*string `locationName:"referencedByResources" type:"list" required:"true"` + + // The type of the parameter. + // + // Valid values: String | Number | List | CommaDelimitedList + // + // String: A literal string. + // + // For example, users can specify "MyUserName". + // + // Number: An integer or float. AWS CloudFormation validates the parameter value + // as a number. However, when you use the parameter elsewhere in your template + // (for example, by using the Ref intrinsic function), the parameter value becomes + // a string. + // + // For example, users might specify "8888". + // + // List: An array of integers or floats that are separated by commas. + // AWS CloudFormation validates the parameter value as numbers. However, when + // you use the parameter elsewhere in your template (for example, by using the + // Ref intrinsic function), the parameter value becomes a list of strings. + // + // For example, users might specify "80,20", and then Ref results in ["80","20"]. + // + // CommaDelimitedList: An array of literal strings that are separated by commas. + // The total number of strings should be one more than the total number of commas. + // Also, each member string is space-trimmed. + // + // For example, users might specify "test,dev,prod", and then Ref results in + // ["test","dev","prod"]. + Type *string `locationName:"type" type:"string"` +} + +// String returns the string representation +func (s ParameterDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterDefinition) GoString() string { + return s.String() +} + +// SetAllowedPattern sets the AllowedPattern field's value. +func (s *ParameterDefinition) SetAllowedPattern(v string) *ParameterDefinition { + s.AllowedPattern = &v + return s +} + +// SetAllowedValues sets the AllowedValues field's value. +func (s *ParameterDefinition) SetAllowedValues(v []*string) *ParameterDefinition { + s.AllowedValues = v + return s +} + +// SetConstraintDescription sets the ConstraintDescription field's value. +func (s *ParameterDefinition) SetConstraintDescription(v string) *ParameterDefinition { + s.ConstraintDescription = &v + return s +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *ParameterDefinition) SetDefaultValue(v string) *ParameterDefinition { + s.DefaultValue = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ParameterDefinition) SetDescription(v string) *ParameterDefinition { + s.Description = &v + return s +} + +// SetMaxLength sets the MaxLength field's value. +func (s *ParameterDefinition) SetMaxLength(v int64) *ParameterDefinition { + s.MaxLength = &v + return s +} + +// SetMaxValue sets the MaxValue field's value. +func (s *ParameterDefinition) SetMaxValue(v int64) *ParameterDefinition { + s.MaxValue = &v + return s +} + +// SetMinLength sets the MinLength field's value. +func (s *ParameterDefinition) SetMinLength(v int64) *ParameterDefinition { + s.MinLength = &v + return s +} + +// SetMinValue sets the MinValue field's value. +func (s *ParameterDefinition) SetMinValue(v int64) *ParameterDefinition { + s.MinValue = &v + return s +} + +// SetName sets the Name field's value. +func (s *ParameterDefinition) SetName(v string) *ParameterDefinition { + s.Name = &v + return s +} + +// SetNoEcho sets the NoEcho field's value. +func (s *ParameterDefinition) SetNoEcho(v bool) *ParameterDefinition { + s.NoEcho = &v + return s +} + +// SetReferencedByResources sets the ReferencedByResources field's value. +func (s *ParameterDefinition) SetReferencedByResources(v []*string) *ParameterDefinition { + s.ReferencedByResources = v + return s +} + +// SetType sets the Type field's value. +func (s *ParameterDefinition) SetType(v string) *ParameterDefinition { + s.Type = &v + return s +} + +// Parameter value of the application. +type ParameterValue struct { + _ struct{} `type:"structure"` + + // The key associated with the parameter. If you don't specify a key and value + // for a particular parameter, AWS CloudFormation uses the default value that + // is specified in your template. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The input value associated with the parameter. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true"` +} + +// String returns the string representation +func (s ParameterValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParameterValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParameterValue"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *ParameterValue) SetName(v string) *ParameterValue { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ParameterValue) SetValue(v string) *ParameterValue { + s.Value = &v + return s +} + +type PutApplicationPolicyInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"` + + // Statements is a required field + Statements []*ApplicationPolicyStatement `locationName:"statements" type:"list" required:"true"` +} + +// String returns the string representation +func (s PutApplicationPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutApplicationPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutApplicationPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutApplicationPolicyInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.Statements == nil { + invalidParams.Add(request.NewErrParamRequired("Statements")) + } + if s.Statements != nil { + for i, v := range s.Statements { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Statements", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *PutApplicationPolicyInput) SetApplicationId(v string) *PutApplicationPolicyInput { + s.ApplicationId = &v + return s +} + +// SetStatements sets the Statements field's value. +func (s *PutApplicationPolicyInput) SetStatements(v []*ApplicationPolicyStatement) *PutApplicationPolicyInput { + s.Statements = v + return s +} + +type PutApplicationPolicyOutput struct { + _ struct{} `type:"structure"` + + Statements []*ApplicationPolicyStatement `locationName:"statements" type:"list"` +} + +// String returns the string representation +func (s PutApplicationPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutApplicationPolicyOutput) GoString() string { + return s.String() +} + +// SetStatements sets the Statements field's value. +func (s *PutApplicationPolicyOutput) SetStatements(v []*ApplicationPolicyStatement) *PutApplicationPolicyOutput { + s.Statements = v + return s +} + +// This property corresponds to the AWS CloudFormation RollbackConfiguration +// (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackConfiguration) +// Data Type. +type RollbackConfiguration struct { + _ struct{} `type:"structure"` + + // This property corresponds to the content of the same name for the AWS CloudFormation + // RollbackConfiguration (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackConfiguration) + // Data Type. + MonitoringTimeInMinutes *int64 `locationName:"monitoringTimeInMinutes" type:"integer"` + + // This property corresponds to the content of the same name for the AWS CloudFormation + // RollbackConfiguration (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackConfiguration) + // Data Type. + RollbackTriggers []*RollbackTrigger `locationName:"rollbackTriggers" type:"list"` +} + +// String returns the string representation +func (s RollbackConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RollbackConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RollbackConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RollbackConfiguration"} + if s.RollbackTriggers != nil { + for i, v := range s.RollbackTriggers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RollbackTriggers", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMonitoringTimeInMinutes sets the MonitoringTimeInMinutes field's value. +func (s *RollbackConfiguration) SetMonitoringTimeInMinutes(v int64) *RollbackConfiguration { + s.MonitoringTimeInMinutes = &v + return s +} + +// SetRollbackTriggers sets the RollbackTriggers field's value. +func (s *RollbackConfiguration) SetRollbackTriggers(v []*RollbackTrigger) *RollbackConfiguration { + s.RollbackTriggers = v + return s +} + +// This property corresponds to the AWS CloudFormation RollbackTrigger (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackTrigger) +// Data Type. +type RollbackTrigger struct { + _ struct{} `type:"structure"` + + // This property corresponds to the content of the same name for the AWS CloudFormation + // RollbackTrigger (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackTrigger) + // Data Type. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // This property corresponds to the content of the same name for the AWS CloudFormation + // RollbackTrigger (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackTrigger) + // Data Type. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true"` +} + +// String returns the string representation +func (s RollbackTrigger) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RollbackTrigger) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RollbackTrigger) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RollbackTrigger"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *RollbackTrigger) SetArn(v string) *RollbackTrigger { + s.Arn = &v + return s +} + +// SetType sets the Type field's value. +func (s *RollbackTrigger) SetType(v string) *RollbackTrigger { + s.Type = &v + return s +} + +// This property corresponds to the AWS CloudFormation Tag (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/Tag) +// Data Type. +type Tag struct { + _ struct{} `type:"structure"` + + // This property corresponds to the content of the same name for the AWS CloudFormation + // Tag (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/Tag) + // Data Type. + // + // Key is a required field + Key *string `locationName:"key" type:"string" required:"true"` + + // This property corresponds to the content of the same name for the AWS CloudFormation + // Tag (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/Tag) + // Data Type. + // + // Value is a required field + Value *string `locationName:"value" 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.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type UpdateApplicationOutput struct { + _ struct{} `type:"structure"` + + ApplicationId *string `locationName:"applicationId" type:"string"` + + Author *string `locationName:"author" type:"string"` + + CreationTime *string `locationName:"creationTime" type:"string"` + + Description *string `locationName:"description" type:"string"` + + HomePageUrl *string `locationName:"homePageUrl" type:"string"` + + Labels []*string `locationName:"labels" type:"list"` + + LicenseUrl *string `locationName:"licenseUrl" type:"string"` + + Name *string `locationName:"name" type:"string"` + + ReadmeUrl *string `locationName:"readmeUrl" type:"string"` + + SpdxLicenseId *string `locationName:"spdxLicenseId" type:"string"` + + // Application version details. + Version *Version `locationName:"version" type:"structure"` +} + +// String returns the string representation +func (s UpdateApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApplicationOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *UpdateApplicationOutput) SetApplicationId(v string) *UpdateApplicationOutput { + s.ApplicationId = &v + return s +} + +// SetAuthor sets the Author field's value. +func (s *UpdateApplicationOutput) SetAuthor(v string) *UpdateApplicationOutput { + s.Author = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *UpdateApplicationOutput) SetCreationTime(v string) *UpdateApplicationOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateApplicationOutput) SetDescription(v string) *UpdateApplicationOutput { + s.Description = &v + return s +} + +// SetHomePageUrl sets the HomePageUrl field's value. +func (s *UpdateApplicationOutput) SetHomePageUrl(v string) *UpdateApplicationOutput { + s.HomePageUrl = &v + return s +} + +// SetLabels sets the Labels field's value. +func (s *UpdateApplicationOutput) SetLabels(v []*string) *UpdateApplicationOutput { + s.Labels = v + return s +} + +// SetLicenseUrl sets the LicenseUrl field's value. +func (s *UpdateApplicationOutput) SetLicenseUrl(v string) *UpdateApplicationOutput { + s.LicenseUrl = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateApplicationOutput) SetName(v string) *UpdateApplicationOutput { + s.Name = &v + return s +} + +// SetReadmeUrl sets the ReadmeUrl field's value. +func (s *UpdateApplicationOutput) SetReadmeUrl(v string) *UpdateApplicationOutput { + s.ReadmeUrl = &v + return s +} + +// SetSpdxLicenseId sets the SpdxLicenseId field's value. +func (s *UpdateApplicationOutput) SetSpdxLicenseId(v string) *UpdateApplicationOutput { + s.SpdxLicenseId = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *UpdateApplicationOutput) SetVersion(v *Version) *UpdateApplicationOutput { + s.Version = v + return s +} + +type UpdateApplicationRequest struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"` + + Author *string `locationName:"author" type:"string"` + + Description *string `locationName:"description" type:"string"` + + HomePageUrl *string `locationName:"homePageUrl" type:"string"` + + Labels []*string `locationName:"labels" type:"list"` + + ReadmeBody *string `locationName:"readmeBody" type:"string"` + + ReadmeUrl *string `locationName:"readmeUrl" type:"string"` +} + +// String returns the string representation +func (s UpdateApplicationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApplicationRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateApplicationRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationRequest"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *UpdateApplicationRequest) SetApplicationId(v string) *UpdateApplicationRequest { + s.ApplicationId = &v + return s +} + +// SetAuthor sets the Author field's value. +func (s *UpdateApplicationRequest) SetAuthor(v string) *UpdateApplicationRequest { + s.Author = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateApplicationRequest) SetDescription(v string) *UpdateApplicationRequest { + s.Description = &v + return s +} + +// SetHomePageUrl sets the HomePageUrl field's value. +func (s *UpdateApplicationRequest) SetHomePageUrl(v string) *UpdateApplicationRequest { + s.HomePageUrl = &v + return s +} + +// SetLabels sets the Labels field's value. +func (s *UpdateApplicationRequest) SetLabels(v []*string) *UpdateApplicationRequest { + s.Labels = v + return s +} + +// SetReadmeBody sets the ReadmeBody field's value. +func (s *UpdateApplicationRequest) SetReadmeBody(v string) *UpdateApplicationRequest { + s.ReadmeBody = &v + return s +} + +// SetReadmeUrl sets the ReadmeUrl field's value. +func (s *UpdateApplicationRequest) SetReadmeUrl(v string) *UpdateApplicationRequest { + s.ReadmeUrl = &v + return s +} + +// Application version details. +type Version struct { + _ struct{} `type:"structure"` + + // The application Amazon Resource Name (ARN). + // + // ApplicationId is a required field + ApplicationId *string `locationName:"applicationId" type:"string" required:"true"` + + // The date and time this resource was created. + // + // CreationTime is a required field + CreationTime *string `locationName:"creationTime" type:"string" required:"true"` + + // An array of parameter types supported by the application. + // + // ParameterDefinitions is a required field + ParameterDefinitions []*ParameterDefinition `locationName:"parameterDefinitions" type:"list" required:"true"` + + // A list of values that you must specify before you can deploy certain applications. + // Some applications might include resources that can affect permissions in + // your AWS account, for example, by creating new AWS Identity and Access Management + // (IAM) users. For those applications, you must explicitly acknowledge their + // capabilities by specifying this parameter. + // + // The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, and CAPABILITY_RESOURCE_POLICY. + // + // The following resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: + // AWS::IAM::Group (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html), + // AWS::IAM::InstanceProfile (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html), + // AWS::IAM::Policy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html), + // and AWS::IAM::Role (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). + // If the application contains IAM resources, you can specify either CAPABILITY_IAM + // or CAPABILITY_NAMED_IAM. If the application contains IAM resources with custom + // names, you must specify CAPABILITY_NAMED_IAM. + // + // The following resources require you to specify CAPABILITY_RESOURCE_POLICY: + // AWS::Lambda::Permission (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html), + // AWS::IAM:Policy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html), + // AWS::ApplicationAutoScaling::ScalingPolicy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html), + // AWS::S3::BucketPolicy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html), + // AWS::SQS::QueuePolicy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html), + // and AWS::SNS::TopicPolicy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html). + // + // If your application template contains any of the above resources, we recommend + // that you review all permissions associated with the application before deploying. + // If you don't specify this parameter for an application that requires capabilities, + // the call will fail. + // + // Valid values: CAPABILITY_IAM | CAPABILITY_NAMED_IAM | CAPABILITY_RESOURCE_POLICY + // + // RequiredCapabilities is a required field + RequiredCapabilities []*string `locationName:"requiredCapabilities" type:"list" required:"true"` + + // Whether all of the AWS resources contained in this application are supported + // in the region in which it is being retrieved. + // + // ResourcesSupported is a required field + ResourcesSupported *bool `locationName:"resourcesSupported" type:"boolean" required:"true"` + + // The semantic version of the application: + // + // https://semver.org/ (https://semver.org/) + // + // SemanticVersion is a required field + SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` + + // A link to a public repository for the source code of your application. + SourceCodeUrl *string `locationName:"sourceCodeUrl" type:"string"` + + // A link to the packaged AWS SAM template of your application. + // + // TemplateUrl is a required field + TemplateUrl *string `locationName:"templateUrl" type:"string" required:"true"` +} + +// String returns the string representation +func (s Version) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Version) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *Version) SetApplicationId(v string) *Version { + s.ApplicationId = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Version) SetCreationTime(v string) *Version { + s.CreationTime = &v + return s +} + +// SetParameterDefinitions sets the ParameterDefinitions field's value. +func (s *Version) SetParameterDefinitions(v []*ParameterDefinition) *Version { + s.ParameterDefinitions = v + return s +} + +// SetRequiredCapabilities sets the RequiredCapabilities field's value. +func (s *Version) SetRequiredCapabilities(v []*string) *Version { + s.RequiredCapabilities = v + return s +} + +// SetResourcesSupported sets the ResourcesSupported field's value. +func (s *Version) SetResourcesSupported(v bool) *Version { + s.ResourcesSupported = &v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *Version) SetSemanticVersion(v string) *Version { + s.SemanticVersion = &v + return s +} + +// SetSourceCodeUrl sets the SourceCodeUrl field's value. +func (s *Version) SetSourceCodeUrl(v string) *Version { + s.SourceCodeUrl = &v + return s +} + +// SetTemplateUrl sets the TemplateUrl field's value. +func (s *Version) SetTemplateUrl(v string) *Version { + s.TemplateUrl = &v + return s +} + +// An application version summary. +type VersionSummary struct { + _ struct{} `type:"structure"` + + // The application Amazon Resource Name (ARN). + // + // ApplicationId is a required field + ApplicationId *string `locationName:"applicationId" type:"string" required:"true"` + + // The date and time this resource was created. + // + // CreationTime is a required field + CreationTime *string `locationName:"creationTime" type:"string" required:"true"` + + // The semantic version of the application: + // + // https://semver.org/ (https://semver.org/) + // + // SemanticVersion is a required field + SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` + + // A link to a public repository for the source code of your application. + SourceCodeUrl *string `locationName:"sourceCodeUrl" type:"string"` +} + +// String returns the string representation +func (s VersionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VersionSummary) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *VersionSummary) SetApplicationId(v string) *VersionSummary { + s.ApplicationId = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *VersionSummary) SetCreationTime(v string) *VersionSummary { + s.CreationTime = &v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *VersionSummary) SetSemanticVersion(v string) *VersionSummary { + s.SemanticVersion = &v + return s +} + +// SetSourceCodeUrl sets the SourceCodeUrl field's value. +func (s *VersionSummary) SetSourceCodeUrl(v string) *VersionSummary { + s.SourceCodeUrl = &v + return s +} + +// Values that must be specified in order to deploy some applications. +const ( + // CapabilityCapabilityIam is a Capability enum value + CapabilityCapabilityIam = "CAPABILITY_IAM" + + // CapabilityCapabilityNamedIam is a Capability enum value + CapabilityCapabilityNamedIam = "CAPABILITY_NAMED_IAM" + + // CapabilityCapabilityAutoExpand is a Capability enum value + CapabilityCapabilityAutoExpand = "CAPABILITY_AUTO_EXPAND" + + // CapabilityCapabilityResourcePolicy is a Capability enum value + CapabilityCapabilityResourcePolicy = "CAPABILITY_RESOURCE_POLICY" +) + +const ( + // StatusPreparing is a Status enum value + StatusPreparing = "PREPARING" + + // StatusActive is a Status enum value + StatusActive = "ACTIVE" + + // StatusExpired is a Status enum value + StatusExpired = "EXPIRED" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/serverlessapplicationrepository/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/serverlessapplicationrepository/doc.go new file mode 100644 index 00000000000..dde60865eee --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/serverlessapplicationrepository/doc.go @@ -0,0 +1,58 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package serverlessapplicationrepository provides the client and types for making API +// requests to AWSServerlessApplicationRepository. +// +// The AWS Serverless Application Repository makes it easy for developers and +// enterprises to quickly find and deploy serverless applications in the AWS +// Cloud. For more information about serverless applications, see Serverless +// Computing and Applications on the AWS website. +// +// The AWS Serverless Application Repository is deeply integrated with the AWS +// Lambda console, so that developers of all levels can get started with serverless +// computing without needing to learn anything new. You can use category keywords +// to browse for applications such as web and mobile backends, data processing +// applications, or chatbots. You can also search for applications by name, +// publisher, or event source. To use an application, you simply choose it, +// configure any required fields, and deploy it with a few clicks. +// +// You can also easily publish applications, sharing them publicly with the +// community at large, or privately within your team or across your organization. +// To publish a serverless application (or app), you can use the AWS Management +// Console, AWS Command Line Interface (AWS CLI), or AWS SDKs to upload the +// code. Along with the code, you upload a simple manifest file, also known +// as the AWS Serverless Application Model (AWS SAM) template. For more information +// about AWS SAM, see AWS Serverless Application Model (AWS SAM) on the AWS +// Labs GitHub repository. +// +// The AWS Serverless Application Repository Developer Guide contains more information +// about the two developer experiences available: +// +// * Consuming Applications – Browse for applications and view information +// about them, including source code and readme files. Also install, configure, +// and deploy applications of your choosing. +// +// Publishing Applications – Configure and upload applications to make them +// available to other developers, and publish new versions of applications. +// +// See https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08 for more information on this service. +// +// See serverlessapplicationrepository package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/serverlessapplicationrepository/ +// +// Using the Client +// +// To contact AWSServerlessApplicationRepository 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 AWSServerlessApplicationRepository client ServerlessApplicationRepository for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/serverlessapplicationrepository/#New +package serverlessapplicationrepository diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/serverlessapplicationrepository/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/serverlessapplicationrepository/errors.go new file mode 100644 index 00000000000..2855c3aec7c --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/serverlessapplicationrepository/errors.go @@ -0,0 +1,45 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package serverlessapplicationrepository + +const ( + + // ErrCodeBadRequestException for service response error code + // "BadRequestException". + // + // One of the parameters in the request is invalid. + ErrCodeBadRequestException = "BadRequestException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The resource already exists. + ErrCodeConflictException = "ConflictException" + + // ErrCodeForbiddenException for service response error code + // "ForbiddenException". + // + // The client is not authenticated. + ErrCodeForbiddenException = "ForbiddenException" + + // ErrCodeInternalServerErrorException for service response error code + // "InternalServerErrorException". + // + // The AWS Serverless Application Repository service encountered an internal + // error. + ErrCodeInternalServerErrorException = "InternalServerErrorException" + + // ErrCodeNotFoundException for service response error code + // "NotFoundException". + // + // The resource (for example, an access policy statement) specified in the request + // doesn't exist. + ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + // + // The client is sending more than the allowed number of requests per unit of + // time. + ErrCodeTooManyRequestsException = "TooManyRequestsException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/serverlessapplicationrepository/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/serverlessapplicationrepository/service.go new file mode 100644 index 00000000000..78f8f47ce53 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/serverlessapplicationrepository/service.go @@ -0,0 +1,99 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package serverlessapplicationrepository + +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/restjson" +) + +// ServerlessApplicationRepository provides the API operation methods for making requests to +// AWSServerlessApplicationRepository. See this package's package overview docs +// for details on the service. +// +// ServerlessApplicationRepository methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type ServerlessApplicationRepository 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 = "serverlessrepo" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "ServerlessApplicationRepository" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the ServerlessApplicationRepository 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 ServerlessApplicationRepository client from just a session. +// svc := serverlessapplicationrepository.New(mySession) +// +// // Create a ServerlessApplicationRepository client with additional configuration +// svc := serverlessapplicationrepository.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *ServerlessApplicationRepository { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "serverlessrepo" + } + 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) *ServerlessApplicationRepository { + svc := &ServerlessApplicationRepository{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2017-09-08", + JSONVersion: "1.1", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a ServerlessApplicationRepository operation and runs any +// custom request initialization. +func (c *ServerlessApplicationRepository) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go index cd3bf717965..0ca29877635 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go @@ -14773,7 +14773,7 @@ type ProvisionedProductAttribute struct { // * AVAILABLE - Stable state, ready to perform any operation. The most recent // operation succeeded and completed. // - // * UNDER_CHANGE - Transitive state, operations performed might not have + // * UNDER_CHANGE - Transitive state. Operations performed might not have // valid results. Wait for an AVAILABLE status before performing operations. // // * TAINTED - Stable state, ready to perform any operation. The stack has @@ -14781,9 +14781,14 @@ type ProvisionedProductAttribute struct { // For example, a request to update to a new version failed and the stack // rolled back to the current version. // - // * ERROR - An unexpected error occurred, the provisioned product exists + // * ERROR - An unexpected error occurred. The provisioned product exists // but the stack is not running. For example, CloudFormation received a parameter // value that was not valid and could not launch the stack. + // + // * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed + // to provision a new product, but resources have not yet been created. After + // reviewing the list of resources to be created, execute the plan. Wait + // for an AVAILABLE status before performing operations. Status *string `type:"string" enum:"ProvisionedProductStatus"` // The current status message of the provisioned product. @@ -14938,7 +14943,7 @@ type ProvisionedProductDetail struct { // * AVAILABLE - Stable state, ready to perform any operation. The most recent // operation succeeded and completed. // - // * UNDER_CHANGE - Transitive state, operations performed might not have + // * UNDER_CHANGE - Transitive state. Operations performed might not have // valid results. Wait for an AVAILABLE status before performing operations. // // * TAINTED - Stable state, ready to perform any operation. The stack has @@ -14946,9 +14951,14 @@ type ProvisionedProductDetail struct { // For example, a request to update to a new version failed and the stack // rolled back to the current version. // - // * ERROR - An unexpected error occurred, the provisioned product exists + // * ERROR - An unexpected error occurred. The provisioned product exists // but the stack is not running. For example, CloudFormation received a parameter // value that was not valid and could not launch the stack. + // + // * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed + // to provision a new product, but resources have not yet been created. After + // reviewing the list of resources to be created, execute the plan. Wait + // for an AVAILABLE status before performing operations. Status *string `type:"string" enum:"ProvisionedProductStatus"` // The current status message of the provisioned product. diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sfn/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sfn/api.go index 84814af1b75..142ce93e9da 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sfn/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sfn/api.go @@ -3,6 +3,7 @@ package sfn import ( + "fmt" "time" "github.com/aws/aws-sdk-go/aws" @@ -63,6 +64,9 @@ func (c *SFN) CreateActivityRequest(input *CreateActivityInput) (req *request.Re // of your activity and returns an identifier for use in a state machine and // when polling from the activity. // +// This operation is eventually consistent. The results are best effort and +// may not reflect very recent updates and changes. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -78,6 +82,11 @@ func (c *SFN) CreateActivityRequest(input *CreateActivityInput) (req *request.Re // * ErrCodeInvalidName "InvalidName" // The provided name is invalid. // +// * ErrCodeTooManyTags "TooManyTags" +// You've exceeded the number of tags allowed for a resource. See the Limits +// Topic (https://docs.aws.amazon.com/step-functions/latest/dg/limits.html) +// in the AWS Step Functions Developer Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/CreateActivity func (c *SFN) CreateActivity(input *CreateActivityInput) (*CreateActivityOutput, error) { req, out := c.CreateActivityRequest(input) @@ -149,6 +158,9 @@ func (c *SFN) CreateStateMachineRequest(input *CreateStateMachineInput) (req *re // (Choice states), stop an execution with an error (Fail states), and so on. // State machines are specified using a JSON-based, structured language. // +// This operation is eventually consistent. The results are best effort and +// may not reflect very recent updates and changes. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -177,6 +189,11 @@ func (c *SFN) CreateStateMachineRequest(input *CreateStateMachineInput) (req *re // The maximum number of state machines has been reached. Existing state machines // must be deleted before a new state machine can be created. // +// * ErrCodeTooManyTags "TooManyTags" +// You've exceeded the number of tags allowed for a resource. See the Limits +// Topic (https://docs.aws.amazon.com/step-functions/latest/dg/limits.html) +// in the AWS Step Functions Developer Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/CreateStateMachine func (c *SFN) CreateStateMachine(input *CreateStateMachineInput) (*CreateStateMachineOutput, error) { req, out := c.CreateStateMachineRequest(input) @@ -760,7 +777,7 @@ func (c *SFN) GetActivityTaskRequest(input *GetActivityTaskInput) (req *request. // (5 seconds higher than the maximum time the service may hold the poll request). // // Polling with GetActivityTask can cause latency in some implementations. See -// Avoid Latency When Polling for Activity Tasks (http://docs.aws.amazon.com/step-functions/latest/dg/bp-activity-pollers.html) +// Avoid Latency When Polling for Activity Tasks (https://docs.aws.amazon.com/step-functions/latest/dg/bp-activity-pollers.html) // in the Step Functions Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -860,7 +877,7 @@ func (c *SFN) GetExecutionHistoryRequest(input *GetExecutionHistoryInput) (req * // If nextToken is returned, there are more results available. The value of // nextToken is a unique pagination token for each page. Make the call again // using the returned token to retrieve the next page. Keep all other arguments -// unchanged. Each pagination token expires after 60 seconds. Using an expired +// unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1007,7 +1024,7 @@ func (c *SFN) ListActivitiesRequest(input *ListActivitiesInput) (req *request.Re // If nextToken is returned, there are more results available. The value of // nextToken is a unique pagination token for each page. Make the call again // using the returned token to retrieve the next page. Keep all other arguments -// unchanged. Each pagination token expires after 60 seconds. Using an expired +// unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. // // This operation is eventually consistent. The results are best effort and @@ -1152,7 +1169,7 @@ func (c *SFN) ListExecutionsRequest(input *ListExecutionsInput) (req *request.Re // If nextToken is returned, there are more results available. The value of // nextToken is a unique pagination token for each page. Make the call again // using the returned token to retrieve the next page. Keep all other arguments -// unchanged. Each pagination token expires after 60 seconds. Using an expired +// unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. // // This operation is eventually consistent. The results are best effort and @@ -1302,7 +1319,7 @@ func (c *SFN) ListStateMachinesRequest(input *ListStateMachinesInput) (req *requ // If nextToken is returned, there are more results available. The value of // nextToken is a unique pagination token for each page. Make the call again // using the returned token to retrieve the next page. Keep all other arguments -// unchanged. Each pagination token expires after 60 seconds. Using an expired +// unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. // // This operation is eventually consistent. The results are best effort and @@ -1391,6 +1408,89 @@ func (c *SFN) ListStateMachinesPagesWithContext(ctx aws.Context, input *ListStat return p.Err() } +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/ListTagsForResource +func (c *SFN) 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 AWS Step Functions. +// +// List tags for a given resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Step Functions's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArn "InvalidArn" +// The provided Amazon Resource Name (ARN) is invalid. +// +// * ErrCodeResourceNotFound "ResourceNotFound" +// Could not fine the referenced resource. Only state machine and activity ARNs +// are supported. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/ListTagsForResource +func (c *SFN) 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 *SFN) 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 opSendTaskFailure = "SendTaskFailure" // SendTaskFailureRequest generates a "aws/request.Request" representing the @@ -1847,6 +1947,179 @@ func (c *SFN) StopExecutionWithContext(ctx aws.Context, input *StopExecutionInpu return out, req.Send() } +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/TagResource +func (c *SFN) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Step Functions. +// +// Add a tag to a Step Functions resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Step Functions's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArn "InvalidArn" +// The provided Amazon Resource Name (ARN) is invalid. +// +// * ErrCodeResourceNotFound "ResourceNotFound" +// Could not fine the referenced resource. Only state machine and activity ARNs +// are supported. +// +// * ErrCodeTooManyTags "TooManyTags" +// You've exceeded the number of tags allowed for a resource. See the Limits +// Topic (https://docs.aws.amazon.com/step-functions/latest/dg/limits.html) +// in the AWS Step Functions Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/TagResource +func (c *SFN) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SFN) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/UntagResource +func (c *SFN) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS Step Functions. +// +// Remove a tag from a Step Functions resource +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Step Functions's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArn "InvalidArn" +// The provided Amazon Resource Name (ARN) is invalid. +// +// * ErrCodeResourceNotFound "ResourceNotFound" +// Could not fine the referenced resource. Only state machine and activity ARNs +// are supported. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/UntagResource +func (c *SFN) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SFN) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateStateMachine = "UpdateStateMachine" // UpdateStateMachineRequest generates a "aws/request.Request" representing the @@ -2214,7 +2487,7 @@ type CreateActivityInput struct { // The name of the activity to create. This name must be unique for your AWS // account and region for 90 days. For more information, see Limits Related - // to State Machine Executions (http://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions) + // to State Machine Executions (https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions) // in the AWS Step Functions Developer Guide. // // A name must not contain: @@ -2231,6 +2504,9 @@ type CreateActivityInput struct { // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The list of tags to add to a resource. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation @@ -2252,6 +2528,16 @@ func (s *CreateActivityInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2265,6 +2551,12 @@ func (s *CreateActivityInput) SetName(v string) *CreateActivityInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateActivityInput) SetTags(v []*Tag) *CreateActivityInput { + s.Tags = v + return s +} + type CreateActivityOutput struct { _ struct{} `type:"structure"` @@ -2305,7 +2597,7 @@ type CreateStateMachineInput struct { _ struct{} `type:"structure"` // The Amazon States Language definition of the state machine. See Amazon States - // Language (http://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html). + // Language (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html). // // Definition is a required field Definition *string `locationName:"definition" min:"1" type:"string" required:"true" sensitive:"true"` @@ -2331,6 +2623,9 @@ type CreateStateMachineInput struct { // // RoleArn is a required field RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"` + + // Tags to be added when creating a state machine. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation @@ -2364,6 +2659,16 @@ func (s *CreateStateMachineInput) Validate() error { if s.RoleArn != nil && len(*s.RoleArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2389,6 +2694,12 @@ func (s *CreateStateMachineInput) SetRoleArn(v string) *CreateStateMachineInput return s } +// SetTags sets the Tags field's value. +func (s *CreateStateMachineInput) SetTags(v []*Tag) *CreateStateMachineInput { + s.Tags = v + return s +} + type CreateStateMachineOutput struct { _ struct{} `type:"structure"` @@ -2833,7 +3144,7 @@ type DescribeStateMachineForExecutionOutput struct { _ struct{} `type:"structure"` // The Amazon States Language definition of the state machine. See Amazon States - // Language (http://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html). + // Language (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html). // // Definition is a required field Definition *string `locationName:"definition" min:"1" type:"string" required:"true" sensitive:"true"` @@ -2951,7 +3262,7 @@ type DescribeStateMachineOutput struct { CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"` // The Amazon States Language definition of the state machine. See Amazon States - // Language (http://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html). + // Language (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html). // // Definition is a required field Definition *string `locationName:"definition" min:"1" type:"string" required:"true" sensitive:"true"` @@ -3392,7 +3703,7 @@ type GetExecutionHistoryInput struct { // If nextToken is returned, there are more results available. The value of // nextToken is a unique pagination token for each page. Make the call again // using the returned token to retrieve the next page. Keep all other arguments - // unchanged. Each pagination token expires after 60 seconds. Using an expired + // unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. NextToken *string `locationName:"nextToken" min:"1" type:"string"` @@ -3464,7 +3775,7 @@ type GetExecutionHistoryOutput struct { // If nextToken is returned, there are more results available. The value of // nextToken is a unique pagination token for each page. Make the call again // using the returned token to retrieve the next page. Keep all other arguments - // unchanged. Each pagination token expires after 60 seconds. Using an expired + // unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. NextToken *string `locationName:"nextToken" min:"1" type:"string"` } @@ -3564,27 +3875,28 @@ type HistoryEvent struct { // Contains details about an exit from a state during an execution. StateExitedEventDetails *StateExitedEventDetails `locationName:"stateExitedEventDetails" type:"structure"` - // Contains details about a task failure event. + // Contains details about the failure of a task. TaskFailedEventDetails *TaskFailedEventDetails `locationName:"taskFailedEventDetails" type:"structure"` - // Contains details about a task scheduled during an execution. + // Contains details about a task that was scheduled. TaskScheduledEventDetails *TaskScheduledEventDetails `locationName:"taskScheduledEventDetails" type:"structure"` - // Contains details about a task that failed to start during an execution. + // Contains details about a task that failed to start. TaskStartFailedEventDetails *TaskStartFailedEventDetails `locationName:"taskStartFailedEventDetails" type:"structure"` - // Contains details about the start of a task during an execution. + // Contains details about a task that was started. TaskStartedEventDetails *TaskStartedEventDetails `locationName:"taskStartedEventDetails" type:"structure"` + // Contains details about a task that where the submit failed. TaskSubmitFailedEventDetails *TaskSubmitFailedEventDetails `locationName:"taskSubmitFailedEventDetails" type:"structure"` + // Contains details about a submitted task. TaskSubmittedEventDetails *TaskSubmittedEventDetails `locationName:"taskSubmittedEventDetails" type:"structure"` - // Contains details about the start of connected service by a task state. + // Contains details about a task that succeeded. TaskSucceededEventDetails *TaskSucceededEventDetails `locationName:"taskSucceededEventDetails" type:"structure"` - // Contains details about a connected service timeout that occured during an - // execution. + // Contains details about a task that timed out. TaskTimedOutEventDetails *TaskTimedOutEventDetails `locationName:"taskTimedOutEventDetails" type:"structure"` // The date and time the event occurred. @@ -4011,7 +4323,7 @@ type ListActivitiesInput struct { // If nextToken is returned, there are more results available. The value of // nextToken is a unique pagination token for each page. Make the call again // using the returned token to retrieve the next page. Keep all other arguments - // unchanged. Each pagination token expires after 60 seconds. Using an expired + // unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. NextToken *string `locationName:"nextToken" min:"1" type:"string"` } @@ -4062,7 +4374,7 @@ type ListActivitiesOutput struct { // If nextToken is returned, there are more results available. The value of // nextToken is a unique pagination token for each page. Make the call again // using the returned token to retrieve the next page. Keep all other arguments - // unchanged. Each pagination token expires after 60 seconds. Using an expired + // unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. NextToken *string `locationName:"nextToken" min:"1" type:"string"` } @@ -4103,7 +4415,7 @@ type ListExecutionsInput struct { // If nextToken is returned, there are more results available. The value of // nextToken is a unique pagination token for each page. Make the call again // using the returned token to retrieve the next page. Keep all other arguments - // unchanged. Each pagination token expires after 60 seconds. Using an expired + // unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. NextToken *string `locationName:"nextToken" min:"1" type:"string"` @@ -4181,7 +4493,7 @@ type ListExecutionsOutput struct { // If nextToken is returned, there are more results available. The value of // nextToken is a unique pagination token for each page. Make the call again // using the returned token to retrieve the next page. Keep all other arguments - // unchanged. Each pagination token expires after 60 seconds. Using an expired + // unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. NextToken *string `locationName:"nextToken" min:"1" type:"string"` } @@ -4222,7 +4534,7 @@ type ListStateMachinesInput struct { // If nextToken is returned, there are more results available. The value of // nextToken is a unique pagination token for each page. Make the call again // using the returned token to retrieve the next page. Keep all other arguments - // unchanged. Each pagination token expires after 60 seconds. Using an expired + // unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. NextToken *string `locationName:"nextToken" min:"1" type:"string"` } @@ -4268,7 +4580,7 @@ type ListStateMachinesOutput struct { // If nextToken is returned, there are more results available. The value of // nextToken is a unique pagination token for each page. Make the call again // using the returned token to retrieve the next page. Keep all other arguments - // unchanged. Each pagination token expires after 60 seconds. Using an expired + // unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. NextToken *string `locationName:"nextToken" min:"1" type:"string"` @@ -4298,6 +4610,70 @@ func (s *ListStateMachinesOutput) SetStateMachines(v []*StateMachineListItem) *L return s } +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the Step Functions state machine or activity. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` +} + +// 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.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // An array of tags associated with the resource. + Tags []*Tag `locationName:"tags" 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() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + type SendTaskFailureInput struct { _ struct{} `type:"structure"` @@ -4509,9 +4885,9 @@ type StartExecutionInput struct { // braces, for example: "input": "{}" Input *string `locationName:"input" type:"string" sensitive:"true"` - // The name of the execution. This name must be unique for your AWS account - // and region for 90 days. For more information, see Limits Related to State - // Machine Executions (http://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions) + // The name of the execution. This name must be unique for your AWS account, + // region, and state machine for 90 days. For more information, see Limits + // Related to State Machine Executions (https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions) // in the AWS Step Functions Developer Guide. // // A name must not contain: @@ -4842,6 +5218,135 @@ func (s *StopExecutionOutput) SetStopDate(v time.Time) *StopExecutionOutput { return s } +// Tags are key-value pairs that can be associated with Step Functions state +// machines and activities. +type Tag struct { + _ struct{} `type:"structure"` + + // The key of a tag. + Key *string `locationName:"key" min:"1" type:"string"` + + // The value of a tag. + Value *string `locationName:"value" type:"string"` +} + +// 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 && 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 *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 +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the Step Functions state machine or activity. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` + + // The list of tags to add to a resource. + // + // Tags may only contain unicode letters, digits, whitespace, or these symbols: + // _ . : / = + - @. + // + // Tags is a required field + Tags []*Tag `locationName:"tags" type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + 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 +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + // Contains details about a task failure event. type TaskFailedEventDetails struct { _ struct{} `type:"structure"` @@ -4852,12 +5357,12 @@ type TaskFailedEventDetails struct { // The error code of the failure. Error *string `locationName:"error" type:"string" sensitive:"true"` - // The service name of the connected service in a task state. + // The service name of the resource in a task state. // // Resource is a required field Resource *string `locationName:"resource" min:"1" type:"string" required:"true"` - // The action of the connected service called by a task state. + // The action of the resource called by a task state. // // ResourceType is a required field ResourceType *string `locationName:"resourceType" min:"1" type:"string" required:"true"` @@ -4901,20 +5406,22 @@ func (s *TaskFailedEventDetails) SetResourceType(v string) *TaskFailedEventDetai type TaskScheduledEventDetails struct { _ struct{} `type:"structure"` - // The JSON data passed to the connected service referenced in a task state. + // The JSON data passed to the resource referenced in a task state. // // Parameters is a required field Parameters *string `locationName:"parameters" type:"string" required:"true" sensitive:"true"` + // The region of the scheduled task + // // Region is a required field Region *string `locationName:"region" min:"1" type:"string" required:"true"` - // The service name of the connected service in a task state. + // The service name of the resource in a task state. // // Resource is a required field Resource *string `locationName:"resource" min:"1" type:"string" required:"true"` - // The action of the connected service called by a task state. + // The action of the resource called by a task state. // // ResourceType is a required field ResourceType *string `locationName:"resourceType" min:"1" type:"string" required:"true"` @@ -4973,12 +5480,12 @@ type TaskStartFailedEventDetails struct { // The error code of the failure. Error *string `locationName:"error" type:"string" sensitive:"true"` - // The service name of the connected service in a task state. + // The service name of the resource in a task state. // // Resource is a required field Resource *string `locationName:"resource" min:"1" type:"string" required:"true"` - // The action of the connected service called by a task state. + // The action of the resource called by a task state. // // ResourceType is a required field ResourceType *string `locationName:"resourceType" min:"1" type:"string" required:"true"` @@ -5022,12 +5529,12 @@ func (s *TaskStartFailedEventDetails) SetResourceType(v string) *TaskStartFailed type TaskStartedEventDetails struct { _ struct{} `type:"structure"` - // The service name of the connected service in a task state. + // The service name of the resource in a task state. // // Resource is a required field Resource *string `locationName:"resource" min:"1" type:"string" required:"true"` - // The action of the connected service called by a task state. + // The action of the resource called by a task state. // // ResourceType is a required field ResourceType *string `locationName:"resourceType" min:"1" type:"string" required:"true"` @@ -5055,6 +5562,7 @@ func (s *TaskStartedEventDetails) SetResourceType(v string) *TaskStartedEventDet return s } +// Contains details about a task that failed to submit during an execution. type TaskSubmitFailedEventDetails struct { _ struct{} `type:"structure"` @@ -5064,12 +5572,12 @@ type TaskSubmitFailedEventDetails struct { // The error code of the failure. Error *string `locationName:"error" type:"string" sensitive:"true"` - // The service name of the connected service in a task state. + // The service name of the resource in a task state. // // Resource is a required field Resource *string `locationName:"resource" min:"1" type:"string" required:"true"` - // The action of the connected service called by a task state. + // The action of the resource called by a task state. // // ResourceType is a required field ResourceType *string `locationName:"resourceType" min:"1" type:"string" required:"true"` @@ -5109,18 +5617,19 @@ func (s *TaskSubmitFailedEventDetails) SetResourceType(v string) *TaskSubmitFail return s } +// Contains details about a task submitted to a resource . type TaskSubmittedEventDetails struct { _ struct{} `type:"structure"` - // The response from a connected service when a task has started. + // The response from a resource when a task has started. Output *string `locationName:"output" type:"string" sensitive:"true"` - // The service name of the connected service in a task state. + // The service name of the resource in a task state. // // Resource is a required field Resource *string `locationName:"resource" min:"1" type:"string" required:"true"` - // The action of the connected service called by a task state. + // The action of the resource called by a task state. // // ResourceType is a required field ResourceType *string `locationName:"resourceType" min:"1" type:"string" required:"true"` @@ -5154,20 +5663,20 @@ func (s *TaskSubmittedEventDetails) SetResourceType(v string) *TaskSubmittedEven return s } -// Contains details about the start of connected service by a task state. +// Contains details about the successful completion of a task state. type TaskSucceededEventDetails struct { _ struct{} `type:"structure"` - // The full JSON response from a connected service when a task has succeeded. - // This response becomes the output of the related task. + // The full JSON response from a resource when a task has succeeded. This response + // becomes the output of the related task. Output *string `locationName:"output" type:"string" sensitive:"true"` - // The service name of the connected service in a task state. + // The service name of the resource in a task state. // // Resource is a required field Resource *string `locationName:"resource" min:"1" type:"string" required:"true"` - // The action of the connected service called by a task state. + // The action of the resource called by a task state. // // ResourceType is a required field ResourceType *string `locationName:"resourceType" min:"1" type:"string" required:"true"` @@ -5201,8 +5710,7 @@ func (s *TaskSucceededEventDetails) SetResourceType(v string) *TaskSucceededEven return s } -// Contains details about a connected service timeout that occured during an -// execution. +// Contains details about a resource timeout that occurred during an execution. type TaskTimedOutEventDetails struct { _ struct{} `type:"structure"` @@ -5212,12 +5720,12 @@ type TaskTimedOutEventDetails struct { // The error code of the failure. Error *string `locationName:"error" type:"string" sensitive:"true"` - // The service name of the connected service in a task state. + // The service name of the resource in a task state. // // Resource is a required field Resource *string `locationName:"resource" min:"1" type:"string" required:"true"` - // The action of the connected service called by a task state. + // The action of the resource called by a task state. // // ResourceType is a required field ResourceType *string `locationName:"resourceType" min:"1" type:"string" required:"true"` @@ -5257,11 +5765,80 @@ func (s *TaskTimedOutEventDetails) SetResourceType(v string) *TaskTimedOutEventD return s } +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the Step Functions state machine or activity. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` + + // The list of tags to remove from the resource. + // + // TagKeys is a required field + TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + type UpdateStateMachineInput struct { _ struct{} `type:"structure"` // The Amazon States Language definition of the state machine. See Amazon States - // Language (http://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html). + // Language (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html). Definition *string `locationName:"definition" min:"1" type:"string" sensitive:"true"` // The Amazon Resource Name (ARN) of the IAM role of the state machine. diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sfn/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sfn/doc.go index d212dce747e..d1faff58d7e 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sfn/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sfn/doc.go @@ -20,7 +20,7 @@ // own servers, or any system that has access to AWS. You can access and use // Step Functions using the console, the AWS SDKs, or an HTTP API. For more // information about Step Functions, see the AWS Step Functions Developer Guide -// (http://docs.aws.amazon.com/step-functions/latest/dg/welcome.html). +// (https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html). // // See https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23 for more information on this service. // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sfn/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sfn/errors.go index 84cab27312f..f73333973a5 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sfn/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sfn/errors.go @@ -88,6 +88,13 @@ const ( // and roleArn are not specified. ErrCodeMissingRequiredParameter = "MissingRequiredParameter" + // ErrCodeResourceNotFound for service response error code + // "ResourceNotFound". + // + // Could not fine the referenced resource. Only state machine and activity ARNs + // are supported. + ErrCodeResourceNotFound = "ResourceNotFound" + // ErrCodeStateMachineAlreadyExists for service response error code // "StateMachineAlreadyExists". // @@ -121,4 +128,12 @@ const ( // ErrCodeTaskTimedOut for service response error code // "TaskTimedOut". ErrCodeTaskTimedOut = "TaskTimedOut" + + // ErrCodeTooManyTags for service response error code + // "TooManyTags". + // + // You've exceeded the number of tags allowed for a resource. See the Limits + // Topic (https://docs.aws.amazon.com/step-functions/latest/dg/limits.html) + // in the AWS Step Functions Developer Guide. + ErrCodeTooManyTags = "TooManyTags" ) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/shield/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/shield/api.go new file mode 100644 index 00000000000..10411bdb738 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/shield/api.go @@ -0,0 +1,3527 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package shield + +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 opAssociateDRTLogBucket = "AssociateDRTLogBucket" + +// AssociateDRTLogBucketRequest generates a "aws/request.Request" representing the +// client's request for the AssociateDRTLogBucket 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 AssociateDRTLogBucket for more information on using the AssociateDRTLogBucket +// 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 AssociateDRTLogBucketRequest method. +// req, resp := client.AssociateDRTLogBucketRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateDRTLogBucket +func (c *Shield) AssociateDRTLogBucketRequest(input *AssociateDRTLogBucketInput) (req *request.Request, output *AssociateDRTLogBucketOutput) { + op := &request.Operation{ + Name: opAssociateDRTLogBucket, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateDRTLogBucketInput{} + } + + output = &AssociateDRTLogBucketOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateDRTLogBucket API operation for AWS Shield. +// +// Authorizes the DDoS Response team (DRT) to access the specified Amazon S3 +// bucket containing your flow logs. You can associate up to 10 Amazon S3 buckets +// with your subscription. +// +// To use the services of the DRT and make an AssociateDRTLogBucket request, +// you must be subscribed to the Business Support plan (https://aws.amazon.com/premiumsupport/business-support/) +// or the Enterprise Support plan (https://aws.amazon.com/premiumsupport/enterprise-support/). +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Shield's +// API operation AssociateDRTLogBucket for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeInvalidOperationException "InvalidOperationException" +// Exception that indicates that the operation would not cause any change to +// occur. +// +// * ErrCodeNoAssociatedRoleException "NoAssociatedRoleException" +// The ARN of the role that you specifed does not exist. +// +// * ErrCodeLimitsExceededException "LimitsExceededException" +// Exception that indicates that the operation would exceed a limit. +// +// Type is the type of limit that would be exceeded. +// +// Limit is the threshold that would be exceeded. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// Exception that indicates that the parameters passed to the API are invalid. +// +// * ErrCodeAccessDeniedForDependencyException "AccessDeniedForDependencyException" +// In order to grant the necessary access to the DDoS Response Team, the user +// submitting AssociateDRTRole must have the iam:PassRole permission. This error +// indicates the user did not have the appropriate permissions. For more information, +// see Granting a User Permissions to Pass a Role to an AWS Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). +// +// * ErrCodeOptimisticLockException "OptimisticLockException" +// Exception that indicates that the protection state has been modified by another +// client. You can retry the request. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateDRTLogBucket +func (c *Shield) AssociateDRTLogBucket(input *AssociateDRTLogBucketInput) (*AssociateDRTLogBucketOutput, error) { + req, out := c.AssociateDRTLogBucketRequest(input) + return out, req.Send() +} + +// AssociateDRTLogBucketWithContext is the same as AssociateDRTLogBucket with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateDRTLogBucket 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 *Shield) AssociateDRTLogBucketWithContext(ctx aws.Context, input *AssociateDRTLogBucketInput, opts ...request.Option) (*AssociateDRTLogBucketOutput, error) { + req, out := c.AssociateDRTLogBucketRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssociateDRTRole = "AssociateDRTRole" + +// AssociateDRTRoleRequest generates a "aws/request.Request" representing the +// client's request for the AssociateDRTRole 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 AssociateDRTRole for more information on using the AssociateDRTRole +// 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 AssociateDRTRoleRequest method. +// req, resp := client.AssociateDRTRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateDRTRole +func (c *Shield) AssociateDRTRoleRequest(input *AssociateDRTRoleInput) (req *request.Request, output *AssociateDRTRoleOutput) { + op := &request.Operation{ + Name: opAssociateDRTRole, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateDRTRoleInput{} + } + + output = &AssociateDRTRoleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateDRTRole API operation for AWS Shield. +// +// Authorizes the DDoS Response team (DRT), using the specified role, to access +// your AWS account to assist with DDoS attack mitigation during potential attacks. +// This enables the DRT to inspect your AWS WAF configuration and create or +// update AWS WAF rules and web ACLs. +// +// You can associate only one RoleArn with your subscription. If you submit +// an AssociateDRTRole request for an account that already has an associated +// role, the new RoleArn will replace the existing RoleArn. +// +// Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy +// (https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy) +// managed policy to the role you will specify in the request. For more information +// see Attaching and Detaching IAM Policies ( https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html). +// The role must also trust the service principal drt.shield.amazonaws.com. +// For more information, see IAM JSON Policy Elements: Principal (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). +// +// The DRT will have access only to your AWS WAF and Shield resources. By submitting +// this request, you authorize the DRT to inspect your AWS WAF and Shield configuration +// and create and update AWS WAF rules and web ACLs on your behalf. The DRT +// takes these actions only if explicitly authorized by you. +// +// You must have the iam:PassRole permission to make an AssociateDRTRole request. +// For more information, see Granting a User Permissions to Pass a Role to an +// AWS Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). +// +// To use the services of the DRT and make an AssociateDRTRole request, you +// must be subscribed to the Business Support plan (https://aws.amazon.com/premiumsupport/business-support/) +// or the Enterprise Support plan (https://aws.amazon.com/premiumsupport/enterprise-support/). +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Shield's +// API operation AssociateDRTRole for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeInvalidOperationException "InvalidOperationException" +// Exception that indicates that the operation would not cause any change to +// occur. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// Exception that indicates that the parameters passed to the API are invalid. +// +// * ErrCodeAccessDeniedForDependencyException "AccessDeniedForDependencyException" +// In order to grant the necessary access to the DDoS Response Team, the user +// submitting AssociateDRTRole must have the iam:PassRole permission. This error +// indicates the user did not have the appropriate permissions. For more information, +// see Granting a User Permissions to Pass a Role to an AWS Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). +// +// * ErrCodeOptimisticLockException "OptimisticLockException" +// Exception that indicates that the protection state has been modified by another +// client. You can retry the request. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateDRTRole +func (c *Shield) AssociateDRTRole(input *AssociateDRTRoleInput) (*AssociateDRTRoleOutput, error) { + req, out := c.AssociateDRTRoleRequest(input) + return out, req.Send() +} + +// AssociateDRTRoleWithContext is the same as AssociateDRTRole with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateDRTRole 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 *Shield) AssociateDRTRoleWithContext(ctx aws.Context, input *AssociateDRTRoleInput, opts ...request.Option) (*AssociateDRTRoleOutput, error) { + req, out := c.AssociateDRTRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateProtection = "CreateProtection" + +// CreateProtectionRequest generates a "aws/request.Request" representing the +// client's request for the CreateProtection 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 CreateProtection for more information on using the CreateProtection +// 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 CreateProtectionRequest method. +// req, resp := client.CreateProtectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateProtection +func (c *Shield) CreateProtectionRequest(input *CreateProtectionInput) (req *request.Request, output *CreateProtectionOutput) { + op := &request.Operation{ + Name: opCreateProtection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateProtectionInput{} + } + + output = &CreateProtectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateProtection API operation for AWS Shield. +// +// Enables AWS Shield Advanced for a specific AWS resource. The resource can +// be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, +// AWS Global Accelerator accelerator, Elastic IP Address, or an Amazon Route +// 53 hosted zone. +// +// You can add protection to only a single resource with each CreateProtection +// request. If you want to add protection to multiple resources at once, use +// the AWS WAF console (https://console.aws.amazon.com/waf/). For more information +// see Getting Started with AWS Shield Advanced (https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-ddos.html) +// and Add AWS Shield Advanced Protection to more AWS Resources (https://docs.aws.amazon.com/waf/latest/developerguide/configure-new-protection.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 AWS Shield's +// API operation CreateProtection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeInvalidResourceException "InvalidResourceException" +// Exception that indicates that the resource is invalid. You might not have +// access to the resource, or the resource might not exist. +// +// * ErrCodeInvalidOperationException "InvalidOperationException" +// Exception that indicates that the operation would not cause any change to +// occur. +// +// * ErrCodeLimitsExceededException "LimitsExceededException" +// Exception that indicates that the operation would exceed a limit. +// +// Type is the type of limit that would be exceeded. +// +// Limit is the threshold that would be exceeded. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// Exception indicating the specified resource already exists. +// +// * ErrCodeOptimisticLockException "OptimisticLockException" +// Exception that indicates that the protection state has been modified by another +// client. You can retry the request. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateProtection +func (c *Shield) CreateProtection(input *CreateProtectionInput) (*CreateProtectionOutput, error) { + req, out := c.CreateProtectionRequest(input) + return out, req.Send() +} + +// CreateProtectionWithContext is the same as CreateProtection with the addition of +// the ability to pass a context and additional request options. +// +// See CreateProtection 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 *Shield) CreateProtectionWithContext(ctx aws.Context, input *CreateProtectionInput, opts ...request.Option) (*CreateProtectionOutput, error) { + req, out := c.CreateProtectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateSubscription = "CreateSubscription" + +// CreateSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the CreateSubscription 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 CreateSubscription for more information on using the CreateSubscription +// 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 CreateSubscriptionRequest method. +// req, resp := client.CreateSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateSubscription +func (c *Shield) CreateSubscriptionRequest(input *CreateSubscriptionInput) (req *request.Request, output *CreateSubscriptionOutput) { + op := &request.Operation{ + Name: opCreateSubscription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSubscriptionInput{} + } + + output = &CreateSubscriptionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreateSubscription API operation for AWS Shield. +// +// Activates AWS Shield Advanced for an account. +// +// As part of this request you can specify EmergencySettings that automaticaly +// grant the DDoS response team (DRT) needed permissions to assist you during +// a suspected DDoS attack. For more information see Authorize the DDoS Response +// Team to Create Rules and Web ACLs on Your Behalf (https://docs.aws.amazon.com/waf/latest/developerguide/authorize-DRT.html). +// +// When you initally create a subscription, your subscription is set to be automatically +// renewed at the end of the existing subscription period. You can change this +// by submitting an UpdateSubscription 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 Shield's +// API operation CreateSubscription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// Exception indicating the specified resource already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateSubscription +func (c *Shield) CreateSubscription(input *CreateSubscriptionInput) (*CreateSubscriptionOutput, error) { + req, out := c.CreateSubscriptionRequest(input) + return out, req.Send() +} + +// CreateSubscriptionWithContext is the same as CreateSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSubscription 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 *Shield) CreateSubscriptionWithContext(ctx aws.Context, input *CreateSubscriptionInput, opts ...request.Option) (*CreateSubscriptionOutput, error) { + req, out := c.CreateSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteProtection = "DeleteProtection" + +// DeleteProtectionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteProtection 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 DeleteProtection for more information on using the DeleteProtection +// 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 DeleteProtectionRequest method. +// req, resp := client.DeleteProtectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DeleteProtection +func (c *Shield) DeleteProtectionRequest(input *DeleteProtectionInput) (req *request.Request, output *DeleteProtectionOutput) { + op := &request.Operation{ + Name: opDeleteProtection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteProtectionInput{} + } + + output = &DeleteProtectionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteProtection API operation for AWS Shield. +// +// Deletes an AWS Shield Advanced Protection. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Shield's +// API operation DeleteProtection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// * ErrCodeOptimisticLockException "OptimisticLockException" +// Exception that indicates that the protection state has been modified by another +// client. You can retry the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DeleteProtection +func (c *Shield) DeleteProtection(input *DeleteProtectionInput) (*DeleteProtectionOutput, error) { + req, out := c.DeleteProtectionRequest(input) + return out, req.Send() +} + +// DeleteProtectionWithContext is the same as DeleteProtection with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteProtection 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 *Shield) DeleteProtectionWithContext(ctx aws.Context, input *DeleteProtectionInput, opts ...request.Option) (*DeleteProtectionOutput, error) { + req, out := c.DeleteProtectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSubscription = "DeleteSubscription" + +// DeleteSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSubscription 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 DeleteSubscription for more information on using the DeleteSubscription +// 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 DeleteSubscriptionRequest method. +// req, resp := client.DeleteSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DeleteSubscription +// +// Deprecated: DeleteSubscription has been deprecated +func (c *Shield) DeleteSubscriptionRequest(input *DeleteSubscriptionInput) (req *request.Request, output *DeleteSubscriptionOutput) { + if c.Client.Config.Logger != nil { + c.Client.Config.Logger.Log("This operation, DeleteSubscription, has been deprecated") + } + op := &request.Operation{ + Name: opDeleteSubscription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteSubscriptionInput{} + } + + output = &DeleteSubscriptionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSubscription API operation for AWS Shield. +// +// Removes AWS Shield Advanced from an account. AWS Shield Advanced requires +// a 1-year subscription commitment. You cannot delete a subscription prior +// to the completion of that commitment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Shield's +// API operation DeleteSubscription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeLockedSubscriptionException "LockedSubscriptionException" +// You are trying to update a subscription that has not yet completed the 1-year +// commitment. You can change the AutoRenew parameter during the last 30 days +// of your subscription. This exception indicates that you are attempting to +// change AutoRenew prior to that period. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DeleteSubscription +// +// Deprecated: DeleteSubscription has been deprecated +func (c *Shield) DeleteSubscription(input *DeleteSubscriptionInput) (*DeleteSubscriptionOutput, error) { + req, out := c.DeleteSubscriptionRequest(input) + return out, req.Send() +} + +// DeleteSubscriptionWithContext is the same as DeleteSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSubscription 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. +// +// Deprecated: DeleteSubscriptionWithContext has been deprecated +func (c *Shield) DeleteSubscriptionWithContext(ctx aws.Context, input *DeleteSubscriptionInput, opts ...request.Option) (*DeleteSubscriptionOutput, error) { + req, out := c.DeleteSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAttack = "DescribeAttack" + +// DescribeAttackRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAttack 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 DescribeAttack for more information on using the DescribeAttack +// 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 DescribeAttackRequest method. +// req, resp := client.DescribeAttackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeAttack +func (c *Shield) DescribeAttackRequest(input *DescribeAttackInput) (req *request.Request, output *DescribeAttackOutput) { + op := &request.Operation{ + Name: opDescribeAttack, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeAttackInput{} + } + + output = &DescribeAttackOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAttack API operation for AWS Shield. +// +// Describes the details of a DDoS attack. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Shield's +// API operation DescribeAttack for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception that indicates the specified AttackId does not exist, or the requester +// does not have the appropriate permissions to access the AttackId. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeAttack +func (c *Shield) DescribeAttack(input *DescribeAttackInput) (*DescribeAttackOutput, error) { + req, out := c.DescribeAttackRequest(input) + return out, req.Send() +} + +// DescribeAttackWithContext is the same as DescribeAttack with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAttack 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 *Shield) DescribeAttackWithContext(ctx aws.Context, input *DescribeAttackInput, opts ...request.Option) (*DescribeAttackOutput, error) { + req, out := c.DescribeAttackRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDRTAccess = "DescribeDRTAccess" + +// DescribeDRTAccessRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDRTAccess 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 DescribeDRTAccess for more information on using the DescribeDRTAccess +// 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 DescribeDRTAccessRequest method. +// req, resp := client.DescribeDRTAccessRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeDRTAccess +func (c *Shield) DescribeDRTAccessRequest(input *DescribeDRTAccessInput) (req *request.Request, output *DescribeDRTAccessOutput) { + op := &request.Operation{ + Name: opDescribeDRTAccess, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDRTAccessInput{} + } + + output = &DescribeDRTAccessOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDRTAccess API operation for AWS Shield. +// +// Returns the current role and list of Amazon S3 log buckets used by the DDoS +// Response team (DRT) to access your AWS account while assisting with attack +// mitigation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Shield's +// API operation DescribeDRTAccess for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeDRTAccess +func (c *Shield) DescribeDRTAccess(input *DescribeDRTAccessInput) (*DescribeDRTAccessOutput, error) { + req, out := c.DescribeDRTAccessRequest(input) + return out, req.Send() +} + +// DescribeDRTAccessWithContext is the same as DescribeDRTAccess with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDRTAccess 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 *Shield) DescribeDRTAccessWithContext(ctx aws.Context, input *DescribeDRTAccessInput, opts ...request.Option) (*DescribeDRTAccessOutput, error) { + req, out := c.DescribeDRTAccessRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeEmergencyContactSettings = "DescribeEmergencyContactSettings" + +// DescribeEmergencyContactSettingsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEmergencyContactSettings 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 DescribeEmergencyContactSettings for more information on using the DescribeEmergencyContactSettings +// 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 DescribeEmergencyContactSettingsRequest method. +// req, resp := client.DescribeEmergencyContactSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeEmergencyContactSettings +func (c *Shield) DescribeEmergencyContactSettingsRequest(input *DescribeEmergencyContactSettingsInput) (req *request.Request, output *DescribeEmergencyContactSettingsOutput) { + op := &request.Operation{ + Name: opDescribeEmergencyContactSettings, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEmergencyContactSettingsInput{} + } + + output = &DescribeEmergencyContactSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEmergencyContactSettings API operation for AWS Shield. +// +// Lists the email addresses that the DRT can use to contact you during a suspected +// attack. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Shield's +// API operation DescribeEmergencyContactSettings for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeEmergencyContactSettings +func (c *Shield) DescribeEmergencyContactSettings(input *DescribeEmergencyContactSettingsInput) (*DescribeEmergencyContactSettingsOutput, error) { + req, out := c.DescribeEmergencyContactSettingsRequest(input) + return out, req.Send() +} + +// DescribeEmergencyContactSettingsWithContext is the same as DescribeEmergencyContactSettings with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEmergencyContactSettings 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 *Shield) DescribeEmergencyContactSettingsWithContext(ctx aws.Context, input *DescribeEmergencyContactSettingsInput, opts ...request.Option) (*DescribeEmergencyContactSettingsOutput, error) { + req, out := c.DescribeEmergencyContactSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeProtection = "DescribeProtection" + +// DescribeProtectionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeProtection 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 DescribeProtection for more information on using the DescribeProtection +// 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 DescribeProtectionRequest method. +// req, resp := client.DescribeProtectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeProtection +func (c *Shield) DescribeProtectionRequest(input *DescribeProtectionInput) (req *request.Request, output *DescribeProtectionOutput) { + op := &request.Operation{ + Name: opDescribeProtection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeProtectionInput{} + } + + output = &DescribeProtectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeProtection API operation for AWS Shield. +// +// Lists the details of a Protection object. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Shield's +// API operation DescribeProtection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// Exception that indicates that the parameters passed to the API are invalid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeProtection +func (c *Shield) DescribeProtection(input *DescribeProtectionInput) (*DescribeProtectionOutput, error) { + req, out := c.DescribeProtectionRequest(input) + return out, req.Send() +} + +// DescribeProtectionWithContext is the same as DescribeProtection with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeProtection 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 *Shield) DescribeProtectionWithContext(ctx aws.Context, input *DescribeProtectionInput, opts ...request.Option) (*DescribeProtectionOutput, error) { + req, out := c.DescribeProtectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeSubscription = "DescribeSubscription" + +// DescribeSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSubscription 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 DescribeSubscription for more information on using the DescribeSubscription +// 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 DescribeSubscriptionRequest method. +// req, resp := client.DescribeSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeSubscription +func (c *Shield) DescribeSubscriptionRequest(input *DescribeSubscriptionInput) (req *request.Request, output *DescribeSubscriptionOutput) { + op := &request.Operation{ + Name: opDescribeSubscription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeSubscriptionInput{} + } + + output = &DescribeSubscriptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSubscription API operation for AWS Shield. +// +// Provides details about the AWS Shield Advanced subscription for an 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 AWS Shield's +// API operation DescribeSubscription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeSubscription +func (c *Shield) DescribeSubscription(input *DescribeSubscriptionInput) (*DescribeSubscriptionOutput, error) { + req, out := c.DescribeSubscriptionRequest(input) + return out, req.Send() +} + +// DescribeSubscriptionWithContext is the same as DescribeSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSubscription 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 *Shield) DescribeSubscriptionWithContext(ctx aws.Context, input *DescribeSubscriptionInput, opts ...request.Option) (*DescribeSubscriptionOutput, error) { + req, out := c.DescribeSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateDRTLogBucket = "DisassociateDRTLogBucket" + +// DisassociateDRTLogBucketRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateDRTLogBucket 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 DisassociateDRTLogBucket for more information on using the DisassociateDRTLogBucket +// 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 DisassociateDRTLogBucketRequest method. +// req, resp := client.DisassociateDRTLogBucketRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateDRTLogBucket +func (c *Shield) DisassociateDRTLogBucketRequest(input *DisassociateDRTLogBucketInput) (req *request.Request, output *DisassociateDRTLogBucketOutput) { + op := &request.Operation{ + Name: opDisassociateDRTLogBucket, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateDRTLogBucketInput{} + } + + output = &DisassociateDRTLogBucketOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateDRTLogBucket API operation for AWS Shield. +// +// Removes the DDoS Response team's (DRT) access to the specified Amazon S3 +// bucket containing your flow logs. +// +// To make a DisassociateDRTLogBucket request, you must be subscribed to the +// Business Support plan (https://aws.amazon.com/premiumsupport/business-support/) +// or the Enterprise Support plan (https://aws.amazon.com/premiumsupport/enterprise-support/). +// However, if you are not subscribed to one of these support plans, but had +// been previously and had granted the DRT access to your account, you can submit +// a DisassociateDRTLogBucket request to remove this access. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Shield's +// API operation DisassociateDRTLogBucket for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeInvalidOperationException "InvalidOperationException" +// Exception that indicates that the operation would not cause any change to +// occur. +// +// * ErrCodeNoAssociatedRoleException "NoAssociatedRoleException" +// The ARN of the role that you specifed does not exist. +// +// * ErrCodeAccessDeniedForDependencyException "AccessDeniedForDependencyException" +// In order to grant the necessary access to the DDoS Response Team, the user +// submitting AssociateDRTRole must have the iam:PassRole permission. This error +// indicates the user did not have the appropriate permissions. For more information, +// see Granting a User Permissions to Pass a Role to an AWS Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). +// +// * ErrCodeOptimisticLockException "OptimisticLockException" +// Exception that indicates that the protection state has been modified by another +// client. You can retry the request. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateDRTLogBucket +func (c *Shield) DisassociateDRTLogBucket(input *DisassociateDRTLogBucketInput) (*DisassociateDRTLogBucketOutput, error) { + req, out := c.DisassociateDRTLogBucketRequest(input) + return out, req.Send() +} + +// DisassociateDRTLogBucketWithContext is the same as DisassociateDRTLogBucket with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateDRTLogBucket 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 *Shield) DisassociateDRTLogBucketWithContext(ctx aws.Context, input *DisassociateDRTLogBucketInput, opts ...request.Option) (*DisassociateDRTLogBucketOutput, error) { + req, out := c.DisassociateDRTLogBucketRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateDRTRole = "DisassociateDRTRole" + +// DisassociateDRTRoleRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateDRTRole 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 DisassociateDRTRole for more information on using the DisassociateDRTRole +// 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 DisassociateDRTRoleRequest method. +// req, resp := client.DisassociateDRTRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateDRTRole +func (c *Shield) DisassociateDRTRoleRequest(input *DisassociateDRTRoleInput) (req *request.Request, output *DisassociateDRTRoleOutput) { + op := &request.Operation{ + Name: opDisassociateDRTRole, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateDRTRoleInput{} + } + + output = &DisassociateDRTRoleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateDRTRole API operation for AWS Shield. +// +// Removes the DDoS Response team's (DRT) access to your AWS account. +// +// To make a DisassociateDRTRole request, you must be subscribed to the Business +// Support plan (https://aws.amazon.com/premiumsupport/business-support/) or +// the Enterprise Support plan (https://aws.amazon.com/premiumsupport/enterprise-support/). +// However, if you are not subscribed to one of these support plans, but had +// been previously and had granted the DRT access to your account, you can submit +// a DisassociateDRTRole request to remove this access. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Shield's +// API operation DisassociateDRTRole for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeInvalidOperationException "InvalidOperationException" +// Exception that indicates that the operation would not cause any change to +// occur. +// +// * ErrCodeOptimisticLockException "OptimisticLockException" +// Exception that indicates that the protection state has been modified by another +// client. You can retry the request. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateDRTRole +func (c *Shield) DisassociateDRTRole(input *DisassociateDRTRoleInput) (*DisassociateDRTRoleOutput, error) { + req, out := c.DisassociateDRTRoleRequest(input) + return out, req.Send() +} + +// DisassociateDRTRoleWithContext is the same as DisassociateDRTRole with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateDRTRole 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 *Shield) DisassociateDRTRoleWithContext(ctx aws.Context, input *DisassociateDRTRoleInput, opts ...request.Option) (*DisassociateDRTRoleOutput, error) { + req, out := c.DisassociateDRTRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetSubscriptionState = "GetSubscriptionState" + +// GetSubscriptionStateRequest generates a "aws/request.Request" representing the +// client's request for the GetSubscriptionState 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 GetSubscriptionState for more information on using the GetSubscriptionState +// 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 GetSubscriptionStateRequest method. +// req, resp := client.GetSubscriptionStateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/GetSubscriptionState +func (c *Shield) GetSubscriptionStateRequest(input *GetSubscriptionStateInput) (req *request.Request, output *GetSubscriptionStateOutput) { + op := &request.Operation{ + Name: opGetSubscriptionState, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSubscriptionStateInput{} + } + + output = &GetSubscriptionStateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSubscriptionState API operation for AWS Shield. +// +// Returns the SubscriptionState, either Active or Inactive. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Shield's +// API operation GetSubscriptionState for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/GetSubscriptionState +func (c *Shield) GetSubscriptionState(input *GetSubscriptionStateInput) (*GetSubscriptionStateOutput, error) { + req, out := c.GetSubscriptionStateRequest(input) + return out, req.Send() +} + +// GetSubscriptionStateWithContext is the same as GetSubscriptionState with the addition of +// the ability to pass a context and additional request options. +// +// See GetSubscriptionState 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 *Shield) GetSubscriptionStateWithContext(ctx aws.Context, input *GetSubscriptionStateInput, opts ...request.Option) (*GetSubscriptionStateOutput, error) { + req, out := c.GetSubscriptionStateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListAttacks = "ListAttacks" + +// ListAttacksRequest generates a "aws/request.Request" representing the +// client's request for the ListAttacks 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 ListAttacks for more information on using the ListAttacks +// 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 ListAttacksRequest method. +// req, resp := client.ListAttacksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListAttacks +func (c *Shield) ListAttacksRequest(input *ListAttacksInput) (req *request.Request, output *ListAttacksOutput) { + op := &request.Operation{ + Name: opListAttacks, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListAttacksInput{} + } + + output = &ListAttacksOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAttacks API operation for AWS Shield. +// +// Returns all ongoing DDoS attacks or all DDoS attacks during a specified time +// period. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Shield's +// API operation ListAttacks for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// Exception that indicates that the parameters passed to the API are invalid. +// +// * ErrCodeInvalidOperationException "InvalidOperationException" +// Exception that indicates that the operation would not cause any change to +// occur. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListAttacks +func (c *Shield) ListAttacks(input *ListAttacksInput) (*ListAttacksOutput, error) { + req, out := c.ListAttacksRequest(input) + return out, req.Send() +} + +// ListAttacksWithContext is the same as ListAttacks with the addition of +// the ability to pass a context and additional request options. +// +// See ListAttacks 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 *Shield) ListAttacksWithContext(ctx aws.Context, input *ListAttacksInput, opts ...request.Option) (*ListAttacksOutput, error) { + req, out := c.ListAttacksRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListProtections = "ListProtections" + +// ListProtectionsRequest generates a "aws/request.Request" representing the +// client's request for the ListProtections 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 ListProtections for more information on using the ListProtections +// 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 ListProtectionsRequest method. +// req, resp := client.ListProtectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListProtections +func (c *Shield) ListProtectionsRequest(input *ListProtectionsInput) (req *request.Request, output *ListProtectionsOutput) { + op := &request.Operation{ + Name: opListProtections, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListProtectionsInput{} + } + + output = &ListProtectionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProtections API operation for AWS Shield. +// +// Lists all Protection objects for the 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 AWS Shield's +// API operation ListProtections for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// * ErrCodeInvalidPaginationTokenException "InvalidPaginationTokenException" +// Exception that indicates that the NextToken specified in the request is invalid. +// Submit the request using the NextToken value that was returned in the response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListProtections +func (c *Shield) ListProtections(input *ListProtectionsInput) (*ListProtectionsOutput, error) { + req, out := c.ListProtectionsRequest(input) + return out, req.Send() +} + +// ListProtectionsWithContext is the same as ListProtections with the addition of +// the ability to pass a context and additional request options. +// +// See ListProtections 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 *Shield) ListProtectionsWithContext(ctx aws.Context, input *ListProtectionsInput, opts ...request.Option) (*ListProtectionsOutput, error) { + req, out := c.ListProtectionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateEmergencyContactSettings = "UpdateEmergencyContactSettings" + +// UpdateEmergencyContactSettingsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEmergencyContactSettings 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 UpdateEmergencyContactSettings for more information on using the UpdateEmergencyContactSettings +// 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 UpdateEmergencyContactSettingsRequest method. +// req, resp := client.UpdateEmergencyContactSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateEmergencyContactSettings +func (c *Shield) UpdateEmergencyContactSettingsRequest(input *UpdateEmergencyContactSettingsInput) (req *request.Request, output *UpdateEmergencyContactSettingsOutput) { + op := &request.Operation{ + Name: opUpdateEmergencyContactSettings, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateEmergencyContactSettingsInput{} + } + + output = &UpdateEmergencyContactSettingsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateEmergencyContactSettings API operation for AWS Shield. +// +// Updates the details of the list of email addresses that the DRT can use to +// contact you during a suspected attack. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Shield's +// API operation UpdateEmergencyContactSettings for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// Exception that indicates that the parameters passed to the API are invalid. +// +// * ErrCodeOptimisticLockException "OptimisticLockException" +// Exception that indicates that the protection state has been modified by another +// client. You can retry the request. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateEmergencyContactSettings +func (c *Shield) UpdateEmergencyContactSettings(input *UpdateEmergencyContactSettingsInput) (*UpdateEmergencyContactSettingsOutput, error) { + req, out := c.UpdateEmergencyContactSettingsRequest(input) + return out, req.Send() +} + +// UpdateEmergencyContactSettingsWithContext is the same as UpdateEmergencyContactSettings with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateEmergencyContactSettings 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 *Shield) UpdateEmergencyContactSettingsWithContext(ctx aws.Context, input *UpdateEmergencyContactSettingsInput, opts ...request.Option) (*UpdateEmergencyContactSettingsOutput, error) { + req, out := c.UpdateEmergencyContactSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateSubscription = "UpdateSubscription" + +// UpdateSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSubscription 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 UpdateSubscription for more information on using the UpdateSubscription +// 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 UpdateSubscriptionRequest method. +// req, resp := client.UpdateSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateSubscription +func (c *Shield) UpdateSubscriptionRequest(input *UpdateSubscriptionInput) (req *request.Request, output *UpdateSubscriptionOutput) { + op := &request.Operation{ + Name: opUpdateSubscription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateSubscriptionInput{} + } + + output = &UpdateSubscriptionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateSubscription API operation for AWS Shield. +// +// Updates the details of an existing subscription. Only enter values for parameters +// you want to change. Empty parameters are not updated. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Shield's +// API operation UpdateSubscription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * ErrCodeLockedSubscriptionException "LockedSubscriptionException" +// You are trying to update a subscription that has not yet completed the 1-year +// commitment. You can change the AutoRenew parameter during the last 30 days +// of your subscription. This exception indicates that you are attempting to +// change AutoRenew prior to that period. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception indicating the specified resource does not exist. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// Exception that indicates that the parameters passed to the API are invalid. +// +// * ErrCodeOptimisticLockException "OptimisticLockException" +// Exception that indicates that the protection state has been modified by another +// client. You can retry the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateSubscription +func (c *Shield) UpdateSubscription(input *UpdateSubscriptionInput) (*UpdateSubscriptionOutput, error) { + req, out := c.UpdateSubscriptionRequest(input) + return out, req.Send() +} + +// UpdateSubscriptionWithContext is the same as UpdateSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSubscription 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 *Shield) UpdateSubscriptionWithContext(ctx aws.Context, input *UpdateSubscriptionInput, opts ...request.Option) (*UpdateSubscriptionOutput, error) { + req, out := c.UpdateSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type AssociateDRTLogBucketInput struct { + _ struct{} `type:"structure"` + + // The Amazon S3 bucket that contains your flow logs. + // + // LogBucket is a required field + LogBucket *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateDRTLogBucketInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateDRTLogBucketInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateDRTLogBucketInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateDRTLogBucketInput"} + if s.LogBucket == nil { + invalidParams.Add(request.NewErrParamRequired("LogBucket")) + } + if s.LogBucket != nil && len(*s.LogBucket) < 3 { + invalidParams.Add(request.NewErrParamMinLen("LogBucket", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLogBucket sets the LogBucket field's value. +func (s *AssociateDRTLogBucketInput) SetLogBucket(v string) *AssociateDRTLogBucketInput { + s.LogBucket = &v + return s +} + +type AssociateDRTLogBucketOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AssociateDRTLogBucketOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateDRTLogBucketOutput) GoString() string { + return s.String() +} + +type AssociateDRTRoleInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the role the DRT will use to access your + // AWS account. + // + // Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy + // (https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy) + // managed policy to this role. For more information see Attaching and Detaching + // IAM Policies ( https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html). + // + // RoleArn is a required field + RoleArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateDRTRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateDRTRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateDRTRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateDRTRoleInput"} + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRoleArn sets the RoleArn field's value. +func (s *AssociateDRTRoleInput) SetRoleArn(v string) *AssociateDRTRoleInput { + s.RoleArn = &v + return s +} + +type AssociateDRTRoleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AssociateDRTRoleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateDRTRoleOutput) GoString() string { + return s.String() +} + +// The details of a DDoS attack. +type AttackDetail struct { + _ struct{} `type:"structure"` + + // List of counters that describe the attack for the specified time period. + AttackCounters []*SummarizedCounter `type:"list"` + + // The unique identifier (ID) of the attack. + AttackId *string `min:"1" type:"string"` + + // The array of AttackProperty objects. + AttackProperties []*AttackProperty `type:"list"` + + // The time the attack ended, in Unix time in seconds. For more information + // see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). + EndTime *time.Time `type:"timestamp"` + + // List of mitigation actions taken for the attack. + Mitigations []*Mitigation `type:"list"` + + // The ARN (Amazon Resource Name) of the resource that was attacked. + ResourceArn *string `min:"1" type:"string"` + + // The time the attack started, in Unix time in seconds. For more information + // see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). + StartTime *time.Time `type:"timestamp"` + + // If applicable, additional detail about the resource being attacked, for example, + // IP address or URL. + SubResources []*SubResourceSummary `type:"list"` +} + +// String returns the string representation +func (s AttackDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttackDetail) GoString() string { + return s.String() +} + +// SetAttackCounters sets the AttackCounters field's value. +func (s *AttackDetail) SetAttackCounters(v []*SummarizedCounter) *AttackDetail { + s.AttackCounters = v + return s +} + +// SetAttackId sets the AttackId field's value. +func (s *AttackDetail) SetAttackId(v string) *AttackDetail { + s.AttackId = &v + return s +} + +// SetAttackProperties sets the AttackProperties field's value. +func (s *AttackDetail) SetAttackProperties(v []*AttackProperty) *AttackDetail { + s.AttackProperties = v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *AttackDetail) SetEndTime(v time.Time) *AttackDetail { + s.EndTime = &v + return s +} + +// SetMitigations sets the Mitigations field's value. +func (s *AttackDetail) SetMitigations(v []*Mitigation) *AttackDetail { + s.Mitigations = v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *AttackDetail) SetResourceArn(v string) *AttackDetail { + s.ResourceArn = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *AttackDetail) SetStartTime(v time.Time) *AttackDetail { + s.StartTime = &v + return s +} + +// SetSubResources sets the SubResources field's value. +func (s *AttackDetail) SetSubResources(v []*SubResourceSummary) *AttackDetail { + s.SubResources = v + return s +} + +// Details of the described attack. +type AttackProperty struct { + _ struct{} `type:"structure"` + + // The type of DDoS event that was observed. NETWORK indicates layer 3 and layer + // 4 events and APPLICATION indicates layer 7 events. + AttackLayer *string `type:"string" enum:"AttackLayer"` + + // Defines the DDoS attack property information that is provided. + AttackPropertyIdentifier *string `type:"string" enum:"AttackPropertyIdentifier"` + + // The array of Contributor objects that includes the top five contributors + // to an attack. + TopContributors []*Contributor `type:"list"` + + // The total contributions made to this attack by all contributors, not just + // the five listed in the TopContributors list. + Total *int64 `type:"long"` + + // The unit of the Value of the contributions. + Unit *string `type:"string" enum:"Unit"` +} + +// String returns the string representation +func (s AttackProperty) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttackProperty) GoString() string { + return s.String() +} + +// SetAttackLayer sets the AttackLayer field's value. +func (s *AttackProperty) SetAttackLayer(v string) *AttackProperty { + s.AttackLayer = &v + return s +} + +// SetAttackPropertyIdentifier sets the AttackPropertyIdentifier field's value. +func (s *AttackProperty) SetAttackPropertyIdentifier(v string) *AttackProperty { + s.AttackPropertyIdentifier = &v + return s +} + +// SetTopContributors sets the TopContributors field's value. +func (s *AttackProperty) SetTopContributors(v []*Contributor) *AttackProperty { + s.TopContributors = v + return s +} + +// SetTotal sets the Total field's value. +func (s *AttackProperty) SetTotal(v int64) *AttackProperty { + s.Total = &v + return s +} + +// SetUnit sets the Unit field's value. +func (s *AttackProperty) SetUnit(v string) *AttackProperty { + s.Unit = &v + return s +} + +// Summarizes all DDoS attacks for a specified time period. +type AttackSummary struct { + _ struct{} `type:"structure"` + + // The unique identifier (ID) of the attack. + AttackId *string `type:"string"` + + // The list of attacks for a specified time period. + AttackVectors []*AttackVectorDescription `type:"list"` + + // The end time of the attack, in Unix time in seconds. For more information + // see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). + EndTime *time.Time `type:"timestamp"` + + // The ARN (Amazon Resource Name) of the resource that was attacked. + ResourceArn *string `type:"string"` + + // The start time of the attack, in Unix time in seconds. For more information + // see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). + StartTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s AttackSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttackSummary) GoString() string { + return s.String() +} + +// SetAttackId sets the AttackId field's value. +func (s *AttackSummary) SetAttackId(v string) *AttackSummary { + s.AttackId = &v + return s +} + +// SetAttackVectors sets the AttackVectors field's value. +func (s *AttackSummary) SetAttackVectors(v []*AttackVectorDescription) *AttackSummary { + s.AttackVectors = v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *AttackSummary) SetEndTime(v time.Time) *AttackSummary { + s.EndTime = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *AttackSummary) SetResourceArn(v string) *AttackSummary { + s.ResourceArn = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *AttackSummary) SetStartTime(v time.Time) *AttackSummary { + s.StartTime = &v + return s +} + +// Describes the attack. +type AttackVectorDescription struct { + _ struct{} `type:"structure"` + + // The attack type. Valid values: + // + // * UDP_TRAFFIC + // + // * UDP_FRAGMENT + // + // * GENERIC_UDP_REFLECTION + // + // * DNS_REFLECTION + // + // * NTP_REFLECTION + // + // * CHARGEN_REFLECTION + // + // * SSDP_REFLECTION + // + // * PORT_MAPPER + // + // * RIP_REFLECTION + // + // * SNMP_REFLECTION + // + // * MSSQL_REFLECTION + // + // * NET_BIOS_REFLECTION + // + // * SYN_FLOOD + // + // * ACK_FLOOD + // + // * REQUEST_FLOOD + // + // VectorType is a required field + VectorType *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AttackVectorDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttackVectorDescription) GoString() string { + return s.String() +} + +// SetVectorType sets the VectorType field's value. +func (s *AttackVectorDescription) SetVectorType(v string) *AttackVectorDescription { + s.VectorType = &v + return s +} + +// A contributor to the attack and their contribution. +type Contributor struct { + _ struct{} `type:"structure"` + + // The name of the contributor. This is dependent on the AttackPropertyIdentifier. + // For example, if the AttackPropertyIdentifier is SOURCE_COUNTRY, the Name + // could be United States. + Name *string `type:"string"` + + // The contribution of this contributor expressed in Protection units. For example + // 10,000. + Value *int64 `type:"long"` +} + +// String returns the string representation +func (s Contributor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Contributor) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *Contributor) SetName(v string) *Contributor { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Contributor) SetValue(v int64) *Contributor { + s.Value = &v + return s +} + +type CreateProtectionInput struct { + _ struct{} `type:"structure"` + + // Friendly name for the Protection you are creating. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The ARN (Amazon Resource Name) of the resource to be protected. + // + // The ARN should be in one of the following formats: + // + // * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id + // + // * For an Elastic Load Balancer (Classic Load Balancer): arn:aws:elasticloadbalancing:region:account-id:loadbalancer/load-balancer-name + // + // * For an AWS CloudFront distribution: arn:aws:cloudfront::account-id:distribution/distribution-id + // + // * For an AWS Global Accelerator accelerator: arn:aws:globalaccelerator::account-id:accelerator/accelerator-id + // + // * For Amazon Route 53: arn:aws:route53:::hostedzone/hosted-zone-id + // + // * For an Elastic IP address: arn:aws:ec2:region:account-id:eip-allocation/allocation-id + // + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateProtectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProtectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateProtectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProtectionInput"} + 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.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CreateProtectionInput) SetName(v string) *CreateProtectionInput { + s.Name = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *CreateProtectionInput) SetResourceArn(v string) *CreateProtectionInput { + s.ResourceArn = &v + return s +} + +type CreateProtectionOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier (ID) for the Protection object that is created. + ProtectionId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateProtectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProtectionOutput) GoString() string { + return s.String() +} + +// SetProtectionId sets the ProtectionId field's value. +func (s *CreateProtectionOutput) SetProtectionId(v string) *CreateProtectionOutput { + s.ProtectionId = &v + return s +} + +type CreateSubscriptionInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSubscriptionInput) GoString() string { + return s.String() +} + +type CreateSubscriptionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSubscriptionOutput) GoString() string { + return s.String() +} + +type DeleteProtectionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier (ID) for the Protection object to be deleted. + // + // ProtectionId is a required field + ProtectionId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteProtectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProtectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProtectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProtectionInput"} + if s.ProtectionId == nil { + invalidParams.Add(request.NewErrParamRequired("ProtectionId")) + } + if s.ProtectionId != nil && len(*s.ProtectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProtectionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProtectionId sets the ProtectionId field's value. +func (s *DeleteProtectionInput) SetProtectionId(v string) *DeleteProtectionInput { + s.ProtectionId = &v + return s +} + +type DeleteProtectionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteProtectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProtectionOutput) GoString() string { + return s.String() +} + +// Deprecated: DeleteSubscriptionInput has been deprecated +type DeleteSubscriptionInput struct { + _ struct{} `deprecated:"true" type:"structure"` +} + +// String returns the string representation +func (s DeleteSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSubscriptionInput) GoString() string { + return s.String() +} + +// Deprecated: DeleteSubscriptionOutput has been deprecated +type DeleteSubscriptionOutput struct { + _ struct{} `deprecated:"true" type:"structure"` +} + +// String returns the string representation +func (s DeleteSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSubscriptionOutput) GoString() string { + return s.String() +} + +type DescribeAttackInput struct { + _ struct{} `type:"structure"` + + // The unique identifier (ID) for the attack that to be described. + // + // AttackId is a required field + AttackId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeAttackInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAttackInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAttackInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAttackInput"} + if s.AttackId == nil { + invalidParams.Add(request.NewErrParamRequired("AttackId")) + } + if s.AttackId != nil && len(*s.AttackId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AttackId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttackId sets the AttackId field's value. +func (s *DescribeAttackInput) SetAttackId(v string) *DescribeAttackInput { + s.AttackId = &v + return s +} + +type DescribeAttackOutput struct { + _ struct{} `type:"structure"` + + // The attack that is described. + Attack *AttackDetail `type:"structure"` +} + +// String returns the string representation +func (s DescribeAttackOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAttackOutput) GoString() string { + return s.String() +} + +// SetAttack sets the Attack field's value. +func (s *DescribeAttackOutput) SetAttack(v *AttackDetail) *DescribeAttackOutput { + s.Attack = v + return s +} + +type DescribeDRTAccessInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DescribeDRTAccessInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDRTAccessInput) GoString() string { + return s.String() +} + +type DescribeDRTAccessOutput struct { + _ struct{} `type:"structure"` + + // The list of Amazon S3 buckets accessed by the DRT. + LogBucketList []*string `type:"list"` + + // The Amazon Resource Name (ARN) of the role the DRT used to access your AWS + // account. + RoleArn *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeDRTAccessOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDRTAccessOutput) GoString() string { + return s.String() +} + +// SetLogBucketList sets the LogBucketList field's value. +func (s *DescribeDRTAccessOutput) SetLogBucketList(v []*string) *DescribeDRTAccessOutput { + s.LogBucketList = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DescribeDRTAccessOutput) SetRoleArn(v string) *DescribeDRTAccessOutput { + s.RoleArn = &v + return s +} + +type DescribeEmergencyContactSettingsInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DescribeEmergencyContactSettingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEmergencyContactSettingsInput) GoString() string { + return s.String() +} + +type DescribeEmergencyContactSettingsOutput struct { + _ struct{} `type:"structure"` + + // A list of email addresses that the DRT can use to contact you during a suspected + // attack. + EmergencyContactList []*EmergencyContact `type:"list"` +} + +// String returns the string representation +func (s DescribeEmergencyContactSettingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEmergencyContactSettingsOutput) GoString() string { + return s.String() +} + +// SetEmergencyContactList sets the EmergencyContactList field's value. +func (s *DescribeEmergencyContactSettingsOutput) SetEmergencyContactList(v []*EmergencyContact) *DescribeEmergencyContactSettingsOutput { + s.EmergencyContactList = v + return s +} + +type DescribeProtectionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier (ID) for the Protection object that is described. When + // submitting the DescribeProtection request you must provide either the ResourceArn + // or the ProtectionID, but not both. + ProtectionId *string `min:"1" type:"string"` + + // The ARN (Amazon Resource Name) of the AWS resource for the Protection object + // that is described. When submitting the DescribeProtection request you must + // provide either the ResourceArn or the ProtectionID, but not both. + ResourceArn *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeProtectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProtectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeProtectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeProtectionInput"} + if s.ProtectionId != nil && len(*s.ProtectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProtectionId", 1)) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProtectionId sets the ProtectionId field's value. +func (s *DescribeProtectionInput) SetProtectionId(v string) *DescribeProtectionInput { + s.ProtectionId = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DescribeProtectionInput) SetResourceArn(v string) *DescribeProtectionInput { + s.ResourceArn = &v + return s +} + +type DescribeProtectionOutput struct { + _ struct{} `type:"structure"` + + // The Protection object that is described. + Protection *Protection `type:"structure"` +} + +// String returns the string representation +func (s DescribeProtectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProtectionOutput) GoString() string { + return s.String() +} + +// SetProtection sets the Protection field's value. +func (s *DescribeProtectionOutput) SetProtection(v *Protection) *DescribeProtectionOutput { + s.Protection = v + return s +} + +type DescribeSubscriptionInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DescribeSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSubscriptionInput) GoString() string { + return s.String() +} + +type DescribeSubscriptionOutput struct { + _ struct{} `type:"structure"` + + // The AWS Shield Advanced subscription details for an account. + Subscription *Subscription `type:"structure"` +} + +// String returns the string representation +func (s DescribeSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSubscriptionOutput) GoString() string { + return s.String() +} + +// SetSubscription sets the Subscription field's value. +func (s *DescribeSubscriptionOutput) SetSubscription(v *Subscription) *DescribeSubscriptionOutput { + s.Subscription = v + return s +} + +type DisassociateDRTLogBucketInput struct { + _ struct{} `type:"structure"` + + // The Amazon S3 bucket that contains your flow logs. + // + // LogBucket is a required field + LogBucket *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateDRTLogBucketInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateDRTLogBucketInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateDRTLogBucketInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateDRTLogBucketInput"} + if s.LogBucket == nil { + invalidParams.Add(request.NewErrParamRequired("LogBucket")) + } + if s.LogBucket != nil && len(*s.LogBucket) < 3 { + invalidParams.Add(request.NewErrParamMinLen("LogBucket", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLogBucket sets the LogBucket field's value. +func (s *DisassociateDRTLogBucketInput) SetLogBucket(v string) *DisassociateDRTLogBucketInput { + s.LogBucket = &v + return s +} + +type DisassociateDRTLogBucketOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateDRTLogBucketOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateDRTLogBucketOutput) GoString() string { + return s.String() +} + +type DisassociateDRTRoleInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateDRTRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateDRTRoleInput) GoString() string { + return s.String() +} + +type DisassociateDRTRoleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateDRTRoleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateDRTRoleOutput) GoString() string { + return s.String() +} + +// Contact information that the DRT can use to contact you during a suspected +// attack. +type EmergencyContact struct { + _ struct{} `type:"structure"` + + // An email address that the DRT can use to contact you during a suspected attack. + // + // EmailAddress is a required field + EmailAddress *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s EmergencyContact) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmergencyContact) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EmergencyContact) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EmergencyContact"} + if s.EmailAddress == nil { + invalidParams.Add(request.NewErrParamRequired("EmailAddress")) + } + if s.EmailAddress != nil && len(*s.EmailAddress) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEmailAddress sets the EmailAddress field's value. +func (s *EmergencyContact) SetEmailAddress(v string) *EmergencyContact { + s.EmailAddress = &v + return s +} + +type GetSubscriptionStateInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetSubscriptionStateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSubscriptionStateInput) GoString() string { + return s.String() +} + +type GetSubscriptionStateOutput struct { + _ struct{} `type:"structure"` + + // The status of the subscription. + // + // SubscriptionState is a required field + SubscriptionState *string `type:"string" required:"true" enum:"SubscriptionState"` +} + +// String returns the string representation +func (s GetSubscriptionStateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSubscriptionStateOutput) GoString() string { + return s.String() +} + +// SetSubscriptionState sets the SubscriptionState field's value. +func (s *GetSubscriptionStateOutput) SetSubscriptionState(v string) *GetSubscriptionStateOutput { + s.SubscriptionState = &v + return s +} + +// Specifies how many protections of a given type you can create. +type Limit struct { + _ struct{} `type:"structure"` + + // The maximum number of protections that can be created for the specified Type. + Max *int64 `type:"long"` + + // The type of protection. + Type *string `type:"string"` +} + +// String returns the string representation +func (s Limit) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Limit) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *Limit) SetMax(v int64) *Limit { + s.Max = &v + return s +} + +// SetType sets the Type field's value. +func (s *Limit) SetType(v string) *Limit { + s.Type = &v + return s +} + +type ListAttacksInput struct { + _ struct{} `type:"structure"` + + // The end of the time period for the attacks. This is a timestamp type. The + // sample request above indicates a number type because the default used by + // WAF is Unix time in seconds. However any valid timestamp format (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types) + // is allowed. + EndTime *TimeRange `type:"structure"` + + // The maximum number of AttackSummary objects to be returned. If this is left + // blank, the first 20 results will be returned. + // + // This is a maximum value; it is possible that AWS WAF will return the results + // in smaller batches. That is, the number of AttackSummary objects returned + // could be less than MaxResults, even if there are still more AttackSummary + // objects yet to return. If there are more AttackSummary objects to return, + // AWS WAF will always also return a NextToken. + MaxResults *int64 `type:"integer"` + + // The ListAttacksRequest.NextMarker value from a previous call to ListAttacksRequest. + // Pass null if this is the first call. + NextToken *string `min:"1" type:"string"` + + // The ARN (Amazon Resource Name) of the resource that was attacked. If this + // is left blank, all applicable resources for this account will be included. + ResourceArns []*string `type:"list"` + + // The start of the time period for the attacks. This is a timestamp type. The + // sample request above indicates a number type because the default used by + // WAF is Unix time in seconds. However any valid timestamp format (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types) + // is allowed. + StartTime *TimeRange `type:"structure"` +} + +// String returns the string representation +func (s ListAttacksInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAttacksInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAttacksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAttacksInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *ListAttacksInput) SetEndTime(v *TimeRange) *ListAttacksInput { + s.EndTime = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAttacksInput) SetMaxResults(v int64) *ListAttacksInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAttacksInput) SetNextToken(v string) *ListAttacksInput { + s.NextToken = &v + return s +} + +// SetResourceArns sets the ResourceArns field's value. +func (s *ListAttacksInput) SetResourceArns(v []*string) *ListAttacksInput { + s.ResourceArns = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ListAttacksInput) SetStartTime(v *TimeRange) *ListAttacksInput { + s.StartTime = v + return s +} + +type ListAttacksOutput struct { + _ struct{} `type:"structure"` + + // The attack information for the specified time range. + AttackSummaries []*AttackSummary `type:"list"` + + // The token returned by a previous call to indicate that there is more data + // available. If not null, more results are available. Pass this value for the + // NextMarker parameter in a subsequent call to ListAttacks to retrieve the + // next set of items. + // + // AWS WAF might return the list of AttackSummary objects in batches smaller + // than the number specified by MaxResults. If there are more AttackSummary + // objects to return, AWS WAF will always also return a NextToken. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListAttacksOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAttacksOutput) GoString() string { + return s.String() +} + +// SetAttackSummaries sets the AttackSummaries field's value. +func (s *ListAttacksOutput) SetAttackSummaries(v []*AttackSummary) *ListAttacksOutput { + s.AttackSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAttacksOutput) SetNextToken(v string) *ListAttacksOutput { + s.NextToken = &v + return s +} + +type ListProtectionsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of Protection objects to be returned. If this is left + // blank the first 20 results will be returned. + // + // This is a maximum value; it is possible that AWS WAF will return the results + // in smaller batches. That is, the number of Protection objects returned could + // be less than MaxResults, even if there are still more Protection objects + // yet to return. If there are more Protection objects to return, AWS WAF will + // always also return a NextToken. + MaxResults *int64 `type:"integer"` + + // The ListProtectionsRequest.NextToken value from a previous call to ListProtections. + // Pass null if this is the first call. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListProtectionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProtectionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProtectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProtectionsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListProtectionsInput) SetMaxResults(v int64) *ListProtectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProtectionsInput) SetNextToken(v string) *ListProtectionsInput { + s.NextToken = &v + return s +} + +type ListProtectionsOutput struct { + _ struct{} `type:"structure"` + + // If you specify a value for MaxResults and you have more Protections than + // the value of MaxResults, AWS Shield Advanced returns a NextToken value in + // the response that allows you to list another group of Protections. For the + // second and subsequent ListProtections requests, specify the value of NextToken + // from the previous response to get information about another batch of Protections. + // + // AWS WAF might return the list of Protection objects in batches smaller than + // the number specified by MaxResults. If there are more Protection objects + // to return, AWS WAF will always also return a NextToken. + NextToken *string `min:"1" type:"string"` + + // The array of enabled Protection objects. + Protections []*Protection `type:"list"` +} + +// String returns the string representation +func (s ListProtectionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProtectionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProtectionsOutput) SetNextToken(v string) *ListProtectionsOutput { + s.NextToken = &v + return s +} + +// SetProtections sets the Protections field's value. +func (s *ListProtectionsOutput) SetProtections(v []*Protection) *ListProtectionsOutput { + s.Protections = v + return s +} + +// The mitigation applied to a DDoS attack. +type Mitigation struct { + _ struct{} `type:"structure"` + + // The name of the mitigation taken for this attack. + MitigationName *string `type:"string"` +} + +// String returns the string representation +func (s Mitigation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Mitigation) GoString() string { + return s.String() +} + +// SetMitigationName sets the MitigationName field's value. +func (s *Mitigation) SetMitigationName(v string) *Mitigation { + s.MitigationName = &v + return s +} + +// An object that represents a resource that is under DDoS protection. +type Protection struct { + _ struct{} `type:"structure"` + + // The unique identifier (ID) of the protection. + Id *string `min:"1" type:"string"` + + // The friendly name of the protection. For example, My CloudFront distributions. + Name *string `min:"1" type:"string"` + + // The ARN (Amazon Resource Name) of the AWS resource that is protected. + ResourceArn *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s Protection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Protection) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *Protection) SetId(v string) *Protection { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *Protection) SetName(v string) *Protection { + s.Name = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *Protection) SetResourceArn(v string) *Protection { + s.ResourceArn = &v + return s +} + +// The attack information for the specified SubResource. +type SubResourceSummary struct { + _ struct{} `type:"structure"` + + // The list of attack types and associated counters. + AttackVectors []*SummarizedAttackVector `type:"list"` + + // The counters that describe the details of the attack. + Counters []*SummarizedCounter `type:"list"` + + // The unique identifier (ID) of the SubResource. + Id *string `type:"string"` + + // The SubResource type. + Type *string `type:"string" enum:"SubResourceType"` +} + +// String returns the string representation +func (s SubResourceSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubResourceSummary) GoString() string { + return s.String() +} + +// SetAttackVectors sets the AttackVectors field's value. +func (s *SubResourceSummary) SetAttackVectors(v []*SummarizedAttackVector) *SubResourceSummary { + s.AttackVectors = v + return s +} + +// SetCounters sets the Counters field's value. +func (s *SubResourceSummary) SetCounters(v []*SummarizedCounter) *SubResourceSummary { + s.Counters = v + return s +} + +// SetId sets the Id field's value. +func (s *SubResourceSummary) SetId(v string) *SubResourceSummary { + s.Id = &v + return s +} + +// SetType sets the Type field's value. +func (s *SubResourceSummary) SetType(v string) *SubResourceSummary { + s.Type = &v + return s +} + +// Information about the AWS Shield Advanced subscription for an account. +type Subscription struct { + _ struct{} `type:"structure"` + + // If ENABLED, the subscription will be automatically renewed at the end of + // the existing subscription period. + // + // When you initally create a subscription, AutoRenew is set to ENABLED. You + // can change this by submitting an UpdateSubscription request. If the UpdateSubscription + // request does not included a value for AutoRenew, the existing value for AutoRenew + // remains unchanged. + AutoRenew *string `type:"string" enum:"AutoRenew"` + + // The date and time your subscription will end. + EndTime *time.Time `type:"timestamp"` + + // Specifies how many protections of a given type you can create. + Limits []*Limit `type:"list"` + + // The start time of the subscription, in Unix time in seconds. For more information + // see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). + StartTime *time.Time `type:"timestamp"` + + // The length, in seconds, of the AWS Shield Advanced subscription for the account. + TimeCommitmentInSeconds *int64 `type:"long"` +} + +// String returns the string representation +func (s Subscription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Subscription) GoString() string { + return s.String() +} + +// SetAutoRenew sets the AutoRenew field's value. +func (s *Subscription) SetAutoRenew(v string) *Subscription { + s.AutoRenew = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *Subscription) SetEndTime(v time.Time) *Subscription { + s.EndTime = &v + return s +} + +// SetLimits sets the Limits field's value. +func (s *Subscription) SetLimits(v []*Limit) *Subscription { + s.Limits = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *Subscription) SetStartTime(v time.Time) *Subscription { + s.StartTime = &v + return s +} + +// SetTimeCommitmentInSeconds sets the TimeCommitmentInSeconds field's value. +func (s *Subscription) SetTimeCommitmentInSeconds(v int64) *Subscription { + s.TimeCommitmentInSeconds = &v + return s +} + +// A summary of information about the attack. +type SummarizedAttackVector struct { + _ struct{} `type:"structure"` + + // The list of counters that describe the details of the attack. + VectorCounters []*SummarizedCounter `type:"list"` + + // The attack type, for example, SNMP reflection or SYN flood. + // + // VectorType is a required field + VectorType *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SummarizedAttackVector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SummarizedAttackVector) GoString() string { + return s.String() +} + +// SetVectorCounters sets the VectorCounters field's value. +func (s *SummarizedAttackVector) SetVectorCounters(v []*SummarizedCounter) *SummarizedAttackVector { + s.VectorCounters = v + return s +} + +// SetVectorType sets the VectorType field's value. +func (s *SummarizedAttackVector) SetVectorType(v string) *SummarizedAttackVector { + s.VectorType = &v + return s +} + +// The counter that describes a DDoS attack. +type SummarizedCounter struct { + _ struct{} `type:"structure"` + + // The average value of the counter for a specified time period. + Average *float64 `type:"double"` + + // The maximum value of the counter for a specified time period. + Max *float64 `type:"double"` + + // The number of counters for a specified time period. + N *int64 `type:"integer"` + + // The counter name. + Name *string `type:"string"` + + // The total of counter values for a specified time period. + Sum *float64 `type:"double"` + + // The unit of the counters. + Unit *string `type:"string"` +} + +// String returns the string representation +func (s SummarizedCounter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SummarizedCounter) GoString() string { + return s.String() +} + +// SetAverage sets the Average field's value. +func (s *SummarizedCounter) SetAverage(v float64) *SummarizedCounter { + s.Average = &v + return s +} + +// SetMax sets the Max field's value. +func (s *SummarizedCounter) SetMax(v float64) *SummarizedCounter { + s.Max = &v + return s +} + +// SetN sets the N field's value. +func (s *SummarizedCounter) SetN(v int64) *SummarizedCounter { + s.N = &v + return s +} + +// SetName sets the Name field's value. +func (s *SummarizedCounter) SetName(v string) *SummarizedCounter { + s.Name = &v + return s +} + +// SetSum sets the Sum field's value. +func (s *SummarizedCounter) SetSum(v float64) *SummarizedCounter { + s.Sum = &v + return s +} + +// SetUnit sets the Unit field's value. +func (s *SummarizedCounter) SetUnit(v string) *SummarizedCounter { + s.Unit = &v + return s +} + +// The time range. +type TimeRange struct { + _ struct{} `type:"structure"` + + // The start time, in Unix time in seconds. For more information see timestamp + // (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). + FromInclusive *time.Time `type:"timestamp"` + + // The end time, in Unix time in seconds. For more information see timestamp + // (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). + ToExclusive *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s TimeRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TimeRange) GoString() string { + return s.String() +} + +// SetFromInclusive sets the FromInclusive field's value. +func (s *TimeRange) SetFromInclusive(v time.Time) *TimeRange { + s.FromInclusive = &v + return s +} + +// SetToExclusive sets the ToExclusive field's value. +func (s *TimeRange) SetToExclusive(v time.Time) *TimeRange { + s.ToExclusive = &v + return s +} + +type UpdateEmergencyContactSettingsInput struct { + _ struct{} `type:"structure"` + + // A list of email addresses that the DRT can use to contact you during a suspected + // attack. + EmergencyContactList []*EmergencyContact `type:"list"` +} + +// String returns the string representation +func (s UpdateEmergencyContactSettingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEmergencyContactSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateEmergencyContactSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEmergencyContactSettingsInput"} + if s.EmergencyContactList != nil { + for i, v := range s.EmergencyContactList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EmergencyContactList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEmergencyContactList sets the EmergencyContactList field's value. +func (s *UpdateEmergencyContactSettingsInput) SetEmergencyContactList(v []*EmergencyContact) *UpdateEmergencyContactSettingsInput { + s.EmergencyContactList = v + return s +} + +type UpdateEmergencyContactSettingsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateEmergencyContactSettingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEmergencyContactSettingsOutput) GoString() string { + return s.String() +} + +type UpdateSubscriptionInput struct { + _ struct{} `type:"structure"` + + // When you initally create a subscription, AutoRenew is set to ENABLED. If + // ENABLED, the subscription will be automatically renewed at the end of the + // existing subscription period. You can change this by submitting an UpdateSubscription + // request. If the UpdateSubscription request does not included a value for + // AutoRenew, the existing value for AutoRenew remains unchanged. + AutoRenew *string `type:"string" enum:"AutoRenew"` +} + +// String returns the string representation +func (s UpdateSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSubscriptionInput) GoString() string { + return s.String() +} + +// SetAutoRenew sets the AutoRenew field's value. +func (s *UpdateSubscriptionInput) SetAutoRenew(v string) *UpdateSubscriptionInput { + s.AutoRenew = &v + return s +} + +type UpdateSubscriptionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSubscriptionOutput) GoString() string { + return s.String() +} + +const ( + // AttackLayerNetwork is a AttackLayer enum value + AttackLayerNetwork = "NETWORK" + + // AttackLayerApplication is a AttackLayer enum value + AttackLayerApplication = "APPLICATION" +) + +const ( + // AttackPropertyIdentifierDestinationUrl is a AttackPropertyIdentifier enum value + AttackPropertyIdentifierDestinationUrl = "DESTINATION_URL" + + // AttackPropertyIdentifierReferrer is a AttackPropertyIdentifier enum value + AttackPropertyIdentifierReferrer = "REFERRER" + + // AttackPropertyIdentifierSourceAsn is a AttackPropertyIdentifier enum value + AttackPropertyIdentifierSourceAsn = "SOURCE_ASN" + + // AttackPropertyIdentifierSourceCountry is a AttackPropertyIdentifier enum value + AttackPropertyIdentifierSourceCountry = "SOURCE_COUNTRY" + + // AttackPropertyIdentifierSourceIpAddress is a AttackPropertyIdentifier enum value + AttackPropertyIdentifierSourceIpAddress = "SOURCE_IP_ADDRESS" + + // AttackPropertyIdentifierSourceUserAgent is a AttackPropertyIdentifier enum value + AttackPropertyIdentifierSourceUserAgent = "SOURCE_USER_AGENT" +) + +const ( + // AutoRenewEnabled is a AutoRenew enum value + AutoRenewEnabled = "ENABLED" + + // AutoRenewDisabled is a AutoRenew enum value + AutoRenewDisabled = "DISABLED" +) + +const ( + // SubResourceTypeIp is a SubResourceType enum value + SubResourceTypeIp = "IP" + + // SubResourceTypeUrl is a SubResourceType enum value + SubResourceTypeUrl = "URL" +) + +const ( + // SubscriptionStateActive is a SubscriptionState enum value + SubscriptionStateActive = "ACTIVE" + + // SubscriptionStateInactive is a SubscriptionState enum value + SubscriptionStateInactive = "INACTIVE" +) + +const ( + // UnitBits is a Unit enum value + UnitBits = "BITS" + + // UnitBytes is a Unit enum value + UnitBytes = "BYTES" + + // UnitPackets is a Unit enum value + UnitPackets = "PACKETS" + + // UnitRequests is a Unit enum value + UnitRequests = "REQUESTS" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/shield/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/shield/doc.go new file mode 100644 index 00000000000..e663cfb2ea1 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/shield/doc.go @@ -0,0 +1,32 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package shield provides the client and types for making API +// requests to AWS Shield. +// +// This is the AWS Shield Advanced API Reference. This guide is for developers +// who need detailed information about the AWS Shield Advanced API actions, +// data types, and errors. For detailed information about AWS WAF and AWS Shield +// Advanced features and an overview of how to use the AWS WAF and AWS Shield +// Advanced APIs, see the AWS WAF and AWS Shield Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). +// +// See https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02 for more information on this service. +// +// See shield package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/shield/ +// +// Using the Client +// +// To contact AWS Shield 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 Shield client Shield for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/shield/#New +package shield diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/shield/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/shield/errors.go new file mode 100644 index 00000000000..cb5b021a0c7 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/shield/errors.go @@ -0,0 +1,100 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package shield + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // Exception that indicates the specified AttackId does not exist, or the requester + // does not have the appropriate permissions to access the AttackId. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeAccessDeniedForDependencyException for service response error code + // "AccessDeniedForDependencyException". + // + // In order to grant the necessary access to the DDoS Response Team, the user + // submitting AssociateDRTRole must have the iam:PassRole permission. This error + // indicates the user did not have the appropriate permissions. For more information, + // see Granting a User Permissions to Pass a Role to an AWS Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). + ErrCodeAccessDeniedForDependencyException = "AccessDeniedForDependencyException" + + // ErrCodeInternalErrorException for service response error code + // "InternalErrorException". + // + // Exception that indicates that a problem occurred with the service infrastructure. + // You can retry the request. + ErrCodeInternalErrorException = "InternalErrorException" + + // ErrCodeInvalidOperationException for service response error code + // "InvalidOperationException". + // + // Exception that indicates that the operation would not cause any change to + // occur. + ErrCodeInvalidOperationException = "InvalidOperationException" + + // ErrCodeInvalidPaginationTokenException for service response error code + // "InvalidPaginationTokenException". + // + // Exception that indicates that the NextToken specified in the request is invalid. + // Submit the request using the NextToken value that was returned in the response. + ErrCodeInvalidPaginationTokenException = "InvalidPaginationTokenException" + + // ErrCodeInvalidParameterException for service response error code + // "InvalidParameterException". + // + // Exception that indicates that the parameters passed to the API are invalid. + ErrCodeInvalidParameterException = "InvalidParameterException" + + // ErrCodeInvalidResourceException for service response error code + // "InvalidResourceException". + // + // Exception that indicates that the resource is invalid. You might not have + // access to the resource, or the resource might not exist. + ErrCodeInvalidResourceException = "InvalidResourceException" + + // ErrCodeLimitsExceededException for service response error code + // "LimitsExceededException". + // + // Exception that indicates that the operation would exceed a limit. + // + // Type is the type of limit that would be exceeded. + // + // Limit is the threshold that would be exceeded. + ErrCodeLimitsExceededException = "LimitsExceededException" + + // ErrCodeLockedSubscriptionException for service response error code + // "LockedSubscriptionException". + // + // You are trying to update a subscription that has not yet completed the 1-year + // commitment. You can change the AutoRenew parameter during the last 30 days + // of your subscription. This exception indicates that you are attempting to + // change AutoRenew prior to that period. + ErrCodeLockedSubscriptionException = "LockedSubscriptionException" + + // ErrCodeNoAssociatedRoleException for service response error code + // "NoAssociatedRoleException". + // + // The ARN of the role that you specifed does not exist. + ErrCodeNoAssociatedRoleException = "NoAssociatedRoleException" + + // ErrCodeOptimisticLockException for service response error code + // "OptimisticLockException". + // + // Exception that indicates that the protection state has been modified by another + // client. You can retry the request. + ErrCodeOptimisticLockException = "OptimisticLockException" + + // ErrCodeResourceAlreadyExistsException for service response error code + // "ResourceAlreadyExistsException". + // + // Exception indicating the specified resource already exists. + ErrCodeResourceAlreadyExistsException = "ResourceAlreadyExistsException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Exception indicating the specified resource does not exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/shield/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/shield/service.go new file mode 100644 index 00000000000..b7a62ef92f6 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/shield/service.go @@ -0,0 +1,97 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package shield + +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" +) + +// Shield provides the API operation methods for making requests to +// AWS Shield. See this package's package overview docs +// for details on the service. +// +// Shield methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type Shield 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 = "shield" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "Shield" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the Shield 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 Shield client from just a session. +// svc := shield.New(mySession) +// +// // Create a Shield client with additional configuration +// svc := shield.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *Shield { + 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) *Shield { + svc := &Shield{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2016-06-02", + JSONVersion: "1.1", + TargetPrefix: "AWSShield_20160616", + }, + 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 Shield operation and runs any +// custom request initialization. +func (c *Shield) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go index eac9dcdac25..9408e2c33fe 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go @@ -999,8 +999,8 @@ func (c *SSM) CreateResourceDataSyncRequest(input *CreateResourceDataSyncInput) // 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) +// bucket policy. For more information, see Configuring Resource Data Sync for +// Inventory (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-datasync.html) // in the AWS Systems Manager User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6825,6 +6825,103 @@ func (c *SSM) GetPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *G return out, req.Send() } +const opGetServiceSetting = "GetServiceSetting" + +// GetServiceSettingRequest generates a "aws/request.Request" representing the +// client's request for the GetServiceSetting 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 GetServiceSetting for more information on using the GetServiceSetting +// 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 GetServiceSettingRequest method. +// req, resp := client.GetServiceSettingRequest(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/GetServiceSetting +func (c *SSM) GetServiceSettingRequest(input *GetServiceSettingInput) (req *request.Request, output *GetServiceSettingOutput) { + op := &request.Operation{ + Name: opGetServiceSetting, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetServiceSettingInput{} + } + + output = &GetServiceSettingOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetServiceSetting API operation for Amazon Simple Systems Manager (SSM). +// +// ServiceSetting is an account-level setting for an AWS service. This setting +// defines how a user interacts with or uses a service or a feature of a service. +// For example, if an AWS service charges money to the account based on feature +// or service usage, then the AWS service team might create a default setting +// of "false". This means the user can't use this feature unless they change +// the setting to "true" and intentionally opt in for a paid feature. +// +// Services map a SettingId object to a setting value. AWS services teams define +// the default value for a SettingId. You can't create a new SettingId, but +// you can overwrite the default value if you have the ssm:UpdateServiceSetting +// permission for the setting. Use the UpdateServiceSetting API action to change +// the default setting. Or use the ResetServiceSetting to change the value back +// to the original value defined by the AWS service team. +// +// Query the current service setting for the 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 GetServiceSetting for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// * ErrCodeServiceSettingNotFound "ServiceSettingNotFound" +// The specified service setting was not found. Either the service name or the +// setting has not been provisioned by the AWS service team. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetServiceSetting +func (c *SSM) GetServiceSetting(input *GetServiceSettingInput) (*GetServiceSettingOutput, error) { + req, out := c.GetServiceSettingRequest(input) + return out, req.Send() +} + +// GetServiceSettingWithContext is the same as GetServiceSetting with the addition of +// the ability to pass a context and additional request options. +// +// See GetServiceSetting 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) GetServiceSettingWithContext(ctx aws.Context, input *GetServiceSettingInput, opts ...request.Option) (*GetServiceSettingOutput, error) { + req, out := c.GetServiceSettingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opLabelParameterVersion = "LabelParameterVersion" // LabelParameterVersionRequest generates a "aws/request.Request" representing the @@ -9238,6 +9335,108 @@ func (c *SSM) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTa return out, req.Send() } +const opResetServiceSetting = "ResetServiceSetting" + +// ResetServiceSettingRequest generates a "aws/request.Request" representing the +// client's request for the ResetServiceSetting 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 ResetServiceSetting for more information on using the ResetServiceSetting +// 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 ResetServiceSettingRequest method. +// req, resp := client.ResetServiceSettingRequest(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/ResetServiceSetting +func (c *SSM) ResetServiceSettingRequest(input *ResetServiceSettingInput) (req *request.Request, output *ResetServiceSettingOutput) { + op := &request.Operation{ + Name: opResetServiceSetting, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ResetServiceSettingInput{} + } + + output = &ResetServiceSettingOutput{} + req = c.newRequest(op, input, output) + return +} + +// ResetServiceSetting API operation for Amazon Simple Systems Manager (SSM). +// +// ServiceSetting is an account-level setting for an AWS service. This setting +// defines how a user interacts with or uses a service or a feature of a service. +// For example, if an AWS service charges money to the account based on feature +// or service usage, then the AWS service team might create a default setting +// of "false". This means the user can't use this feature unless they change +// the setting to "true" and intentionally opt in for a paid feature. +// +// Services map a SettingId object to a setting value. AWS services teams define +// the default value for a SettingId. You can't create a new SettingId, but +// you can overwrite the default value if you have the ssm:UpdateServiceSetting +// permission for the setting. Use the GetServiceSetting API action to view +// the current value. Use the UpdateServiceSetting API action to change the +// default setting. +// +// Reset the service setting for the account to the default value as provisioned +// by the AWS service team. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type 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 ResetServiceSetting for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// * ErrCodeServiceSettingNotFound "ServiceSettingNotFound" +// The specified service setting was not found. Either the service name or the +// setting has not been provisioned by the AWS service team. +// +// * 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/ResetServiceSetting +func (c *SSM) ResetServiceSetting(input *ResetServiceSettingInput) (*ResetServiceSettingOutput, error) { + req, out := c.ResetServiceSettingRequest(input) + return out, req.Send() +} + +// ResetServiceSettingWithContext is the same as ResetServiceSetting with the addition of +// the ability to pass a context and additional request options. +// +// See ResetServiceSetting 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) ResetServiceSettingWithContext(ctx aws.Context, input *ResetServiceSettingInput, opts ...request.Option) (*ResetServiceSettingOutput, error) { + req, out := c.ResetServiceSettingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opResumeSession = "ResumeSession" // ResumeSessionRequest generates a "aws/request.Request" representing the @@ -10911,6 +11110,108 @@ func (c *SSM) UpdatePatchBaselineWithContext(ctx aws.Context, input *UpdatePatch return out, req.Send() } +const opUpdateServiceSetting = "UpdateServiceSetting" + +// UpdateServiceSettingRequest generates a "aws/request.Request" representing the +// client's request for the UpdateServiceSetting 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 UpdateServiceSetting for more information on using the UpdateServiceSetting +// 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 UpdateServiceSettingRequest method. +// req, resp := client.UpdateServiceSettingRequest(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/UpdateServiceSetting +func (c *SSM) UpdateServiceSettingRequest(input *UpdateServiceSettingInput) (req *request.Request, output *UpdateServiceSettingOutput) { + op := &request.Operation{ + Name: opUpdateServiceSetting, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateServiceSettingInput{} + } + + output = &UpdateServiceSettingOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateServiceSetting API operation for Amazon Simple Systems Manager (SSM). +// +// ServiceSetting is an account-level setting for an AWS service. This setting +// defines how a user interacts with or uses a service or a feature of a service. +// For example, if an AWS service charges money to the account based on feature +// or service usage, then the AWS service team might create a default setting +// of "false". This means the user can't use this feature unless they change +// the setting to "true" and intentionally opt in for a paid feature. +// +// Services map a SettingId object to a setting value. AWS services teams define +// the default value for a SettingId. You can't create a new SettingId, but +// you can overwrite the default value if you have the ssm:UpdateServiceSetting +// permission for the setting. Use the GetServiceSetting API action to view +// the current value. Or, use the ResetServiceSetting to change the value back +// to the original value defined by the AWS service team. +// +// Update the service setting for the 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 UpdateServiceSetting for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// * ErrCodeServiceSettingNotFound "ServiceSettingNotFound" +// The specified service setting was not found. Either the service name or the +// setting has not been provisioned by the AWS service team. +// +// * 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/UpdateServiceSetting +func (c *SSM) UpdateServiceSetting(input *UpdateServiceSettingInput) (*UpdateServiceSettingOutput, error) { + req, out := c.UpdateServiceSettingRequest(input) + return out, req.Send() +} + +// UpdateServiceSettingWithContext is the same as UpdateServiceSetting with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateServiceSetting 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) UpdateServiceSettingWithContext(ctx aws.Context, input *UpdateServiceSettingInput, opts ...request.Option) (*UpdateServiceSettingOutput, error) { + req, out := c.UpdateServiceSettingRequest(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. @@ -10945,6 +11246,9 @@ type Activation struct { // The number of managed instances already registered with this activation. RegistrationsCount *int64 `min:"1" type:"integer"` + + // Tags assigned to the activation. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -11011,6 +11315,12 @@ func (s *Activation) SetRegistrationsCount(v int64) *Activation { return s } +// SetTags sets the Tags field's value. +func (s *Activation) SetTags(v []*Tag) *Activation { + s.Tags = v + return s +} + type AddTagsToResourceInput struct { _ struct{} `type:"structure"` @@ -11242,6 +11552,10 @@ type AssociationDescription struct { // The association version. AssociationVersion *string `type:"string"` + // Specify the target for the association. This target is required for associations + // that use an Automation document and target resources by using rate controls. + AutomationTargetParameterName *string `min:"1" type:"string"` + // The severity level that is assigned to the association. ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"` @@ -11339,6 +11653,12 @@ func (s *AssociationDescription) SetAssociationVersion(v string) *AssociationDes return s } +// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value. +func (s *AssociationDescription) SetAutomationTargetParameterName(v string) *AssociationDescription { + s.AutomationTargetParameterName = &v + return s +} + // SetComplianceSeverity sets the ComplianceSeverity field's value. func (s *AssociationDescription) SetComplianceSeverity(v string) *AssociationDescription { s.ComplianceSeverity = &v @@ -12144,10 +12464,11 @@ func (s *AttachmentContent) SetUrl(v string) *AttachmentContent { return s } -// An attribute of an attachment, such as the attachment name or size. +// An attribute of an attachment, such as the attachment name. type AttachmentInformation struct { _ struct{} `type:"structure"` + // The name of the attachment. Name *string `type:"string"` } @@ -12534,7 +12855,7 @@ type AutomationExecutionMetadata struct { // Timed out, or Cancelled. AutomationExecutionStatus *string `type:"string" enum:"AutomationExecutionStatus"` - // Use this filter with DescribeAutomationExecution. Specify either Local of + // Use this filter with DescribeAutomationExecutions. Specify either Local or // 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) @@ -14124,6 +14445,30 @@ type CreateActivationInput struct { // Specify the maximum number of managed instances you want to register. The // default value is 1 instance. RegistrationLimit *int64 `min:"1" type:"integer"` + + // Optional metadata that you assign to a resource. Tags enable you to categorize + // a resource in different ways, such as by purpose, owner, or environment. + // For example, you might want to tag an activation to identify which servers + // or virtual machines (VMs) in your on-premises environment you intend to activate. + // In this case, you could specify the following key name/value pairs: + // + // * Key=OS,Value=Windows + // + // * Key=Environment,Value=Production + // + // When you install SSM Agent on your on-premises servers and VMs, you specify + // an activation ID and code. When you specify the activation ID and code, tags + // assigned to the activation are automatically applied to the on-premises servers + // or VMs. + // + // You can't add tags to or delete tags from an existing activation. You can + // tag your on-premises servers and VMs after they connect to Systems Manager + // for the first time and are assigned a managed instance ID. This means they + // are listed in the AWS Systems Manager console with an ID that is prefixed + // with "mi-". For information about how to add tags to your managed instances, + // see AddTagsToResource. For information about how to remove tags from your + // managed instances, see RemoveTagsFromResource. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -14145,6 +14490,16 @@ func (s *CreateActivationInput) Validate() error { if s.RegistrationLimit != nil && *s.RegistrationLimit < 1 { invalidParams.Add(request.NewErrParamMinValue("RegistrationLimit", 1)) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -14182,6 +14537,12 @@ func (s *CreateActivationInput) SetRegistrationLimit(v int64) *CreateActivationI return s } +// SetTags sets the Tags field's value. +func (s *CreateActivationInput) SetTags(v []*Tag) *CreateActivationInput { + s.Tags = v + return s +} + type CreateActivationOutput struct { _ struct{} `type:"structure"` @@ -14306,6 +14667,10 @@ type CreateAssociationBatchRequestEntry struct { // Specify a descriptive name for the association. AssociationName *string `type:"string"` + // Specify the target for the association. This target is required for associations + // that use an Automation document and target resources by using rate controls. + AutomationTargetParameterName *string `min:"1" type:"string"` + // The severity level to assign to the association. ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"` @@ -14341,7 +14706,24 @@ type CreateAssociationBatchRequestEntry struct { // set MaxConcurrency to 1 so that executions proceed one at a time. MaxErrors *string `min:"1" type:"string"` - // The name of the configuration document. + // The name of the SSM document that contains the configuration information + // for the instance. You can specify Command, Policy, or Automation documents. + // + // You can specify AWS-predefined documents, documents you created, or a document + // that is shared with you from another account. + // + // For SSM documents that are shared with you from other AWS accounts, you must + // specify the complete SSM document ARN, in the following format: + // + // arn:aws:ssm:region:account-id:document/document-name + // + // For example: + // + // arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document + // + // For AWS-predefined documents and SSM documents you created in your account, + // you only need to specify the document name. For example, AWS-ApplyPatchBaseline + // or My-Document. // // Name is a required field Name *string `type:"string" required:"true"` @@ -14372,6 +14754,9 @@ func (s CreateAssociationBatchRequestEntry) GoString() 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.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1)) + } if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) } @@ -14412,6 +14797,12 @@ func (s *CreateAssociationBatchRequestEntry) SetAssociationName(v string) *Creat return s } +// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value. +func (s *CreateAssociationBatchRequestEntry) SetAutomationTargetParameterName(v string) *CreateAssociationBatchRequestEntry { + s.AutomationTargetParameterName = &v + return s +} + // SetComplianceSeverity sets the ComplianceSeverity field's value. func (s *CreateAssociationBatchRequestEntry) SetComplianceSeverity(v string) *CreateAssociationBatchRequestEntry { s.ComplianceSeverity = &v @@ -14478,6 +14869,10 @@ type CreateAssociationInput struct { // Specify a descriptive name for the association. AssociationName *string `type:"string"` + // Specify the target for the association. This target is required for associations + // that use an Automation document and target resources by using rate controls. + AutomationTargetParameterName *string `min:"1" type:"string"` + // The severity level to assign to the association. ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"` @@ -14514,7 +14909,24 @@ type CreateAssociationInput struct { // 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. + // The name of the SSM document that contains the configuration information + // for the instance. You can specify Command, Policy, or Automation documents. + // + // You can specify AWS-predefined documents, documents you created, or a document + // that is shared with you from another account. + // + // For SSM documents that are shared with you from other AWS accounts, you must + // specify the complete SSM document ARN, in the following format: + // + // arn:partition:ssm:region:account-id:document/document-name + // + // For example: + // + // arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document + // + // For AWS-predefined documents and SSM documents you created in your account, + // you only need to specify the document name. For example, AWS-ApplyPatchBaseline + // or My-Document. // // Name is a required field Name *string `type:"string" required:"true"` @@ -14545,6 +14957,9 @@ func (s CreateAssociationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateAssociationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateAssociationInput"} + if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1)) + } if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) } @@ -14585,6 +15000,12 @@ func (s *CreateAssociationInput) SetAssociationName(v string) *CreateAssociation return s } +// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value. +func (s *CreateAssociationInput) SetAutomationTargetParameterName(v string) *CreateAssociationInput { + s.AutomationTargetParameterName = &v + return s +} + // SetComplianceSeverity sets the ComplianceSeverity field's value. func (s *CreateAssociationInput) SetComplianceSeverity(v string) *CreateAssociationInput { s.ComplianceSeverity = &v @@ -14702,6 +15123,19 @@ type CreateDocumentInput struct { // Name is a required field Name *string `type:"string" required:"true"` + // Optional metadata that you assign to a resource. Tags enable you to categorize + // a resource in different ways, such as by purpose, owner, or environment. + // For example, you might want to tag an SSM document to identify the types + // of targets or the environment where it will run. In this case, you could + // specify the following key name/value pairs: + // + // * Key=OS,Value=Windows + // + // * Key=Environment,Value=Production + // + // To add tags to an existing SSM document, use the AddTagsToResource action. + Tags []*Tag `type:"list"` + // 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 @@ -14749,6 +15183,16 @@ func (s *CreateDocumentInput) Validate() error { } } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -14786,6 +15230,12 @@ func (s *CreateDocumentInput) SetName(v string) *CreateDocumentInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateDocumentInput) SetTags(v []*Tag) *CreateDocumentInput { + s.Tags = v + return s +} + // SetTargetType sets the TargetType field's value. func (s *CreateDocumentInput) SetTargetType(v string) *CreateDocumentInput { s.TargetType = &v @@ -14878,6 +15328,22 @@ type CreateMaintenanceWindowInput struct { // Window to become active. StartDate allows you to delay activation of the // Maintenance Window until the specified future date. StartDate *string `type:"string"` + + // Optional metadata that you assign to a resource. Tags enable you to categorize + // a resource in different ways, such as by purpose, owner, or environment. + // For example, you might want to tag a Maintenance Window to identify the type + // of tasks it will run, the types of targets, and the environment it will run + // in. In this case, you could specify the following key name/value pairs: + // + // * Key=TaskType,Value=AgentUpdate + // + // * Key=OS,Value=Windows + // + // * Key=Environment,Value=Production + // + // To add tags to an existing Maintenance Window, use the AddTagsToResource + // action. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -14923,6 +15389,16 @@ func (s *CreateMaintenanceWindowInput) Validate() error { if s.Schedule != nil && len(*s.Schedule) < 1 { invalidParams.Add(request.NewErrParamMinLen("Schedule", 1)) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -14990,6 +15466,12 @@ func (s *CreateMaintenanceWindowInput) SetStartDate(v string) *CreateMaintenance return s } +// SetTags sets the Tags field's value. +func (s *CreateMaintenanceWindowInput) SetTags(v []*Tag) *CreateMaintenanceWindowInput { + s.Tags = v + return s +} + type CreateMaintenanceWindowOutput struct { _ struct{} `type:"structure"` @@ -15043,7 +15525,7 @@ type CreatePatchBaselineInput struct { // A description of the patch baseline. Description *string `min:"1" type:"string"` - // A set of global filters used to exclude patches from the baseline. + // A set of global filters used to include patches in the baseline. GlobalFilters *PatchFilterGroup `type:"structure"` // The name of the patch baseline. @@ -15081,6 +15563,19 @@ type CreatePatchBaselineInput struct { // 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"` + + // Optional metadata that you assign to a resource. Tags enable you to categorize + // a resource in different ways, such as by purpose, owner, or environment. + // For example, you might want to tag a patch baseline to identify the severity + // level of patches it specifies and the operating system family it applies + // to. In this case, you could specify the following key name/value pairs: + // + // * Key=PatchSeverity,Value=Critical + // + // * Key=OS,Value=Windows + // + // To add tags to an existing patch baseline, use the AddTagsToResource action. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -15128,6 +15623,16 @@ func (s *CreatePatchBaselineInput) Validate() error { } } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -15207,6 +15712,12 @@ func (s *CreatePatchBaselineInput) SetSources(v []*PatchSource) *CreatePatchBase return s } +// SetTags sets the Tags field's value. +func (s *CreatePatchBaselineInput) SetTags(v []*Tag) *CreatePatchBaselineInput { + s.Tags = v + return s +} + type CreatePatchBaselineOutput struct { _ struct{} `type:"structure"` @@ -16631,8 +17142,8 @@ type DescribeAssociationInput struct { // 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. + // a list of all associations for an instance, use ListAssociations. To get + // a list of versions for a specific association, use ListAssociationVersions. AssociationVersion *string `type:"string"` // The instance ID. @@ -23007,6 +23518,72 @@ func (s *GetPatchBaselineOutput) SetSources(v []*PatchSource) *GetPatchBaselineO return s } +// The request body of the GetServiceSetting API action. +type GetServiceSettingInput struct { + _ struct{} `type:"structure"` + + // The ID of the service setting to get. + // + // SettingId is a required field + SettingId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetServiceSettingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetServiceSettingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetServiceSettingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetServiceSettingInput"} + if s.SettingId == nil { + invalidParams.Add(request.NewErrParamRequired("SettingId")) + } + if s.SettingId != nil && len(*s.SettingId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SettingId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSettingId sets the SettingId field's value. +func (s *GetServiceSettingInput) SetSettingId(v string) *GetServiceSettingInput { + s.SettingId = &v + return s +} + +// The query result body of the GetServiceSetting API action. +type GetServiceSettingOutput struct { + _ struct{} `type:"structure"` + + // The query result of the current service setting. + ServiceSetting *ServiceSetting `type:"structure"` +} + +// String returns the string representation +func (s GetServiceSettingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetServiceSettingOutput) GoString() string { + return s.String() +} + +// SetServiceSetting sets the ServiceSetting field's value. +func (s *GetServiceSettingOutput) SetServiceSetting(v *ServiceSetting) *GetServiceSettingOutput { + s.ServiceSetting = v + return s +} + // Status information about the aggregated associations. type InstanceAggregatedAssociationOverview struct { _ struct{} `type:"structure"` @@ -28156,6 +28733,8 @@ func (s *PatchComplianceData) SetTitle(v string) *PatchComplianceData { // // * WindowsServer2016 // +// * WindowsServer2019 +// // * * // // Use a wildcard character (*) to target all supported operating system versions. @@ -28372,6 +28951,10 @@ func (s *PatchComplianceData) SetTitle(v string) *PatchComplianceData { // // * RedhatEnterpriseLinux7.4 // +// * RedhatEnterpriseLinux7.5 +// +// * RedhatEnterpriseLinux7.6 +// // * * // // Use a wildcard character (*) to target all supported operating system versions. @@ -28494,6 +29077,10 @@ func (s *PatchComplianceData) SetTitle(v string) *PatchComplianceData { // // * CentOS7.4 // +// * CentOS7.5 +// +// * CentOS7.6 +// // * * // // Use a wildcard character (*) to target all supported operating system versions. @@ -28850,9 +29437,9 @@ type PatchSource struct { // The value of the yum repo configuration. For example: // - // cachedir=/var/cache/yum/$basesearch + // [main] // - // $releasever + // cachedir=/var/cache/yum/$basesearch$releasever // // keepcache=0 // @@ -29337,6 +29924,23 @@ type PutParameterInput struct { // Overwrite an existing parameter. If not specified, will default to "false". Overwrite *bool `type:"boolean"` + // Optional metadata that you assign to a resource. Tags enable you to categorize + // a resource in different ways, such as by purpose, owner, or environment. + // For example, you might want to tag a Systems Manager parameter to identify + // the type of resource to which it applies, the environment, or the type of + // configuration data referenced by the parameter. In this case, you could specify + // the following key name/value pairs: + // + // * Key=Resource,Value=S3bucket + // + // * Key=OS,Value=Windows + // + // * Key=ParameterType,Value=LicenseKey + // + // To add tags to an existing Systems Manager parameter, use the AddTagsToResource + // action. + Tags []*Tag `type:"list"` + // 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 @@ -29386,6 +29990,16 @@ func (s *PutParameterInput) Validate() error { if s.Value != nil && len(*s.Value) < 1 { invalidParams.Add(request.NewErrParamMinLen("Value", 1)) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -29423,6 +30037,12 @@ func (s *PutParameterInput) SetOverwrite(v bool) *PutParameterInput { return s } +// SetTags sets the Tags field's value. +func (s *PutParameterInput) SetTags(v []*Tag) *PutParameterInput { + s.Tags = v + return s +} + // SetType sets the Type field's value. func (s *PutParameterInput) SetType(v string) *PutParameterInput { s.Type = &v @@ -30153,6 +30773,73 @@ func (s RemoveTagsFromResourceOutput) GoString() string { return s.String() } +// The request body of the ResetServiceSetting API action. +type ResetServiceSettingInput struct { + _ struct{} `type:"structure"` + + // The ID of the service setting to reset. + // + // SettingId is a required field + SettingId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResetServiceSettingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetServiceSettingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResetServiceSettingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResetServiceSettingInput"} + if s.SettingId == nil { + invalidParams.Add(request.NewErrParamRequired("SettingId")) + } + if s.SettingId != nil && len(*s.SettingId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SettingId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSettingId sets the SettingId field's value. +func (s *ResetServiceSettingInput) SetSettingId(v string) *ResetServiceSettingInput { + s.SettingId = &v + return s +} + +// The result body of the ResetServiceSetting API action. +type ResetServiceSettingOutput struct { + _ struct{} `type:"structure"` + + // The current, effective service setting after calling the ResetServiceSetting + // API action. + ServiceSetting *ServiceSetting `type:"structure"` +} + +// String returns the string representation +func (s ResetServiceSettingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetServiceSettingOutput) GoString() string { + return s.String() +} + +// SetServiceSetting sets the ServiceSetting field's value. +func (s *ResetServiceSettingOutput) SetServiceSetting(v *ServiceSetting) *ResetServiceSettingOutput { + s.ServiceSetting = v + return s +} + // Information about targets that resolved during the Automation execution. type ResolvedTargets struct { _ struct{} `type:"structure"` @@ -31074,6 +31761,100 @@ func (s *SendCommandOutput) SetCommand(v *Command) *SendCommandOutput { return s } +// The service setting data structure. +// +// ServiceSetting is an account-level setting for an AWS service. This setting +// defines how a user interacts with or uses a service or a feature of a service. +// For example, if an AWS service charges money to the account based on feature +// or service usage, then the AWS service team might create a default setting +// of "false". This means the user can't use this feature unless they change +// the setting to "true" and intentionally opt in for a paid feature. +// +// Services map a SettingId object to a setting value. AWS services teams define +// the default value for a SettingId. You can't create a new SettingId, but +// you can overwrite the default value if you have the ssm:UpdateServiceSetting +// permission for the setting. Use the UpdateServiceSetting API action to change +// the default setting. Or, use the ResetServiceSetting to change the value +// back to the original value defined by the AWS service team. +type ServiceSetting struct { + _ struct{} `type:"structure"` + + // The ARN of the service setting. + ARN *string `type:"string"` + + // The last time the service setting was modified. + LastModifiedDate *time.Time `type:"timestamp"` + + // The ARN of the last modified user. This field is populated only if the setting + // value was overwritten. + LastModifiedUser *string `type:"string"` + + // The ID of the service setting. + SettingId *string `min:"1" type:"string"` + + // The value of the service setting. + SettingValue *string `min:"1" type:"string"` + + // The status of the service setting. The value can be Default, Customized or + // PendingUpdate. + // + // * Default: The current setting uses a default value provisioned by the + // AWS service team. + // + // * Customized: The current setting use a custom value specified by the + // customer. + // + // * PendingUpdate: The current setting uses a default or custom value, but + // a setting change request is pending approval. + Status *string `type:"string"` +} + +// String returns the string representation +func (s ServiceSetting) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceSetting) GoString() string { + return s.String() +} + +// SetARN sets the ARN field's value. +func (s *ServiceSetting) SetARN(v string) *ServiceSetting { + s.ARN = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *ServiceSetting) SetLastModifiedDate(v time.Time) *ServiceSetting { + s.LastModifiedDate = &v + return s +} + +// SetLastModifiedUser sets the LastModifiedUser field's value. +func (s *ServiceSetting) SetLastModifiedUser(v string) *ServiceSetting { + s.LastModifiedUser = &v + return s +} + +// SetSettingId sets the SettingId field's value. +func (s *ServiceSetting) SetSettingId(v string) *ServiceSetting { + s.SettingId = &v + return s +} + +// SetSettingValue sets the SettingValue field's value. +func (s *ServiceSetting) SetSettingValue(v string) *ServiceSetting { + s.SettingValue = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ServiceSetting) SetStatus(v string) *ServiceSetting { + s.Status = &v + return s +} + // Information about a Session Manager connection to an instance. type Session struct { _ struct{} `type:"structure"` @@ -32386,6 +33167,10 @@ type UpdateAssociationInput struct { // this request succeeds, either specify $LATEST, or omit this parameter. AssociationVersion *string `type:"string"` + // Specify the target for the association. This target is required for associations + // that use an Automation document and target resources by using rate controls. + AutomationTargetParameterName *string `min:"1" type:"string"` + // The severity level to assign to the association. ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"` @@ -32418,7 +33203,24 @@ type UpdateAssociationInput struct { // set MaxConcurrency to 1 so that executions proceed one at a time. MaxErrors *string `min:"1" type:"string"` - // The name of the association document. + // The name of the SSM document that contains the configuration information + // for the instance. You can specify Command, Policy, or Automation documents. + // + // You can specify AWS-predefined documents, documents you created, or a document + // that is shared with you from another account. + // + // For SSM documents that are shared with you from other AWS accounts, you must + // specify the complete SSM document ARN, in the following format: + // + // arn:aws:ssm:region:account-id:document/document-name + // + // For example: + // + // arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document + // + // For AWS-predefined documents and SSM documents you created in your account, + // you only need to specify the document name. For example, AWS-ApplyPatchBaseline + // or My-Document. Name *string `type:"string"` // An Amazon S3 bucket where you want to store the results of this request. @@ -32451,6 +33253,9 @@ func (s *UpdateAssociationInput) Validate() error { if s.AssociationId == nil { invalidParams.Add(request.NewErrParamRequired("AssociationId")) } + if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1)) + } if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) } @@ -32500,6 +33305,12 @@ func (s *UpdateAssociationInput) SetAssociationVersion(v string) *UpdateAssociat return s } +// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value. +func (s *UpdateAssociationInput) SetAutomationTargetParameterName(v string) *UpdateAssociationInput { + s.AutomationTargetParameterName = &v + return s +} + // SetComplianceSeverity sets the ComplianceSeverity field's value. func (s *UpdateAssociationInput) SetComplianceSeverity(v string) *UpdateAssociationInput { s.ComplianceSeverity = &v @@ -33838,7 +34649,7 @@ type UpdatePatchBaselineInput struct { // A description of the patch baseline. Description *string `min:"1" type:"string"` - // A set of global filters used to exclude patches from the baseline. + // A set of global filters used to include patches in the baseline. GlobalFilters *PatchFilterGroup `type:"structure"` // The name of the patch baseline. @@ -34147,6 +34958,80 @@ func (s *UpdatePatchBaselineOutput) SetSources(v []*PatchSource) *UpdatePatchBas return s } +// The request body of the UpdateServiceSetting API action. +type UpdateServiceSettingInput struct { + _ struct{} `type:"structure"` + + // The ID of the service setting to update. + // + // SettingId is a required field + SettingId *string `min:"1" type:"string" required:"true"` + + // The new value to specify for the service setting. + // + // SettingValue is a required field + SettingValue *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateServiceSettingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateServiceSettingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateServiceSettingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateServiceSettingInput"} + if s.SettingId == nil { + invalidParams.Add(request.NewErrParamRequired("SettingId")) + } + if s.SettingId != nil && len(*s.SettingId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SettingId", 1)) + } + if s.SettingValue == nil { + invalidParams.Add(request.NewErrParamRequired("SettingValue")) + } + if s.SettingValue != nil && len(*s.SettingValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SettingValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSettingId sets the SettingId field's value. +func (s *UpdateServiceSettingInput) SetSettingId(v string) *UpdateServiceSettingInput { + s.SettingId = &v + return s +} + +// SetSettingValue sets the SettingValue field's value. +func (s *UpdateServiceSettingInput) SetSettingValue(v string) *UpdateServiceSettingInput { + s.SettingValue = &v + return s +} + +// The result body of the UpdateServiceSetting API action. +type UpdateServiceSettingOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateServiceSettingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateServiceSettingOutput) GoString() string { + return s.String() +} + const ( // AssociationComplianceSeverityCritical is a AssociationComplianceSeverity enum value AssociationComplianceSeverityCritical = "CRITICAL" diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go index 44d3bac89f6..4a473c6f816 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go @@ -598,6 +598,13 @@ const ( // Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). ErrCodeResourceLimitExceededException = "ResourceLimitExceededException" + // ErrCodeServiceSettingNotFound for service response error code + // "ServiceSettingNotFound". + // + // The specified service setting was not found. Either the service name or the + // setting has not been provisioned by the AWS service team. + ErrCodeServiceSettingNotFound = "ServiceSettingNotFound" + // ErrCodeStatusUnchanged for service response error code // "StatusUnchanged". // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go index 67009dab56e..336d3d738a3 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go @@ -148,7 +148,7 @@ func (c *StorageGateway) AddCacheRequest(input *AddCacheInput) (req *request.Req // // Configures one or more gateway local disks as cache for a gateway. This operation // is only supported in the cached volume, tape and file gateway type (see Storage -// Gateway Concepts (http://docs.aws.amazon.com/storagegateway/latest/userguide/StorageGatewayConcepts.html)). +// Gateway Concepts (https://docs.aws.amazon.com/storagegateway/latest/userguide/StorageGatewayConcepts.html)). // // In the request, you specify the gateway Amazon Resource Name (ARN) to which // you want to add cache, and one or more disk IDs that you want to configure @@ -248,6 +248,8 @@ func (c *StorageGateway) AddTagsToResourceRequest(input *AddTagsToResourceInput) // // * Virtual Tapes // +// * NFS and SMB File Shares +// // You can create a maximum of 10 tags for each resource. Virtual tapes and // storage volumes that are recovered to a new gateway maintain their tags. // @@ -473,6 +475,94 @@ func (c *StorageGateway) AddWorkingStorageWithContext(ctx aws.Context, input *Ad return out, req.Send() } +const opAttachVolume = "AttachVolume" + +// AttachVolumeRequest generates a "aws/request.Request" representing the +// client's request for the AttachVolume 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 AttachVolume for more information on using the AttachVolume +// 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 AttachVolumeRequest method. +// req, resp := client.AttachVolumeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AttachVolume +func (c *StorageGateway) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *AttachVolumeOutput) { + op := &request.Operation{ + Name: opAttachVolume, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AttachVolumeInput{} + } + + output = &AttachVolumeOutput{} + req = c.newRequest(op, input, output) + return +} + +// AttachVolume API operation for AWS Storage Gateway. +// +// Connects a volume to an iSCSI connection and then attaches the volume to +// the specified gateway. Detaching and attaching a volume enables you to recover +// your data from one gateway to a different gateway without creating a snapshot. +// It also makes it easier to move your volumes from an on-premises gateway +// to a gateway hosted on an Amazon EC2 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 AWS Storage Gateway's +// API operation AttachVolume for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidGatewayRequestException "InvalidGatewayRequestException" +// An exception occurred because an invalid gateway request was issued to the +// service. For more information, see the error and message fields. +// +// * ErrCodeInternalServerError "InternalServerError" +// An internal server error has occurred during the request. For more information, +// see the error and message fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AttachVolume +func (c *StorageGateway) AttachVolume(input *AttachVolumeInput) (*AttachVolumeOutput, error) { + req, out := c.AttachVolumeRequest(input) + return out, req.Send() +} + +// AttachVolumeWithContext is the same as AttachVolume with the addition of +// the ability to pass a context and additional request options. +// +// See AttachVolume 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 *StorageGateway) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*AttachVolumeOutput, error) { + req, out := c.AttachVolumeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCancelArchival = "CancelArchival" // CancelArchivalRequest generates a "aws/request.Request" representing the @@ -894,7 +984,7 @@ func (c *StorageGateway) CreateSMBFileShareRequest(input *CreateSMBFileShareInpu // to enable you to create a file share. Make sure that AWS STS is activated // in the AWS Region you are creating your file gateway in. If AWS STS is not // activated in this AWS Region, activate it. For information about how to activate -// AWS STS, see Activating and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// AWS STS, see Activating and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) // in the AWS Identity and Access Management User Guide. // // File gateways don't support creating hard or symbolic links on a file share. @@ -988,7 +1078,7 @@ func (c *StorageGateway) CreateSnapshotRequest(input *CreateSnapshotInput) (req // as well as import the data to an Amazon Elastic Block Store (EBS) volume // in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway // volume on a scheduled or ad-hoc basis. This API enables you to take ad-hoc -// snapshot. For more information, see Editing a Snapshot Schedule (http://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#SchedulingSnapshot). +// snapshot. For more information, see Editing a Snapshot Schedule (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#SchedulingSnapshot). // // In the CreateSnapshot request you identify the volume by providing its Amazon // Resource Name (ARN). You must also provide description for the snapshot. @@ -1000,10 +1090,10 @@ func (c *StorageGateway) CreateSnapshotRequest(input *CreateSnapshotInput) (req // cached volume gateway type. // // To list or delete a snapshot, you must use the Amazon EC2 API. For more information, -// see DescribeSnapshots or DeleteSnapshot in the EC2 API reference (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Operations.html). +// see DescribeSnapshots or DeleteSnapshot in the EC2 API reference (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Operations.html). // // Volume and snapshot IDs are changing to a longer length ID format. For more -// information, see the important note on the Welcome (http://docs.aws.amazon.com/storagegateway/latest/APIReference/Welcome.html) +// information, see the important note on the Welcome (https://docs.aws.amazon.com/storagegateway/latest/APIReference/Welcome.html) // page. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1832,7 +1922,7 @@ func (c *StorageGateway) DeleteSnapshotScheduleRequest(input *DeleteSnapshotSche // // You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. // This API action enables you to delete a snapshot schedule for a volume. For -// more information, see Working with Snapshots (http://docs.aws.amazon.com/storagegateway/latest/userguide/WorkingWithSnapshots.html). +// more information, see Working with Snapshots (https://docs.aws.amazon.com/storagegateway/latest/userguide/WorkingWithSnapshots.html). // In the DeleteSnapshotSchedule request, you identify the volume by providing // its Amazon Resource Name (ARN). This operation is only supported in stored // and cached volume gateway types. @@ -2102,7 +2192,7 @@ func (c *StorageGateway) DeleteVolumeRequest(input *DeleteVolumeInput) (req *req // volume you are deleting. You should also make sure there is no snapshot in // progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to // query snapshots on the volume you are deleting and check the snapshot status. -// For more information, go to DescribeSnapshots (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html) +// For more information, go to DescribeSnapshots (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html) // in the Amazon Elastic Compute Cloud API Reference. // // In the request, you must provide the Amazon Resource Name (ARN) of the storage @@ -3855,6 +3945,94 @@ func (c *StorageGateway) DescribeWorkingStorageWithContext(ctx aws.Context, inpu return out, req.Send() } +const opDetachVolume = "DetachVolume" + +// DetachVolumeRequest generates a "aws/request.Request" representing the +// client's request for the DetachVolume 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 DetachVolume for more information on using the DetachVolume +// 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 DetachVolumeRequest method. +// req, resp := client.DetachVolumeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DetachVolume +func (c *StorageGateway) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *DetachVolumeOutput) { + op := &request.Operation{ + Name: opDetachVolume, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DetachVolumeInput{} + } + + output = &DetachVolumeOutput{} + req = c.newRequest(op, input, output) + return +} + +// DetachVolume API operation for AWS Storage Gateway. +// +// Disconnects a volume from an iSCSI connection and then detaches the volume +// from the specified gateway. Detaching and attaching a volume enables you +// to recover your data from one gateway to a different gateway without creating +// a snapshot. It also makes it easier to move your volumes from an on-premises +// gateway to a gateway hosted on an Amazon EC2 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 AWS Storage Gateway's +// API operation DetachVolume for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidGatewayRequestException "InvalidGatewayRequestException" +// An exception occurred because an invalid gateway request was issued to the +// service. For more information, see the error and message fields. +// +// * ErrCodeInternalServerError "InternalServerError" +// An internal server error has occurred during the request. For more information, +// see the error and message fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DetachVolume +func (c *StorageGateway) DetachVolume(input *DetachVolumeInput) (*DetachVolumeOutput, error) { + req, out := c.DetachVolumeRequest(input) + return out, req.Send() +} + +// DetachVolumeWithContext is the same as DetachVolume with the addition of +// the ability to pass a context and additional request options. +// +// See DetachVolume 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 *StorageGateway) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*DetachVolumeOutput, error) { + req, out := c.DetachVolumeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisableGateway = "DisableGateway" // DisableGatewayRequest generates a "aws/request.Request" representing the @@ -6118,8 +6296,8 @@ func (c *StorageGateway) UpdateGatewaySoftwareNowRequest(input *UpdateGatewaySof // the chance of any disruption to your applications by increasing your iSCSI // Initiators' timeouts. For more information about increasing iSCSI Initiator // timeouts for Windows and Linux, see Customizing Your Windows iSCSI Settings -// (http://docs.aws.amazon.com/storagegateway/latest/userguide/ConfiguringiSCSIClientInitiatorWindowsClient.html#CustomizeWindowsiSCSISettings) -// and Customizing Your Linux iSCSI Settings (http://docs.aws.amazon.com/storagegateway/latest/userguide/ConfiguringiSCSIClientInitiatorRedHatClient.html#CustomizeLinuxiSCSISettings), +// (https://docs.aws.amazon.com/storagegateway/latest/userguide/ConfiguringiSCSIClientInitiatorWindowsClient.html#CustomizeWindowsiSCSISettings) +// and Customizing Your Linux iSCSI Settings (https://docs.aws.amazon.com/storagegateway/latest/userguide/ConfiguringiSCSIClientInitiatorRedHatClient.html#CustomizeLinuxiSCSISettings), // respectively. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6402,7 +6580,7 @@ func (c *StorageGateway) UpdateSMBFileShareRequest(input *UpdateSMBFileShareInpu // to enable you to create a file share. Make sure that AWS STS is activated // in the AWS Region you are creating your file gateway in. If AWS STS is not // activated in this AWS Region, activate it. For information about how to activate -// AWS STS, see Activating and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// AWS STS, see Activating and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) // in the AWS Identity and Access Management User Guide. // // File gateways don't support creating hard or symbolic links on a file share. @@ -6666,12 +6844,11 @@ type ActivateGatewayInput struct { // A value that indicates the region where you want to store your data. The // gateway region specified must be the same region as the region in your Host // header in the request. For more information about available regions and endpoints - // for AWS Storage Gateway, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#sg_region) + // for AWS Storage Gateway, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#sg_region) // in the Amazon Web Services Glossary. // - // Valid Values: "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ca-central-1", - // "eu-west-1", "eu-central-1", "eu-west-2", "eu-west-3", "ap-northeast-1", - // "ap-northeast-2", "ap-southeast-1", "ap-southeast-2", "ap-south-1", "sa-east-1" + // Valid Values: See AWS Storage Gateway Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#sg_region) + // in the AWS General Reference. // // GatewayRegion is a required field GatewayRegion *string `min:"1" type:"string" required:"true"` @@ -6698,6 +6875,15 @@ type ActivateGatewayInput struct { // Valid Values: "STK-L700", "AWS-Gateway-VTL" MediumChangerType *string `min:"2" type:"string"` + // A list of up to ten (10) tags assigned to the gateway may be specified. Every + // tag is a key-value pair. + // + // Valid characters for key and value are letters, spaces, and numbers representable + // in UTF-8 format, and the following special characters: + - = . _ : / @. The + // maximum length of a tag's key is 128 characters, and the maximum length for + // a tag's value is 256. + Tags []*Tag `type:"list"` + // The value that indicates the type of tape drive to use for tape gateway. // This field is optional. // @@ -6751,6 +6937,16 @@ func (s *ActivateGatewayInput) Validate() error { if s.TapeDriveType != nil && len(*s.TapeDriveType) < 2 { invalidParams.Add(request.NewErrParamMinLen("TapeDriveType", 2)) } + 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 @@ -6794,6 +6990,12 @@ func (s *ActivateGatewayInput) SetMediumChangerType(v string) *ActivateGatewayIn return s } +// SetTags sets the Tags field's value. +func (s *ActivateGatewayInput) SetTags(v []*Tag) *ActivateGatewayInput { + s.Tags = v + return s +} + // SetTapeDriveType sets the TapeDriveType field's value. func (s *ActivateGatewayInput) SetTapeDriveType(v string) *ActivateGatewayInput { s.TapeDriveType = &v @@ -6835,6 +7037,10 @@ func (s *ActivateGatewayOutput) SetGatewayARN(v string) *ActivateGatewayOutput { type AddCacheInput struct { _ struct{} `type:"structure"` + // An array of strings that identify disks that are to be configured as working + // storage. Each string have a minimum length of 1 and maximum length of 300. + // You can get the disk IDs from the ListLocalDisks API. + // // DiskIds is a required field DiskIds []*string `type:"list" required:"true"` @@ -6923,7 +7129,9 @@ type AddTagsToResourceInput struct { // The value can be an empty string. // // Valid characters for key and value are letters, spaces, and numbers representable - // in UTF-8 format, and the following special characters: + - = . _ : / @. + // in UTF-8 format, and the following special characters: + - = . _ : / @. The + // maximum length of a tag's key is 128 characters, and the maximum length for + // a tag's value is 256. // // Tags is a required field Tags []*Tag `type:"list" required:"true"` @@ -7007,6 +7215,10 @@ func (s *AddTagsToResourceOutput) SetResourceARN(v string) *AddTagsToResourceOut type AddUploadBufferInput struct { _ struct{} `type:"structure"` + // An array of strings that identify disks that are to be configured as working + // storage. Each string have a minimum length of 1 and maximum length of 300. + // You can get the disk IDs from the ListLocalDisks API. + // // DiskIds is a required field DiskIds []*string `type:"list" required:"true"` @@ -7169,6 +7381,150 @@ func (s *AddWorkingStorageOutput) SetGatewayARN(v string) *AddWorkingStorageOutp return s } +// AttachVolumeInput +type AttachVolumeInput struct { + _ struct{} `type:"structure"` + + // The unique device ID or other distinguishing data that identifies the local + // disk used to create the volume. This value is only required when you are + // attaching a stored volume. + DiskId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the gateway that you want to attach the + // volume to. + // + // GatewayARN is a required field + GatewayARN *string `min:"50" type:"string" required:"true"` + + // The network interface of the gateway on which to expose the iSCSI target. + // Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a + // list of the network interfaces available on a gateway. + // + // Valid Values: A valid IP address. + // + // NetworkInterfaceId is a required field + NetworkInterfaceId *string `type:"string" required:"true"` + + // The name of the iSCSI target used by an initiator to connect to a volume + // and used as a suffix for the target ARN. For example, specifying TargetName + // as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. + // The target name must be unique across all volumes on a gateway. + // + // If you don't specify a value, Storage Gateway uses the value that was previously + // used for this volume as the new target name. + TargetName *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the volume to attach to the specified gateway. + // + // VolumeARN is a required field + VolumeARN *string `min:"50" type:"string" required:"true"` +} + +// String returns the string representation +func (s AttachVolumeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachVolumeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttachVolumeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"} + if s.DiskId != nil && len(*s.DiskId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DiskId", 1)) + } + if s.GatewayARN == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayARN")) + } + if s.GatewayARN != nil && len(*s.GatewayARN) < 50 { + invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50)) + } + if s.NetworkInterfaceId == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId")) + } + if s.TargetName != nil && len(*s.TargetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetName", 1)) + } + if s.VolumeARN == nil { + invalidParams.Add(request.NewErrParamRequired("VolumeARN")) + } + if s.VolumeARN != nil && len(*s.VolumeARN) < 50 { + invalidParams.Add(request.NewErrParamMinLen("VolumeARN", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDiskId sets the DiskId field's value. +func (s *AttachVolumeInput) SetDiskId(v string) *AttachVolumeInput { + s.DiskId = &v + return s +} + +// SetGatewayARN sets the GatewayARN field's value. +func (s *AttachVolumeInput) SetGatewayARN(v string) *AttachVolumeInput { + s.GatewayARN = &v + return s +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *AttachVolumeInput) SetNetworkInterfaceId(v string) *AttachVolumeInput { + s.NetworkInterfaceId = &v + return s +} + +// SetTargetName sets the TargetName field's value. +func (s *AttachVolumeInput) SetTargetName(v string) *AttachVolumeInput { + s.TargetName = &v + return s +} + +// SetVolumeARN sets the VolumeARN field's value. +func (s *AttachVolumeInput) SetVolumeARN(v string) *AttachVolumeInput { + s.VolumeARN = &v + return s +} + +// AttachVolumeOutput +type AttachVolumeOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI + // name for the initiator that was used to connect to the target. + TargetARN *string `min:"50" type:"string"` + + // The Amazon Resource Name (ARN) of the volume that was attached to the gateway. + VolumeARN *string `min:"50" type:"string"` +} + +// String returns the string representation +func (s AttachVolumeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachVolumeOutput) GoString() string { + return s.String() +} + +// SetTargetARN sets the TargetARN field's value. +func (s *AttachVolumeOutput) SetTargetARN(v string) *AttachVolumeOutput { + s.TargetARN = &v + return s +} + +// SetVolumeARN sets the VolumeARN field's value. +func (s *AttachVolumeOutput) SetVolumeARN(v string) *AttachVolumeOutput { + s.VolumeARN = &v + return s +} + // Describes an iSCSI cached volume. type CachediSCSIVolume struct { _ struct{} `type:"structure"` @@ -7179,15 +7535,29 @@ type CachediSCSIVolume struct { // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server // side encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // If the cached volume was created from a snapshot, this field contains the // snapshot ID used, e.g. snap-78e22663. Otherwise, this field is not included. SourceSnapshotId *string `type:"string"` + // The name of the iSCSI target used by an initiator to connect to a volume + // and used as a suffix for the target ARN. For example, specifying TargetName + // as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. + // The target name must be unique across all volumes on a gateway. + // + // If you don't specify a value, Storage Gateway uses the value that was previously + // used for this volume as the new target name. + TargetName *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the storage volume. VolumeARN *string `min:"50" type:"string"` + // A value that indicates whether a storage volume is attached to or detached + // from a gateway. For more information, see Moving Your Volumes to a Different + // Gateway (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume). + VolumeAttachmentStatus *string `min:"3" type:"string"` + // The unique identifier of the volume, e.g. vol-AE4B946D. VolumeId *string `min:"12" type:"string"` @@ -7244,12 +7614,24 @@ func (s *CachediSCSIVolume) SetSourceSnapshotId(v string) *CachediSCSIVolume { return s } +// SetTargetName sets the TargetName field's value. +func (s *CachediSCSIVolume) SetTargetName(v string) *CachediSCSIVolume { + s.TargetName = &v + return s +} + // SetVolumeARN sets the VolumeARN field's value. func (s *CachediSCSIVolume) SetVolumeARN(v string) *CachediSCSIVolume { s.VolumeARN = &v return s } +// SetVolumeAttachmentStatus sets the VolumeAttachmentStatus field's value. +func (s *CachediSCSIVolume) SetVolumeAttachmentStatus(v string) *CachediSCSIVolume { + s.VolumeAttachmentStatus = &v + return s +} + // SetVolumeId sets the VolumeId field's value. func (s *CachediSCSIVolume) SetVolumeId(v string) *CachediSCSIVolume { s.VolumeId = &v @@ -7542,7 +7924,7 @@ type CreateCachediSCSIVolumeInput struct { // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server // side encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // The network interface of the gateway on which to expose the iSCSI target. // Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a @@ -7556,7 +7938,7 @@ type CreateCachediSCSIVolumeInput struct { // The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the // new cached volume. Specify this field if you want to create the iSCSI storage // volume from a snapshot otherwise do not include this field. To list snapshots - // for your account use DescribeSnapshots (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html) + // for your account use DescribeSnapshots (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html) // in the Amazon Elastic Compute Cloud API Reference. SnapshotId *string `type:"string"` @@ -7566,10 +7948,13 @@ type CreateCachediSCSIVolumeInput struct { // than the size of the existing volume, in bytes. SourceVolumeARN *string `min:"50" type:"string"` - // The name of the iSCSI target used by initiators to connect to the target - // and as a suffix for the target ARN. For example, specifying TargetName as - // myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. - // The target name must be unique across all volumes of a gateway. + // The name of the iSCSI target used by an initiator to connect to a volume + // and used as a suffix for the target ARN. For example, specifying TargetName + // as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. + // The target name must be unique across all volumes on a gateway. + // + // If you don't specify a value, Storage Gateway uses the value that was previously + // used for this volume as the new target name. // // TargetName is a required field TargetName *string `min:"1" type:"string" required:"true"` @@ -7605,8 +7990,8 @@ func (s *CreateCachediSCSIVolumeInput) Validate() error { if s.GatewayARN != nil && len(*s.GatewayARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50)) } - if s.KMSKey != nil && len(*s.KMSKey) < 20 { - invalidParams.Add(request.NewErrParamMinLen("KMSKey", 20)) + if s.KMSKey != nil && len(*s.KMSKey) < 7 { + invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7)) } if s.NetworkInterfaceId == nil { invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId")) @@ -7687,7 +8072,7 @@ func (s *CreateCachediSCSIVolumeInput) SetVolumeSizeInBytes(v int64) *CreateCach type CreateCachediSCSIVolumeOutput struct { _ struct{} `type:"structure"` - // he Amazon Resource Name (ARN) of the volume target that includes the iSCSI + // The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI // name that initiators can use to connect to the target. TargetARN *string `min:"50" type:"string"` @@ -7753,7 +8138,7 @@ type CreateNFSFileShareInput struct { // The Amazon Resource Name (ARN) AWS KMS key used for Amazon S3 server side // encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // The ARN of the backed storage used for storing file data. // @@ -7789,6 +8174,15 @@ type CreateNFSFileShareInput struct { // // * AllSquash - Everyone is mapped to anonymous user. Squash *string `min:"5" type:"string"` + + // A list of up to ten (10) tags can be assigned to the NFS file share. Every + // tag is a key-value pair. + // + // Valid characters for key and value are letters, spaces, and numbers representable + // in UTF-8 format, and the following special characters: + - = . _ : / @. The + // maximum length of a tag's key is 128 characters, and the maximum length for + // a tag's value is 256. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -7822,8 +8216,8 @@ func (s *CreateNFSFileShareInput) Validate() error { if s.GatewayARN != nil && len(*s.GatewayARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50)) } - if s.KMSKey != nil && len(*s.KMSKey) < 20 { - invalidParams.Add(request.NewErrParamMinLen("KMSKey", 20)) + if s.KMSKey != nil && len(*s.KMSKey) < 7 { + invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7)) } if s.LocationARN == nil { invalidParams.Add(request.NewErrParamRequired("LocationARN")) @@ -7845,6 +8239,16 @@ func (s *CreateNFSFileShareInput) Validate() error { invalidParams.AddNested("NFSFileShareDefaults", err.(request.ErrInvalidParams)) } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -7936,6 +8340,12 @@ func (s *CreateNFSFileShareInput) SetSquash(v string) *CreateNFSFileShareInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateNFSFileShareInput) SetTags(v []*Tag) *CreateNFSFileShareInput { + s.Tags = v + return s +} + // CreateNFSFileShareOutput type CreateNFSFileShareOutput struct { _ struct{} `type:"structure"` @@ -8002,7 +8412,7 @@ type CreateSMBFileShareInput struct { // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server // side encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // The ARN of the backed storage used for storing file data. // @@ -8027,6 +8437,15 @@ type CreateSMBFileShareInput struct { // Role is a required field Role *string `min:"20" type:"string" required:"true"` + // A list of up to ten (10) tags can be assigned to the NFS file share. Every + // tag is a key-value pair. + // + // Valid characters for key and value are letters, spaces, and numbers representable + // in UTF-8 format, and the following special characters: + - = . _ : / @. The + // maximum length of a tag's key is 128 characters, and the maximum length for + // a tag's value is 256. + Tags []*Tag `type:"list"` + // A list of users or groups in the Active Directory that are allowed to access // the file share. A group must be prefixed with the @ character. For example // @group1. Can only be set if Authentication is set to ActiveDirectory. @@ -8064,8 +8483,8 @@ func (s *CreateSMBFileShareInput) Validate() error { if s.GatewayARN != nil && len(*s.GatewayARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50)) } - if s.KMSKey != nil && len(*s.KMSKey) < 20 { - invalidParams.Add(request.NewErrParamMinLen("KMSKey", 20)) + if s.KMSKey != nil && len(*s.KMSKey) < 7 { + invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7)) } if s.LocationARN == nil { invalidParams.Add(request.NewErrParamRequired("LocationARN")) @@ -8079,6 +8498,16 @@ func (s *CreateSMBFileShareInput) Validate() error { if s.Role != nil && len(*s.Role) < 20 { invalidParams.Add(request.NewErrParamMinLen("Role", 20)) } + 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 @@ -8164,6 +8593,12 @@ func (s *CreateSMBFileShareInput) SetRole(v string) *CreateSMBFileShareInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateSMBFileShareInput) SetTags(v []*Tag) *CreateSMBFileShareInput { + s.Tags = v + return s +} + // SetValidUserList sets the ValidUserList field's value. func (s *CreateSMBFileShareInput) SetValidUserList(v []*string) *CreateSMBFileShareInput { s.ValidUserList = v @@ -8197,9 +8632,16 @@ func (s *CreateSMBFileShareOutput) SetFileShareARN(v string) *CreateSMBFileShare type CreateSnapshotFromVolumeRecoveryPointInput struct { _ struct{} `type:"structure"` + // Textual description of the snapshot that appears in the Amazon EC2 console, + // Elastic Block Store snapshots panel in the Description field, and in the + // AWS Storage Gateway snapshot Details pane, Description field + // // SnapshotDescription is a required field SnapshotDescription *string `min:"1" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes + // operation to return to retrieve the TargetARN for specified VolumeARN. + // // VolumeARN is a required field VolumeARN *string `min:"50" type:"string" required:"true"` } @@ -8251,10 +8693,14 @@ func (s *CreateSnapshotFromVolumeRecoveryPointInput) SetVolumeARN(v string) *Cre type CreateSnapshotFromVolumeRecoveryPointOutput struct { _ struct{} `type:"structure"` + // The ID of the snapshot. SnapshotId *string `type:"string"` + // The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes + // operation to return to retrieve the TargetARN for specified VolumeARN. VolumeARN *string `min:"50" type:"string"` + // The time the volume was created from the recovery point. VolumeRecoveryPointTime *string `type:"string"` } @@ -8402,7 +8848,7 @@ type CreateStorediSCSIVolumeInput struct { _ struct{} `type:"structure"` // The unique identifier for the gateway local disk that is configured as a - // stored volume. Use ListLocalDisks (http://docs.aws.amazon.com/storagegateway/latest/userguide/API_ListLocalDisks.html) + // stored volume. Use ListLocalDisks (https://docs.aws.amazon.com/storagegateway/latest/userguide/API_ListLocalDisks.html) // to list disk IDs for a gateway. // // DiskId is a required field @@ -8420,7 +8866,7 @@ type CreateStorediSCSIVolumeInput struct { // The Amazon Resource Name (ARN) of the KMS key used for Amazon S3 server side // encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // The network interface of the gateway on which to expose the iSCSI target. // Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a @@ -8442,14 +8888,17 @@ type CreateStorediSCSIVolumeInput struct { // The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the // new stored volume. Specify this field if you want to create the iSCSI storage // volume from a snapshot otherwise do not include this field. To list snapshots - // for your account use DescribeSnapshots (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html) + // for your account use DescribeSnapshots (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html) // in the Amazon Elastic Compute Cloud API Reference. SnapshotId *string `type:"string"` - // The name of the iSCSI target used by initiators to connect to the target - // and as a suffix for the target ARN. For example, specifying TargetName as - // myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. - // The target name must be unique across all volumes of a gateway. + // The name of the iSCSI target used by an initiator to connect to a volume + // and used as a suffix for the target ARN. For example, specifying TargetName + // as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. + // The target name must be unique across all volumes on a gateway. + // + // If you don't specify a value, Storage Gateway uses the value that was previously + // used for this volume as the new target name. // // TargetName is a required field TargetName *string `min:"1" type:"string" required:"true"` @@ -8480,8 +8929,8 @@ func (s *CreateStorediSCSIVolumeInput) Validate() error { if s.GatewayARN != nil && len(*s.GatewayARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50)) } - if s.KMSKey != nil && len(*s.KMSKey) < 20 { - invalidParams.Add(request.NewErrParamMinLen("KMSKey", 20)) + if s.KMSKey != nil && len(*s.KMSKey) < 7 { + invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7)) } if s.NetworkInterfaceId == nil { invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId")) @@ -8554,7 +9003,7 @@ func (s *CreateStorediSCSIVolumeInput) SetTargetName(v string) *CreateStorediSCS type CreateStorediSCSIVolumeOutput struct { _ struct{} `type:"structure"` - // he Amazon Resource Name (ARN) of the volume target that includes the iSCSI + // The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI // name that initiators can use to connect to the target. TargetARN *string `min:"50" type:"string"` @@ -8610,7 +9059,7 @@ type CreateTapeWithBarcodeInput struct { // The Amazon Resource Name (ARN) of the AWS KMS Key used for Amazon S3 server // side encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // The barcode that you want to assign to the tape. // @@ -8647,8 +9096,8 @@ func (s *CreateTapeWithBarcodeInput) Validate() error { if s.GatewayARN != nil && len(*s.GatewayARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50)) } - if s.KMSKey != nil && len(*s.KMSKey) < 20 { - invalidParams.Add(request.NewErrParamMinLen("KMSKey", 20)) + if s.KMSKey != nil && len(*s.KMSKey) < 7 { + invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7)) } if s.TapeBarcode == nil { invalidParams.Add(request.NewErrParamRequired("TapeBarcode")) @@ -8746,7 +9195,7 @@ type CreateTapesInput struct { // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server // side encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // The number of virtual tapes that you want to create. // @@ -8795,8 +9244,8 @@ func (s *CreateTapesInput) Validate() error { if s.GatewayARN != nil && len(*s.GatewayARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50)) } - if s.KMSKey != nil && len(*s.KMSKey) < 20 { - invalidParams.Add(request.NewErrParamMinLen("KMSKey", 20)) + if s.KMSKey != nil && len(*s.KMSKey) < 7 { + invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7)) } if s.NumTapesToCreate == nil { invalidParams.Add(request.NewErrParamRequired("NumTapesToCreate")) @@ -9224,6 +9673,8 @@ func (s *DeleteGatewayOutput) SetGatewayARN(v string) *DeleteGatewayOutput { type DeleteSnapshotScheduleInput struct { _ struct{} `type:"structure"` + // The volume which snapshot schedule to delete. + // // VolumeARN is a required field VolumeARN *string `min:"50" type:"string" required:"true"` } @@ -9263,6 +9714,7 @@ func (s *DeleteSnapshotScheduleInput) SetVolumeARN(v string) *DeleteSnapshotSche type DeleteSnapshotScheduleOutput struct { _ struct{} `type:"structure"` + // The volume which snapshot schedule was deleted. VolumeARN *string `min:"50" type:"string"` } @@ -9636,16 +10088,28 @@ func (s *DescribeCacheInput) SetGatewayARN(v string) *DescribeCacheInput { type DescribeCacheOutput struct { _ struct{} `type:"structure"` + // The amount of cache in bytes allocated to the a gateway. CacheAllocatedInBytes *int64 `type:"long"` + // The file share's contribution to the overall percentage of the gateway's + // cache that has not been persisted to AWS. The sample is taken at the end + // of the reporting period. CacheDirtyPercentage *float64 `type:"double"` + // Percent of application read operations from the file shares that are served + // from cache. The sample is taken at the end of the reporting period. CacheHitPercentage *float64 `type:"double"` CacheMissPercentage *float64 `type:"double"` + // Percent use of the gateway's cache storage. This metric applies only to the + // gateway-cached volume setup. The sample is taken at the end of the reporting + // period. CacheUsedPercentage *float64 `type:"double"` + // An array of strings that identify disks that are to be configured as working + // storage. Each string have a minimum length of 1 and maximum length of 300. + // You can get the disk IDs from the ListLocalDisks API. DiskIds []*string `type:"list"` // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation @@ -9708,6 +10172,10 @@ func (s *DescribeCacheOutput) SetGatewayARN(v string) *DescribeCacheOutput { type DescribeCachediSCSIVolumesInput struct { _ struct{} `type:"structure"` + // An array of strings where each string represents the Amazon Resource Name + // (ARN) of a cached volume. All of the specified cached volumes must from the + // same gateway. Use ListVolumes to get volume ARNs for a gateway. + // // VolumeARNs is a required field VolumeARNs []*string `type:"list" required:"true"` } @@ -9929,6 +10397,12 @@ type DescribeGatewayInformationOutput struct { // the time zone of the gateway. If the gateway is not available for an update // this field is not returned in the response. NextUpdateAvailabilityDate *string `min:"1" type:"string"` + + // A list of up to ten (10) tags assigned to the gateway are returned, sorted + // alphabetically by key name. Every tag is a key-value pair. For a gateway + // with more than 10 tags assigned, you can view all tags using the ListTagsForResource + // API. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -9995,6 +10469,12 @@ func (s *DescribeGatewayInformationOutput) SetNextUpdateAvailabilityDate(v strin return s } +// SetTags sets the Tags field's value. +func (s *DescribeGatewayInformationOutput) SetTags(v []*Tag) *DescribeGatewayInformationOutput { + s.Tags = v + return s +} + // A JSON object containing the of the gateway. type DescribeMaintenanceStartTimeInput struct { _ struct{} `type:"structure"` @@ -10069,6 +10549,8 @@ type DescribeMaintenanceStartTimeOutput struct { // the gateway. MinuteOfHour *int64 `type:"integer"` + // A value that indicates the time zone that is set for the gateway. The start + // time and day of week specified should be in the time zone of the gateway. Timezone *string `min:"3" type:"string"` } @@ -10292,7 +10774,7 @@ type DescribeSMBSettingsOutput struct { _ struct{} `type:"structure"` // The name of the domain that the gateway is joined to. - DomainName *string `type:"string"` + DomainName *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation // to return a list of gateways for your account and region. @@ -10378,14 +10860,21 @@ func (s *DescribeSnapshotScheduleInput) SetVolumeARN(v string) *DescribeSnapshot type DescribeSnapshotScheduleOutput struct { _ struct{} `type:"structure"` + // The snapshot description. Description *string `min:"1" type:"string"` + // The number of hours between snapshots. RecurrenceInHours *int64 `min:"1" type:"integer"` + // The hour of the day at which the snapshot schedule begins represented as + // hh, where hh is the hour (0 to 23). The hour of the day is in the time zone + // of the gateway. StartAt *int64 `type:"integer"` + // A value that indicates the time zone of the gateway. Timezone *string `min:"3" type:"string"` + // The Amazon Resource Name (ARN) of the volume that was specified in the request. VolumeARN *string `min:"50" type:"string"` } @@ -10473,6 +10962,53 @@ func (s *DescribeStorediSCSIVolumesInput) SetVolumeARNs(v []*string) *DescribeSt type DescribeStorediSCSIVolumesOutput struct { _ struct{} `type:"structure"` + // Describes a single unit of output from DescribeStorediSCSIVolumes. The following + // fields are returned: + // + // * ChapEnabled: Indicates whether mutual CHAP is enabled for the iSCSI + // target. + // + // * LunNumber: The logical disk number. + // + // * NetworkInterfaceId: The network interface ID of the stored volume that + // initiator use to map the stored volume as an iSCSI target. + // + // * NetworkInterfacePort: The port used to communicate with iSCSI targets. + // + // * PreservedExistingData: Indicates if when the stored volume was created, + // existing data on the underlying local disk was preserved. + // + // * SourceSnapshotId: If the stored volume was created from a snapshot, + // this field contains the snapshot ID used, e.g. snap-1122aabb. Otherwise, + // this field is not included. + // + // * StorediSCSIVolumes: An array of StorediSCSIVolume objects where each + // object contains metadata about one stored volume. + // + // * TargetARN: The Amazon Resource Name (ARN) of the volume target. + // + // * VolumeARN: The Amazon Resource Name (ARN) of the stored volume. + // + // * VolumeDiskId: The disk ID of the local disk that was specified in the + // CreateStorediSCSIVolume operation. + // + // * VolumeId: The unique identifier of the storage volume, e.g. vol-1122AABB. + // + // * VolumeiSCSIAttributes: An VolumeiSCSIAttributes object that represents + // a collection of iSCSI attributes for one stored volume. + // + // * VolumeProgress: Represents the percentage complete if the volume is + // restoring or bootstrapping that represents the percent of data transferred. + // This field does not appear in the response if the stored volume is not + // restoring or bootstrapping. + // + // * VolumeSizeInBytes: The size of the volume in bytes. + // + // * VolumeStatus: One of the VolumeStatus values that indicates the state + // of the volume. + // + // * VolumeType: One of the enumeration values describing the type of the + // volume. Currently, on STORED volumes are supported. StorediSCSIVolumes []*StorediSCSIVolume `type:"list"` } @@ -10877,14 +11413,20 @@ func (s *DescribeUploadBufferInput) SetGatewayARN(v string) *DescribeUploadBuffe type DescribeUploadBufferOutput struct { _ struct{} `type:"structure"` + // An array of the gateway's local disk IDs that are configured as working storage. + // Each local disk ID is specified as a string (minimum length of 1 and maximum + // length of 300). If no local disks are configured as working storage, then + // the DiskIds array is empty. DiskIds []*string `type:"list"` // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation // to return a list of gateways for your account and region. GatewayARN *string `min:"50" type:"string"` + // The total number of bytes allocated in the gateway's as upload buffer. UploadBufferAllocatedInBytes *int64 `type:"long"` + // The total number of bytes being used in the gateway's upload buffer. UploadBufferUsedInBytes *int64 `type:"long"` } @@ -11152,6 +11694,83 @@ func (s *DescribeWorkingStorageOutput) SetWorkingStorageUsedInBytes(v int64) *De return s } +// AttachVolumeInput +type DetachVolumeInput struct { + _ struct{} `type:"structure"` + + // Set to true to forcibly remove the iSCSI connection of the target volume + // and detach the volume. The default is false. If this value is set to false, + // you must manually disconnect the iSCSI connection from the target volume. + ForceDetach *bool `type:"boolean"` + + // The Amazon Resource Name (ARN) of the volume to detach from the gateway. + // + // VolumeARN is a required field + VolumeARN *string `min:"50" type:"string" required:"true"` +} + +// String returns the string representation +func (s DetachVolumeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetachVolumeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DetachVolumeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"} + if s.VolumeARN == nil { + invalidParams.Add(request.NewErrParamRequired("VolumeARN")) + } + if s.VolumeARN != nil && len(*s.VolumeARN) < 50 { + invalidParams.Add(request.NewErrParamMinLen("VolumeARN", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetForceDetach sets the ForceDetach field's value. +func (s *DetachVolumeInput) SetForceDetach(v bool) *DetachVolumeInput { + s.ForceDetach = &v + return s +} + +// SetVolumeARN sets the VolumeARN field's value. +func (s *DetachVolumeInput) SetVolumeARN(v string) *DetachVolumeInput { + s.VolumeARN = &v + return s +} + +// AttachVolumeOutput +type DetachVolumeOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the volume that was detached. + VolumeARN *string `min:"50" type:"string"` +} + +// String returns the string representation +func (s DetachVolumeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetachVolumeOutput) GoString() string { + return s.String() +} + +// SetVolumeARN sets the VolumeARN field's value. +func (s *DetachVolumeOutput) SetVolumeARN(v string) *DetachVolumeOutput { + s.VolumeARN = &v + return s +} + // Lists iSCSI information about a VTL device. type DeviceiSCSIAttributes struct { _ struct{} `type:"structure"` @@ -11275,13 +11894,13 @@ func (s *DisableGatewayOutput) SetGatewayARN(v string) *DisableGatewayOutput { type Disk struct { _ struct{} `type:"structure"` - // The iSCSI Qualified Name (IQN) that is defined for a disk. This field is + // The iSCSI qualified name (IQN) that is defined for a disk. This field is // not included in the response if the local disk is not defined as an iSCSI // target. The format of this field is targetIqn::LUNNumber::region-volumeId. DiskAllocationResource *string `type:"string"` // One of the DiskAllocationType enumeration values that identifies how a local - // disk is used. Valid values: "UPLOAD_BUFFER", "CACHE_STORAGE". + // disk is used. Valid values: UPLOAD_BUFFER, CACHE_STORAGE DiskAllocationType *string `min:"3" type:"string"` // A list of values that represents attributes of a local disk. @@ -11528,28 +12147,38 @@ func (s *GatewayInfo) SetGatewayType(v string) *GatewayInfo { type JoinDomainInput struct { _ struct{} `type:"structure"` + // List of IPv4 addresses, NetBIOS names, or host names of your domain server. + // If you need to specify the port number include it after the colon (“:”). + // For example, mydc.mydomain.com:389. + DomainControllers []*string `type:"list"` + // The name of the domain that you want the gateway to join. // // DomainName is a required field - DomainName *string `type:"string" required:"true"` + DomainName *string `min:"1" type:"string" required:"true"` - // The unique Amazon Resource Name (ARN) of the file gateway you want to add - // to the Active Directory domain. + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation + // to return a list of gateways for your account and region. // // GatewayARN is a required field GatewayARN *string `min:"50" type:"string" required:"true"` + // The organizational unit (OU) is a container with an Active Directory that + // can hold users, groups, computers, and other OUs and this parameter specifies + // the OU that the gateway will join within the AD domain. + OrganizationalUnit *string `min:"1" type:"string"` + // Sets the password of the user who has permission to add the gateway to the // Active Directory domain. // // Password is a required field - Password *string `type:"string" required:"true" sensitive:"true"` + Password *string `min:"1" type:"string" required:"true" sensitive:"true"` // Sets the user name of user who has permission to add the gateway to the Active // Directory domain. // // UserName is a required field - UserName *string `type:"string" required:"true"` + UserName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -11568,18 +12197,30 @@ func (s *JoinDomainInput) Validate() error { if s.DomainName == nil { invalidParams.Add(request.NewErrParamRequired("DomainName")) } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } if s.GatewayARN == nil { invalidParams.Add(request.NewErrParamRequired("GatewayARN")) } if s.GatewayARN != nil && len(*s.GatewayARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50)) } + if s.OrganizationalUnit != nil && len(*s.OrganizationalUnit) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnit", 1)) + } if s.Password == nil { invalidParams.Add(request.NewErrParamRequired("Password")) } + if s.Password != nil && len(*s.Password) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Password", 1)) + } if s.UserName == nil { invalidParams.Add(request.NewErrParamRequired("UserName")) } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -11587,6 +12228,12 @@ func (s *JoinDomainInput) Validate() error { return nil } +// SetDomainControllers sets the DomainControllers field's value. +func (s *JoinDomainInput) SetDomainControllers(v []*string) *JoinDomainInput { + s.DomainControllers = v + return s +} + // SetDomainName sets the DomainName field's value. func (s *JoinDomainInput) SetDomainName(v string) *JoinDomainInput { s.DomainName = &v @@ -11599,6 +12246,12 @@ func (s *JoinDomainInput) SetGatewayARN(v string) *JoinDomainInput { return s } +// SetOrganizationalUnit sets the OrganizationalUnit field's value. +func (s *JoinDomainInput) SetOrganizationalUnit(v string) *JoinDomainInput { + s.OrganizationalUnit = &v + return s +} + // SetPassword sets the Password field's value. func (s *JoinDomainInput) SetPassword(v string) *JoinDomainInput { s.Password = &v @@ -11803,8 +12456,12 @@ func (s *ListGatewaysInput) SetMarker(v string) *ListGatewaysInput { type ListGatewaysOutput struct { _ struct{} `type:"structure"` + // An array of GatewayInfo objects. Gateways []*GatewayInfo `type:"list"` + // Use the marker in your next request to fetch the next set of gateways in + // the list. If there are no more gateways to list, this field does not appear + // in the response. Marker *string `min:"1" type:"string"` } @@ -11876,6 +12533,9 @@ func (s *ListLocalDisksInput) SetGatewayARN(v string) *ListLocalDisksInput { type ListLocalDisksOutput struct { _ struct{} `type:"structure"` + // A JSON object containing the following fields: + // + // * ListLocalDisksOutput$Disks Disks []*Disk `type:"list"` // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation @@ -12244,6 +12904,7 @@ type ListVolumeRecoveryPointsOutput struct { // to return a list of gateways for your account and region. GatewayARN *string `min:"50" type:"string"` + // An array of VolumeRecoveryPointInfo objects. VolumeRecoveryPointInfos []*VolumeRecoveryPointInfo `type:"list"` } @@ -12338,6 +12999,11 @@ func (s *ListVolumesInput) SetMarker(v string) *ListVolumesInput { return s } +// A JSON object containing the following fields: +// +// * ListVolumesOutput$Marker +// +// * ListVolumesOutput$VolumeInfos type ListVolumesOutput struct { _ struct{} `type:"structure"` @@ -12345,8 +13011,14 @@ type ListVolumesOutput struct { // to return a list of gateways for your account and region. GatewayARN *string `min:"50" type:"string"` + // Use the marker in your next request to continue pagination of iSCSI volumes. + // If there are no more volumes to list, this field does not appear in the response + // body. Marker *string `min:"1" type:"string"` + // An array of VolumeInfo objects, where each object describes an iSCSI volume. + // If no volumes are defined for the gateway, then VolumeInfos is an empty array + // "[]". VolumeInfos []*VolumeInfo `type:"list"` } @@ -12495,7 +13167,7 @@ type NFSFileShareInfo struct { // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server // side encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // The ARN of the backend storage used for storing file data. LocationARN *string `min:"16" type:"string"` @@ -12535,6 +13207,12 @@ type NFSFileShareInfo struct { // // * AllSquash - Everyone is mapped to anonymous user. Squash *string `min:"5" type:"string"` + + // A list of up to ten (10) tags assigned to the NFS file share are returned, + // sorted alphabetically by key name. Every tag is a key-value pair. For a gateway + // with more than 10 tags assigned, you can view all tags using the ListTagsForResource + // API. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -12649,6 +13327,12 @@ func (s *NFSFileShareInfo) SetSquash(v string) *NFSFileShareInfo { return s } +// SetTags sets the Tags field's value. +func (s *NFSFileShareInfo) SetTags(v []*Tag) *NFSFileShareInfo { + s.Tags = v + return s +} + // Describes a gateway's network interface. type NetworkInterface struct { _ struct{} `type:"structure"` @@ -12768,10 +13452,11 @@ func (s *NotifyWhenUploadedOutput) SetNotificationId(v string) *NotifyWhenUpload return s } +// RefreshCacheInput type RefreshCacheInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the file share. + // The Amazon Resource Name (ARN) of the file share you want to refresh. // // FileShareARN is a required field FileShareARN *string `min:"50" type:"string" required:"true"` @@ -13243,7 +13928,7 @@ type SMBFileShareInfo struct { // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server // side encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // The ARN of the backend storage used for storing file data. LocationARN *string `min:"16" type:"string"` @@ -13267,6 +13952,12 @@ type SMBFileShareInfo struct { // storage. Role *string `min:"20" type:"string"` + // A list of up to ten (10) tags assigned to the SMB file share are returned, + // sorted alphabetically by key name. Every tag is a key-value pair. For a gateway + // with more than 10 tags assigned, you can view all tags using the ListTagsForResource + // API. + Tags []*Tag `type:"list"` + // A list of users or groups in the Active Directory that are allowed to access // the file share. A group must be prefixed with the @ character. For example // @group1. Can only be set if Authentication is set to ActiveDirectory. @@ -13379,6 +14070,12 @@ func (s *SMBFileShareInfo) SetRole(v string) *SMBFileShareInfo { return s } +// SetTags sets the Tags field's value. +func (s *SMBFileShareInfo) SetTags(v []*Tag) *SMBFileShareInfo { + s.Tags = v + return s +} + // SetValidUserList sets the ValidUserList field's value. func (s *SMBFileShareInfo) SetValidUserList(v []*string) *SMBFileShareInfo { s.ValidUserList = v @@ -13699,7 +14396,7 @@ type StorediSCSIVolume struct { // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server // side encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // Indicates if when the stored volume was created, existing data on the underlying // local disk was preserved. @@ -13711,9 +14408,23 @@ type StorediSCSIVolume struct { // snapshot ID used, e.g. snap-78e22663. Otherwise, this field is not included. SourceSnapshotId *string `type:"string"` + // The name of the iSCSI target used by an initiator to connect to a volume + // and used as a suffix for the target ARN. For example, specifying TargetName + // as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. + // The target name must be unique across all volumes on a gateway. + // + // If you don't specify a value, Storage Gateway uses the value that was previously + // used for this volume as the new target name. + TargetName *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the storage volume. VolumeARN *string `min:"50" type:"string"` + // A value that indicates whether a storage volume is attached to, detached + // from, or is in the process of detaching from a gateway. For more information, + // see Moving Your Volumes to a Different Gateway (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume). + VolumeAttachmentStatus *string `min:"3" type:"string"` + // The ID of the local disk that was specified in the CreateStorediSCSIVolume // operation. VolumeDiskId *string `min:"1" type:"string"` @@ -13780,12 +14491,24 @@ func (s *StorediSCSIVolume) SetSourceSnapshotId(v string) *StorediSCSIVolume { return s } +// SetTargetName sets the TargetName field's value. +func (s *StorediSCSIVolume) SetTargetName(v string) *StorediSCSIVolume { + s.TargetName = &v + return s +} + // SetVolumeARN sets the VolumeARN field's value. func (s *StorediSCSIVolume) SetVolumeARN(v string) *StorediSCSIVolume { s.VolumeARN = &v return s } +// SetVolumeAttachmentStatus sets the VolumeAttachmentStatus field's value. +func (s *StorediSCSIVolume) SetVolumeAttachmentStatus(v string) *StorediSCSIVolume { + s.VolumeAttachmentStatus = &v + return s +} + // SetVolumeDiskId sets the VolumeDiskId field's value. func (s *StorediSCSIVolume) SetVolumeDiskId(v string) *StorediSCSIVolume { s.VolumeDiskId = &v @@ -13834,12 +14557,19 @@ func (s *StorediSCSIVolume) SetVolumeiSCSIAttributes(v *VolumeiSCSIAttributes) * return s } +// A key-value pair that helps you manage, filter, and search for your resource. +// Allowed characters: letters, white space, and numbers, representable in UTF-8, +// and the following characters: + - = . _ : / type Tag struct { _ struct{} `type:"structure"` + // Tag key (String). The key can't start with aws:. + // // Key is a required field Key *string `min:"1" type:"string" required:"true"` + // Value of the tag key. + // // Value is a required field Value *string `type:"string" required:"true"` } @@ -13891,7 +14621,7 @@ type Tape struct { // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server // side encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // For archiving virtual tapes, indicates how much data remains to be uploaded // before archiving is complete. @@ -14000,7 +14730,7 @@ type TapeArchive struct { // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server // side encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // The Amazon Resource Name (ARN) of the tape gateway that the virtual tape // is being retrieved to. @@ -14171,6 +14901,7 @@ type TapeRecoveryPointInfo struct { // The size, in bytes, of the virtual tapes to recover. TapeSizeInBytes *int64 `type:"long"` + // The status of the virtual tapes. TapeStatus *string `type:"string"` } @@ -14457,6 +15188,7 @@ type UpdateGatewayInformationInput struct { // The name you configured for your gateway. GatewayName *string `min:"2" type:"string"` + // A value that indicates the time zone of the gateway. GatewayTimezone *string `min:"3" type:"string"` } @@ -14518,6 +15250,7 @@ type UpdateGatewayInformationOutput struct { // to return a list of gateways for your account and region. GatewayARN *string `min:"50" type:"string"` + // The name you configured for your gateway. GatewayName *string `type:"string"` } @@ -14762,7 +15495,7 @@ type UpdateNFSFileShareInput struct { // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server // side encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // The default values for the file share. Optional. NFSFileShareDefaults *NFSFileShareDefaults `type:"structure"` @@ -14814,8 +15547,8 @@ func (s *UpdateNFSFileShareInput) Validate() error { if s.FileShareARN != nil && len(*s.FileShareARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("FileShareARN", 50)) } - if s.KMSKey != nil && len(*s.KMSKey) < 20 { - invalidParams.Add(request.NewErrParamMinLen("KMSKey", 20)) + if s.KMSKey != nil && len(*s.KMSKey) < 7 { + invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7)) } if s.Squash != nil && len(*s.Squash) < 5 { invalidParams.Add(request.NewErrParamMinLen("Squash", 5)) @@ -14952,7 +15685,7 @@ type UpdateSMBFileShareInput struct { // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server // side encryption. This value can only be set when KMSEncrypted is true. Optional. - KMSKey *string `min:"20" type:"string"` + KMSKey *string `min:"7" type:"string"` // A value that sets the access control list permission for objects in the S3 // bucket that a file gateway puts objects into. The default value is "private". @@ -14994,8 +15727,8 @@ func (s *UpdateSMBFileShareInput) Validate() error { if s.FileShareARN != nil && len(*s.FileShareARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("FileShareARN", 50)) } - if s.KMSKey != nil && len(*s.KMSKey) < 20 { - invalidParams.Add(request.NewErrParamMinLen("KMSKey", 20)) + if s.KMSKey != nil && len(*s.KMSKey) < 7 { + invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7)) } if invalidParams.Len() > 0 { @@ -15188,6 +15921,8 @@ func (s *UpdateSnapshotScheduleInput) SetVolumeARN(v string) *UpdateSnapshotSche type UpdateSnapshotScheduleOutput struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation + // to return a list of gateway volumes. VolumeARN *string `min:"50" type:"string"` } @@ -15302,10 +16037,13 @@ type VTLDevice struct { // or media changer). VTLDeviceARN *string `min:"50" type:"string"` + // Specifies the model number of device that the VTL device emulates. VTLDeviceProductIdentifier *string `type:"string"` + // Specifies the type of device that the VTL device emulates. VTLDeviceType *string `type:"string"` + // Specifies the vendor of the device that the VTL device object emulates. VTLDeviceVendor *string `type:"string"` } @@ -15374,6 +16112,9 @@ type VolumeInfo struct { // (-). VolumeARN *string `min:"50" type:"string"` + // One of the VolumeStatus values that indicates the state of the storage volume. + VolumeAttachmentStatus *string `min:"3" type:"string"` + // The unique identifier assigned to the volume. This ID becomes part of the // volume Amazon Resource Name (ARN), which you use as input for other operations. // @@ -15387,6 +16128,7 @@ type VolumeInfo struct { // (-). VolumeSizeInBytes *int64 `type:"long"` + // One of the VolumeType enumeration values describing the type of the volume. VolumeType *string `min:"3" type:"string"` } @@ -15418,6 +16160,12 @@ func (s *VolumeInfo) SetVolumeARN(v string) *VolumeInfo { return s } +// SetVolumeAttachmentStatus sets the VolumeAttachmentStatus field's value. +func (s *VolumeInfo) SetVolumeAttachmentStatus(v string) *VolumeInfo { + s.VolumeAttachmentStatus = &v + return s +} + // SetVolumeId sets the VolumeId field's value. func (s *VolumeInfo) SetVolumeId(v string) *VolumeInfo { s.VolumeId = &v @@ -15436,15 +16184,23 @@ func (s *VolumeInfo) SetVolumeType(v string) *VolumeInfo { return s } +// Describes a storage volume recovery point object. type VolumeRecoveryPointInfo struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the volume target. VolumeARN *string `min:"50" type:"string"` + // The time the recovery point was taken. VolumeRecoveryPointTime *string `type:"string"` + // The size of the volume in bytes. VolumeSizeInBytes *int64 `type:"long"` + // The size of the data stored on the volume in bytes. + // + // This value is not available for volumes created prior to May 13, 2015, until + // you store data on the volume. VolumeUsageInBytes *int64 `type:"long"` } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go index b53d442235a..39192bbe747 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go @@ -12,18 +12,18 @@ // Use the following links to get started using the AWS Storage Gateway Service // API Reference: // -// * AWS Storage Gateway Required Request Headers (http://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#AWSStorageGatewayHTTPRequestsHeaders): +// * AWS Storage Gateway Required Request Headers (https://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#AWSStorageGatewayHTTPRequestsHeaders): // Describes the required headers that you must send with every POST request // to AWS Storage Gateway. // -// * Signing Requests (http://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#AWSStorageGatewaySigningRequests): +// * Signing Requests (https://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#AWSStorageGatewaySigningRequests): // AWS Storage Gateway requires that you authenticate every request you send; // this topic describes how sign such a request. // -// * Error Responses (http://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#APIErrorResponses): +// * Error Responses (https://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#APIErrorResponses): // Provides reference information about AWS Storage Gateway errors. // -// * Operations in AWS Storage Gateway (http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_Operations.html): +// * Operations in AWS Storage Gateway (https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_Operations.html): // Contains detailed descriptions of all AWS Storage Gateway operations, // their request parameters, response elements, possible errors, and examples // of requests and responses. diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sts/api.go index ee908f9167b..81130896491 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sts/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sts/api.go @@ -7,6 +7,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/request" ) @@ -243,6 +244,7 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re output = &AssumeRoleWithSAMLOutput{} req = c.newRequest(op, input, output) + req.Config.Credentials = credentials.AnonymousCredentials return } @@ -425,6 +427,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI output = &AssumeRoleWithWebIdentityOutput{} req = c.newRequest(op, input, output) + req.Config.Credentials = credentials.AnonymousCredentials return } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go deleted file mode 100644 index 4010cc7fa14..00000000000 --- a/pkg/terraform/exec/plugins/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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go index de472a8a000..e4641e7b8e4 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go @@ -2780,8 +2780,13 @@ type ListTagsForResourceInput struct { // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` + // Specifies the number of tags to return as a response to the ListTagsForResource + // request. MaxResults *int64 `min:"1" type:"integer"` + // When you request additional results from the ListTagsForResource call, a + // NextToken parameter is returned in the input. You can then pass in a subsequent + // command the NextToken parameter to continue listing additional tags. NextToken *string `min:"1" type:"string"` } @@ -2841,6 +2846,9 @@ type ListTagsForResourceOutput struct { // This value is the ARN you specified to list the tags of. Arn *string `min:"20" type:"string"` + // When you can get additional results from the ListTagsForResource call, a + // NextToken parameter is returned in the output. You can then pass in a subsequent + // command the NextToken parameter to continue listing additional tags. NextToken *string `min:"1" type:"string"` // Key-value pairs that are assigned to a resource, usually for the purpose @@ -2883,7 +2891,7 @@ type ListUsersInput struct { // Specifies the number of users to return as a response to the ListUsers request. MaxResults *int64 `min:"1" type:"integer"` - // When you can get additional results from the ListUsersListUsers call, a NextToken + // When you can get additional results from the ListUsers call, a NextToken // parameter is returned in the output. You can then pass in a subsequent command // the NextToken parameter to continue listing additional users. NextToken *string `min:"1" type:"string"` diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/transfer/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/transfer/doc.go index 8bdc2fd1ce7..b741ff05542 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/transfer/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/transfer/doc.go @@ -3,6 +3,17 @@ // Package transfer provides the client and types for making API // requests to AWS Transfer for SFTP. // +// AWS Transfer for SFTP is a fully managed service that enables the transfer +// of files directly into and out of Amazon S3 using the Secure File Transfer +// Protocol (SFTP)—also known as Secure Shell (SSH) File Transfer Protocol. +// AWS helps you seamlessly migrate your file transfer workflows to AWS Transfer +// for SFTP—by integrating with existing authentication systems, and providing +// DNS routing with Amazon Route 53—so nothing changes for your customers and +// partners, or their applications. With your data in S3, you can use it with +// AWS services for processing, analytics, machine learning, and archiving. +// Getting started with AWS Transfer for SFTP (AWS SFTP) is easy; there is no +// infrastructure to buy and setup. +// // See https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05 for more information on this service. // // See transfer package documentation for more information. diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/waf/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/waf/api.go index 3cf5c8c3092..f6b917a941f 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/waf/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/waf/api.go @@ -78,7 +78,7 @@ func (c *WAF) CreateByteMatchSetRequest(input *CreateByteMatchSetInput) (req *re // value that you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -135,7 +135,7 @@ func (c *WAF) CreateByteMatchSetRequest(input *CreateByteMatchSetInput) (req *re // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateByteMatchSet @@ -224,7 +224,7 @@ func (c *WAF) CreateGeoMatchSetRequest(input *CreateGeoMatchSetInput) (req *requ // want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -281,7 +281,7 @@ func (c *WAF) CreateGeoMatchSetRequest(input *CreateGeoMatchSetInput) (req *requ // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateGeoMatchSet @@ -350,8 +350,8 @@ func (c *WAF) CreateIPSetRequest(input *CreateIPSetInput) (req *request.Request, // CreateIPSet API operation for AWS WAF. // -// Creates an IPSet, which you use to specify which web requests you want to -// allow or block based on the IP addresses that the requests originate from. +// Creates an IPSet, which you use to specify which web requests that you want +// to allow or block based on the IP addresses that the requests originate from. // For example, if you're receiving a lot of requests from one or more individual // IP addresses or one or more ranges of IP addresses and you want to block // the requests, you can create an IPSet that contains those IP addresses and @@ -371,7 +371,7 @@ func (c *WAF) CreateIPSetRequest(input *CreateIPSetInput) (req *request.Request, // WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -428,7 +428,7 @@ func (c *WAF) CreateIPSetRequest(input *CreateIPSetInput) (req *request.Request, // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateIPSet @@ -557,7 +557,7 @@ func (c *WAF) CreateRateBasedRuleRequest(input *CreateRateBasedRuleInput) (req * // see CreateWebACL. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -610,7 +610,7 @@ func (c *WAF) CreateRateBasedRuleRequest(input *CreateRateBasedRuleInput) (req * // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRateBasedRule @@ -701,7 +701,7 @@ func (c *WAF) CreateRegexMatchSetRequest(input *CreateRegexMatchSetInput) (req * // the value, using a RegexPatternSet, that you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -725,7 +725,7 @@ func (c *WAF) CreateRegexMatchSetRequest(input *CreateRegexMatchSetInput) (req * // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRegexMatchSet @@ -812,7 +812,7 @@ func (c *WAF) CreateRegexPatternSetRequest(input *CreateRegexPatternSetInput) (r // AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -836,7 +836,7 @@ func (c *WAF) CreateRegexPatternSetRequest(input *CreateRegexPatternSetInput) (r // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRegexPatternSet @@ -908,8 +908,8 @@ func (c *WAF) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, o // Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and // other predicates that identify the requests that you want to block. If you // add more than one predicate to a Rule, a request must match all of the specifications -// to be allowed or blocked. For example, suppose you add the following to a -// Rule: +// to be allowed or blocked. For example, suppose that you add the following +// to a Rule: // // * An IPSet that matches the IP address 192.0.2.44/32 // @@ -940,7 +940,7 @@ func (c *WAF) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, o // see CreateWebACL. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -993,7 +993,7 @@ func (c *WAF) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, o // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRule @@ -1075,7 +1075,7 @@ func (c *WAF) CreateRuleGroupRequest(input *CreateRuleGroupInput) (req *request. // * Ten rules per rule group. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1099,7 +1099,7 @@ func (c *WAF) CreateRuleGroupRequest(input *CreateRuleGroupInput) (req *request. // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRuleGroup @@ -1190,7 +1190,7 @@ func (c *WAF) CreateSizeConstraintSetRequest(input *CreateSizeConstraintSetInput // the value that you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1247,7 +1247,7 @@ func (c *WAF) CreateSizeConstraintSetRequest(input *CreateSizeConstraintSetInput // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateSizeConstraintSet @@ -1334,7 +1334,7 @@ func (c *WAF) CreateSqlInjectionMatchSetRequest(input *CreateSqlInjectionMatchSe // requests in which you want to allow, block, or count malicious SQL code. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1391,7 +1391,7 @@ func (c *WAF) CreateSqlInjectionMatchSetRequest(input *CreateSqlInjectionMatchSe // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateSqlInjectionMatchSet @@ -1490,7 +1490,7 @@ func (c *WAF) CreateWebACLRequest(input *CreateWebACLInput) (req *request.Reques // with a CloudFront distribution. // // For more information about how to use the AWS WAF API, see the AWS WAF Developer -// Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1547,7 +1547,7 @@ func (c *WAF) CreateWebACLRequest(input *CreateWebACLInput) (req *request.Reques // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateWebACL @@ -1635,7 +1635,7 @@ func (c *WAF) CreateXssMatchSetRequest(input *CreateXssMatchSetInput) (req *requ // in which you want to allow, block, or count cross-site scripting attacks. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1692,7 +1692,7 @@ func (c *WAF) CreateXssMatchSetRequest(input *CreateXssMatchSetInput) (req *requ // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateXssMatchSet @@ -3649,7 +3649,7 @@ func (c *WAF) GetChangeTokenStatusRequest(input *GetChangeTokenStatusInput) (req // * PENDING: AWS WAF is propagating the create, update, or delete request // to all AWS WAF servers. // -// * IN_SYNC: Propagation is complete. +// * INSYNC: Propagation is complete. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6384,16 +6384,18 @@ func (c *WAF) PutLoggingConfigurationRequest(input *PutLoggingConfigurationInput // You can access information about all traffic that AWS WAF inspects using // the following steps: // -// Create an Amazon Kinesis Data Firehose delivery stream. For more information, -// see Creating an Amazon Kinesis Data Firehose Delivery Stream (https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html). +// Create an Amazon Kinesis Data Firehose . // -// Associate that delivery stream to your web ACL using a PutLoggingConfiguration -// request. +// Create the data firehose with a PUT source and in the region that you are +// operating. However, if you are capturing logs for Amazon CloudFront, always +// create the firehose in US East (N. Virginia). +// +// Associate that firehose to your web ACL using a PutLoggingConfiguration request. // // When you successfully enable logging using a PutLoggingConfiguration request, // AWS WAF will create a service linked role with the necessary permissions -// to write logs to the Amazon Kinesis Data Firehose delivery stream. For more -// information, see Logging Web ACL Traffic Information (http://docs.aws.amazon.com/waf/latest/developerguide/logging.html) +// to write logs to the Amazon Kinesis Data Firehose. For more information, +// see Logging Web ACL Traffic Information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) // in the AWS WAF Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6415,6 +6417,16 @@ func (c *WAF) PutLoggingConfigurationRequest(input *PutLoggingConfigurationInput // The operation failed because you tried to create, update, or delete an object // by using a change token that has already been used. // +// * ErrCodeServiceLinkedRoleErrorException "WAFServiceLinkedRoleErrorException" +// AWS WAF is not able to access the service linked role. This can be caused +// by a previous PutLoggingConfiguration request, which can lock the service +// linked role for about 20 seconds. Please try your request again. The service +// linked role can also be locked by a previous DeleteServiceLinkedRole request, +// which can lock the role for 15 minutes or more. If you recently made a DeleteServiceLinkedRole, +// wait at least 15 minutes and try the request again. If you receive this same +// exception again, you will have to wait additional time until the role is +// unlocked. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/PutLoggingConfiguration func (c *WAF) PutLoggingConfiguration(input *PutLoggingConfigurationInput) (*PutLoggingConfigurationOutput, error) { req, out := c.PutLoggingConfigurationRequest(input) @@ -6655,7 +6667,7 @@ func (c *WAF) UpdateByteMatchSetRequest(input *UpdateByteMatchSetInput) (req *re // value that you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6746,7 +6758,7 @@ func (c *WAF) UpdateByteMatchSetRequest(input *UpdateByteMatchSetInput) (req *re // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateByteMatchSet @@ -6842,7 +6854,7 @@ func (c *WAF) UpdateGeoMatchSetRequest(input *UpdateGeoMatchSetInput) (req *requ // you delete the existing country and add the new one. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6941,7 +6953,7 @@ func (c *WAF) UpdateGeoMatchSetRequest(input *UpdateGeoMatchSetInput) (req *requ // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateGeoMatchSet @@ -7024,9 +7036,9 @@ func (c *WAF) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Request, // (for the individual IP address 192.0.2.44). // // AWS WAF supports IPv4 address ranges: /8 and any range between /16 through -// /32. AWS WAF supports IPv6 address ranges: /16, /24, /32, /48, /56, /64, -// and /128. For more information about CIDR notation, see the Wikipedia entry -// Classless Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). +// /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. +// For more information about CIDR notation, see the Wikipedia entry Classless +// Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). // // IPv6 addresses can be represented using any of the following formats: // @@ -7061,7 +7073,7 @@ func (c *WAF) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Request, // You can insert a maximum of 1000 addresses in a single request. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7160,7 +7172,7 @@ func (c *WAF) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Request, // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateIPSet @@ -7365,7 +7377,7 @@ func (c *WAF) UpdateRateBasedRuleRequest(input *UpdateRateBasedRuleInput) (req * // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRateBasedRule @@ -7467,7 +7479,7 @@ func (c *WAF) UpdateRegexMatchSetRequest(input *UpdateRegexMatchSetInput) (req * // patters you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7491,7 +7503,7 @@ func (c *WAF) UpdateRegexMatchSetRequest(input *UpdateRegexMatchSetInput) (req * // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // * ErrCodeNonexistentItemException "WAFNonexistentItemException" @@ -7631,7 +7643,7 @@ func (c *WAF) UpdateRegexPatternSetRequest(input *UpdateRegexPatternSetInput) (r // pattern that you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7652,7 +7664,7 @@ func (c *WAF) UpdateRegexPatternSetRequest(input *UpdateRegexPatternSetInput) (r // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // * ErrCodeNonexistentItemException "WAFNonexistentItemException" @@ -7769,7 +7781,8 @@ func (c *WAF) UpdateRuleRequest(input *UpdateRuleInput) (req *request.Request, o // a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests // that you want to allow, block, or count. If you add more than one predicate // to a Rule, a request must match all of the specifications to be allowed, -// blocked, or counted. For example, suppose you add the following to a Rule: +// blocked, or counted. For example, suppose that you add the following to a +// Rule: // // * A ByteMatchSet that matches the value BadBot in the User-Agent header // @@ -7797,7 +7810,7 @@ func (c *WAF) UpdateRuleRequest(input *UpdateRuleInput) (req *request.Request, o // the existing one and add the new one. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7896,7 +7909,7 @@ func (c *WAF) UpdateRuleRequest(input *UpdateRuleInput) (req *request.Request, o // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRule @@ -7987,7 +8000,7 @@ func (c *WAF) UpdateRuleGroupRequest(input *UpdateRuleGroupInput) (req *request. // and add the new one. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8045,7 +8058,7 @@ func (c *WAF) UpdateRuleGroupRequest(input *UpdateRuleGroupInput) (req *request. // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // * ErrCodeInvalidParameterException "WAFInvalidParameterException" @@ -8183,7 +8196,7 @@ func (c *WAF) UpdateSizeConstraintSetRequest(input *UpdateSizeConstraintSetInput // the value that you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8282,7 +8295,7 @@ func (c *WAF) UpdateSizeConstraintSetRequest(input *UpdateSizeConstraintSetInput // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateSizeConstraintSet @@ -8369,10 +8382,10 @@ func (c *WAF) UpdateSqlInjectionMatchSetRequest(input *UpdateSqlInjectionMatchSe // You can only specify a single type of TextTransformation. // // You use SqlInjectionMatchSet objects to specify which CloudFront requests -// you want to allow, block, or count. For example, if you're receiving requests -// that contain snippets of SQL code in the query string and you want to block -// the requests, you can create a SqlInjectionMatchSet with the applicable settings, -// and then configure AWS WAF to block the requests. +// that you want to allow, block, or count. For example, if you're receiving +// requests that contain snippets of SQL code in the query string and you want +// to block the requests, you can create a SqlInjectionMatchSet with the applicable +// settings, and then configure AWS WAF to block the requests. // // To create and configure a SqlInjectionMatchSet, perform the following steps: // @@ -8385,7 +8398,7 @@ func (c *WAF) UpdateSqlInjectionMatchSetRequest(input *UpdateSqlInjectionMatchSe // requests that you want AWS WAF to inspect for snippets of SQL code. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8476,7 +8489,7 @@ func (c *WAF) UpdateSqlInjectionMatchSetRequest(input *UpdateSqlInjectionMatchSe // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateSqlInjectionMatchSet @@ -8553,8 +8566,8 @@ func (c *WAF) UpdateWebACLRequest(input *UpdateWebACLInput) (req *request.Reques // the default action if a request doesn't match the criteria in any of the // Rules in a WebACL. // -// * The Rules that you want to add and/or delete. If you want to replace -// one Rule with another, you delete the existing Rule and add the new one. +// * The Rules that you want to add or delete. If you want to replace one +// Rule with another, you delete the existing Rule and add the new one. // // * For each Rule, whether you want AWS WAF to allow requests, block requests, // or count requests that match the conditions in the Rule. @@ -8563,9 +8576,9 @@ func (c *WAF) UpdateWebACLRequest(input *UpdateWebACLInput) (req *request.Reques // If you add more than one Rule to a WebACL, AWS WAF evaluates each request // against the Rules in order based on the value of Priority. (The Rule that // has the lowest value for Priority is evaluated first.) When a web request -// matches all of the predicates (such as ByteMatchSets and IPSets) in a -// Rule, AWS WAF immediately takes the corresponding action, allow or block, -// and doesn't evaluate the request against the remaining Rules in the WebACL, +// matches all the predicates (such as ByteMatchSets and IPSets) in a Rule, +// AWS WAF immediately takes the corresponding action, allow or block, and +// doesn't evaluate the request against the remaining Rules in the WebACL, // if any. // // To create and configure a WebACL, perform the following steps: @@ -8586,13 +8599,21 @@ func (c *WAF) UpdateWebACLRequest(input *UpdateWebACLInput) (req *request.Reques // in the WebACL, to specify the default action, and to associate the WebACL // with a CloudFront distribution. // +// The ActivatedRule can be a rule group. If you specify a rule group as your +// ActivatedRule, you can exclude specific rules from that rule group. +// +// If you already have a rule group associated with a web ACL and want to submit +// an UpdateWebACL request to exclude certain rules from that rule group, you +// must first remove the rule group from the web ACL, the re-insert it again, +// specifying the excluded rules. For details, see ActivatedRule$ExcludedRules. +// // Be aware that if you try to add a RATE_BASED rule to a web ACL without setting // the rule type when first creating the rule, the UpdateWebACL request will // fail because the request tries to add a REGULAR rule (the default rule type) // with the specified ID, which does not exist. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8691,7 +8712,7 @@ func (c *WAF) UpdateWebACLRequest(input *UpdateWebACLInput) (req *request.Reques // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // * ErrCodeSubscriptionNotFoundException "WAFSubscriptionNotFoundException" @@ -8767,8 +8788,8 @@ func (c *WAF) UpdateXssMatchSetRequest(input *UpdateXssMatchSetInput) (req *requ // each XssMatchTuple object, you specify the following values: // // * Action: Whether to insert the object into or delete the object from -// the array. To change a XssMatchTuple, you delete the existing object and -// add a new one. +// the array. To change an XssMatchTuple, you delete the existing object +// and add a new one. // // * FieldToMatch: The part of web requests that you want AWS WAF to inspect // and, if you want AWS WAF to inspect a header or custom query parameter, @@ -8780,11 +8801,11 @@ func (c *WAF) UpdateXssMatchSetRequest(input *UpdateXssMatchSetInput) (req *requ // // You can only specify a single type of TextTransformation. // -// You use XssMatchSet objects to specify which CloudFront requests you want -// to allow, block, or count. For example, if you're receiving requests that -// contain cross-site scripting attacks in the request body and you want to -// block the requests, you can create an XssMatchSet with the applicable settings, -// and then configure AWS WAF to block the requests. +// You use XssMatchSet objects to specify which CloudFront requests that you +// want to allow, block, or count. For example, if you're receiving requests +// that contain cross-site scripting attacks in the request body and you want +// to block the requests, you can create an XssMatchSet with the applicable +// settings, and then configure AWS WAF to block the requests. // // To create and configure an XssMatchSet, perform the following steps: // @@ -8797,7 +8818,7 @@ func (c *WAF) UpdateXssMatchSetRequest(input *UpdateXssMatchSetInput) (req *requ // that you want AWS WAF to inspect for cross-site scripting attacks. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8888,7 +8909,7 @@ func (c *WAF) UpdateXssMatchSetRequest(input *UpdateXssMatchSetInput) (req *requ // * ErrCodeLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateXssMatchSet @@ -8935,10 +8956,45 @@ type ActivatedRule struct { // remaining rules in the web ACL. // // ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup - // to a WebACL. In this case you do not use ActivatedRule|Action. For all other + // to a WebACL. In this case, you do not use ActivatedRule|Action. For all other // update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction. Action *WafAction `type:"structure"` + // An array of rules to exclude from a rule group. This is applicable only when + // the ActivatedRule refers to a RuleGroup. + // + // Sometimes it is necessary to troubleshoot rule groups that are blocking traffic + // unexpectedly (false positives). One troubleshooting technique is to identify + // the specific rule within the rule group that is blocking the legitimate traffic + // and then disable (exclude) that particular rule. You can exclude rules from + // both your own rule groups and AWS Marketplace rule groups that have been + // associated with a web ACL. + // + // Specifying ExcludedRules does not remove those rules from the rule group. + // Rather, it changes the action for the rules to COUNT. Therefore, requests + // that match an ExcludedRule are counted but not blocked. The RuleGroup owner + // will receive COUNT metrics for each ExcludedRule. + // + // If you want to exclude rules from a rule group that is already associated + // with a web ACL, perform the following steps: + // + // Use the AWS WAF logs to identify the IDs of the rules that you want to exclude. + // For more information about the logs, see Logging Web ACL Traffic Information + // (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html). + // + // Submit an UpdateWebACL request that has two actions: + // + // The first action deletes the existing rule group from the web ACL. That is, + // in the UpdateWebACL request, the first Updates:Action should be DELETE and + // Updates:ActivatedRule:RuleId should be the rule group that contains the rules + // that you want to exclude. + // + // The second action inserts the same rule group back in, but specifying the + // rules to exclude. That is, the second Updates:Action should be INSERT, Updates:ActivatedRule:RuleId + // should be the rule group that you just removed, and ExcludedRules should + // contain the rules that you want to exclude. + ExcludedRules []*ExcludedRule `type:"list"` + // Use the OverrideAction to test your RuleGroup. // // Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction @@ -9009,6 +9065,16 @@ func (s *ActivatedRule) Validate() error { invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) } } + if s.ExcludedRules != nil { + for i, v := range s.ExcludedRules { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExcludedRules", i), err.(request.ErrInvalidParams)) + } + } + } if s.OverrideAction != nil { if err := s.OverrideAction.Validate(); err != nil { invalidParams.AddNested("OverrideAction", err.(request.ErrInvalidParams)) @@ -9027,6 +9093,12 @@ func (s *ActivatedRule) SetAction(v *WafAction) *ActivatedRule { return s } +// SetExcludedRules sets the ExcludedRules field's value. +func (s *ActivatedRule) SetExcludedRules(v []*ExcludedRule) *ActivatedRule { + s.ExcludedRules = v + return s +} + // SetOverrideAction sets the OverrideAction field's value. func (s *ActivatedRule) SetOverrideAction(v *WafOverrideAction) *ActivatedRule { s.OverrideAction = v @@ -9325,7 +9397,7 @@ type ByteMatchTuple struct { // // For example, suppose the value of Type is HEADER and the value of Data is // User-Agent. If you want to search the User-Agent header for the value BadBot, - // you base64-encode BadBot using MIME base64 encoding and include the resulting + // you base64-encode BadBot using MIME base64-encoding and include the resulting // value, QmFkQm90, in the value of TargetString. // // If you're using the AWS CLI or one of the AWS SDKs @@ -10212,7 +10284,7 @@ type CreateRuleInput struct { // A friendly name or description for the metrics for this Rule. The name can // contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain - // whitespace. You can't change the name of the metric after you create the + // white space. You can't change the name of the metric after you create the // Rule. // // MetricName is a required field @@ -10517,7 +10589,7 @@ type CreateWebACLInput struct { // A friendly name or description for the metrics for this WebACL. The name // can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't - // contain whitespace. You can't change MetricName after you create the WebACL. + // contain white space. You can't change MetricName after you create the WebACL. // // MetricName is a required field MetricName *string `type:"string" required:"true"` @@ -11851,6 +11923,50 @@ func (s *DeleteXssMatchSetOutput) SetChangeToken(v string) *DeleteXssMatchSetOut return s } +// The rule to exclude from a rule group. This is applicable only when the ActivatedRule +// refers to a RuleGroup. The rule must belong to the RuleGroup that is specified +// by the ActivatedRule. +type ExcludedRule struct { + _ struct{} `type:"structure"` + + // The unique identifier for the rule to exclude from the rule group. + // + // RuleId is a required field + RuleId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ExcludedRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExcludedRule) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExcludedRule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExcludedRule"} + if s.RuleId == nil { + invalidParams.Add(request.NewErrParamRequired("RuleId")) + } + if s.RuleId != nil && len(*s.RuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleId sets the RuleId field's value. +func (s *ExcludedRule) SetRuleId(v string) *ExcludedRule { + s.RuleId = &v + return s +} + // Specifies where in a web request to look for TargetString. type FieldToMatch struct { _ struct{} `type:"structure"` @@ -13588,13 +13704,13 @@ func (s *HTTPRequest) SetURI(v string) *HTTPRequest { // Contains one or more IP addresses or blocks of IP addresses specified in // Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports IPv4 address // ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address -// ranges: /16, /24, /32, /48, /56, /64, and /128. +// ranges: /24, /32, /48, /56, /64, and /128. // // To specify an individual IP address, you specify the four-part IP address // followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, -// you can specify /8 or any range between /16 through /32 (for IPv4) or /16, -// /24, /32, /48, /56, /64, or /128 (for IPv6). For more information about CIDR -// notation, see the Wikipedia entry Classless Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). +// you can specify /8 or any range between /16 through /32 (for IPv4) or /24, +// /32, /48, /56, /64, or /128 (for IPv6). For more information about CIDR notation, +// see the Wikipedia entry Classless Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). type IPSet struct { _ struct{} `type:"structure"` @@ -15153,19 +15269,19 @@ func (s *ListXssMatchSetsOutput) SetXssMatchSets(v []*XssMatchSetSummary) *ListX return s } -// The Amazon Kinesis Data Firehose delivery streams, RedactedFields information, -// and the web ACL Amazon Resource Name (ARN). +// The Amazon Kinesis Data Firehose, RedactedFields information, and the web +// ACL Amazon Resource Name (ARN). type LoggingConfiguration struct { _ struct{} `type:"structure"` - // An array of Amazon Kinesis Data Firehose delivery stream ARNs. + // An array of Amazon Kinesis Data Firehose ARNs. // // LogDestinationConfigs is a required field LogDestinationConfigs []*string `min:"1" type:"list" required:"true"` // The parts of the request that you want redacted from the logs. For example, - // if you redact the cookie field, the cookie field in the delivery stream will - // be xxx. + // if you redact the cookie field, the cookie field in the firehose will be + // xxx. RedactedFields []*FieldToMatch `type:"list"` // The Amazon Resource Name (ARN) of the web ACL that you want to associate @@ -15322,9 +15438,9 @@ func (s *Predicate) SetType(v string) *Predicate { type PutLoggingConfigurationInput struct { _ struct{} `type:"structure"` - // The Amazon Kinesis Data Firehose delivery streams that contains the inspected - // traffic information, the redacted fields details, and the Amazon Resource - // Name (ARN) of the web ACL to monitor. + // The Amazon Kinesis Data Firehose that contains the inspected traffic information, + // the redacted fields details, and the Amazon Resource Name (ARN) of the web + // ACL to monitor. // // LoggingConfiguration is a required field LoggingConfiguration *LoggingConfiguration `type:"structure" required:"true"` @@ -18450,7 +18566,7 @@ type UpdateWebACLInput struct { // // * ActivatedRule: Contains Action, OverrideAction, Priority, RuleId, and // Type. ActivatedRule|OverrideAction applies only when updating or adding - // a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. + // a RuleGroup to a WebACL. In this case, you do not use ActivatedRule|Action. // For all other update requests, ActivatedRule|Action is used instead of // ActivatedRule|OverrideAction. // @@ -18570,7 +18686,7 @@ type UpdateXssMatchSetInput struct { ChangeToken *string `min:"1" type:"string" required:"true"` // An array of XssMatchSetUpdate objects that you want to insert into or delete - // from a XssMatchSet. For more information, see the applicable data types: + // from an XssMatchSet. For more information, see the applicable data types: // // * XssMatchSetUpdate: Contains Action and XssMatchTuple // @@ -18805,6 +18921,9 @@ type WebACL struct { // Rules is a required field Rules []*ActivatedRule `type:"list" required:"true"` + // Tha Amazon Resource Name (ARN) of the web ACL. + WebACLArn *string `min:"1" type:"string"` + // A unique identifier for a WebACL. You use WebACLId to get information about // a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete // a WebACL from AWS WAF (see DeleteWebACL). @@ -18849,6 +18968,12 @@ func (s *WebACL) SetRules(v []*ActivatedRule) *WebACL { return s } +// SetWebACLArn sets the WebACLArn field's value. +func (s *WebACL) SetWebACLArn(v string) *WebACL { + s.WebACLArn = &v + return s +} + // SetWebACLId sets the WebACLId field's value. func (s *WebACL) SetWebACLId(v string) *WebACL { s.WebACLId = &v @@ -19063,8 +19188,8 @@ func (s *XssMatchSetSummary) SetXssMatchSetId(v string) *XssMatchSetSummary { type XssMatchSetUpdate struct { _ struct{} `type:"structure"` - // Specify INSERT to add a XssMatchSetUpdate to an XssMatchSet. Use DELETE to - // remove a XssMatchSetUpdate from an XssMatchSet. + // Specify INSERT to add an XssMatchSetUpdate to an XssMatchSet. Use DELETE + // to remove an XssMatchSetUpdate from an XssMatchSet. // // Action is a required field Action *string `type:"string" required:"true" enum:"ChangeAction"` @@ -20120,6 +20245,9 @@ const ( // ParameterExceptionFieldNextMarker is a ParameterExceptionField enum value ParameterExceptionFieldNextMarker = "NEXT_MARKER" + + // ParameterExceptionFieldResourceArn is a ParameterExceptionField enum value + ParameterExceptionFieldResourceArn = "RESOURCE_ARN" ) const ( @@ -20128,6 +20256,9 @@ const ( // ParameterExceptionReasonIllegalCombination is a ParameterExceptionReason enum value ParameterExceptionReasonIllegalCombination = "ILLEGAL_COMBINATION" + + // ParameterExceptionReasonIllegalArgument is a ParameterExceptionReason enum value + ParameterExceptionReasonIllegalArgument = "ILLEGAL_ARGUMENT" ) const ( diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/waf/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/waf/doc.go index 40318337974..a3399aaa724 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/waf/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/waf/doc.go @@ -9,7 +9,7 @@ // and data types via the endpoint waf.amazonaws.com. This guide is for developers // who need detailed information about the AWS WAF API actions, data types, // and errors. For detailed information about AWS WAF features and an overview -// of how to use the AWS WAF API, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// of how to use the AWS WAF API, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // See https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24 for more information on this service. // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/waf/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/waf/errors.go index 02c9752b0bc..ee66380259f 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/waf/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/waf/errors.go @@ -115,7 +115,7 @@ const ( // // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, - // see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) + // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. ErrCodeLimitsExceededException = "WAFLimitsExceededException" @@ -172,6 +172,19 @@ const ( // * You tried to delete a Rule that is still referenced by a WebACL. ErrCodeReferencedItemException = "WAFReferencedItemException" + // ErrCodeServiceLinkedRoleErrorException for service response error code + // "WAFServiceLinkedRoleErrorException". + // + // AWS WAF is not able to access the service linked role. This can be caused + // by a previous PutLoggingConfiguration request, which can lock the service + // linked role for about 20 seconds. Please try your request again. The service + // linked role can also be locked by a previous DeleteServiceLinkedRole request, + // which can lock the role for 15 minutes or more. If you recently made a DeleteServiceLinkedRole, + // wait at least 15 minutes and try the request again. If you receive this same + // exception again, you will have to wait additional time until the role is + // unlocked. + ErrCodeServiceLinkedRoleErrorException = "WAFServiceLinkedRoleErrorException" + // ErrCodeStaleDataException for service response error code // "WAFStaleDataException". // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/wafregional/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/wafregional/api.go index a83af96aa39..b9d1b5b5424 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/wafregional/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/wafregional/api.go @@ -56,7 +56,8 @@ func (c *WAFRegional) AssociateWebACLRequest(input *AssociateWebACLInput) (req * // AssociateWebACL API operation for AWS WAF Regional. // -// Associates a web ACL with a resource. +// Associates a web ACL with a resource, either an application load balancer +// or Amazon API Gateway stage. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -197,7 +198,7 @@ func (c *WAFRegional) CreateByteMatchSetRequest(input *waf.CreateByteMatchSetInp // value that you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -254,7 +255,7 @@ func (c *WAFRegional) CreateByteMatchSetRequest(input *waf.CreateByteMatchSetInp // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateByteMatchSet @@ -343,7 +344,7 @@ func (c *WAFRegional) CreateGeoMatchSetRequest(input *waf.CreateGeoMatchSetInput // want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -400,7 +401,7 @@ func (c *WAFRegional) CreateGeoMatchSetRequest(input *waf.CreateGeoMatchSetInput // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateGeoMatchSet @@ -469,8 +470,8 @@ func (c *WAFRegional) CreateIPSetRequest(input *waf.CreateIPSetInput) (req *requ // CreateIPSet API operation for AWS WAF Regional. // -// Creates an IPSet, which you use to specify which web requests you want to -// allow or block based on the IP addresses that the requests originate from. +// Creates an IPSet, which you use to specify which web requests that you want +// to allow or block based on the IP addresses that the requests originate from. // For example, if you're receiving a lot of requests from one or more individual // IP addresses or one or more ranges of IP addresses and you want to block // the requests, you can create an IPSet that contains those IP addresses and @@ -490,7 +491,7 @@ func (c *WAFRegional) CreateIPSetRequest(input *waf.CreateIPSetInput) (req *requ // WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -547,7 +548,7 @@ func (c *WAFRegional) CreateIPSetRequest(input *waf.CreateIPSetInput) (req *requ // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateIPSet @@ -676,7 +677,7 @@ func (c *WAFRegional) CreateRateBasedRuleRequest(input *waf.CreateRateBasedRuleI // see CreateWebACL. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -729,7 +730,7 @@ func (c *WAFRegional) CreateRateBasedRuleRequest(input *waf.CreateRateBasedRuleI // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRateBasedRule @@ -820,7 +821,7 @@ func (c *WAFRegional) CreateRegexMatchSetRequest(input *waf.CreateRegexMatchSetI // the value, using a RegexPatternSet, that you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -844,7 +845,7 @@ func (c *WAFRegional) CreateRegexMatchSetRequest(input *waf.CreateRegexMatchSetI // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexMatchSet @@ -931,7 +932,7 @@ func (c *WAFRegional) CreateRegexPatternSetRequest(input *waf.CreateRegexPattern // AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -955,7 +956,7 @@ func (c *WAFRegional) CreateRegexPatternSetRequest(input *waf.CreateRegexPattern // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexPatternSet @@ -1027,8 +1028,8 @@ func (c *WAFRegional) CreateRuleRequest(input *waf.CreateRuleInput) (req *reques // Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and // other predicates that identify the requests that you want to block. If you // add more than one predicate to a Rule, a request must match all of the specifications -// to be allowed or blocked. For example, suppose you add the following to a -// Rule: +// to be allowed or blocked. For example, suppose that you add the following +// to a Rule: // // * An IPSet that matches the IP address 192.0.2.44/32 // @@ -1059,7 +1060,7 @@ func (c *WAFRegional) CreateRuleRequest(input *waf.CreateRuleInput) (req *reques // see CreateWebACL. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1112,7 +1113,7 @@ func (c *WAFRegional) CreateRuleRequest(input *waf.CreateRuleInput) (req *reques // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRule @@ -1194,7 +1195,7 @@ func (c *WAFRegional) CreateRuleGroupRequest(input *waf.CreateRuleGroupInput) (r // * Ten rules per rule group. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1218,7 +1219,7 @@ func (c *WAFRegional) CreateRuleGroupRequest(input *waf.CreateRuleGroupInput) (r // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRuleGroup @@ -1309,7 +1310,7 @@ func (c *WAFRegional) CreateSizeConstraintSetRequest(input *waf.CreateSizeConstr // the value that you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1366,7 +1367,7 @@ func (c *WAFRegional) CreateSizeConstraintSetRequest(input *waf.CreateSizeConstr // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSizeConstraintSet @@ -1453,7 +1454,7 @@ func (c *WAFRegional) CreateSqlInjectionMatchSetRequest(input *waf.CreateSqlInje // requests in which you want to allow, block, or count malicious SQL code. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1510,7 +1511,7 @@ func (c *WAFRegional) CreateSqlInjectionMatchSetRequest(input *waf.CreateSqlInje // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSqlInjectionMatchSet @@ -1609,7 +1610,7 @@ func (c *WAFRegional) CreateWebACLRequest(input *waf.CreateWebACLInput) (req *re // with a CloudFront distribution. // // For more information about how to use the AWS WAF API, see the AWS WAF Developer -// Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1666,7 +1667,7 @@ func (c *WAFRegional) CreateWebACLRequest(input *waf.CreateWebACLInput) (req *re // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateWebACL @@ -1754,7 +1755,7 @@ func (c *WAFRegional) CreateXssMatchSetRequest(input *waf.CreateXssMatchSetInput // in which you want to allow, block, or count cross-site scripting attacks. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1811,7 +1812,7 @@ func (c *WAFRegional) CreateXssMatchSetRequest(input *waf.CreateXssMatchSetInput // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateXssMatchSet @@ -3578,7 +3579,8 @@ func (c *WAFRegional) DisassociateWebACLRequest(input *DisassociateWebACLInput) // DisassociateWebACL API operation for AWS WAF Regional. // -// Removes a web ACL from the specified resource. +// Removes a web ACL from the specified resource, either an application load +// balancer or Amazon API Gateway stage. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3885,7 +3887,7 @@ func (c *WAFRegional) GetChangeTokenStatusRequest(input *waf.GetChangeTokenStatu // * PENDING: AWS WAF is propagating the create, update, or delete request // to all AWS WAF servers. // -// * IN_SYNC: Propagation is complete. +// * INSYNC: Propagation is complete. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5217,7 +5219,8 @@ func (c *WAFRegional) GetWebACLForResourceRequest(input *GetWebACLForResourceInp // GetWebACLForResource API operation for AWS WAF Regional. // -// Returns the web ACL for the specified resource. +// Returns the web ACL for the specified resource, either an application load +// balancer or Amazon API Gateway stage. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6858,12 +6861,16 @@ func (c *WAFRegional) PutLoggingConfigurationRequest(input *waf.PutLoggingConfig // // Create an Amazon Kinesis Data Firehose . // +// Create the data firehose with a PUT source and in the region that you are +// operating. However, if you are capturing logs for Amazon CloudFront, always +// create the firehose in US East (N. Virginia). +// // Associate that firehose to your web ACL using a PutLoggingConfiguration request. // // When you successfully enable logging using a PutLoggingConfiguration request, // AWS WAF will create a service linked role with the necessary permissions // to write logs to the Amazon Kinesis Data Firehose. For more information, -// see Logging Web ACL Traffic Information (http://docs.aws.amazon.com/waf/latest/developerguide/logging.html) +// see Logging Web ACL Traffic Information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) // in the AWS WAF Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -7135,7 +7142,7 @@ func (c *WAFRegional) UpdateByteMatchSetRequest(input *waf.UpdateByteMatchSetInp // value that you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7226,7 +7233,7 @@ func (c *WAFRegional) UpdateByteMatchSetRequest(input *waf.UpdateByteMatchSetInp // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateByteMatchSet @@ -7322,7 +7329,7 @@ func (c *WAFRegional) UpdateGeoMatchSetRequest(input *waf.UpdateGeoMatchSetInput // you delete the existing country and add the new one. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7421,7 +7428,7 @@ func (c *WAFRegional) UpdateGeoMatchSetRequest(input *waf.UpdateGeoMatchSetInput // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateGeoMatchSet @@ -7504,9 +7511,9 @@ func (c *WAFRegional) UpdateIPSetRequest(input *waf.UpdateIPSetInput) (req *requ // (for the individual IP address 192.0.2.44). // // AWS WAF supports IPv4 address ranges: /8 and any range between /16 through -// /32. AWS WAF supports IPv6 address ranges: /16, /24, /32, /48, /56, /64, -// and /128. For more information about CIDR notation, see the Wikipedia entry -// Classless Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). +// /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. +// For more information about CIDR notation, see the Wikipedia entry Classless +// Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). // // IPv6 addresses can be represented using any of the following formats: // @@ -7541,7 +7548,7 @@ func (c *WAFRegional) UpdateIPSetRequest(input *waf.UpdateIPSetInput) (req *requ // You can insert a maximum of 1000 addresses in a single request. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7640,7 +7647,7 @@ func (c *WAFRegional) UpdateIPSetRequest(input *waf.UpdateIPSetInput) (req *requ // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateIPSet @@ -7845,7 +7852,7 @@ func (c *WAFRegional) UpdateRateBasedRuleRequest(input *waf.UpdateRateBasedRuleI // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRateBasedRule @@ -7947,7 +7954,7 @@ func (c *WAFRegional) UpdateRegexMatchSetRequest(input *waf.UpdateRegexMatchSetI // patters you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7971,7 +7978,7 @@ func (c *WAFRegional) UpdateRegexMatchSetRequest(input *waf.UpdateRegexMatchSetI // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" @@ -8111,7 +8118,7 @@ func (c *WAFRegional) UpdateRegexPatternSetRequest(input *waf.UpdateRegexPattern // pattern that you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8132,7 +8139,7 @@ func (c *WAFRegional) UpdateRegexPatternSetRequest(input *waf.UpdateRegexPattern // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" @@ -8249,7 +8256,8 @@ func (c *WAFRegional) UpdateRuleRequest(input *waf.UpdateRuleInput) (req *reques // a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests // that you want to allow, block, or count. If you add more than one predicate // to a Rule, a request must match all of the specifications to be allowed, -// blocked, or counted. For example, suppose you add the following to a Rule: +// blocked, or counted. For example, suppose that you add the following to a +// Rule: // // * A ByteMatchSet that matches the value BadBot in the User-Agent header // @@ -8277,7 +8285,7 @@ func (c *WAFRegional) UpdateRuleRequest(input *waf.UpdateRuleInput) (req *reques // the existing one and add the new one. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8376,7 +8384,7 @@ func (c *WAFRegional) UpdateRuleRequest(input *waf.UpdateRuleInput) (req *reques // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRule @@ -8467,7 +8475,7 @@ func (c *WAFRegional) UpdateRuleGroupRequest(input *waf.UpdateRuleGroupInput) (r // and add the new one. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8525,7 +8533,7 @@ func (c *WAFRegional) UpdateRuleGroupRequest(input *waf.UpdateRuleGroupInput) (r // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" @@ -8663,7 +8671,7 @@ func (c *WAFRegional) UpdateSizeConstraintSetRequest(input *waf.UpdateSizeConstr // the value that you want AWS WAF to watch for. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8762,7 +8770,7 @@ func (c *WAFRegional) UpdateSizeConstraintSetRequest(input *waf.UpdateSizeConstr // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSizeConstraintSet @@ -8849,10 +8857,10 @@ func (c *WAFRegional) UpdateSqlInjectionMatchSetRequest(input *waf.UpdateSqlInje // You can only specify a single type of TextTransformation. // // You use SqlInjectionMatchSet objects to specify which CloudFront requests -// you want to allow, block, or count. For example, if you're receiving requests -// that contain snippets of SQL code in the query string and you want to block -// the requests, you can create a SqlInjectionMatchSet with the applicable settings, -// and then configure AWS WAF to block the requests. +// that you want to allow, block, or count. For example, if you're receiving +// requests that contain snippets of SQL code in the query string and you want +// to block the requests, you can create a SqlInjectionMatchSet with the applicable +// settings, and then configure AWS WAF to block the requests. // // To create and configure a SqlInjectionMatchSet, perform the following steps: // @@ -8865,7 +8873,7 @@ func (c *WAFRegional) UpdateSqlInjectionMatchSetRequest(input *waf.UpdateSqlInje // requests that you want AWS WAF to inspect for snippets of SQL code. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8956,7 +8964,7 @@ func (c *WAFRegional) UpdateSqlInjectionMatchSetRequest(input *waf.UpdateSqlInje // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSqlInjectionMatchSet @@ -9033,8 +9041,8 @@ func (c *WAFRegional) UpdateWebACLRequest(input *waf.UpdateWebACLInput) (req *re // the default action if a request doesn't match the criteria in any of the // Rules in a WebACL. // -// * The Rules that you want to add and/or delete. If you want to replace -// one Rule with another, you delete the existing Rule and add the new one. +// * The Rules that you want to add or delete. If you want to replace one +// Rule with another, you delete the existing Rule and add the new one. // // * For each Rule, whether you want AWS WAF to allow requests, block requests, // or count requests that match the conditions in the Rule. @@ -9043,9 +9051,9 @@ func (c *WAFRegional) UpdateWebACLRequest(input *waf.UpdateWebACLInput) (req *re // If you add more than one Rule to a WebACL, AWS WAF evaluates each request // against the Rules in order based on the value of Priority. (The Rule that // has the lowest value for Priority is evaluated first.) When a web request -// matches all of the predicates (such as ByteMatchSets and IPSets) in a -// Rule, AWS WAF immediately takes the corresponding action, allow or block, -// and doesn't evaluate the request against the remaining Rules in the WebACL, +// matches all the predicates (such as ByteMatchSets and IPSets) in a Rule, +// AWS WAF immediately takes the corresponding action, allow or block, and +// doesn't evaluate the request against the remaining Rules in the WebACL, // if any. // // To create and configure a WebACL, perform the following steps: @@ -9066,13 +9074,21 @@ func (c *WAFRegional) UpdateWebACLRequest(input *waf.UpdateWebACLInput) (req *re // in the WebACL, to specify the default action, and to associate the WebACL // with a CloudFront distribution. // +// The ActivatedRule can be a rule group. If you specify a rule group as your +// ActivatedRule, you can exclude specific rules from that rule group. +// +// If you already have a rule group associated with a web ACL and want to submit +// an UpdateWebACL request to exclude certain rules from that rule group, you +// must first remove the rule group from the web ACL, the re-insert it again, +// specifying the excluded rules. For details, see ActivatedRule$ExcludedRules. +// // Be aware that if you try to add a RATE_BASED rule to a web ACL without setting // the rule type when first creating the rule, the UpdateWebACL request will // fail because the request tries to add a REGULAR rule (the default rule type) // with the specified ID, which does not exist. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -9171,7 +9187,7 @@ func (c *WAFRegional) UpdateWebACLRequest(input *waf.UpdateWebACLInput) (req *re // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // * ErrCodeWAFSubscriptionNotFoundException "WAFSubscriptionNotFoundException" @@ -9247,8 +9263,8 @@ func (c *WAFRegional) UpdateXssMatchSetRequest(input *waf.UpdateXssMatchSetInput // each XssMatchTuple object, you specify the following values: // // * Action: Whether to insert the object into or delete the object from -// the array. To change a XssMatchTuple, you delete the existing object and -// add a new one. +// the array. To change an XssMatchTuple, you delete the existing object +// and add a new one. // // * FieldToMatch: The part of web requests that you want AWS WAF to inspect // and, if you want AWS WAF to inspect a header or custom query parameter, @@ -9260,11 +9276,11 @@ func (c *WAFRegional) UpdateXssMatchSetRequest(input *waf.UpdateXssMatchSetInput // // You can only specify a single type of TextTransformation. // -// You use XssMatchSet objects to specify which CloudFront requests you want -// to allow, block, or count. For example, if you're receiving requests that -// contain cross-site scripting attacks in the request body and you want to -// block the requests, you can create an XssMatchSet with the applicable settings, -// and then configure AWS WAF to block the requests. +// You use XssMatchSet objects to specify which CloudFront requests that you +// want to allow, block, or count. For example, if you're receiving requests +// that contain cross-site scripting attacks in the request body and you want +// to block the requests, you can create an XssMatchSet with the applicable +// settings, and then configure AWS WAF to block the requests. // // To create and configure an XssMatchSet, perform the following steps: // @@ -9277,7 +9293,7 @@ func (c *WAFRegional) UpdateXssMatchSetRequest(input *waf.UpdateXssMatchSetInput // that you want AWS WAF to inspect for cross-site scripting attacks. // // For more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -9368,7 +9384,7 @@ func (c *WAFRegional) UpdateXssMatchSetRequest(input *waf.UpdateXssMatchSetInput // * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, -// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateXssMatchSet @@ -9396,7 +9412,14 @@ func (c *WAFRegional) UpdateXssMatchSetWithContext(ctx aws.Context, input *waf.U type AssociateWebACLInput struct { _ struct{} `type:"structure"` - // The ARN (Amazon Resource Name) of the resource to be protected. + // The ARN (Amazon Resource Name) of the resource to be protected, either an + // application load balancer or Amazon API Gateway stage. + // + // The ARN should be in one of the following formats: + // + // * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id + // + // * For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` @@ -9469,7 +9492,14 @@ type DisassociateWebACLInput struct { _ struct{} `type:"structure"` // The ARN (Amazon Resource Name) of the resource from which the web ACL is - // being removed. + // being removed, either an application load balancer or Amazon API Gateway + // stage. + // + // The ARN should be in one of the following formats: + // + // * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id + // + // * For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` @@ -9524,7 +9554,14 @@ func (s DisassociateWebACLOutput) GoString() string { type GetWebACLForResourceInput struct { _ struct{} `type:"structure"` - // The ARN (Amazon Resource Name) of the resource for which to get the web ACL. + // The ARN (Amazon Resource Name) of the resource for which to get the web ACL, + // either an application load balancer or Amazon API Gateway stage. + // + // The ARN should be in one of the following formats: + // + // * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id + // + // * For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` @@ -9589,7 +9626,7 @@ func (s *GetWebACLForResourceOutput) SetWebACLSummary(v *waf.WebACLSummary) *Get type ListResourcesForWebACLInput struct { _ struct{} `type:"structure"` - // The type of resource to list, either and application load balancer or Amazon + // The type of resource to list, either an application load balancer or Amazon // API Gateway. ResourceType *string `type:"string" enum:"ResourceType"` @@ -10532,6 +10569,9 @@ const ( // ParameterExceptionFieldNextMarker is a ParameterExceptionField enum value ParameterExceptionFieldNextMarker = "NEXT_MARKER" + + // ParameterExceptionFieldResourceArn is a ParameterExceptionField enum value + ParameterExceptionFieldResourceArn = "RESOURCE_ARN" ) const ( @@ -10540,6 +10580,9 @@ const ( // ParameterExceptionReasonIllegalCombination is a ParameterExceptionReason enum value ParameterExceptionReasonIllegalCombination = "ILLEGAL_COMBINATION" + + // ParameterExceptionReasonIllegalArgument is a ParameterExceptionReason enum value + ParameterExceptionReasonIllegalArgument = "ILLEGAL_ARGUMENT" ) const ( diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/wafregional/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/wafregional/doc.go index 8431ff1d54a..861b0ae88d5 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/wafregional/doc.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/wafregional/doc.go @@ -7,11 +7,11 @@ // Load Balancing (ELB) Application Load Balancers. The AWS WAF actions and // data types listed in the reference are available for protecting Application // Load Balancers. You can use these actions and data types by means of the -// endpoints listed in AWS Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#waf_region). +// endpoints listed in AWS Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#waf_region). // This guide is for developers who need detailed information about the AWS // WAF API actions, data types, and errors. For detailed information about AWS // WAF features and an overview of how to use the AWS WAF API, see the AWS WAF -// Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). // // See https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28 for more information on this service. // diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/wafregional/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/wafregional/errors.go index b82c80fc6f2..15380ca2ec9 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/wafregional/errors.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/wafregional/errors.go @@ -115,7 +115,7 @@ const ( // // The operation exceeds a resource limit, for example, the maximum number of // WebACL objects that you can create for an AWS account. For more information, - // see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) + // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) // in the AWS WAF Developer Guide. ErrCodeWAFLimitsExceededException = "WAFLimitsExceededException" diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/worklink/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/worklink/api.go new file mode 100644 index 00000000000..f2d632f24a7 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/worklink/api.go @@ -0,0 +1,3904 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package worklink + +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" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opAssociateWebsiteCertificateAuthority = "AssociateWebsiteCertificateAuthority" + +// AssociateWebsiteCertificateAuthorityRequest generates a "aws/request.Request" representing the +// client's request for the AssociateWebsiteCertificateAuthority 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 AssociateWebsiteCertificateAuthority for more information on using the AssociateWebsiteCertificateAuthority +// 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 AssociateWebsiteCertificateAuthorityRequest method. +// req, resp := client.AssociateWebsiteCertificateAuthorityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/AssociateWebsiteCertificateAuthority +func (c *WorkLink) AssociateWebsiteCertificateAuthorityRequest(input *AssociateWebsiteCertificateAuthorityInput) (req *request.Request, output *AssociateWebsiteCertificateAuthorityOutput) { + op := &request.Operation{ + Name: opAssociateWebsiteCertificateAuthority, + HTTPMethod: "POST", + HTTPPath: "/associateWebsiteCertificateAuthority", + } + + if input == nil { + input = &AssociateWebsiteCertificateAuthorityInput{} + } + + output = &AssociateWebsiteCertificateAuthorityOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateWebsiteCertificateAuthority API operation for Amazon WorkLink. +// +// Imports the root certificate of a certificate authority (CA) used to obtain +// TLS certificates used by associated websites within the company network. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation AssociateWebsiteCertificateAuthority for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The resource already exists. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/AssociateWebsiteCertificateAuthority +func (c *WorkLink) AssociateWebsiteCertificateAuthority(input *AssociateWebsiteCertificateAuthorityInput) (*AssociateWebsiteCertificateAuthorityOutput, error) { + req, out := c.AssociateWebsiteCertificateAuthorityRequest(input) + return out, req.Send() +} + +// AssociateWebsiteCertificateAuthorityWithContext is the same as AssociateWebsiteCertificateAuthority with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateWebsiteCertificateAuthority 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 *WorkLink) AssociateWebsiteCertificateAuthorityWithContext(ctx aws.Context, input *AssociateWebsiteCertificateAuthorityInput, opts ...request.Option) (*AssociateWebsiteCertificateAuthorityOutput, error) { + req, out := c.AssociateWebsiteCertificateAuthorityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateFleet = "CreateFleet" + +// CreateFleetRequest generates a "aws/request.Request" representing the +// client's request for the CreateFleet operation. The "output" return +// value will be populated with the request's response once the request 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 CreateFleet for more information on using the CreateFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateFleetRequest method. +// req, resp := client.CreateFleetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/CreateFleet +func (c *WorkLink) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) { + op := &request.Operation{ + Name: opCreateFleet, + HTTPMethod: "POST", + HTTPPath: "/createFleet", + } + + if input == nil { + input = &CreateFleetInput{} + } + + output = &CreateFleetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateFleet API operation for Amazon WorkLink. +// +// Creates a fleet. A fleet consists of resources and the configuration that +// delivers associated websites to authorized users who download and set up +// the Amazon WorkLink app. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation CreateFleet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The resource already exists. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/CreateFleet +func (c *WorkLink) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) { + req, out := c.CreateFleetRequest(input) + return out, req.Send() +} + +// CreateFleetWithContext is the same as CreateFleet with the addition of +// the ability to pass a context and additional request options. +// +// See CreateFleet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkLink) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) { + req, out := c.CreateFleetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteFleet = "DeleteFleet" + +// DeleteFleetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFleet operation. The "output" return +// value will be populated with the request's response once the request 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 DeleteFleet for more information on using the DeleteFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteFleetRequest method. +// req, resp := client.DeleteFleetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DeleteFleet +func (c *WorkLink) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Request, output *DeleteFleetOutput) { + op := &request.Operation{ + Name: opDeleteFleet, + HTTPMethod: "POST", + HTTPPath: "/deleteFleet", + } + + if input == nil { + input = &DeleteFleetInput{} + } + + output = &DeleteFleetOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteFleet API operation for Amazon WorkLink. +// +// Deletes a fleet. Prevents users from accessing previously associated websites. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation DeleteFleet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DeleteFleet +func (c *WorkLink) DeleteFleet(input *DeleteFleetInput) (*DeleteFleetOutput, error) { + req, out := c.DeleteFleetRequest(input) + return out, req.Send() +} + +// DeleteFleetWithContext is the same as DeleteFleet with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteFleet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkLink) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetInput, opts ...request.Option) (*DeleteFleetOutput, error) { + req, out := c.DeleteFleetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAuditStreamConfiguration = "DescribeAuditStreamConfiguration" + +// DescribeAuditStreamConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAuditStreamConfiguration 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 DescribeAuditStreamConfiguration for more information on using the DescribeAuditStreamConfiguration +// 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 DescribeAuditStreamConfigurationRequest method. +// req, resp := client.DescribeAuditStreamConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeAuditStreamConfiguration +func (c *WorkLink) DescribeAuditStreamConfigurationRequest(input *DescribeAuditStreamConfigurationInput) (req *request.Request, output *DescribeAuditStreamConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeAuditStreamConfiguration, + HTTPMethod: "POST", + HTTPPath: "/describeAuditStreamConfiguration", + } + + if input == nil { + input = &DescribeAuditStreamConfigurationInput{} + } + + output = &DescribeAuditStreamConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAuditStreamConfiguration API operation for Amazon WorkLink. +// +// Describes the configuration for delivering audit streams to the customer +// 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 WorkLink's +// API operation DescribeAuditStreamConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeAuditStreamConfiguration +func (c *WorkLink) DescribeAuditStreamConfiguration(input *DescribeAuditStreamConfigurationInput) (*DescribeAuditStreamConfigurationOutput, error) { + req, out := c.DescribeAuditStreamConfigurationRequest(input) + return out, req.Send() +} + +// DescribeAuditStreamConfigurationWithContext is the same as DescribeAuditStreamConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAuditStreamConfiguration 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 *WorkLink) DescribeAuditStreamConfigurationWithContext(ctx aws.Context, input *DescribeAuditStreamConfigurationInput, opts ...request.Option) (*DescribeAuditStreamConfigurationOutput, error) { + req, out := c.DescribeAuditStreamConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeCompanyNetworkConfiguration = "DescribeCompanyNetworkConfiguration" + +// DescribeCompanyNetworkConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCompanyNetworkConfiguration 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 DescribeCompanyNetworkConfiguration for more information on using the DescribeCompanyNetworkConfiguration +// 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 DescribeCompanyNetworkConfigurationRequest method. +// req, resp := client.DescribeCompanyNetworkConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeCompanyNetworkConfiguration +func (c *WorkLink) DescribeCompanyNetworkConfigurationRequest(input *DescribeCompanyNetworkConfigurationInput) (req *request.Request, output *DescribeCompanyNetworkConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeCompanyNetworkConfiguration, + HTTPMethod: "POST", + HTTPPath: "/describeCompanyNetworkConfiguration", + } + + if input == nil { + input = &DescribeCompanyNetworkConfigurationInput{} + } + + output = &DescribeCompanyNetworkConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCompanyNetworkConfiguration API operation for Amazon WorkLink. +// +// Describes the networking configuration to access the internal websites associated +// with the specified fleet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation DescribeCompanyNetworkConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeCompanyNetworkConfiguration +func (c *WorkLink) DescribeCompanyNetworkConfiguration(input *DescribeCompanyNetworkConfigurationInput) (*DescribeCompanyNetworkConfigurationOutput, error) { + req, out := c.DescribeCompanyNetworkConfigurationRequest(input) + return out, req.Send() +} + +// DescribeCompanyNetworkConfigurationWithContext is the same as DescribeCompanyNetworkConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCompanyNetworkConfiguration 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 *WorkLink) DescribeCompanyNetworkConfigurationWithContext(ctx aws.Context, input *DescribeCompanyNetworkConfigurationInput, opts ...request.Option) (*DescribeCompanyNetworkConfigurationOutput, error) { + req, out := c.DescribeCompanyNetworkConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDevice = "DescribeDevice" + +// DescribeDeviceRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDevice 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 DescribeDevice for more information on using the DescribeDevice +// 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 DescribeDeviceRequest method. +// req, resp := client.DescribeDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeDevice +func (c *WorkLink) DescribeDeviceRequest(input *DescribeDeviceInput) (req *request.Request, output *DescribeDeviceOutput) { + op := &request.Operation{ + Name: opDescribeDevice, + HTTPMethod: "POST", + HTTPPath: "/describeDevice", + } + + if input == nil { + input = &DescribeDeviceInput{} + } + + output = &DescribeDeviceOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDevice API operation for Amazon WorkLink. +// +// Provides information about a user's device. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation DescribeDevice for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeDevice +func (c *WorkLink) DescribeDevice(input *DescribeDeviceInput) (*DescribeDeviceOutput, error) { + req, out := c.DescribeDeviceRequest(input) + return out, req.Send() +} + +// DescribeDeviceWithContext is the same as DescribeDevice with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDevice 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 *WorkLink) DescribeDeviceWithContext(ctx aws.Context, input *DescribeDeviceInput, opts ...request.Option) (*DescribeDeviceOutput, error) { + req, out := c.DescribeDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDevicePolicyConfiguration = "DescribeDevicePolicyConfiguration" + +// DescribeDevicePolicyConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDevicePolicyConfiguration 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 DescribeDevicePolicyConfiguration for more information on using the DescribeDevicePolicyConfiguration +// 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 DescribeDevicePolicyConfigurationRequest method. +// req, resp := client.DescribeDevicePolicyConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeDevicePolicyConfiguration +func (c *WorkLink) DescribeDevicePolicyConfigurationRequest(input *DescribeDevicePolicyConfigurationInput) (req *request.Request, output *DescribeDevicePolicyConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeDevicePolicyConfiguration, + HTTPMethod: "POST", + HTTPPath: "/describeDevicePolicyConfiguration", + } + + if input == nil { + input = &DescribeDevicePolicyConfigurationInput{} + } + + output = &DescribeDevicePolicyConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDevicePolicyConfiguration API operation for Amazon WorkLink. +// +// Describes the device policy configuration for the specified fleet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation DescribeDevicePolicyConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeDevicePolicyConfiguration +func (c *WorkLink) DescribeDevicePolicyConfiguration(input *DescribeDevicePolicyConfigurationInput) (*DescribeDevicePolicyConfigurationOutput, error) { + req, out := c.DescribeDevicePolicyConfigurationRequest(input) + return out, req.Send() +} + +// DescribeDevicePolicyConfigurationWithContext is the same as DescribeDevicePolicyConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDevicePolicyConfiguration 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 *WorkLink) DescribeDevicePolicyConfigurationWithContext(ctx aws.Context, input *DescribeDevicePolicyConfigurationInput, opts ...request.Option) (*DescribeDevicePolicyConfigurationOutput, error) { + req, out := c.DescribeDevicePolicyConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeFleetMetadata = "DescribeFleetMetadata" + +// DescribeFleetMetadataRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFleetMetadata 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 DescribeFleetMetadata for more information on using the DescribeFleetMetadata +// 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 DescribeFleetMetadataRequest method. +// req, resp := client.DescribeFleetMetadataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeFleetMetadata +func (c *WorkLink) DescribeFleetMetadataRequest(input *DescribeFleetMetadataInput) (req *request.Request, output *DescribeFleetMetadataOutput) { + op := &request.Operation{ + Name: opDescribeFleetMetadata, + HTTPMethod: "POST", + HTTPPath: "/describeFleetMetadata", + } + + if input == nil { + input = &DescribeFleetMetadataInput{} + } + + output = &DescribeFleetMetadataOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFleetMetadata API operation for Amazon WorkLink. +// +// Provides basic information for the specified fleet, excluding identity provider, +// networking, and device configuration details. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation DescribeFleetMetadata for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeFleetMetadata +func (c *WorkLink) DescribeFleetMetadata(input *DescribeFleetMetadataInput) (*DescribeFleetMetadataOutput, error) { + req, out := c.DescribeFleetMetadataRequest(input) + return out, req.Send() +} + +// DescribeFleetMetadataWithContext is the same as DescribeFleetMetadata with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFleetMetadata 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 *WorkLink) DescribeFleetMetadataWithContext(ctx aws.Context, input *DescribeFleetMetadataInput, opts ...request.Option) (*DescribeFleetMetadataOutput, error) { + req, out := c.DescribeFleetMetadataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeIdentityProviderConfiguration = "DescribeIdentityProviderConfiguration" + +// DescribeIdentityProviderConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIdentityProviderConfiguration 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 DescribeIdentityProviderConfiguration for more information on using the DescribeIdentityProviderConfiguration +// 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 DescribeIdentityProviderConfigurationRequest method. +// req, resp := client.DescribeIdentityProviderConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeIdentityProviderConfiguration +func (c *WorkLink) DescribeIdentityProviderConfigurationRequest(input *DescribeIdentityProviderConfigurationInput) (req *request.Request, output *DescribeIdentityProviderConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeIdentityProviderConfiguration, + HTTPMethod: "POST", + HTTPPath: "/describeIdentityProviderConfiguration", + } + + if input == nil { + input = &DescribeIdentityProviderConfigurationInput{} + } + + output = &DescribeIdentityProviderConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeIdentityProviderConfiguration API operation for Amazon WorkLink. +// +// Describes the identity provider configuration of the specified fleet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation DescribeIdentityProviderConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeIdentityProviderConfiguration +func (c *WorkLink) DescribeIdentityProviderConfiguration(input *DescribeIdentityProviderConfigurationInput) (*DescribeIdentityProviderConfigurationOutput, error) { + req, out := c.DescribeIdentityProviderConfigurationRequest(input) + return out, req.Send() +} + +// DescribeIdentityProviderConfigurationWithContext is the same as DescribeIdentityProviderConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeIdentityProviderConfiguration 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 *WorkLink) DescribeIdentityProviderConfigurationWithContext(ctx aws.Context, input *DescribeIdentityProviderConfigurationInput, opts ...request.Option) (*DescribeIdentityProviderConfigurationOutput, error) { + req, out := c.DescribeIdentityProviderConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeWebsiteCertificateAuthority = "DescribeWebsiteCertificateAuthority" + +// DescribeWebsiteCertificateAuthorityRequest generates a "aws/request.Request" representing the +// client's request for the DescribeWebsiteCertificateAuthority 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 DescribeWebsiteCertificateAuthority for more information on using the DescribeWebsiteCertificateAuthority +// 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 DescribeWebsiteCertificateAuthorityRequest method. +// req, resp := client.DescribeWebsiteCertificateAuthorityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeWebsiteCertificateAuthority +func (c *WorkLink) DescribeWebsiteCertificateAuthorityRequest(input *DescribeWebsiteCertificateAuthorityInput) (req *request.Request, output *DescribeWebsiteCertificateAuthorityOutput) { + op := &request.Operation{ + Name: opDescribeWebsiteCertificateAuthority, + HTTPMethod: "POST", + HTTPPath: "/describeWebsiteCertificateAuthority", + } + + if input == nil { + input = &DescribeWebsiteCertificateAuthorityInput{} + } + + output = &DescribeWebsiteCertificateAuthorityOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeWebsiteCertificateAuthority API operation for Amazon WorkLink. +// +// Provides information about the certificate authority. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation DescribeWebsiteCertificateAuthority for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeWebsiteCertificateAuthority +func (c *WorkLink) DescribeWebsiteCertificateAuthority(input *DescribeWebsiteCertificateAuthorityInput) (*DescribeWebsiteCertificateAuthorityOutput, error) { + req, out := c.DescribeWebsiteCertificateAuthorityRequest(input) + return out, req.Send() +} + +// DescribeWebsiteCertificateAuthorityWithContext is the same as DescribeWebsiteCertificateAuthority with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeWebsiteCertificateAuthority 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 *WorkLink) DescribeWebsiteCertificateAuthorityWithContext(ctx aws.Context, input *DescribeWebsiteCertificateAuthorityInput, opts ...request.Option) (*DescribeWebsiteCertificateAuthorityOutput, error) { + req, out := c.DescribeWebsiteCertificateAuthorityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateWebsiteCertificateAuthority = "DisassociateWebsiteCertificateAuthority" + +// DisassociateWebsiteCertificateAuthorityRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateWebsiteCertificateAuthority 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 DisassociateWebsiteCertificateAuthority for more information on using the DisassociateWebsiteCertificateAuthority +// 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 DisassociateWebsiteCertificateAuthorityRequest method. +// req, resp := client.DisassociateWebsiteCertificateAuthorityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DisassociateWebsiteCertificateAuthority +func (c *WorkLink) DisassociateWebsiteCertificateAuthorityRequest(input *DisassociateWebsiteCertificateAuthorityInput) (req *request.Request, output *DisassociateWebsiteCertificateAuthorityOutput) { + op := &request.Operation{ + Name: opDisassociateWebsiteCertificateAuthority, + HTTPMethod: "POST", + HTTPPath: "/disassociateWebsiteCertificateAuthority", + } + + if input == nil { + input = &DisassociateWebsiteCertificateAuthorityInput{} + } + + output = &DisassociateWebsiteCertificateAuthorityOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateWebsiteCertificateAuthority API operation for Amazon WorkLink. +// +// Removes a certificate authority (CA). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation DisassociateWebsiteCertificateAuthority for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DisassociateWebsiteCertificateAuthority +func (c *WorkLink) DisassociateWebsiteCertificateAuthority(input *DisassociateWebsiteCertificateAuthorityInput) (*DisassociateWebsiteCertificateAuthorityOutput, error) { + req, out := c.DisassociateWebsiteCertificateAuthorityRequest(input) + return out, req.Send() +} + +// DisassociateWebsiteCertificateAuthorityWithContext is the same as DisassociateWebsiteCertificateAuthority with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateWebsiteCertificateAuthority 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 *WorkLink) DisassociateWebsiteCertificateAuthorityWithContext(ctx aws.Context, input *DisassociateWebsiteCertificateAuthorityInput, opts ...request.Option) (*DisassociateWebsiteCertificateAuthorityOutput, error) { + req, out := c.DisassociateWebsiteCertificateAuthorityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListDevices = "ListDevices" + +// ListDevicesRequest generates a "aws/request.Request" representing the +// client's request for the ListDevices 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 ListDevices for more information on using the ListDevices +// 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 ListDevicesRequest method. +// req, resp := client.ListDevicesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListDevices +func (c *WorkLink) ListDevicesRequest(input *ListDevicesInput) (req *request.Request, output *ListDevicesOutput) { + op := &request.Operation{ + Name: opListDevices, + HTTPMethod: "POST", + HTTPPath: "/listDevices", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDevicesInput{} + } + + output = &ListDevicesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDevices API operation for Amazon WorkLink. +// +// Retrieves a list of devices registered with the specified fleet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation ListDevices for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListDevices +func (c *WorkLink) ListDevices(input *ListDevicesInput) (*ListDevicesOutput, error) { + req, out := c.ListDevicesRequest(input) + return out, req.Send() +} + +// ListDevicesWithContext is the same as ListDevices with the addition of +// the ability to pass a context and additional request options. +// +// See ListDevices 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 *WorkLink) ListDevicesWithContext(ctx aws.Context, input *ListDevicesInput, opts ...request.Option) (*ListDevicesOutput, error) { + req, out := c.ListDevicesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDevicesPages iterates over the pages of a ListDevices operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDevices 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 ListDevices operation. +// pageNum := 0 +// err := client.ListDevicesPages(params, +// func(page *ListDevicesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *WorkLink) ListDevicesPages(input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool) error { + return c.ListDevicesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDevicesPagesWithContext same as ListDevicesPages 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 *WorkLink) ListDevicesPagesWithContext(ctx aws.Context, input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDevicesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDevicesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListDevicesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListFleets = "ListFleets" + +// ListFleetsRequest generates a "aws/request.Request" representing the +// client's request for the ListFleets operation. The "output" return +// value will be populated with the request's response once the request 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 ListFleets for more information on using the ListFleets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListFleetsRequest method. +// req, resp := client.ListFleetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListFleets +func (c *WorkLink) ListFleetsRequest(input *ListFleetsInput) (req *request.Request, output *ListFleetsOutput) { + op := &request.Operation{ + Name: opListFleets, + HTTPMethod: "POST", + HTTPPath: "/listFleets", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListFleetsInput{} + } + + output = &ListFleetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFleets API operation for Amazon WorkLink. +// +// Retrieves a list of fleets for the current account and Region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation ListFleets for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListFleets +func (c *WorkLink) ListFleets(input *ListFleetsInput) (*ListFleetsOutput, error) { + req, out := c.ListFleetsRequest(input) + return out, req.Send() +} + +// ListFleetsWithContext is the same as ListFleets with the addition of +// the ability to pass a context and additional request options. +// +// See ListFleets for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkLink) ListFleetsWithContext(ctx aws.Context, input *ListFleetsInput, opts ...request.Option) (*ListFleetsOutput, error) { + req, out := c.ListFleetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListFleetsPages iterates over the pages of a ListFleets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFleets method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListFleets operation. +// pageNum := 0 +// err := client.ListFleetsPages(params, +// func(page *ListFleetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *WorkLink) ListFleetsPages(input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool) error { + return c.ListFleetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListFleetsPagesWithContext same as ListFleetsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkLink) ListFleetsPagesWithContext(ctx aws.Context, input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFleetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFleetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListFleetsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListWebsiteCertificateAuthorities = "ListWebsiteCertificateAuthorities" + +// ListWebsiteCertificateAuthoritiesRequest generates a "aws/request.Request" representing the +// client's request for the ListWebsiteCertificateAuthorities 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 ListWebsiteCertificateAuthorities for more information on using the ListWebsiteCertificateAuthorities +// 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 ListWebsiteCertificateAuthoritiesRequest method. +// req, resp := client.ListWebsiteCertificateAuthoritiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListWebsiteCertificateAuthorities +func (c *WorkLink) ListWebsiteCertificateAuthoritiesRequest(input *ListWebsiteCertificateAuthoritiesInput) (req *request.Request, output *ListWebsiteCertificateAuthoritiesOutput) { + op := &request.Operation{ + Name: opListWebsiteCertificateAuthorities, + HTTPMethod: "POST", + HTTPPath: "/listWebsiteCertificateAuthorities", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListWebsiteCertificateAuthoritiesInput{} + } + + output = &ListWebsiteCertificateAuthoritiesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListWebsiteCertificateAuthorities API operation for Amazon WorkLink. +// +// Retrieves a list of certificate authorities added for the current account +// and Region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation ListWebsiteCertificateAuthorities for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListWebsiteCertificateAuthorities +func (c *WorkLink) ListWebsiteCertificateAuthorities(input *ListWebsiteCertificateAuthoritiesInput) (*ListWebsiteCertificateAuthoritiesOutput, error) { + req, out := c.ListWebsiteCertificateAuthoritiesRequest(input) + return out, req.Send() +} + +// ListWebsiteCertificateAuthoritiesWithContext is the same as ListWebsiteCertificateAuthorities with the addition of +// the ability to pass a context and additional request options. +// +// See ListWebsiteCertificateAuthorities 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 *WorkLink) ListWebsiteCertificateAuthoritiesWithContext(ctx aws.Context, input *ListWebsiteCertificateAuthoritiesInput, opts ...request.Option) (*ListWebsiteCertificateAuthoritiesOutput, error) { + req, out := c.ListWebsiteCertificateAuthoritiesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListWebsiteCertificateAuthoritiesPages iterates over the pages of a ListWebsiteCertificateAuthorities operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWebsiteCertificateAuthorities 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 ListWebsiteCertificateAuthorities operation. +// pageNum := 0 +// err := client.ListWebsiteCertificateAuthoritiesPages(params, +// func(page *ListWebsiteCertificateAuthoritiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *WorkLink) ListWebsiteCertificateAuthoritiesPages(input *ListWebsiteCertificateAuthoritiesInput, fn func(*ListWebsiteCertificateAuthoritiesOutput, bool) bool) error { + return c.ListWebsiteCertificateAuthoritiesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListWebsiteCertificateAuthoritiesPagesWithContext same as ListWebsiteCertificateAuthoritiesPages 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 *WorkLink) ListWebsiteCertificateAuthoritiesPagesWithContext(ctx aws.Context, input *ListWebsiteCertificateAuthoritiesInput, fn func(*ListWebsiteCertificateAuthoritiesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWebsiteCertificateAuthoritiesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWebsiteCertificateAuthoritiesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListWebsiteCertificateAuthoritiesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opSignOutUser = "SignOutUser" + +// SignOutUserRequest generates a "aws/request.Request" representing the +// client's request for the SignOutUser 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 SignOutUser for more information on using the SignOutUser +// 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 SignOutUserRequest method. +// req, resp := client.SignOutUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/SignOutUser +func (c *WorkLink) SignOutUserRequest(input *SignOutUserInput) (req *request.Request, output *SignOutUserOutput) { + op := &request.Operation{ + Name: opSignOutUser, + HTTPMethod: "POST", + HTTPPath: "/signOutUser", + } + + if input == nil { + input = &SignOutUserInput{} + } + + output = &SignOutUserOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// SignOutUser API operation for Amazon WorkLink. +// +// Signs the user out from all of their devices. The user can sign in again +// if they have valid credentials. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation SignOutUser for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/SignOutUser +func (c *WorkLink) SignOutUser(input *SignOutUserInput) (*SignOutUserOutput, error) { + req, out := c.SignOutUserRequest(input) + return out, req.Send() +} + +// SignOutUserWithContext is the same as SignOutUser with the addition of +// the ability to pass a context and additional request options. +// +// See SignOutUser 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 *WorkLink) SignOutUserWithContext(ctx aws.Context, input *SignOutUserInput, opts ...request.Option) (*SignOutUserOutput, error) { + req, out := c.SignOutUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAuditStreamConfiguration = "UpdateAuditStreamConfiguration" + +// UpdateAuditStreamConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAuditStreamConfiguration 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 UpdateAuditStreamConfiguration for more information on using the UpdateAuditStreamConfiguration +// 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 UpdateAuditStreamConfigurationRequest method. +// req, resp := client.UpdateAuditStreamConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateAuditStreamConfiguration +func (c *WorkLink) UpdateAuditStreamConfigurationRequest(input *UpdateAuditStreamConfigurationInput) (req *request.Request, output *UpdateAuditStreamConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateAuditStreamConfiguration, + HTTPMethod: "POST", + HTTPPath: "/updateAuditStreamConfiguration", + } + + if input == nil { + input = &UpdateAuditStreamConfigurationInput{} + } + + output = &UpdateAuditStreamConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateAuditStreamConfiguration API operation for Amazon WorkLink. +// +// Updates the audit stream configuration for the fleet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation UpdateAuditStreamConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateAuditStreamConfiguration +func (c *WorkLink) UpdateAuditStreamConfiguration(input *UpdateAuditStreamConfigurationInput) (*UpdateAuditStreamConfigurationOutput, error) { + req, out := c.UpdateAuditStreamConfigurationRequest(input) + return out, req.Send() +} + +// UpdateAuditStreamConfigurationWithContext is the same as UpdateAuditStreamConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAuditStreamConfiguration 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 *WorkLink) UpdateAuditStreamConfigurationWithContext(ctx aws.Context, input *UpdateAuditStreamConfigurationInput, opts ...request.Option) (*UpdateAuditStreamConfigurationOutput, error) { + req, out := c.UpdateAuditStreamConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateCompanyNetworkConfiguration = "UpdateCompanyNetworkConfiguration" + +// UpdateCompanyNetworkConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCompanyNetworkConfiguration 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 UpdateCompanyNetworkConfiguration for more information on using the UpdateCompanyNetworkConfiguration +// 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 UpdateCompanyNetworkConfigurationRequest method. +// req, resp := client.UpdateCompanyNetworkConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateCompanyNetworkConfiguration +func (c *WorkLink) UpdateCompanyNetworkConfigurationRequest(input *UpdateCompanyNetworkConfigurationInput) (req *request.Request, output *UpdateCompanyNetworkConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateCompanyNetworkConfiguration, + HTTPMethod: "POST", + HTTPPath: "/updateCompanyNetworkConfiguration", + } + + if input == nil { + input = &UpdateCompanyNetworkConfigurationInput{} + } + + output = &UpdateCompanyNetworkConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateCompanyNetworkConfiguration API operation for Amazon WorkLink. +// +// Updates the company network configuration for the fleet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation UpdateCompanyNetworkConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateCompanyNetworkConfiguration +func (c *WorkLink) UpdateCompanyNetworkConfiguration(input *UpdateCompanyNetworkConfigurationInput) (*UpdateCompanyNetworkConfigurationOutput, error) { + req, out := c.UpdateCompanyNetworkConfigurationRequest(input) + return out, req.Send() +} + +// UpdateCompanyNetworkConfigurationWithContext is the same as UpdateCompanyNetworkConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCompanyNetworkConfiguration 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 *WorkLink) UpdateCompanyNetworkConfigurationWithContext(ctx aws.Context, input *UpdateCompanyNetworkConfigurationInput, opts ...request.Option) (*UpdateCompanyNetworkConfigurationOutput, error) { + req, out := c.UpdateCompanyNetworkConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDevicePolicyConfiguration = "UpdateDevicePolicyConfiguration" + +// UpdateDevicePolicyConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDevicePolicyConfiguration 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 UpdateDevicePolicyConfiguration for more information on using the UpdateDevicePolicyConfiguration +// 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 UpdateDevicePolicyConfigurationRequest method. +// req, resp := client.UpdateDevicePolicyConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateDevicePolicyConfiguration +func (c *WorkLink) UpdateDevicePolicyConfigurationRequest(input *UpdateDevicePolicyConfigurationInput) (req *request.Request, output *UpdateDevicePolicyConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateDevicePolicyConfiguration, + HTTPMethod: "POST", + HTTPPath: "/updateDevicePolicyConfiguration", + } + + if input == nil { + input = &UpdateDevicePolicyConfigurationInput{} + } + + output = &UpdateDevicePolicyConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateDevicePolicyConfiguration API operation for Amazon WorkLink. +// +// Updates the device policy configuration for the fleet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation UpdateDevicePolicyConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateDevicePolicyConfiguration +func (c *WorkLink) UpdateDevicePolicyConfiguration(input *UpdateDevicePolicyConfigurationInput) (*UpdateDevicePolicyConfigurationOutput, error) { + req, out := c.UpdateDevicePolicyConfigurationRequest(input) + return out, req.Send() +} + +// UpdateDevicePolicyConfigurationWithContext is the same as UpdateDevicePolicyConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDevicePolicyConfiguration 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 *WorkLink) UpdateDevicePolicyConfigurationWithContext(ctx aws.Context, input *UpdateDevicePolicyConfigurationInput, opts ...request.Option) (*UpdateDevicePolicyConfigurationOutput, error) { + req, out := c.UpdateDevicePolicyConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateFleetMetadata = "UpdateFleetMetadata" + +// UpdateFleetMetadataRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFleetMetadata 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 UpdateFleetMetadata for more information on using the UpdateFleetMetadata +// 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 UpdateFleetMetadataRequest method. +// req, resp := client.UpdateFleetMetadataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateFleetMetadata +func (c *WorkLink) UpdateFleetMetadataRequest(input *UpdateFleetMetadataInput) (req *request.Request, output *UpdateFleetMetadataOutput) { + op := &request.Operation{ + Name: opUpdateFleetMetadata, + HTTPMethod: "POST", + HTTPPath: "/UpdateFleetMetadata", + } + + if input == nil { + input = &UpdateFleetMetadataInput{} + } + + output = &UpdateFleetMetadataOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateFleetMetadata API operation for Amazon WorkLink. +// +// Updates fleet metadata, such as DisplayName. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation UpdateFleetMetadata for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateFleetMetadata +func (c *WorkLink) UpdateFleetMetadata(input *UpdateFleetMetadataInput) (*UpdateFleetMetadataOutput, error) { + req, out := c.UpdateFleetMetadataRequest(input) + return out, req.Send() +} + +// UpdateFleetMetadataWithContext is the same as UpdateFleetMetadata with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFleetMetadata 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 *WorkLink) UpdateFleetMetadataWithContext(ctx aws.Context, input *UpdateFleetMetadataInput, opts ...request.Option) (*UpdateFleetMetadataOutput, error) { + req, out := c.UpdateFleetMetadataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateIdentityProviderConfiguration = "UpdateIdentityProviderConfiguration" + +// UpdateIdentityProviderConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateIdentityProviderConfiguration 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 UpdateIdentityProviderConfiguration for more information on using the UpdateIdentityProviderConfiguration +// 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 UpdateIdentityProviderConfigurationRequest method. +// req, resp := client.UpdateIdentityProviderConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateIdentityProviderConfiguration +func (c *WorkLink) UpdateIdentityProviderConfigurationRequest(input *UpdateIdentityProviderConfigurationInput) (req *request.Request, output *UpdateIdentityProviderConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateIdentityProviderConfiguration, + HTTPMethod: "POST", + HTTPPath: "/updateIdentityProviderConfiguration", + } + + if input == nil { + input = &UpdateIdentityProviderConfigurationInput{} + } + + output = &UpdateIdentityProviderConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateIdentityProviderConfiguration API operation for Amazon WorkLink. +// +// Updates the identity provider configuration for the fleet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation UpdateIdentityProviderConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The service is temporarily unavailable. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource was not found. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateIdentityProviderConfiguration +func (c *WorkLink) UpdateIdentityProviderConfiguration(input *UpdateIdentityProviderConfigurationInput) (*UpdateIdentityProviderConfigurationOutput, error) { + req, out := c.UpdateIdentityProviderConfigurationRequest(input) + return out, req.Send() +} + +// UpdateIdentityProviderConfigurationWithContext is the same as UpdateIdentityProviderConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateIdentityProviderConfiguration 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 *WorkLink) UpdateIdentityProviderConfigurationWithContext(ctx aws.Context, input *UpdateIdentityProviderConfigurationInput, opts ...request.Option) (*UpdateIdentityProviderConfigurationOutput, error) { + req, out := c.UpdateIdentityProviderConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type AssociateWebsiteCertificateAuthorityInput struct { + _ struct{} `type:"structure"` + + // The root certificate of the CA. + // + // Certificate is a required field + Certificate *string `min:"1" type:"string" required:"true"` + + // The certificate name to display. + DisplayName *string `type:"string"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateWebsiteCertificateAuthorityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateWebsiteCertificateAuthorityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateWebsiteCertificateAuthorityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateWebsiteCertificateAuthorityInput"} + if s.Certificate == nil { + invalidParams.Add(request.NewErrParamRequired("Certificate")) + } + if s.Certificate != nil && len(*s.Certificate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Certificate", 1)) + } + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificate sets the Certificate field's value. +func (s *AssociateWebsiteCertificateAuthorityInput) SetCertificate(v string) *AssociateWebsiteCertificateAuthorityInput { + s.Certificate = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *AssociateWebsiteCertificateAuthorityInput) SetDisplayName(v string) *AssociateWebsiteCertificateAuthorityInput { + s.DisplayName = &v + return s +} + +// SetFleetArn sets the FleetArn field's value. +func (s *AssociateWebsiteCertificateAuthorityInput) SetFleetArn(v string) *AssociateWebsiteCertificateAuthorityInput { + s.FleetArn = &v + return s +} + +type AssociateWebsiteCertificateAuthorityOutput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the CA. + WebsiteCaId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s AssociateWebsiteCertificateAuthorityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateWebsiteCertificateAuthorityOutput) GoString() string { + return s.String() +} + +// SetWebsiteCaId sets the WebsiteCaId field's value. +func (s *AssociateWebsiteCertificateAuthorityOutput) SetWebsiteCaId(v string) *AssociateWebsiteCertificateAuthorityOutput { + s.WebsiteCaId = &v + return s +} + +type CreateFleetInput struct { + _ struct{} `type:"structure"` + + // The fleet name to display. + DisplayName *string `type:"string"` + + // A unique name for the fleet. + // + // FleetName is a required field + FleetName *string `min:"1" type:"string" required:"true"` + + // The option to optimize for better performance by routing traffic through + // the closest AWS Region to users, which may be outside of your home Region. + OptimizeForEndUserLocation *bool `type:"boolean"` +} + +// String returns the string representation +func (s CreateFleetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFleetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFleetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"} + if s.FleetName == nil { + invalidParams.Add(request.NewErrParamRequired("FleetName")) + } + if s.FleetName != nil && len(*s.FleetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FleetName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDisplayName sets the DisplayName field's value. +func (s *CreateFleetInput) SetDisplayName(v string) *CreateFleetInput { + s.DisplayName = &v + return s +} + +// SetFleetName sets the FleetName field's value. +func (s *CreateFleetInput) SetFleetName(v string) *CreateFleetInput { + s.FleetName = &v + return s +} + +// SetOptimizeForEndUserLocation sets the OptimizeForEndUserLocation field's value. +func (s *CreateFleetInput) SetOptimizeForEndUserLocation(v bool) *CreateFleetInput { + s.OptimizeForEndUserLocation = &v + return s +} + +type CreateFleetOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + FleetArn *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s CreateFleetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFleetOutput) GoString() string { + return s.String() +} + +// SetFleetArn sets the FleetArn field's value. +func (s *CreateFleetOutput) SetFleetArn(v string) *CreateFleetOutput { + s.FleetArn = &v + return s +} + +type DeleteFleetInput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteFleetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFleetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFleetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetArn sets the FleetArn field's value. +func (s *DeleteFleetInput) SetFleetArn(v string) *DeleteFleetInput { + s.FleetArn = &v + return s +} + +type DeleteFleetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteFleetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFleetOutput) GoString() string { + return s.String() +} + +type DescribeAuditStreamConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeAuditStreamConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAuditStreamConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAuditStreamConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAuditStreamConfigurationInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetArn sets the FleetArn field's value. +func (s *DescribeAuditStreamConfigurationInput) SetFleetArn(v string) *DescribeAuditStreamConfigurationInput { + s.FleetArn = &v + return s +} + +type DescribeAuditStreamConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the Amazon Kinesis data stream that will receive the audit events. + AuditStreamArn *string `type:"string"` +} + +// String returns the string representation +func (s DescribeAuditStreamConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAuditStreamConfigurationOutput) GoString() string { + return s.String() +} + +// SetAuditStreamArn sets the AuditStreamArn field's value. +func (s *DescribeAuditStreamConfigurationOutput) SetAuditStreamArn(v string) *DescribeAuditStreamConfigurationOutput { + s.AuditStreamArn = &v + return s +} + +type DescribeCompanyNetworkConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeCompanyNetworkConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCompanyNetworkConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCompanyNetworkConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCompanyNetworkConfigurationInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetArn sets the FleetArn field's value. +func (s *DescribeCompanyNetworkConfigurationInput) SetFleetArn(v string) *DescribeCompanyNetworkConfigurationInput { + s.FleetArn = &v + return s +} + +type DescribeCompanyNetworkConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The security groups associated with access to the provided subnets. + SecurityGroupIds []*string `type:"list"` + + // The subnets used for X-ENI connections from Amazon WorkLink rendering containers. + SubnetIds []*string `type:"list"` + + // The VPC with connectivity to associated websites. + VpcId *string `type:"string"` +} + +// String returns the string representation +func (s DescribeCompanyNetworkConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCompanyNetworkConfigurationOutput) GoString() string { + return s.String() +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *DescribeCompanyNetworkConfigurationOutput) SetSecurityGroupIds(v []*string) *DescribeCompanyNetworkConfigurationOutput { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *DescribeCompanyNetworkConfigurationOutput) SetSubnetIds(v []*string) *DescribeCompanyNetworkConfigurationOutput { + s.SubnetIds = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *DescribeCompanyNetworkConfigurationOutput) SetVpcId(v string) *DescribeCompanyNetworkConfigurationOutput { + s.VpcId = &v + return s +} + +type DescribeDeviceInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for a registered user's device. + // + // DeviceId is a required field + DeviceId *string `min:"1" type:"string" required:"true"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDeviceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDeviceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDeviceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDeviceInput"} + if s.DeviceId == nil { + invalidParams.Add(request.NewErrParamRequired("DeviceId")) + } + if s.DeviceId != nil && len(*s.DeviceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1)) + } + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeviceId sets the DeviceId field's value. +func (s *DescribeDeviceInput) SetDeviceId(v string) *DescribeDeviceInput { + s.DeviceId = &v + return s +} + +// SetFleetArn sets the FleetArn field's value. +func (s *DescribeDeviceInput) SetFleetArn(v string) *DescribeDeviceInput { + s.FleetArn = &v + return s +} + +type DescribeDeviceOutput struct { + _ struct{} `type:"structure"` + + // The date that the device first signed in to Amazon WorkLink. + FirstAccessedTime *time.Time `type:"timestamp"` + + // The date that the device last accessed Amazon WorkLink. + LastAccessedTime *time.Time `type:"timestamp"` + + // The manufacturer of the device. + Manufacturer *string `min:"1" type:"string"` + + // The model of the device. + Model *string `min:"1" type:"string"` + + // The operating system of the device. + OperatingSystem *string `min:"1" type:"string"` + + // The operating system version of the device. + OperatingSystemVersion *string `min:"1" type:"string"` + + // The operating system patch level of the device. + PatchLevel *string `min:"1" type:"string"` + + // The current state of the device. + Status *string `type:"string" enum:"DeviceStatus"` + + // The user name associated with the device. + Username *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeDeviceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDeviceOutput) GoString() string { + return s.String() +} + +// SetFirstAccessedTime sets the FirstAccessedTime field's value. +func (s *DescribeDeviceOutput) SetFirstAccessedTime(v time.Time) *DescribeDeviceOutput { + s.FirstAccessedTime = &v + return s +} + +// SetLastAccessedTime sets the LastAccessedTime field's value. +func (s *DescribeDeviceOutput) SetLastAccessedTime(v time.Time) *DescribeDeviceOutput { + s.LastAccessedTime = &v + return s +} + +// SetManufacturer sets the Manufacturer field's value. +func (s *DescribeDeviceOutput) SetManufacturer(v string) *DescribeDeviceOutput { + s.Manufacturer = &v + return s +} + +// SetModel sets the Model field's value. +func (s *DescribeDeviceOutput) SetModel(v string) *DescribeDeviceOutput { + s.Model = &v + return s +} + +// SetOperatingSystem sets the OperatingSystem field's value. +func (s *DescribeDeviceOutput) SetOperatingSystem(v string) *DescribeDeviceOutput { + s.OperatingSystem = &v + return s +} + +// SetOperatingSystemVersion sets the OperatingSystemVersion field's value. +func (s *DescribeDeviceOutput) SetOperatingSystemVersion(v string) *DescribeDeviceOutput { + s.OperatingSystemVersion = &v + return s +} + +// SetPatchLevel sets the PatchLevel field's value. +func (s *DescribeDeviceOutput) SetPatchLevel(v string) *DescribeDeviceOutput { + s.PatchLevel = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeDeviceOutput) SetStatus(v string) *DescribeDeviceOutput { + s.Status = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *DescribeDeviceOutput) SetUsername(v string) *DescribeDeviceOutput { + s.Username = &v + return s +} + +type DescribeDevicePolicyConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDevicePolicyConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDevicePolicyConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDevicePolicyConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDevicePolicyConfigurationInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetArn sets the FleetArn field's value. +func (s *DescribeDevicePolicyConfigurationInput) SetFleetArn(v string) *DescribeDevicePolicyConfigurationInput { + s.FleetArn = &v + return s +} + +type DescribeDevicePolicyConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The certificate chain, including intermediate certificates and the root certificate + // authority certificate used to issue device certificates. + DeviceCaCertificate *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeDevicePolicyConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDevicePolicyConfigurationOutput) GoString() string { + return s.String() +} + +// SetDeviceCaCertificate sets the DeviceCaCertificate field's value. +func (s *DescribeDevicePolicyConfigurationOutput) SetDeviceCaCertificate(v string) *DescribeDevicePolicyConfigurationOutput { + s.DeviceCaCertificate = &v + return s +} + +type DescribeFleetMetadataInput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeFleetMetadataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFleetMetadataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFleetMetadataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFleetMetadataInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetArn sets the FleetArn field's value. +func (s *DescribeFleetMetadataInput) SetFleetArn(v string) *DescribeFleetMetadataInput { + s.FleetArn = &v + return s +} + +type DescribeFleetMetadataOutput struct { + _ struct{} `type:"structure"` + + // The identifier used by users to sign in to the Amazon WorkLink app. + CompanyCode *string `min:"1" type:"string"` + + // The time that the fleet was created. + CreatedTime *time.Time `type:"timestamp"` + + // The name to display. + DisplayName *string `type:"string"` + + // The name of the fleet. + FleetName *string `min:"1" type:"string"` + + // The current state of the fleet. + FleetStatus *string `type:"string" enum:"FleetStatus"` + + // The time that the fleet was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // The option to optimize for better performance by routing traffic through + // the closest AWS Region to users, which may be outside of your home Region. + OptimizeForEndUserLocation *bool `type:"boolean"` +} + +// String returns the string representation +func (s DescribeFleetMetadataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFleetMetadataOutput) GoString() string { + return s.String() +} + +// SetCompanyCode sets the CompanyCode field's value. +func (s *DescribeFleetMetadataOutput) SetCompanyCode(v string) *DescribeFleetMetadataOutput { + s.CompanyCode = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *DescribeFleetMetadataOutput) SetCreatedTime(v time.Time) *DescribeFleetMetadataOutput { + s.CreatedTime = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *DescribeFleetMetadataOutput) SetDisplayName(v string) *DescribeFleetMetadataOutput { + s.DisplayName = &v + return s +} + +// SetFleetName sets the FleetName field's value. +func (s *DescribeFleetMetadataOutput) SetFleetName(v string) *DescribeFleetMetadataOutput { + s.FleetName = &v + return s +} + +// SetFleetStatus sets the FleetStatus field's value. +func (s *DescribeFleetMetadataOutput) SetFleetStatus(v string) *DescribeFleetMetadataOutput { + s.FleetStatus = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DescribeFleetMetadataOutput) SetLastUpdatedTime(v time.Time) *DescribeFleetMetadataOutput { + s.LastUpdatedTime = &v + return s +} + +// SetOptimizeForEndUserLocation sets the OptimizeForEndUserLocation field's value. +func (s *DescribeFleetMetadataOutput) SetOptimizeForEndUserLocation(v bool) *DescribeFleetMetadataOutput { + s.OptimizeForEndUserLocation = &v + return s +} + +type DescribeIdentityProviderConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeIdentityProviderConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeIdentityProviderConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIdentityProviderConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityProviderConfigurationInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetArn sets the FleetArn field's value. +func (s *DescribeIdentityProviderConfigurationInput) SetFleetArn(v string) *DescribeIdentityProviderConfigurationInput { + s.FleetArn = &v + return s +} + +type DescribeIdentityProviderConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The SAML metadata document provided by the user’s identity provider. + IdentityProviderSamlMetadata *string `min:"1" type:"string"` + + // The type of identity provider. + IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` + + // The SAML metadata document uploaded to the user’s identity provider. + ServiceProviderSamlMetadata *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeIdentityProviderConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeIdentityProviderConfigurationOutput) GoString() string { + return s.String() +} + +// SetIdentityProviderSamlMetadata sets the IdentityProviderSamlMetadata field's value. +func (s *DescribeIdentityProviderConfigurationOutput) SetIdentityProviderSamlMetadata(v string) *DescribeIdentityProviderConfigurationOutput { + s.IdentityProviderSamlMetadata = &v + return s +} + +// SetIdentityProviderType sets the IdentityProviderType field's value. +func (s *DescribeIdentityProviderConfigurationOutput) SetIdentityProviderType(v string) *DescribeIdentityProviderConfigurationOutput { + s.IdentityProviderType = &v + return s +} + +// SetServiceProviderSamlMetadata sets the ServiceProviderSamlMetadata field's value. +func (s *DescribeIdentityProviderConfigurationOutput) SetServiceProviderSamlMetadata(v string) *DescribeIdentityProviderConfigurationOutput { + s.ServiceProviderSamlMetadata = &v + return s +} + +type DescribeWebsiteCertificateAuthorityInput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` + + // A unique identifier for the certificate authority. + // + // WebsiteCaId is a required field + WebsiteCaId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeWebsiteCertificateAuthorityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeWebsiteCertificateAuthorityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeWebsiteCertificateAuthorityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeWebsiteCertificateAuthorityInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + if s.WebsiteCaId == nil { + invalidParams.Add(request.NewErrParamRequired("WebsiteCaId")) + } + if s.WebsiteCaId != nil && len(*s.WebsiteCaId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WebsiteCaId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetArn sets the FleetArn field's value. +func (s *DescribeWebsiteCertificateAuthorityInput) SetFleetArn(v string) *DescribeWebsiteCertificateAuthorityInput { + s.FleetArn = &v + return s +} + +// SetWebsiteCaId sets the WebsiteCaId field's value. +func (s *DescribeWebsiteCertificateAuthorityInput) SetWebsiteCaId(v string) *DescribeWebsiteCertificateAuthorityInput { + s.WebsiteCaId = &v + return s +} + +type DescribeWebsiteCertificateAuthorityOutput struct { + _ struct{} `type:"structure"` + + // The root certificate of the certificate authority. + Certificate *string `min:"1" type:"string"` + + // The time that the certificate authority was added. + CreatedTime *time.Time `type:"timestamp"` + + // The certificate name to display. + DisplayName *string `type:"string"` +} + +// String returns the string representation +func (s DescribeWebsiteCertificateAuthorityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeWebsiteCertificateAuthorityOutput) GoString() string { + return s.String() +} + +// SetCertificate sets the Certificate field's value. +func (s *DescribeWebsiteCertificateAuthorityOutput) SetCertificate(v string) *DescribeWebsiteCertificateAuthorityOutput { + s.Certificate = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *DescribeWebsiteCertificateAuthorityOutput) SetCreatedTime(v time.Time) *DescribeWebsiteCertificateAuthorityOutput { + s.CreatedTime = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *DescribeWebsiteCertificateAuthorityOutput) SetDisplayName(v string) *DescribeWebsiteCertificateAuthorityOutput { + s.DisplayName = &v + return s +} + +// The summary of devices. +type DeviceSummary struct { + _ struct{} `type:"structure"` + + // The ID of the device. + DeviceId *string `min:"1" type:"string"` + + // The status of the device. + DeviceStatus *string `type:"string" enum:"DeviceStatus"` +} + +// String returns the string representation +func (s DeviceSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeviceSummary) GoString() string { + return s.String() +} + +// SetDeviceId sets the DeviceId field's value. +func (s *DeviceSummary) SetDeviceId(v string) *DeviceSummary { + s.DeviceId = &v + return s +} + +// SetDeviceStatus sets the DeviceStatus field's value. +func (s *DeviceSummary) SetDeviceStatus(v string) *DeviceSummary { + s.DeviceStatus = &v + return s +} + +type DisassociateWebsiteCertificateAuthorityInput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` + + // A unique identifier for the CA. + // + // WebsiteCaId is a required field + WebsiteCaId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateWebsiteCertificateAuthorityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateWebsiteCertificateAuthorityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateWebsiteCertificateAuthorityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateWebsiteCertificateAuthorityInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + if s.WebsiteCaId == nil { + invalidParams.Add(request.NewErrParamRequired("WebsiteCaId")) + } + if s.WebsiteCaId != nil && len(*s.WebsiteCaId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WebsiteCaId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetArn sets the FleetArn field's value. +func (s *DisassociateWebsiteCertificateAuthorityInput) SetFleetArn(v string) *DisassociateWebsiteCertificateAuthorityInput { + s.FleetArn = &v + return s +} + +// SetWebsiteCaId sets the WebsiteCaId field's value. +func (s *DisassociateWebsiteCertificateAuthorityInput) SetWebsiteCaId(v string) *DisassociateWebsiteCertificateAuthorityInput { + s.WebsiteCaId = &v + return s +} + +type DisassociateWebsiteCertificateAuthorityOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateWebsiteCertificateAuthorityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateWebsiteCertificateAuthorityOutput) GoString() string { + return s.String() +} + +// The summary of the fleet. +type FleetSummary struct { + _ struct{} `type:"structure"` + + // The identifier used by users to sign into the Amazon WorkLink app. + CompanyCode *string `min:"1" type:"string"` + + // The time when the fleet was created. + CreatedTime *time.Time `type:"timestamp"` + + // The name to display. + DisplayName *string `type:"string"` + + // The ARN of the fleet. + FleetArn *string `min:"20" type:"string"` + + // The name of the fleet. + FleetName *string `min:"1" type:"string"` + + // The status of the fleet. + FleetStatus *string `type:"string" enum:"FleetStatus"` + + // The time when the fleet was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s FleetSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FleetSummary) GoString() string { + return s.String() +} + +// SetCompanyCode sets the CompanyCode field's value. +func (s *FleetSummary) SetCompanyCode(v string) *FleetSummary { + s.CompanyCode = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *FleetSummary) SetCreatedTime(v time.Time) *FleetSummary { + s.CreatedTime = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *FleetSummary) SetDisplayName(v string) *FleetSummary { + s.DisplayName = &v + return s +} + +// SetFleetArn sets the FleetArn field's value. +func (s *FleetSummary) SetFleetArn(v string) *FleetSummary { + s.FleetArn = &v + return s +} + +// SetFleetName sets the FleetName field's value. +func (s *FleetSummary) SetFleetName(v string) *FleetSummary { + s.FleetName = &v + return s +} + +// SetFleetStatus sets the FleetStatus field's value. +func (s *FleetSummary) SetFleetStatus(v string) *FleetSummary { + s.FleetStatus = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *FleetSummary) SetLastUpdatedTime(v time.Time) *FleetSummary { + s.LastUpdatedTime = &v + return s +} + +type ListDevicesInput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` + + // The maximum number of results to be included in the next page. + MaxResults *int64 `min:"1" type:"integer"` + + // The pagination token used to retrieve the next page of results for this operation. + // If this value is null, it retrieves the first page. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDevicesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDevicesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDevicesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDevicesInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetArn sets the FleetArn field's value. +func (s *ListDevicesInput) SetFleetArn(v string) *ListDevicesInput { + s.FleetArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDevicesInput) SetMaxResults(v int64) *ListDevicesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDevicesInput) SetNextToken(v string) *ListDevicesInput { + s.NextToken = &v + return s +} + +type ListDevicesOutput struct { + _ struct{} `type:"structure"` + + // Information about the devices. + Devices []*DeviceSummary `type:"list"` + + // The pagination token used to retrieve the next page of results for this operation. + // If there are no more pages, this value is null. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDevicesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDevicesOutput) GoString() string { + return s.String() +} + +// SetDevices sets the Devices field's value. +func (s *ListDevicesOutput) SetDevices(v []*DeviceSummary) *ListDevicesOutput { + s.Devices = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDevicesOutput) SetNextToken(v string) *ListDevicesOutput { + s.NextToken = &v + return s +} + +type ListFleetsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to be included in the next page. + MaxResults *int64 `min:"1" type:"integer"` + + // The pagination token used to retrieve the next page of results for this operation. + // If this value is null, it retrieves the first page. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListFleetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFleetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFleetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFleetsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListFleetsInput) SetMaxResults(v int64) *ListFleetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFleetsInput) SetNextToken(v string) *ListFleetsInput { + s.NextToken = &v + return s +} + +type ListFleetsOutput struct { + _ struct{} `type:"structure"` + + // The summary list of the fleets. + FleetSummaryList []*FleetSummary `type:"list"` + + // The pagination token used to retrieve the next page of results for this operation. + // If there are no more pages, this value is null. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListFleetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFleetsOutput) GoString() string { + return s.String() +} + +// SetFleetSummaryList sets the FleetSummaryList field's value. +func (s *ListFleetsOutput) SetFleetSummaryList(v []*FleetSummary) *ListFleetsOutput { + s.FleetSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput { + s.NextToken = &v + return s +} + +type ListWebsiteCertificateAuthoritiesInput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` + + // The maximum number of results to be included in the next page. + MaxResults *int64 `min:"1" type:"integer"` + + // The pagination token used to retrieve the next page of results for this operation. + // If this value is null, it retrieves the first page. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListWebsiteCertificateAuthoritiesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWebsiteCertificateAuthoritiesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListWebsiteCertificateAuthoritiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWebsiteCertificateAuthoritiesInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetArn sets the FleetArn field's value. +func (s *ListWebsiteCertificateAuthoritiesInput) SetFleetArn(v string) *ListWebsiteCertificateAuthoritiesInput { + s.FleetArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListWebsiteCertificateAuthoritiesInput) SetMaxResults(v int64) *ListWebsiteCertificateAuthoritiesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWebsiteCertificateAuthoritiesInput) SetNextToken(v string) *ListWebsiteCertificateAuthoritiesInput { + s.NextToken = &v + return s +} + +type ListWebsiteCertificateAuthoritiesOutput struct { + _ struct{} `type:"structure"` + + // The pagination token used to retrieve the next page of results for this operation. + // If there are no more pages, this value is null. + NextToken *string `min:"1" type:"string"` + + // Information about the certificates. + WebsiteCertificateAuthorities []*WebsiteCaSummary `type:"list"` +} + +// String returns the string representation +func (s ListWebsiteCertificateAuthoritiesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWebsiteCertificateAuthoritiesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWebsiteCertificateAuthoritiesOutput) SetNextToken(v string) *ListWebsiteCertificateAuthoritiesOutput { + s.NextToken = &v + return s +} + +// SetWebsiteCertificateAuthorities sets the WebsiteCertificateAuthorities field's value. +func (s *ListWebsiteCertificateAuthoritiesOutput) SetWebsiteCertificateAuthorities(v []*WebsiteCaSummary) *ListWebsiteCertificateAuthoritiesOutput { + s.WebsiteCertificateAuthorities = v + return s +} + +type SignOutUserInput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` + + // The name of the user. + // + // Username is a required field + Username *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s SignOutUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SignOutUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SignOutUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SignOutUserInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + if s.Username == nil { + invalidParams.Add(request.NewErrParamRequired("Username")) + } + if s.Username != nil && len(*s.Username) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Username", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetArn sets the FleetArn field's value. +func (s *SignOutUserInput) SetFleetArn(v string) *SignOutUserInput { + s.FleetArn = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *SignOutUserInput) SetUsername(v string) *SignOutUserInput { + s.Username = &v + return s +} + +type SignOutUserOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SignOutUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SignOutUserOutput) GoString() string { + return s.String() +} + +type UpdateAuditStreamConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the Amazon Kinesis data stream that receives the audit events. + AuditStreamArn *string `type:"string"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateAuditStreamConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAuditStreamConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAuditStreamConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAuditStreamConfigurationInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuditStreamArn sets the AuditStreamArn field's value. +func (s *UpdateAuditStreamConfigurationInput) SetAuditStreamArn(v string) *UpdateAuditStreamConfigurationInput { + s.AuditStreamArn = &v + return s +} + +// SetFleetArn sets the FleetArn field's value. +func (s *UpdateAuditStreamConfigurationInput) SetFleetArn(v string) *UpdateAuditStreamConfigurationInput { + s.FleetArn = &v + return s +} + +type UpdateAuditStreamConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateAuditStreamConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAuditStreamConfigurationOutput) GoString() string { + return s.String() +} + +type UpdateCompanyNetworkConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` + + // The security groups associated with access to the provided subnets. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `type:"list" required:"true"` + + // The subnets used for X-ENI connections from Amazon WorkLink rendering containers. + // + // SubnetIds is a required field + SubnetIds []*string `type:"list" required:"true"` + + // The VPC with connectivity to associated websites. + // + // VpcId is a required field + VpcId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateCompanyNetworkConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCompanyNetworkConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCompanyNetworkConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCompanyNetworkConfigurationInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + if s.SecurityGroupIds == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetArn sets the FleetArn field's value. +func (s *UpdateCompanyNetworkConfigurationInput) SetFleetArn(v string) *UpdateCompanyNetworkConfigurationInput { + s.FleetArn = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *UpdateCompanyNetworkConfigurationInput) SetSecurityGroupIds(v []*string) *UpdateCompanyNetworkConfigurationInput { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *UpdateCompanyNetworkConfigurationInput) SetSubnetIds(v []*string) *UpdateCompanyNetworkConfigurationInput { + s.SubnetIds = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *UpdateCompanyNetworkConfigurationInput) SetVpcId(v string) *UpdateCompanyNetworkConfigurationInput { + s.VpcId = &v + return s +} + +type UpdateCompanyNetworkConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateCompanyNetworkConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCompanyNetworkConfigurationOutput) GoString() string { + return s.String() +} + +type UpdateDevicePolicyConfigurationInput struct { + _ struct{} `type:"structure"` + + // The certificate chain, including intermediate certificates and the root certificate + // authority certificate used to issue device certificates. + DeviceCaCertificate *string `min:"1" type:"string"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateDevicePolicyConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDevicePolicyConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDevicePolicyConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDevicePolicyConfigurationInput"} + if s.DeviceCaCertificate != nil && len(*s.DeviceCaCertificate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeviceCaCertificate", 1)) + } + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeviceCaCertificate sets the DeviceCaCertificate field's value. +func (s *UpdateDevicePolicyConfigurationInput) SetDeviceCaCertificate(v string) *UpdateDevicePolicyConfigurationInput { + s.DeviceCaCertificate = &v + return s +} + +// SetFleetArn sets the FleetArn field's value. +func (s *UpdateDevicePolicyConfigurationInput) SetFleetArn(v string) *UpdateDevicePolicyConfigurationInput { + s.FleetArn = &v + return s +} + +type UpdateDevicePolicyConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateDevicePolicyConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDevicePolicyConfigurationOutput) GoString() string { + return s.String() +} + +type UpdateFleetMetadataInput struct { + _ struct{} `type:"structure"` + + // The fleet name to display. The existing DisplayName is unset if null is passed. + DisplayName *string `type:"string"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` + + // The option to optimize for better performance by routing traffic through + // the closest AWS Region to users, which may be outside of your home Region. + OptimizeForEndUserLocation *bool `type:"boolean"` +} + +// String returns the string representation +func (s UpdateFleetMetadataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFleetMetadataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFleetMetadataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFleetMetadataInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDisplayName sets the DisplayName field's value. +func (s *UpdateFleetMetadataInput) SetDisplayName(v string) *UpdateFleetMetadataInput { + s.DisplayName = &v + return s +} + +// SetFleetArn sets the FleetArn field's value. +func (s *UpdateFleetMetadataInput) SetFleetArn(v string) *UpdateFleetMetadataInput { + s.FleetArn = &v + return s +} + +// SetOptimizeForEndUserLocation sets the OptimizeForEndUserLocation field's value. +func (s *UpdateFleetMetadataInput) SetOptimizeForEndUserLocation(v bool) *UpdateFleetMetadataInput { + s.OptimizeForEndUserLocation = &v + return s +} + +type UpdateFleetMetadataOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateFleetMetadataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFleetMetadataOutput) GoString() string { + return s.String() +} + +type UpdateIdentityProviderConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the fleet. + // + // FleetArn is a required field + FleetArn *string `min:"20" type:"string" required:"true"` + + // The SAML metadata document provided by the customer’s identity provider. + // The existing IdentityProviderSamlMetadata is unset if null is passed. + IdentityProviderSamlMetadata *string `min:"1" type:"string"` + + // The type of identity provider. + // + // IdentityProviderType is a required field + IdentityProviderType *string `type:"string" required:"true" enum:"IdentityProviderType"` +} + +// String returns the string representation +func (s UpdateIdentityProviderConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateIdentityProviderConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateIdentityProviderConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateIdentityProviderConfigurationInput"} + if s.FleetArn == nil { + invalidParams.Add(request.NewErrParamRequired("FleetArn")) + } + if s.FleetArn != nil && len(*s.FleetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20)) + } + if s.IdentityProviderSamlMetadata != nil && len(*s.IdentityProviderSamlMetadata) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdentityProviderSamlMetadata", 1)) + } + if s.IdentityProviderType == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityProviderType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetArn sets the FleetArn field's value. +func (s *UpdateIdentityProviderConfigurationInput) SetFleetArn(v string) *UpdateIdentityProviderConfigurationInput { + s.FleetArn = &v + return s +} + +// SetIdentityProviderSamlMetadata sets the IdentityProviderSamlMetadata field's value. +func (s *UpdateIdentityProviderConfigurationInput) SetIdentityProviderSamlMetadata(v string) *UpdateIdentityProviderConfigurationInput { + s.IdentityProviderSamlMetadata = &v + return s +} + +// SetIdentityProviderType sets the IdentityProviderType field's value. +func (s *UpdateIdentityProviderConfigurationInput) SetIdentityProviderType(v string) *UpdateIdentityProviderConfigurationInput { + s.IdentityProviderType = &v + return s +} + +type UpdateIdentityProviderConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateIdentityProviderConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateIdentityProviderConfigurationOutput) GoString() string { + return s.String() +} + +// The summary of the certificate authority (CA). +type WebsiteCaSummary struct { + _ struct{} `type:"structure"` + + // The time when the CA was added. + CreatedTime *time.Time `type:"timestamp"` + + // The name to display. + DisplayName *string `type:"string"` + + // A unique identifier for the CA. + WebsiteCaId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s WebsiteCaSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WebsiteCaSummary) GoString() string { + return s.String() +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *WebsiteCaSummary) SetCreatedTime(v time.Time) *WebsiteCaSummary { + s.CreatedTime = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *WebsiteCaSummary) SetDisplayName(v string) *WebsiteCaSummary { + s.DisplayName = &v + return s +} + +// SetWebsiteCaId sets the WebsiteCaId field's value. +func (s *WebsiteCaSummary) SetWebsiteCaId(v string) *WebsiteCaSummary { + s.WebsiteCaId = &v + return s +} + +const ( + // DeviceStatusActive is a DeviceStatus enum value + DeviceStatusActive = "ACTIVE" + + // DeviceStatusSignedOut is a DeviceStatus enum value + DeviceStatusSignedOut = "SIGNED_OUT" +) + +const ( + // FleetStatusCreating is a FleetStatus enum value + FleetStatusCreating = "CREATING" + + // FleetStatusActive is a FleetStatus enum value + FleetStatusActive = "ACTIVE" + + // FleetStatusDeleting is a FleetStatus enum value + FleetStatusDeleting = "DELETING" + + // FleetStatusDeleted is a FleetStatus enum value + FleetStatusDeleted = "DELETED" + + // FleetStatusFailedToCreate is a FleetStatus enum value + FleetStatusFailedToCreate = "FAILED_TO_CREATE" + + // FleetStatusFailedToDelete is a FleetStatus enum value + FleetStatusFailedToDelete = "FAILED_TO_DELETE" +) + +const ( + // IdentityProviderTypeSaml is a IdentityProviderType enum value + IdentityProviderTypeSaml = "SAML" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/worklink/doc.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/worklink/doc.go new file mode 100644 index 00000000000..691b270395a --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/worklink/doc.go @@ -0,0 +1,35 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package worklink provides the client and types for making API +// requests to Amazon WorkLink. +// +// Amazon WorkLink is a cloud-based service that provides secure access to internal +// websites and web apps from iOS phones. In a single step, your users, such +// as employees, can access internal websites as efficiently as they access +// any other public website. They enter a URL in their web browser, or choose +// a link to an internal website in an email. Amazon WorkLink authenticates +// the user's access and securely renders authorized internal web content in +// a secure rendering service in the AWS cloud. Amazon WorkLink doesn't download +// or store any internal web content on mobile devices. +// +// See https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25 for more information on this service. +// +// See worklink package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/worklink/ +// +// Using the Client +// +// To contact Amazon WorkLink 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 WorkLink client WorkLink for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/worklink/#New +package worklink diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/worklink/errors.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/worklink/errors.go new file mode 100644 index 00000000000..2d13a2eba27 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/worklink/errors.go @@ -0,0 +1,42 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package worklink + +const ( + + // ErrCodeInternalServerErrorException for service response error code + // "InternalServerErrorException". + // + // The service is temporarily unavailable. + ErrCodeInternalServerErrorException = "InternalServerErrorException" + + // ErrCodeInvalidRequestException for service response error code + // "InvalidRequestException". + // + // The request is not valid. + ErrCodeInvalidRequestException = "InvalidRequestException" + + // ErrCodeResourceAlreadyExistsException for service response error code + // "ResourceAlreadyExistsException". + // + // The resource already exists. + ErrCodeResourceAlreadyExistsException = "ResourceAlreadyExistsException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The requested resource was not found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + // + // The number of requests exceeds the limit. + ErrCodeTooManyRequestsException = "TooManyRequestsException" + + // ErrCodeUnauthorizedException for service response error code + // "UnauthorizedException". + // + // You are not authorized to perform this action. + ErrCodeUnauthorizedException = "UnauthorizedException" +) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/worklink/service.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/worklink/service.go new file mode 100644 index 00000000000..dd9b8be2652 --- /dev/null +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/worklink/service.go @@ -0,0 +1,99 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package worklink + +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/restjson" +) + +// WorkLink provides the API operation methods for making requests to +// Amazon WorkLink. See this package's package overview docs +// for details on the service. +// +// WorkLink methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type WorkLink 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 = "WorkLink" // Name of service. + EndpointsID = "worklink" // ID to lookup a service endpoint with. + ServiceID = "WorkLink" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the WorkLink 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 WorkLink client from just a session. +// svc := worklink.New(mySession) +// +// // Create a WorkLink client with additional configuration +// svc := worklink.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *WorkLink { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "worklink" + } + 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) *WorkLink { + svc := &WorkLink{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-09-25", + JSONVersion: "1.1", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a WorkLink operation and runs any +// custom request initialization. +func (c *WorkLink) 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/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go index 0892e7c78c9..6556e75c833 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go @@ -5067,7 +5067,9 @@ type ModifyClientPropertiesInput struct { _ struct{} `type:"structure"` // Information about the Amazon WorkSpaces client. - ClientProperties *ClientProperties `type:"structure"` + // + // ClientProperties is a required field + ClientProperties *ClientProperties `type:"structure" required:"true"` // The resource identifiers, in the form of directory IDs. // @@ -5088,6 +5090,9 @@ func (s ModifyClientPropertiesInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ModifyClientPropertiesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ModifyClientPropertiesInput"} + if s.ClientProperties == nil { + invalidParams.Add(request.NewErrParamRequired("ClientProperties")) + } if s.ResourceId == nil { invalidParams.Add(request.NewErrParamRequired("ResourceId")) } diff --git a/pkg/terraform/exec/plugins/vendor/github.com/beevik/etree/CONTRIBUTORS b/pkg/terraform/exec/plugins/vendor/github.com/beevik/etree/CONTRIBUTORS index 45a53954118..03211a85eb6 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/beevik/etree/CONTRIBUTORS +++ b/pkg/terraform/exec/plugins/vendor/github.com/beevik/etree/CONTRIBUTORS @@ -6,4 +6,5 @@ Matt Smith (ma314smith) Michal Jemala (michaljemala) Nicolas Piganeau (npiganeau) Chris Brown (ccbrown) -Earncef Sequeira (earncef) \ No newline at end of file +Earncef Sequeira (earncef) +Gabriel de Labachelerie (wuzuf) diff --git a/pkg/terraform/exec/plugins/vendor/github.com/beevik/etree/LICENSE b/pkg/terraform/exec/plugins/vendor/github.com/beevik/etree/LICENSE index e14ad682a0d..26f1f7751b6 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/beevik/etree/LICENSE +++ b/pkg/terraform/exec/plugins/vendor/github.com/beevik/etree/LICENSE @@ -1,4 +1,4 @@ -Copyright 2015 Brett Vickers. All rights reserved. +Copyright 2015-2019 Brett Vickers. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions diff --git a/pkg/terraform/exec/plugins/vendor/github.com/beevik/etree/etree.go b/pkg/terraform/exec/plugins/vendor/github.com/beevik/etree/etree.go index 461a7aa8a86..9e24f901267 100644 --- a/pkg/terraform/exec/plugins/vendor/github.com/beevik/etree/etree.go +++ b/pkg/terraform/exec/plugins/vendor/github.com/beevik/etree/etree.go @@ -1,4 +1,4 @@ -// Copyright 2015 Brett Vickers. +// Copyright 2015-2019 Brett Vickers. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. @@ -13,6 +13,7 @@ import ( "errors" "io" "os" + "sort" "strings" ) @@ -33,11 +34,19 @@ type ReadSettings struct { // Permissive allows input containing common mistakes such as missing tags // or attribute values. Default: false. Permissive bool + + // Entity to be passed to standard xml.Decoder. Default: nil. + Entity map[string]string } // newReadSettings creates a default ReadSettings record. func newReadSettings() ReadSettings { - return ReadSettings{} + return ReadSettings{ + CharsetReader: func(label string, input io.Reader) (io.Reader, error) { + return input, nil + }, + Permissive: false, + } } // WriteSettings allow for changing the serialization behavior of the WriteTo* @@ -56,6 +65,11 @@ type WriteSettings struct { // attribute value characters &, < and ". If false, XML character // references are also produced for > and '. Default: false. CanonicalAttrVal bool + + // When outputting indented XML, use a carriage return and linefeed + // ("\r\n") as a new-line delimiter instead of just a linefeed ("\n"). + // This is useful on Windows-based systems. + UseCRLF bool } // newWriteSettings creates a default WriteSettings record. @@ -64,6 +78,7 @@ func newWriteSettings() WriteSettings { CanonicalEndTags: false, CanonicalText: false, CanonicalAttrVal: false, + UseCRLF: false, } } @@ -71,8 +86,10 @@ func newWriteSettings() WriteSettings { // Comment, Directive, or ProcInst. type Token interface { Parent() *Element + Index() int dup(parent *Element) Token setParent(parent *Element) + setIndex(index int) writeTo(w *bufio.Writer, s *WriteSettings) } @@ -88,35 +105,52 @@ type Document struct { // An Element represents an XML element, its attributes, and its child tokens. type Element struct { - Space, Tag string // namespace and tag + Space, Tag string // namespace prefix and tag Attr []Attr // key-value attribute pairs Child []Token // child tokens (elements, comments, etc.) parent *Element // parent element + index int // token index in parent's children } // An Attr represents a key-value attribute of an XML element. type Attr struct { - Space, Key string // The attribute's namespace and key - Value string // The attribute value string + Space, Key string // The attribute's namespace prefix and key + Value string // The attribute value string + element *Element // element containing the attribute } -// CharData represents character data within XML. +// charDataFlags are used with CharData tokens to store additional settings. +type charDataFlags uint8 + +const ( + // The CharData was created by an indent function as whitespace. + whitespaceFlag charDataFlags = 1 << iota + + // The CharData contains a CDATA section. + cdataFlag +) + +// CharData can be used to represent character data or a CDATA section within +// an XML document. type CharData struct { - Data string - parent *Element - whitespace bool + Data string + parent *Element + index int + flags charDataFlags } // A Comment represents an XML comment. type Comment struct { Data string parent *Element + index int } // A Directive represents an XML directive. type Directive struct { Data string parent *Element + index int } // A ProcInst represents an XML processing instruction. @@ -124,6 +158,7 @@ type ProcInst struct { Target string Inst string parent *Element + index int } // NewDocument creates an XML document without a root element. @@ -160,16 +195,23 @@ func (d *Document) SetRoot(e *Element) { if e.parent != nil { e.parent.RemoveChild(e) } - e.setParent(&d.Element) - for i, t := range d.Child { + p := &d.Element + e.setParent(p) + + // If there is already a root element, replace it. + for i, t := range p.Child { if _, ok := t.(*Element); ok { t.setParent(nil) - d.Child[i] = e + t.setIndex(-1) + p.Child[i] = e + e.setIndex(i) return } } - d.Child = append(d.Child, e) + + // No existing root element, so add it. + p.addChild(e) } // ReadFrom reads XML from the reader r into the document d. It returns the @@ -246,8 +288,8 @@ func (d *Document) WriteToString() (s string, err error) { type indentFunc func(depth int) string -// Indent modifies the document's element tree by inserting CharData entities -// containing carriage returns and indentation. The amount of indentation per +// Indent modifies the document's element tree by inserting character data +// tokens containing newlines and indentation. The amount of indentation per // depth level is given as spaces. Pass etree.NoIndent for spaces if you want // no indentation at all. func (d *Document) Indent(spaces int) { @@ -255,22 +297,30 @@ func (d *Document) Indent(spaces int) { switch { case spaces < 0: indent = func(depth int) string { return "" } + case d.WriteSettings.UseCRLF == true: + indent = func(depth int) string { return indentCRLF(depth*spaces, indentSpaces) } default: - indent = func(depth int) string { return crIndent(depth*spaces, crsp) } + indent = func(depth int) string { return indentLF(depth*spaces, indentSpaces) } } d.Element.indent(0, indent) } // IndentTabs modifies the document's element tree by inserting CharData -// entities containing carriage returns and tabs for indentation. One tab is -// used per indentation level. +// tokens containing newlines and tabs for indentation. One tab is used per +// indentation level. func (d *Document) IndentTabs() { - indent := func(depth int) string { return crIndent(depth, crtab) } + var indent indentFunc + switch d.WriteSettings.UseCRLF { + case true: + indent = func(depth int) string { return indentCRLF(depth, indentTabs) } + default: + indent = func(depth int) string { return indentLF(depth, indentTabs) } + } d.Element.indent(0, indent) } // NewElement creates an unparented element with the specified tag. The tag -// may be prefixed by a namespace and a colon. +// may be prefixed by a namespace prefix and a colon. func NewElement(tag string) *Element { space, stag := spaceDecompose(tag) return newElement(space, stag, nil) @@ -285,6 +335,7 @@ func newElement(space, tag string, parent *Element) *Element { Attr: make([]Attr, 0), Child: make([]Token, 0), parent: parent, + index: -1, } if parent != nil { parent.addChild(e) @@ -296,38 +347,210 @@ func newElement(space, tag string, parent *Element) *Element { // and children. The returned element has no parent but can be parented to a // another element using AddElement, or to a document using SetRoot. func (e *Element) Copy() *Element { - var parent *Element - return e.dup(parent).(*Element) + return e.dup(nil).(*Element) +} + +// FullTag returns the element e's complete tag, including namespace prefix if +// present. +func (e *Element) FullTag() string { + if e.Space == "" { + return e.Tag + } + return e.Space + ":" + e.Tag +} + +// NamespaceURI returns the XML namespace URI associated with the element. If +// the element is part of the XML default namespace, NamespaceURI returns the +// empty string. +func (e *Element) NamespaceURI() string { + if e.Space == "" { + return e.findDefaultNamespaceURI() + } + return e.findLocalNamespaceURI(e.Space) +} + +// findLocalNamespaceURI finds the namespace URI corresponding to the +// requested prefix. +func (e *Element) findLocalNamespaceURI(prefix string) string { + for _, a := range e.Attr { + if a.Space == "xmlns" && a.Key == prefix { + return a.Value + } + } + + if e.parent == nil { + return "" + } + + return e.parent.findLocalNamespaceURI(prefix) +} + +// findDefaultNamespaceURI finds the default namespace URI of the element. +func (e *Element) findDefaultNamespaceURI() string { + for _, a := range e.Attr { + if a.Space == "" && a.Key == "xmlns" { + return a.Value + } + } + + if e.parent == nil { + return "" + } + + return e.parent.findDefaultNamespaceURI() +} + +// hasText returns true if the element has character data immediately +// folllowing the element's opening tag. +func (e *Element) hasText() bool { + if len(e.Child) == 0 { + return false + } + _, ok := e.Child[0].(*CharData) + return ok +} + +// namespacePrefix returns the namespace prefix associated with the element. +func (e *Element) namespacePrefix() string { + return e.Space } -// Text returns the characters immediately following the element's -// opening tag. +// name returns the tag associated with the element. +func (e *Element) name() string { + return e.Tag +} + +// Text returns all character data immediately following the element's opening +// tag. func (e *Element) Text() string { if len(e.Child) == 0 { return "" } - if cd, ok := e.Child[0].(*CharData); ok { - return cd.Data + + text := "" + for _, ch := range e.Child { + if cd, ok := ch.(*CharData); ok { + if text == "" { + text = cd.Data + } else { + text = text + cd.Data + } + } else { + break + } } - return "" + return text } -// SetText replaces an element's subsidiary CharData text with a new string. +// SetText replaces all character data immediately following an element's +// opening tag with the requested string. func (e *Element) SetText(text string) { - if len(e.Child) > 0 { - if cd, ok := e.Child[0].(*CharData); ok { - cd.Data = text - return + e.replaceText(0, text, 0) +} + +// SetCData replaces all character data immediately following an element's +// opening tag with a CDATA section. +func (e *Element) SetCData(text string) { + e.replaceText(0, text, cdataFlag) +} + +// Tail returns all character data immediately following the element's end +// tag. +func (e *Element) Tail() string { + if e.Parent() == nil { + return "" + } + + p := e.Parent() + i := e.Index() + + text := "" + for _, ch := range p.Child[i+1:] { + if cd, ok := ch.(*CharData); ok { + if text == "" { + text = cd.Data + } else { + text = text + cd.Data + } + } else { + break + } + } + return text +} + +// SetTail replaces all character data immediately following the element's end +// tag with the requested string. +func (e *Element) SetTail(text string) { + if e.Parent() == nil { + return + } + + p := e.Parent() + p.replaceText(e.Index()+1, text, 0) +} + +// replaceText is a helper function that replaces a series of chardata tokens +// starting at index i with the requested text. +func (e *Element) replaceText(i int, text string, flags charDataFlags) { + end := e.findTermCharDataIndex(i) + + switch { + case end == i: + if text != "" { + // insert a new chardata token at index i + cd := newCharData(text, flags, nil) + e.InsertChildAt(i, cd) + } + + case end == i+1: + if text == "" { + // remove the chardata token at index i + e.RemoveChildAt(i) + } else { + // replace the first and only character token at index i + cd := e.Child[i].(*CharData) + cd.Data, cd.flags = text, flags + } + + default: + if text == "" { + // remove all chardata tokens starting from index i + copy(e.Child[i:], e.Child[end:]) + removed := end - i + e.Child = e.Child[:len(e.Child)-removed] + for j := i; j < len(e.Child); j++ { + e.Child[j].setIndex(j) + } + } else { + // replace the first chardata token at index i and remove all + // subsequent chardata tokens + cd := e.Child[i].(*CharData) + cd.Data, cd.flags = text, flags + copy(e.Child[i+1:], e.Child[end:]) + removed := end - (i + 1) + e.Child = e.Child[:len(e.Child)-removed] + for j := i + 1; j < len(e.Child); j++ { + e.Child[j].setIndex(j) + } } } - cd := newCharData(text, false, e) - copy(e.Child[1:], e.Child[0:]) - e.Child[0] = cd +} + +// findTermCharDataIndex finds the index of the first child token that isn't +// a CharData token. It starts from the requested start index. +func (e *Element) findTermCharDataIndex(start int) int { + for i := start; i < len(e.Child); i++ { + if _, ok := e.Child[i].(*CharData); !ok { + return i + } + } + return len(e.Child) } // CreateElement creates an element with the specified tag and adds it as the // last child element of the element e. The tag may be prefixed by a namespace -// and a colon. +// prefix and a colon. func (e *Element) CreateElement(tag string) *Element { space, stag := spaceDecompose(tag) return newElement(space, stag, e) @@ -340,43 +563,93 @@ func (e *Element) AddChild(t Token) { if t.Parent() != nil { t.Parent().RemoveChild(t) } + t.setParent(e) e.addChild(t) } // InsertChild inserts the token t before e's existing child token ex. If ex -// is nil (or if ex is not a child of e), then t is added to the end of e's -// child token list. If token t was already the child of another element, it -// is first removed from its current parent element. +// is nil or ex is not a child of e, then t is added to the end of e's child +// token list. If token t was already the child of another element, it is +// first removed from its current parent element. +// +// Deprecated: InsertChild is deprecated. Use InsertChildAt instead. func (e *Element) InsertChild(ex Token, t Token) { + if ex == nil || ex.Parent() != e { + e.AddChild(t) + return + } + if t.Parent() != nil { t.Parent().RemoveChild(t) } + t.setParent(e) - for i, c := range e.Child { - if c == ex { - e.Child = append(e.Child, nil) - copy(e.Child[i+1:], e.Child[i:]) - e.Child[i] = t - return + i := ex.Index() + e.Child = append(e.Child, nil) + copy(e.Child[i+1:], e.Child[i:]) + e.Child[i] = t + + for j := i; j < len(e.Child); j++ { + e.Child[j].setIndex(j) + } +} + +// InsertChildAt inserts the token t into the element e's list of child tokens +// just before the requested index. If the index is greater than or equal to +// the length of the list of child tokens, the token t is added to the end of +// the list. +func (e *Element) InsertChildAt(index int, t Token) { + if index >= len(e.Child) { + e.AddChild(t) + return + } + + if t.Parent() != nil { + if t.Parent() == e && t.Index() > index { + index-- } + t.Parent().RemoveChild(t) + } + + t.setParent(e) + + e.Child = append(e.Child, nil) + copy(e.Child[index+1:], e.Child[index:]) + e.Child[index] = t + + for j := index; j < len(e.Child); j++ { + e.Child[j].setIndex(j) } - e.addChild(t) } // RemoveChild attempts to remove the token t from element e's list of // children. If the token t is a child of e, then it is returned. Otherwise, // nil is returned. func (e *Element) RemoveChild(t Token) Token { - for i, c := range e.Child { - if c == t { - e.Child = append(e.Child[:i], e.Child[i+1:]...) - c.setParent(nil) - return t - } + if t.Parent() != e { + return nil } - return nil + return e.RemoveChildAt(t.Index()) +} + +// RemoveChildAt removes the index-th child token from the element e. The +// removed child token is returned. If the index is out of bounds, no child is +// removed and nil is returned. +func (e *Element) RemoveChildAt(index int) Token { + if index >= len(e.Child) { + return nil + } + + t := e.Child[index] + for j := index + 1; j < len(e.Child); j++ { + e.Child[j].setIndex(j - 1) + } + e.Child = append(e.Child[:index], e.Child[index+1:]...) + t.setIndex(-1) + t.setParent(nil) + return t } // ReadFrom reads XML from the reader r and stores the result as a new child @@ -386,6 +659,7 @@ func (e *Element) readFrom(ri io.Reader, settings ReadSettings) (n int64, err er dec := xml.NewDecoder(r) dec.CharsetReader = settings.CharsetReader dec.Strict = !settings.Permissive + dec.Entity = settings.Entity var stack stack stack.push(e) for { @@ -405,14 +679,18 @@ func (e *Element) readFrom(ri io.Reader, settings ReadSettings) (n int64, err er case xml.StartElement: e := newElement(t.Name.Space, t.Name.Local, top) for _, a := range t.Attr { - e.createAttr(a.Name.Space, a.Name.Local, a.Value) + e.createAttr(a.Name.Space, a.Name.Local, a.Value, e) } stack.push(e) case xml.EndElement: stack.pop() case xml.CharData: data := string(t) - newCharData(data, isWhitespace(data), top) + var flags charDataFlags + if isWhitespace(data) { + flags = whitespaceFlag + } + newCharData(data, flags, top) case xml.Comment: newComment(string(t), top) case xml.Directive: @@ -425,7 +703,7 @@ func (e *Element) readFrom(ri io.Reader, settings ReadSettings) (n int64, err er // SelectAttr finds an element attribute matching the requested key and // returns it if found. Returns nil if no matching attribute is found. The key -// may be prefixed by a namespace and a colon. +// may be prefixed by a namespace prefix and a colon. func (e *Element) SelectAttr(key string) *Attr { space, skey := spaceDecompose(key) for i, a := range e.Attr { @@ -437,8 +715,8 @@ func (e *Element) SelectAttr(key string) *Attr { } // SelectAttrValue finds an element attribute matching the requested key and -// returns its value if found. The key may be prefixed by a namespace and a -// colon. If the key is not found, the dflt value is returned instead. +// returns its value if found. The key may be prefixed by a namespace prefix +// and a colon. If the key is not found, the dflt value is returned instead. func (e *Element) SelectAttrValue(key, dflt string) string { space, skey := spaceDecompose(key) for _, a := range e.Attr { @@ -461,8 +739,8 @@ func (e *Element) ChildElements() []*Element { } // SelectElement returns the first child element with the given tag. The tag -// may be prefixed by a namespace and a colon. Returns nil if no element with -// a matching tag was found. +// may be prefixed by a namespace prefix and a colon. Returns nil if no +// element with a matching tag was found. func (e *Element) SelectElement(tag string) *Element { space, stag := spaceDecompose(tag) for _, t := range e.Child { @@ -474,7 +752,7 @@ func (e *Element) SelectElement(tag string) *Element { } // SelectElements returns a slice of all child elements with the given tag. -// The tag may be prefixed by a namespace and a colon. +// The tag may be prefixed by a namespace prefix and a colon. func (e *Element) SelectElements(tag string) []*Element { space, stag := spaceDecompose(tag) var elements []*Element @@ -619,14 +897,16 @@ func (e *Element) indent(depth int, indent indentFunc) { e.Child = make([]Token, 0, n*2+1) isCharData, firstNonCharData := false, true for _, c := range oldChild { - - // Insert CR+indent before child if it's not character data. + // Insert NL+indent before child if it's not character data. // Exceptions: when it's the first non-character-data child, or when // the child is at root depth. _, isCharData = c.(*CharData) if !isCharData { if !firstNonCharData || depth > 0 { - newCharData(indent(depth), true, e) + s := indent(depth) + if s != "" { + newCharData(s, whitespaceFlag, e) + } } firstNonCharData = false } @@ -639,10 +919,13 @@ func (e *Element) indent(depth int, indent indentFunc) { } } - // Insert CR+indent before the last child. + // Insert NL+indent before the last child. if !isCharData { if !firstNonCharData || depth > 0 { - newCharData(indent(depth-1), true, e) + s := indent(depth - 1) + if s != "" { + newCharData(s, whitespaceFlag, e) + } } } } @@ -652,7 +935,7 @@ func (e *Element) stripIndent() { // Count the number of non-indent child tokens n := len(e.Child) for _, c := range e.Child { - if cd, ok := c.(*CharData); ok && cd.whitespace { + if cd, ok := c.(*CharData); ok && cd.IsWhitespace() { n-- } } @@ -664,10 +947,11 @@ func (e *Element) stripIndent() { newChild := make([]Token, n) j := 0 for _, c := range e.Child { - if cd, ok := c.(*CharData); ok && cd.whitespace { + if cd, ok := c.(*CharData); ok && cd.IsWhitespace() { continue } newChild[j] = c + newChild[j].setIndex(j) j++ } e.Child = newChild @@ -681,6 +965,7 @@ func (e *Element) dup(parent *Element) Token { Attr: make([]Attr, len(e.Attr)), Child: make([]Token, len(e.Child)), parent: parent, + index: e.index, } for i, t := range e.Child { ne.Child[i] = t.dup(ne) @@ -697,19 +982,27 @@ func (e *Element) Parent() *Element { return e.parent } +// Index returns the index of this element within its parent element's +// list of child tokens. If this element has no parent element, the index +// is -1. +func (e *Element) Index() int { + return e.index +} + // setParent replaces the element token's parent. func (e *Element) setParent(parent *Element) { e.parent = parent } +// setIndex sets the element token's index within its parent's Child slice. +func (e *Element) setIndex(index int) { + e.index = index +} + // writeTo serializes the element to the writer w. func (e *Element) writeTo(w *bufio.Writer, s *WriteSettings) { w.WriteByte('<') - if e.Space != "" { - w.WriteString(e.Space) - w.WriteByte(':') - } - w.WriteString(e.Tag) + w.WriteString(e.FullTag()) for _, a := range e.Attr { w.WriteByte(' ') a.writeTo(w, s) @@ -720,20 +1013,12 @@ func (e *Element) writeTo(w *bufio.Writer, s *WriteSettings) { c.writeTo(w, s) } w.Write([]byte{'<', '/'}) - if e.Space != "" { - w.WriteString(e.Space) - w.WriteByte(':') - } - w.WriteString(e.Tag) + w.WriteString(e.FullTag()) w.WriteByte('>') } else { if s.CanonicalEndTags { w.Write([]byte{'>', '<', '/'}) - if e.Space != "" { - w.WriteString(e.Space) - w.WriteByte(':') - } - w.WriteString(e.Tag) + w.WriteString(e.FullTag()) w.WriteByte('>') } else { w.Write([]byte{'/', '>'}) @@ -743,98 +1028,140 @@ func (e *Element) writeTo(w *bufio.Writer, s *WriteSettings) { // addChild adds a child token to the element e. func (e *Element) addChild(t Token) { + t.setIndex(len(e.Child)) e.Child = append(e.Child, t) } // CreateAttr creates an attribute and adds it to element e. The key may be -// prefixed by a namespace and a colon. If an attribute with the key already -// exists, its value is replaced. +// prefixed by a namespace prefix and a colon. If an attribute with the key +// already exists, its value is replaced. func (e *Element) CreateAttr(key, value string) *Attr { space, skey := spaceDecompose(key) - return e.createAttr(space, skey, value) + return e.createAttr(space, skey, value, e) } // createAttr is a helper function that creates attributes. -func (e *Element) createAttr(space, key, value string) *Attr { +func (e *Element) createAttr(space, key, value string, parent *Element) *Attr { for i, a := range e.Attr { if space == a.Space && key == a.Key { e.Attr[i].Value = value return &e.Attr[i] } } - a := Attr{space, key, value} + a := Attr{ + Space: space, + Key: key, + Value: value, + element: parent, + } e.Attr = append(e.Attr, a) return &e.Attr[len(e.Attr)-1] } -// RemoveAttr removes and returns the first attribute of the element whose key -// matches the given key. The key may be prefixed by a namespace and a colon. -// If an equal attribute does not exist, nil is returned. +// RemoveAttr removes and returns a copy of the first attribute of the element +// whose key matches the given key. The key may be prefixed by a namespace +// prefix and a colon. If a matching attribute does not exist, nil is +// returned. func (e *Element) RemoveAttr(key string) *Attr { space, skey := spaceDecompose(key) for i, a := range e.Attr { if space == a.Space && skey == a.Key { e.Attr = append(e.Attr[0:i], e.Attr[i+1:]...) - return &a + return &Attr{ + Space: a.Space, + Key: a.Key, + Value: a.Value, + element: nil, + } } } return nil } -var xmlReplacerNormal = strings.NewReplacer( - "&", "&", - "<", "<", - ">", ">", - "'", "'", - `"`, """, -) +// SortAttrs sorts the element's attributes lexicographically by key. +func (e *Element) SortAttrs() { + sort.Sort(byAttr(e.Attr)) +} -var xmlReplacerCanonicalText = strings.NewReplacer( - "&", "&", - "<", "<", - ">", ">", - "\r", " ", -) +type byAttr []Attr -var xmlReplacerCanonicalAttrVal = strings.NewReplacer( - "&", "&", - "<", "<", - `"`, """, - "\t", " ", - "\n", " ", - "\r", " ", -) +func (a byAttr) Len() int { + return len(a) +} + +func (a byAttr) Swap(i, j int) { + a[i], a[j] = a[j], a[i] +} + +func (a byAttr) Less(i, j int) bool { + sp := strings.Compare(a[i].Space, a[j].Space) + if sp == 0 { + return strings.Compare(a[i].Key, a[j].Key) < 0 + } + return sp < 0 +} + +// FullKey returns the attribute a's complete key, including namespace prefix +// if present. +func (a *Attr) FullKey() string { + if a.Space == "" { + return a.Key + } + return a.Space + ":" + a.Key +} + +// Element returns the element containing the attribute. +func (a *Attr) Element() *Element { + return a.element +} + +// NamespaceURI returns the XML namespace URI associated with the attribute. +// If the element is part of the XML default namespace, NamespaceURI returns +// the empty string. +func (a *Attr) NamespaceURI() string { + return a.element.NamespaceURI() +} // writeTo serializes the attribute to the writer. func (a *Attr) writeTo(w *bufio.Writer, s *WriteSettings) { - if a.Space != "" { - w.WriteString(a.Space) - w.WriteByte(':') - } - w.WriteString(a.Key) + w.WriteString(a.FullKey()) w.WriteString(`="`) - var r *strings.Replacer + var m escapeMode if s.CanonicalAttrVal { - r = xmlReplacerCanonicalAttrVal + m = escapeCanonicalAttr } else { - r = xmlReplacerNormal + m = escapeNormal } - w.WriteString(r.Replace(a.Value)) + escapeString(w, a.Value, m) w.WriteByte('"') } -// NewCharData creates a parentless XML character data entity. +// NewText creates a parentless CharData token containing character data. +func NewText(text string) *CharData { + return newCharData(text, 0, nil) +} + +// NewCData creates a parentless XML character CDATA section. +func NewCData(data string) *CharData { + return newCharData(data, cdataFlag, nil) +} + +// NewCharData creates a parentless CharData token containing character data. +// +// Deprecated: NewCharData is deprecated. Instead, use NewText, which does the +// same thing. func NewCharData(data string) *CharData { - return newCharData(data, false, nil) + return newCharData(data, 0, nil) } -// newCharData creates an XML character data entity and binds it to a parent +// newCharData creates a character data token and binds it to a parent // element. If parent is nil, the CharData token remains unbound. -func newCharData(data string, whitespace bool, parent *Element) *CharData { +func newCharData(data string, flags charDataFlags, parent *Element) *CharData { c := &CharData{ - Data: data, - whitespace: whitespace, - parent: parent, + Data: data, + parent: parent, + index: -1, + flags: flags, } if parent != nil { parent.addChild(c) @@ -842,41 +1169,88 @@ func newCharData(data string, whitespace bool, parent *Element) *CharData { return c } -// CreateCharData creates an XML character data entity and adds it as a child -// of element e. +// CreateText creates a CharData token containing character data and adds it +// as a child of element e. +func (e *Element) CreateText(text string) *CharData { + return newCharData(text, 0, e) +} + +// CreateCData creates a CharData token containing a CDATA section and adds it +// as a child of element e. +func (e *Element) CreateCData(data string) *CharData { + return newCharData(data, cdataFlag, e) +} + +// CreateCharData creates a CharData token containing character data and adds +// it as a child of element e. +// +// Deprecated: CreateCharData is deprecated. Instead, use CreateText, which +// does the same thing. func (e *Element) CreateCharData(data string) *CharData { - return newCharData(data, false, e) + return newCharData(data, 0, e) } // dup duplicates the character data. func (c *CharData) dup(parent *Element) Token { return &CharData{ - Data: c.Data, - whitespace: c.whitespace, - parent: parent, + Data: c.Data, + flags: c.flags, + parent: parent, + index: c.index, } } +// IsCData returns true if the character data token is to be encoded as a +// CDATA section. +func (c *CharData) IsCData() bool { + return (c.flags & cdataFlag) != 0 +} + +// IsWhitespace returns true if the character data token was created by one of +// the document Indent methods to contain only whitespace. +func (c *CharData) IsWhitespace() bool { + return (c.flags & whitespaceFlag) != 0 +} + // Parent returns the character data token's parent element, or nil if it has // no parent. func (c *CharData) Parent() *Element { return c.parent } +// Index returns the index of this CharData token within its parent element's +// list of child tokens. If this CharData token has no parent element, the +// index is -1. +func (c *CharData) Index() int { + return c.index +} + // setParent replaces the character data token's parent. func (c *CharData) setParent(parent *Element) { c.parent = parent } -// writeTo serializes the character data entity to the writer. +// setIndex sets the CharData token's index within its parent element's Child +// slice. +func (c *CharData) setIndex(index int) { + c.index = index +} + +// writeTo serializes character data to the writer. func (c *CharData) writeTo(w *bufio.Writer, s *WriteSettings) { - var r *strings.Replacer - if s.CanonicalText { - r = xmlReplacerCanonicalText + if c.IsCData() { + w.WriteString(``) } else { - r = xmlReplacerNormal + var m escapeMode + if s.CanonicalText { + m = escapeCanonicalText + } else { + m = escapeNormal + } + escapeString(w, c.Data, m) } - w.WriteString(r.Replace(c.Data)) } // NewComment creates a parentless XML comment. @@ -890,6 +1264,7 @@ func newComment(comment string, parent *Element) *Comment { c := &Comment{ Data: comment, parent: parent, + index: -1, } if parent != nil { parent.addChild(c) @@ -907,6 +1282,7 @@ func (c *Comment) dup(parent *Element) Token { return &Comment{ Data: c.Data, parent: parent, + index: c.index, } } @@ -915,11 +1291,24 @@ func (c *Comment) Parent() *Element { return c.parent } +// Index returns the index of this Comment token within its parent element's +// list of child tokens. If this Comment token has no parent element, the +// index is -1. +func (c *Comment) Index() int { + return c.index +} + // setParent replaces the comment token's parent. func (c *Comment) setParent(parent *Element) { c.parent = parent } +// setIndex sets the Comment token's index within its parent element's Child +// slice. +func (c *Comment) setIndex(index int) { + c.index = index +} + // writeTo serialies the comment to the writer. func (c *Comment) writeTo(w *bufio.Writer, s *WriteSettings) { w.WriteString("